From 319ff3cb0154a5fa77727fbf26e5d5db573f7afa Mon Sep 17 00:00:00 2001
From: Janos Lenart <janos@lenart.io>
Date: Fri, 20 Nov 2020 09:44:08 +0000
Subject: [PATCH] Import upstream version 1.32

---
 ChangeLog                        |  617 ++++
 Makefile.am                      |    3 +-
 Makefile.in                      |  101 +-
 NEWS                             |   52 +-
 README                           |    3 +-
 THANKS                           |    2 +
 TODO                             |    3 +-
 acinclude.m4                     |    2 +-
 aclocal.m4                       |   70 +-
 build-aux/ar-lib                 |  270 --
 build-aux/compile                |    2 +-
 build-aux/config.guess           |  556 +--
 build-aux/config.rpath           |    2 +-
 build-aux/config.sub             | 2512 +++++++------
 build-aux/depcomp                |    6 +-
 build-aux/gitlog-to-changelog    |    6 +-
 build-aux/install-sh             |   27 +-
 build-aux/mdate-sh               |    6 +-
 build-aux/missing                |    6 +-
 build-aux/texinfo.tex            |  211 +-
 build-aux/ylwrap                 |    2 +-
 config.h.in                      |  774 +---
 configure                        | 3073 +++++++---------
 configure.ac                     |   17 +-
 doc/Makefile.am                  |    3 +-
 doc/Makefile.in                  |   78 +-
 doc/dumpdir.texi                 |    3 +-
 doc/fdl.texi                     |    3 +-
 doc/gendocs_template             |    2 +-
 doc/genfile.texi                 |   80 +-
 doc/header.texi                  |    3 +-
 doc/intern.texi                  |    2 +-
 doc/mastermenu.el                |    3 +-
 doc/parse-datetime.texi          |    2 +-
 doc/recipes.texi                 |    2 +-
 doc/rendition.texi               |    3 +-
 doc/rmt.8                        |    6 +-
 doc/snapshot.texi                |    5 +-
 doc/sparse.texi                  |   10 +-
 doc/stamp-vti                    |    8 +-
 doc/tar-snapshot-edit.texi       |    2 +-
 doc/tar.1                        |   50 +-
 doc/tar.info                     |  873 ++---
 doc/tar.info-1                   |   69 +-
 doc/tar.info-2                   |  459 +--
 doc/tar.texi                     |   74 +-
 doc/texify.sed                   |    3 +-
 doc/value.texi                   |    3 +-
 doc/version.texi                 |    8 +-
 gnu/Makefile.am                  |  278 +-
 gnu/Makefile.in                  |  494 ++-
 gnu/_Noreturn.h                  |   12 +-
 gnu/acl-errno-valid.c            |    2 +-
 gnu/acl-internal.c               |   16 +-
 gnu/acl-internal.h               |   24 +-
 gnu/acl.h                        |    2 +-
 gnu/acl_entries.c                |    8 +-
 gnu/alignof.h                    |    2 +-
 gnu/alloca.in.h                  |    2 +-
 gnu/allocator.h                  |    2 +-
 gnu/anytostr.c                   |    2 +-
 gnu/areadlink-with-size.c        |    2 +-
 gnu/areadlink.c                  |    2 +-
 gnu/areadlink.h                  |    2 +-
 gnu/areadlinkat-with-size.c      |    2 +-
 gnu/areadlinkat.c                |    2 +-
 gnu/arg-nonnull.h                |    2 +-
 gnu/argmatch.c                   |    2 +-
 gnu/argmatch.h                   |    2 +-
 gnu/argp-ba.c                    |    2 +-
 gnu/argp-eexst.c                 |    2 +-
 gnu/argp-fmtstream.c             |    2 +-
 gnu/argp-fmtstream.h             |    2 +-
 gnu/argp-fs-xinl.c               |    2 +-
 gnu/argp-help.c                  |    2 +-
 gnu/argp-namefrob.h              |    2 +-
 gnu/argp-parse.c                 |    2 +-
 gnu/argp-pin.c                   |    2 +-
 gnu/argp-pv.c                    |    2 +-
 gnu/argp-pvh.c                   |    2 +-
 gnu/argp-version-etc.c           |    2 +-
 gnu/argp-version-etc.h           |    2 +-
 gnu/argp-xinl.c                  |    2 +-
 gnu/argp.h                       |    2 +-
 gnu/asnprintf.c                  |    2 +-
 gnu/asprintf.c                   |    2 +-
 gnu/assure.h                     |    4 +-
 gnu/at-func.c                    |    2 +-
 gnu/at-func2.c                   |    2 +-
 gnu/backup-find.c                |   14 +-
 gnu/backup-internal.h            |    2 +-
 gnu/backupfile.c                 |  107 +-
 gnu/backupfile.h                 |   21 +-
 gnu/basename-lgpl.c              |    2 +-
 gnu/basename.c                   |    2 +-
 gnu/bitrotate.h                  |    2 +-
 gnu/btowc.c                      |    2 +-
 gnu/c++defs.h                    |    2 +-
 gnu/c-ctype.h                    |    2 +-
 gnu/c-strcase.h                  |    2 +-
 gnu/c-strcasecmp.c               |    2 +-
 gnu/c-strcaseeq.h                |    2 +-
 gnu/c-strncasecmp.c              |    2 +-
 gnu/canonicalize-lgpl.c          |    4 +-
 gnu/careadlinkat.c               |    2 +-
 gnu/careadlinkat.h               |    2 +-
 gnu/cdefs.h                      |  514 +++
 gnu/chdir-long.c                 |    2 +-
 gnu/chdir-long.h                 |    2 +-
 gnu/chown.c                      |    2 +-
 gnu/cloexec.c                    |    2 +-
 gnu/cloexec.h                    |    2 +-
 gnu/close-stream.c               |    2 +-
 gnu/close.c                      |    2 +-
 gnu/closedir.c                   |    2 +-
 gnu/closeout.c                   |    2 +-
 gnu/closeout.h                   |    2 +-
 gnu/config.charset               |  682 ----
 gnu/creat-safer.c                |   31 +
 gnu/dirent--.h                   |    2 +-
 gnu/dirent-private.h             |    2 +-
 gnu/dirent-safer.h               |    2 +-
 gnu/dirent.in.h                  |    2 +-
 gnu/dirfd.c                      |    2 +-
 gnu/dirname-lgpl.c               |    2 +-
 gnu/dirname.c                    |    2 +-
 gnu/dirname.h                    |    4 +-
 gnu/dosname.h                    |    7 +-
 gnu/dup-safer-flag.c             |    2 +-
 gnu/dup-safer.c                  |    2 +-
 gnu/dup.c                        |    2 +-
 gnu/dup2.c                       |    4 +-
 gnu/errno.in.h                   |    6 +-
 gnu/error.c                      |    6 +-
 gnu/error.h                      |    2 +-
 gnu/euidaccess.c                 |   13 +-
 gnu/exclude.c                    |  134 +-
 gnu/exclude.h                    |    6 +-
 gnu/exitfail.c                   |    2 +-
 gnu/exitfail.h                   |    2 +-
 gnu/faccessat.c                  |    2 +-
 gnu/fchdir.c                     |    2 +-
 gnu/fchmodat.c                   |    2 +-
 gnu/fchownat.c                   |    2 +-
 gnu/fcntl--.h                    |   32 +
 gnu/fcntl-safer.h                |   27 +
 gnu/fcntl.c                      |  558 ++-
 gnu/fcntl.in.h                   |    4 +-
 gnu/fd-hook.c                    |    2 +-
 gnu/fd-hook.h                    |    2 +-
 gnu/fd-safer-flag.c              |    2 +-
 gnu/fd-safer.c                   |    2 +-
 gnu/fdopendir.c                  |    2 +-
 gnu/fdutimensat.c                |    2 +-
 gnu/file-has-acl.c               |   19 +-
 gnu/fileblocks.c                 |    2 +-
 gnu/filename.h                   |    4 +-
 gnu/filenamecat-lgpl.c           |   59 +-
 gnu/filenamecat.h                |    2 +-
 gnu/flexmember.h                 |    2 +-
 gnu/float+.h                     |    2 +-
 gnu/float.c                      |    2 +-
 gnu/float.in.h                   |    2 +-
 gnu/fnmatch.c                    |    2 +-
 gnu/fnmatch.in.h                 |   69 +-
 gnu/fnmatch_loop.c               |    2 +-
 gnu/fpending.c                   |    8 +-
 gnu/fpending.h                   |    2 +-
 gnu/fprintftime.h                |    2 +-
 gnu/fseek.c                      |    2 +-
 gnu/fseeko.c                     |   12 +-
 gnu/fstat.c                      |    8 +-
 gnu/fstatat.c                    |   14 +-
 gnu/full-write.c                 |    2 +-
 gnu/full-write.h                 |    2 +-
 gnu/futimens.c                   |    2 +-
 gnu/get-permissions.c            |  100 +-
 gnu/getcwd-lgpl.c                |    2 +-
 gnu/getcwd.c                     |    2 +-
 gnu/getdelim.c                   |    4 +-
 gnu/getdtablesize.c              |    4 +-
 gnu/getfilecon.c                 |    2 +-
 gnu/getgroups.c                  |    6 +-
 gnu/getline.c                    |    2 +-
 gnu/getopt-cdefs.in.h            |    2 +-
 gnu/getopt-core.h                |    2 +-
 gnu/getopt-ext.h                 |    2 +-
 gnu/getopt-pfx-core.h            |    2 +-
 gnu/getopt-pfx-ext.h             |    2 +-
 gnu/getopt.c                     |    4 +-
 gnu/getopt.in.h                  |    2 +-
 gnu/getopt1.c                    |    2 +-
 gnu/getopt_int.h                 |    2 +-
 gnu/getpagesize.c                |    4 +-
 gnu/getprogname.c                |   79 +-
 gnu/getprogname.h                |    2 +-
 gnu/gettext.h                    |    4 +-
 gnu/gettime.c                    |   31 +-
 gnu/gettimeofday.c               |   10 +-
 gnu/group-member.c               |    2 +-
 gnu/hard-locale.c                |    2 +-
 gnu/hard-locale.h                |    2 +-
 gnu/hash.c                       |    2 +-
 gnu/hash.h                       |    2 +-
 gnu/human.c                      |    2 +-
 gnu/human.h                      |    2 +-
 gnu/intprops.h                   |   18 +-
 gnu/inttostr.h                   |    2 +-
 gnu/inttypes.in.h                |    8 +-
 gnu/iswblank.c                   |    2 +-
 gnu/itold.c                      |    2 +-
 gnu/langinfo.in.h                |   30 +-
 gnu/lchown.c                     |    2 +-
 gnu/libc-config.h                |  174 +
 gnu/limits.in.h                  |   46 +-
 gnu/link.c                       |    8 +-
 gnu/linkat.c                     |    2 +-
 gnu/localcharset.c               | 1085 ++++--
 gnu/localcharset.h               |   98 +-
 gnu/locale.in.h                  |   68 +-
 gnu/localeconv.c                 |    2 +-
 gnu/localtime-buffer.c           |    4 +-
 gnu/localtime-buffer.h           |    2 +-
 gnu/lseek.c                      |    6 +-
 gnu/lstat.c                      |   41 +-
 gnu/malloc.c                     |    2 +-
 gnu/malloca.c                    |  150 +-
 gnu/malloca.h                    |   13 +-
 gnu/malloca.valgrind             |    7 -
 gnu/mbchar.c                     |    2 +-
 gnu/mbchar.h                     |    2 +-
 gnu/mbrtowc.c                    |   96 +-
 gnu/mbscasecmp.c                 |    2 +-
 gnu/mbsinit.c                    |    4 +-
 gnu/mbsrtowcs-impl.h             |    2 +-
 gnu/mbsrtowcs-state.c            |    2 +-
 gnu/mbsrtowcs.c                  |    2 +-
 gnu/mbtowc-impl.h                |    2 +-
 gnu/mbtowc.c                     |    2 +-
 gnu/mbuiter.h                    |    2 +-
 gnu/memchr.c                     |    2 +-
 gnu/mempcpy.c                    |    2 +-
 gnu/memrchr.c                    |    4 +-
 gnu/minmax.h                     |    2 +-
 gnu/mkdir.c                      |    4 +-
 gnu/mkdirat.c                    |    2 +-
 gnu/mkdtemp.c                    |    2 +-
 gnu/mkfifo.c                     |    2 +-
 gnu/mkfifoat.c                   |    2 +-
 gnu/mknod.c                      |    2 +-
 gnu/mknodat.c                    |    6 +-
 gnu/mktime-internal.h            |   18 +-
 gnu/mktime.c                     |  509 +--
 gnu/modechange.c                 |    2 +-
 gnu/modechange.h                 |    2 +-
 gnu/msvc-inval.c                 |    2 +-
 gnu/msvc-inval.h                 |    2 +-
 gnu/msvc-nothrow.c               |    2 +-
 gnu/msvc-nothrow.h               |    4 +-
 gnu/nl_langinfo.c                |   89 +-
 gnu/nstrftime.c                  |   48 +-
 gnu/obstack.c                    |    2 +-
 gnu/obstack.h                    |    4 +-
 gnu/open-safer.c                 |   46 +
 gnu/open.c                       |    4 +-
 gnu/openat-die.c                 |    2 +-
 gnu/openat-priv.h                |    2 +-
 gnu/openat-proc.c                |    2 +-
 gnu/openat-safer.c               |   46 +
 gnu/openat.c                     |    2 +-
 gnu/openat.h                     |    2 +-
 gnu/opendir-safer.c              |    2 +-
 gnu/opendir.c                    |    2 +-
 gnu/opendirat.c                  |   54 +
 gnu/opendirat.h                  |    2 +
 gnu/parse-datetime.c             |   42 +-
 gnu/parse-datetime.h             |    2 +-
 gnu/parse-datetime.y             |   42 +-
 gnu/pathmax.h                    |    4 +-
 gnu/pipe-safer.c                 |    2 +-
 gnu/printf-args.c                |    2 +-
 gnu/printf-args.h                |    2 +-
 gnu/printf-parse.c               |    4 +-
 gnu/printf-parse.h               |    2 +-
 gnu/priv-set.c                   |    2 +-
 gnu/priv-set.h                   |    2 +-
 gnu/progname.c                   |    2 +-
 gnu/progname.h                   |    2 +-
 gnu/quote.h                      |    2 +-
 gnu/quotearg.c                   |    9 +-
 gnu/quotearg.h                   |    2 +-
 gnu/raise.c                      |   50 +-
 gnu/rawmemchr.c                  |    2 +-
 gnu/read.c                       |    4 +-
 gnu/readdir.c                    |    2 +-
 gnu/readlink.c                   |    2 +-
 gnu/readlinkat.c                 |    2 +-
 gnu/realloc.c                    |    2 +-
 gnu/ref-add.sin                  |   29 -
 gnu/ref-del.sin                  |   24 -
 gnu/regcomp.c                    |  372 +-
 gnu/regex.c                      |    8 +-
 gnu/regex.h                      |   25 +-
 gnu/regex_internal.c             |  225 +-
 gnu/regex_internal.h             |   72 +-
 gnu/regexec.c                    |  645 ++--
 gnu/rename.c                     |    4 +-
 gnu/renameat.c                   |    6 +-
 gnu/{renameat2.c => renameatu.c} |   16 +-
 gnu/{renameat2.h => renameatu.h} |   10 +-
 gnu/rewinddir.c                  |    2 +-
 gnu/rmdir.c                      |    2 +-
 gnu/root-uid.h                   |    2 +-
 gnu/rpmatch.c                    |    2 +-
 gnu/safe-read.c                  |   14 +-
 gnu/safe-read.h                  |    2 +-
 gnu/safe-write.c                 |    2 +-
 gnu/safe-write.h                 |    2 +-
 gnu/same-inode.h                 |    4 +-
 gnu/save-cwd.c                   |    2 +-
 gnu/save-cwd.h                   |    2 +-
 gnu/savedir.c                    |    2 +-
 gnu/savedir.h                    |    2 +-
 gnu/se-selinux.in.h              |    2 +-
 gnu/selinux-at.c                 |    2 +-
 gnu/selinux-at.h                 |    2 +-
 gnu/set-permissions.c            |  270 +-
 gnu/setenv.c                     |    2 +-
 gnu/signal.in.h                  |    4 +-
 gnu/size_max.h                   |    2 +-
 gnu/sleep.c                      |    4 +-
 gnu/snprintf.c                   |    2 +-
 gnu/stat-time.h                  |   57 +-
 gnu/stat-w32.c                   |    8 +-
 gnu/stat-w32.h                   |    2 +-
 gnu/stat.c                       |   28 +-
 gnu/stdalign.in.h                |    2 +-
 gnu/stdarg.in.h                  |    2 +-
 gnu/stdbool.in.h                 |    2 +-
 gnu/stddef.in.h                  |    2 +-
 gnu/stdint.in.h                  |    2 +-
 gnu/stdio-impl.h                 |   70 +-
 gnu/stdio.in.h                   |    6 +-
 gnu/stdlib.in.h                  |   10 +-
 gnu/stpcpy.c                     |    2 +-
 gnu/strcasecmp.c                 |    2 +-
 gnu/strchrnul.c                  |    2 +-
 gnu/strdup.c                     |    2 +-
 gnu/streq.h                      |    2 +-
 gnu/strerror-override.c          |    2 +-
 gnu/strerror-override.h          |    2 +-
 gnu/strerror.c                   |    2 +-
 gnu/strftime.h                   |    2 +-
 gnu/string.in.h                  |    2 +-
 gnu/strings.in.h                 |    2 +-
 gnu/stripslash.c                 |    2 +-
 gnu/strncasecmp.c                |    2 +-
 gnu/strndup.c                    |    2 +-
 gnu/strnlen.c                    |    2 +-
 gnu/strnlen1.c                   |    2 +-
 gnu/strnlen1.h                   |    2 +-
 gnu/strtoimax.c                  |    2 +-
 gnu/strtol.c                     |   31 +-
 gnu/strtoll.c                    |    2 +-
 gnu/strtoul.c                    |    2 +-
 gnu/strtoull.c                   |    2 +-
 gnu/symlink.c                    |    2 +-
 gnu/symlinkat.c                  |    2 +-
 gnu/sys-limits.h                 |   42 +
 gnu/sys_stat.in.h                |    8 +-
 gnu/sys_time.in.h                |    2 +-
 gnu/sys_types.in.h               |   17 +-
 gnu/sysexits.in.h                |    2 +-
 gnu/tempname.c                   |    2 +-
 gnu/tempname.h                   |    2 +-
 gnu/time-internal.h              |    2 +-
 gnu/time.in.h                    |    6 +-
 gnu/time_r.c                     |    2 +-
 gnu/time_rz.c                    |   17 +-
 gnu/timegm.c                     |   32 +-
 gnu/timespec-sub.c               |    8 +-
 gnu/timespec.h                   |   32 +-
 gnu/tzset.c                      |    4 +-
 gnu/unistd--.h                   |    2 +-
 gnu/unistd-safer.h               |    2 +-
 gnu/unistd.in.h                  |   51 +-
 gnu/unitypes.in.h                |    2 +-
 gnu/uniwidth.in.h                |    2 +-
 gnu/uniwidth/cjk.h               |    2 +-
 gnu/uniwidth/width.c             |   48 +-
 gnu/unlink.c                     |    2 +-
 gnu/unlinkat.c                   |    2 +-
 gnu/unlinkdir.c                  |    2 +-
 gnu/unlinkdir.h                  |    2 +-
 gnu/unlocked-io.h                |    2 +-
 gnu/unsetenv.c                   |    2 +-
 gnu/unused-parameter.h           |    2 +-
 gnu/utime.c                      |    4 +-
 gnu/utime.in.h                   |    4 +-
 gnu/utimens.c                    |    9 +-
 gnu/utimens.h                    |    2 +-
 gnu/utimensat.c                  |    6 +-
 gnu/vasnprintf.c                 |   24 +-
 gnu/vasnprintf.h                 |    2 +-
 gnu/vasprintf.c                  |    2 +-
 gnu/verify.h                     |    5 +-
 gnu/version-etc-fsf.c            |    2 +-
 gnu/version-etc.c                |   10 +-
 gnu/version-etc.h                |    2 +-
 gnu/vsnprintf.c                  |    2 +-
 gnu/warn-on-use.h                |   66 +-
 gnu/wchar.in.h                   |    2 +-
 gnu/wcrtomb.c                    |    2 +-
 gnu/wctype.in.h                  |    4 +-
 gnu/wcwidth.c                    |   31 +-
 gnu/write.c                      |    4 +-
 gnu/xalloc-die.c                 |    2 +-
 gnu/xalloc-oversized.h           |    2 +-
 gnu/xalloc.h                     |    8 +-
 gnu/xasprintf.c                  |    2 +-
 gnu/xgetcwd.c                    |    2 +-
 gnu/xgetcwd.h                    |    2 +-
 gnu/xmalloc.c                    |    2 +-
 gnu/xsize.h                      |    2 +-
 gnu/xstrndup.c                   |    2 +-
 gnu/xstrndup.h                   |    4 +-
 gnu/xstrtol-error.c              |    2 +-
 gnu/xstrtol.c                    |   16 +-
 gnu/xstrtol.h                    |    2 +-
 gnu/xvasprintf.c                 |    2 +-
 gnu/xvasprintf.h                 |    2 +-
 lib/Makefile.am                  |    3 +-
 lib/Makefile.in                  |   62 +-
 lib/attr-xattr.in.h              |    2 +-
 lib/stdopen.c                    |    3 +-
 lib/wordsplit.c                  | 1703 +++++++--
 lib/wordsplit.h                  |  221 +-
 lib/xattr-at.c                   |    2 +-
 lib/xattr-at.h                   |    2 +-
 m4/00gnulib.m4                   |    2 +-
 m4/__inline.m4                   |   22 +
 m4/absolute-header.m4            |    2 +-
 m4/acl.m4                        |    7 +-
 m4/alloca.m4                     |    2 +-
 m4/argp.m4                       |    2 +-
 m4/asm-underscore.m4             |   71 -
 m4/backupfile.m4                 |    2 +-
 m4/bison.m4                      |   11 +-
 m4/btowc.m4                      |    2 +-
 m4/builtin-expect.m4             |    2 +-
 m4/canonicalize.m4               |    6 +-
 m4/chdir-long.m4                 |    2 +-
 m4/chown.m4                      |   18 +-
 m4/clock_time.m4                 |    2 +-
 m4/close-stream.m4               |    2 +-
 m4/close.m4                      |    2 +-
 m4/closedir.m4                   |    2 +-
 m4/closeout.m4                   |    2 +-
 m4/codeset.m4                    |    4 +-
 m4/configmake.m4                 |   46 +-
 m4/d-ino.m4                      |    2 +-
 m4/dirent-safer.m4               |    2 +-
 m4/dirent_h.m4                   |    2 +-
 m4/dirfd.m4                      |    2 +-
 m4/dirname.m4                    |    2 +-
 m4/double-slash-root.m4          |    2 +-
 m4/dup.m4                        |    2 +-
 m4/dup2.m4                       |    2 +-
 m4/eealloc.m4                    |    2 +-
 m4/environ.m4                    |   22 +-
 m4/errno_h.m4                    |   12 +-
 m4/error.m4                      |    2 +-
 m4/euidaccess.m4                 |    2 +-
 m4/exponentd.m4                  |    2 +-
 m4/extensions.m4                 |   10 +-
 m4/extern-inline.m4              |   18 +-
 m4/faccessat.m4                  |    2 +-
 m4/fchdir.m4                     |   18 +-
 m4/fchmodat.m4                   |    2 +-
 m4/fchownat.m4                   |    2 +-
 m4/fcntl-o.m4                    |   12 +-
 m4/fcntl-safer.m4                |   16 +
 m4/fcntl.m4                      |    2 +-
 m4/fcntl_h.m4                    |    2 +-
 m4/fdopendir.m4                  |    2 +-
 m4/fileblocks.m4                 |    2 +-
 m4/filenamecat.m4                |    2 +-
 m4/flexmember.m4                 |    2 +-
 m4/float_h.m4                    |    2 +-
 m4/fnmatch.m4                    |  231 +-
 m4/fnmatch_h.m4                  |   75 +
 m4/fpending.m4                   |    2 +-
 m4/fseek.m4                      |    2 +-
 m4/fseeko.m4                     |   11 +-
 m4/fstat.m4                      |    9 +-
 m4/fstatat.m4                    |   21 +-
 m4/futimens.m4                   |    2 +-
 m4/getcwd-abort-bug.m4           |   12 +-
 m4/getcwd-path-max.m4            |   24 +-
 m4/getcwd.m4                     |   18 +-
 m4/getdelim.m4                   |    2 +-
 m4/getdtablesize.m4              |    2 +-
 m4/getgroups.m4                  |   22 +-
 m4/getline.m4                    |    2 +-
 m4/getopt.m4                     |    2 +-
 m4/getpagesize.m4                |   25 +-
 m4/getprogname.m4                |    2 +-
 m4/gettext.m4                    |    7 +-
 m4/gettime.m4                    |    6 +-
 m4/gettimeofday.m4               |   16 +-
 m4/glibc21.m4                    |    2 +-
 m4/gnulib-common.m4              |  131 +-
 m4/gnulib-comp.m4                |   58 +-
 m4/group-member.m4               |    2 +-
 m4/hard-locale.m4                |   11 -
 m4/host-cpu-c-abi.m4             |  281 +-
 m4/human.m4                      |    2 +-
 m4/iconv.m4                      |    3 +-
 m4/include_next.m4               |    2 +-
 m4/intlmacosx.m4                 |   26 +-
 m4/intmax_t.m4                   |    2 +-
 m4/inttostr.m4                   |    2 +-
 m4/inttypes-pri.m4               |    2 +-
 m4/inttypes.m4                   |    5 +-
 m4/inttypes_h.m4                 |    2 +-
 m4/iswblank.m4                   |    2 +-
 m4/langinfo_h.m4                 |   19 +-
 m4/largefile.m4                  |    2 +-
 m4/lchown.m4                     |    2 +-
 m4/lib-ld.m4                     |    2 +-
 m4/lib-link.m4                   |   21 +-
 m4/lib-prefix.m4                 |  112 +-
 m4/libunistring-base.m4          |    2 +-
 m4/limits-h.m4                   |   26 +-
 m4/link-follow.m4                |   12 +-
 m4/link.m4                       |   14 +-
 m4/linkat.m4                     |   14 +-
 m4/localcharset.m4               |   10 +-
 m4/locale-fr.m4                  |    8 +-
 m4/locale-ja.m4                  |    6 +-
 m4/locale-zh.m4                  |    6 +-
 m4/locale_h.m4                   |   11 +-
 m4/localeconv.m4                 |    2 +-
 m4/localtime-buffer.m4           |    2 +-
 m4/longlong.m4                   |   12 +-
 m4/lseek.m4                      |    2 +-
 m4/lstat.m4                      |   14 +-
 m4/malloc.m4                     |    8 +-
 m4/malloca.m4                    |    2 +-
 m4/manywarnings.m4               |  103 +-
 m4/mbchar.m4                     |    2 +-
 m4/mbiter.m4                     |    2 +-
 m4/mbrtowc.m4                    |   16 +-
 m4/mbsinit.m4                    |    2 +-
 m4/mbsrtowcs.m4                  |    2 +-
 m4/mbstate_t.m4                  |    2 +-
 m4/mbtowc.m4                     |    2 +-
 m4/memchr.m4                     |    2 +-
 m4/mempcpy.m4                    |    2 +-
 m4/memrchr.m4                    |    2 +-
 m4/minmax.m4                     |    2 +-
 m4/mkdir.m4                      |   38 +-
 m4/mkdirat.m4                    |    2 +-
 m4/mkdtemp.m4                    |    2 +-
 m4/mkfifo.m4                     |   31 +-
 m4/mkfifoat.m4                   |    2 +-
 m4/mknod.m4                      |   14 +-
 m4/mktime.m4                     |    2 +-
 m4/mmap-anon.m4                  |    2 +-
 m4/mode_t.m4                     |    2 +-
 m4/modechange.m4                 |    2 +-
 m4/msvc-inval.m4                 |    2 +-
 m4/msvc-nothrow.m4               |    2 +-
 m4/multiarch.m4                  |    2 +-
 m4/nl_langinfo.m4                |   11 +-
 m4/nls.m4                        |    2 +-
 m4/nocrash.m4                    |    6 +-
 m4/nstrftime.m4                  |    2 +-
 m4/obstack.m4                    |    2 +-
 m4/off_t.m4                      |    2 +-
 m4/open-cloexec.m4               |    2 +-
 m4/open.m4                       |    2 +-
 m4/openat.m4                     |    2 +-
 m4/opendir.m4                    |    2 +-
 m4/parse-datetime.m4             |    2 +-
 m4/pathmax.m4                    |    6 +-
 m4/po.m4                         |   28 +-
 m4/printf.m4                     |   83 +-
 m4/priv-set.m4                   |    2 +-
 m4/progtest.m4                   |    2 +-
 m4/quote.m4                      |    2 +-
 m4/quotearg.m4                   |    2 +-
 m4/raise.m4                      |    2 +-
 m4/rawmemchr.m4                  |    2 +-
 m4/read.m4                       |    2 +-
 m4/readdir.m4                    |    2 +-
 m4/readlink.m4                   |   14 +-
 m4/readlinkat.m4                 |    2 +-
 m4/realloc.m4                    |    6 +-
 m4/regex.m4                      |   15 +-
 m4/rename.m4                     |   62 +-
 m4/renameat.m4                   |    4 +-
 m4/rewinddir.m4                  |    2 +-
 m4/rmdir.m4                      |   18 +-
 m4/rpmatch.m4                    |    2 +-
 m4/safe-read.m4                  |    2 +-
 m4/safe-write.m4                 |    2 +-
 m4/save-cwd.m4                   |    2 +-
 m4/savedir.m4                    |    2 +-
 m4/selinux-context-h.m4          |    2 +-
 m4/selinux-selinux-h.m4          |    2 +-
 m4/setenv.m4                     |   12 +-
 m4/signal_h.m4                   |    2 +-
 m4/size_max.m4                   |   12 +-
 m4/sleep.m4                      |   16 +-
 m4/snprintf.m4                   |    2 +-
 m4/ssize_t.m4                    |    2 +-
 m4/stat-time.m4                  |    2 +-
 m4/stat.m4                       |   19 +-
 m4/stdalign.m4                   |    2 +-
 m4/stdarg.m4                     |   24 +-
 m4/stdbool.m4                    |    2 +-
 m4/stddef_h.m4                   |   31 +-
 m4/stdint.m4                     |   15 +-
 m4/stdint_h.m4                   |    2 +-
 m4/stdio_h.m4                    |    6 +-
 m4/stdlib_h.m4                   |    7 +-
 m4/stpcpy.m4                     |    2 +-
 m4/strcase.m4                    |    2 +-
 m4/strchrnul.m4                  |    2 +-
 m4/strdup.m4                     |    2 +-
 m4/strerror.m4                   |   24 +-
 m4/string_h.m4                   |    2 +-
 m4/strings_h.m4                  |    2 +-
 m4/strndup.m4                    |    2 +-
 m4/strnlen.m4                    |    2 +-
 m4/strtoimax.m4                  |    2 +-
 m4/strtol.m4                     |    2 +-
 m4/strtoll.m4                    |    2 +-
 m4/strtoul.m4                    |    2 +-
 m4/strtoull.m4                   |    2 +-
 m4/strtoumax.m4                  |    2 +-
 m4/symlink.m4                    |   14 +-
 m4/symlinkat.m4                  |   14 +-
 m4/sys_socket_h.m4               |    2 +-
 m4/sys_stat_h.m4                 |    2 +-
 m4/sys_time_h.m4                 |    2 +-
 m4/sys_types_h.m4                |    2 +-
 m4/sysexits.m4                   |    2 +-
 m4/tempname.m4                   |    2 +-
 m4/time_h.m4                     |    2 +-
 m4/time_r.m4                     |    2 +-
 m4/time_rz.m4                    |   35 +-
 m4/timegm.m4                     |    2 +-
 m4/timespec.m4                   |    2 +-
 m4/tm_gmtoff.m4                  |    2 +-
 m4/tzset.m4                      |   16 +-
 m4/unistd-safer.m4               |    2 +-
 m4/unistd_h.m4                   |   13 +-
 m4/unlink.m4                     |   18 +-
 m4/unlinkat.m4                   |    2 +-
 m4/unlinkdir.m4                  |    2 +-
 m4/unlocked-io.m4                |    2 +-
 m4/utime.m4                      |    2 +-
 m4/utime_h.m4                    |   35 +-
 m4/utimens.m4                    |   14 +-
 m4/utimensat.m4                  |    2 +-
 m4/utimes.m4                     |    2 +-
 m4/vasnprintf.m4                 |    2 +-
 m4/vasprintf.m4                  |    2 +-
 m4/version-etc.m4                |    2 +-
 m4/vsnprintf.m4                  |    2 +-
 m4/warn-on-use.m4                |   42 +-
 m4/warnings.m4                   |   13 +-
 m4/wchar_h.m4                    |   12 +-
 m4/wchar_t.m4                    |    2 +-
 m4/wcrtomb.m4                    |    8 +-
 m4/wctype_h.m4                   |    2 +-
 m4/wcwidth.m4                    |   16 +-
 m4/wint_t.m4                     |    2 +-
 m4/write.m4                      |    2 +-
 m4/xalloc.m4                     |    2 +-
 m4/xgetcwd.m4                    |    2 +-
 m4/xsize.m4                      |    2 +-
 m4/xstrndup.m4                   |    2 +-
 m4/xstrtol.m4                    |    2 +-
 m4/xvasprintf.m4                 |    2 +-
 po/Makefile.in.in                |   21 +-
 po/POTFILES.in                   |    3 +-
 po/bg.gmo                        |  Bin 54544 -> 87513 bytes
 po/bg.po                         | 2270 ++++++------
 po/ca.gmo                        |  Bin 62742 -> 64892 bytes
 po/ca.po                         |  829 +++--
 po/cs.gmo                        |  Bin 63100 -> 65322 bytes
 po/cs.po                         |  838 ++---
 po/da.gmo                        |  Bin 57405 -> 60955 bytes
 po/da.po                         |  867 ++---
 po/de.gmo                        |  Bin 63004 -> 65138 bytes
 po/de.po                         |  887 +++--
 po/el.gmo                        |  Bin 14467 -> 14467 bytes
 po/el.po                         |  759 ++--
 po/eo.gmo                        |  Bin 59483 -> 61556 bytes
 po/eo.po                         |  831 +++--
 po/es.gmo                        |  Bin 63330 -> 65476 bytes
 po/es.po                         |  832 +++--
 po/et.gmo                        |  Bin 58066 -> 57843 bytes
 po/et.po                         |  768 ++--
 po/eu.gmo                        |  Bin 32368 -> 32368 bytes
 po/eu.po                         |  766 ++--
 po/fi.gmo                        |  Bin 54605 -> 54573 bytes
 po/fi.po                         |  764 ++--
 po/fr.gmo                        |  Bin 65505 -> 65242 bytes
 po/fr.po                         |  768 ++--
 po/ga.gmo                        |  Bin 64462 -> 66621 bytes
 po/ga.po                         |  829 +++--
 po/gl.gmo                        |  Bin 10693 -> 10693 bytes
 po/gl.po                         |  759 ++--
 po/hr.gmo                        |  Bin 61372 -> 64216 bytes
 po/hr.po                         | 2442 +++++-------
 po/hu.gmo                        |  Bin 65596 -> 67835 bytes
 po/hu.po                         |  908 +++--
 po/id.gmo                        |  Bin 58657 -> 58434 bytes
 po/id.po                         |  768 ++--
 po/it.gmo                        |  Bin 61930 -> 64063 bytes
 po/it.po                         |  864 +++--
 po/ja.gmo                        |  Bin 57493 -> 59565 bytes
 po/ja.po                         |  833 ++---
 po/ko.gmo                        |  Bin 64147 -> 63883 bytes
 po/ko.po                         |  768 ++--
 po/ky.gmo                        |  Bin 55118 -> 55118 bytes
 po/ky.po                         |  766 ++--
 po/ms.gmo                        |  Bin 9658 -> 9658 bytes
 po/ms.po                         |  759 ++--
 po/nb.gmo                        |  Bin 59166 -> 61227 bytes
 po/nb.po                         |  828 +++--
 po/nl.gmo                        |  Bin 62069 -> 64189 bytes
 po/nl.po                         |  858 ++---
 po/pl.gmo                        |  Bin 63270 -> 65482 bytes
 po/pl.po                         |  862 +++--
 po/pt.gmo                        |  Bin 3320 -> 62757 bytes
 po/pt.po                         | 2511 +++++++------
 po/pt_BR.gmo                     |  Bin 62176 -> 64315 bytes
 po/pt_BR.po                      |  834 ++---
 po/ro.gmo                        |  Bin 22883 -> 22883 bytes
 po/ro.po                         |  766 ++--
 po/ru.gmo                        |  Bin 81005 -> 83692 bytes
 po/ru.po                         |  847 ++---
 po/sk.gmo                        |  Bin 10303 -> 10303 bytes
 po/sk.po                         |  759 ++--
 po/sl.gmo                        |  Bin 59944 -> 59701 bytes
 po/sl.po                         |  768 ++--
 po/sr.gmo                        |  Bin 79785 -> 79489 bytes
 po/sr.po                         |  768 ++--
 po/sv.gmo                        |  Bin 60072 -> 62185 bytes
 po/sv.po                         |  842 ++---
 po/tar.pot                       |  761 ++--
 po/tr.gmo                        |  Bin 61445 -> 61180 bytes
 po/tr.po                         |  768 ++--
 po/uk.gmo                        |  Bin 83099 -> 84643 bytes
 po/uk.po                         |  818 +++--
 po/vi.gmo                        |  Bin 67156 -> 69417 bytes
 po/vi.po                         |  836 ++---
 po/zh_CN.gmo                     |  Bin 55838 -> 58021 bytes
 po/zh_CN.po                      |  879 ++---
 po/zh_TW.gmo                     |  Bin 56518 -> 58535 bytes
 po/zh_TW.po                      |  823 +++--
 rmt/Makefile.in                  |   58 +-
 rmt/rmt.c                        |   10 +-
 scripts/Makefile.am              |    3 +-
 scripts/Makefile.in              |   59 +-
 scripts/backup-specs             |    3 +-
 scripts/backup.sh.in             |    3 +-
 scripts/dump-remind.in           |    3 +-
 scripts/restore.in               |    3 +-
 src/Makefile.am                  |    3 +-
 src/Makefile.in                  |   62 +-
 src/arith.h                      |    3 +-
 src/buffer.c                     |   39 +-
 src/checkpoint.c                 |   59 +-
 src/common.h                     |   13 +-
 src/compare.c                    |    3 +-
 src/create.c                     |   11 +-
 src/delete.c                     |    3 +-
 src/exclist.c                    |    2 +-
 src/exit.c                       |    2 +-
 src/extract.c                    |    4 +-
 src/incremen.c                   |   34 +-
 src/list.c                       |   25 +-
 src/map.c                        |    2 +-
 src/misc.c                       |   19 +-
 src/names.c                      |   55 +-
 src/sparse.c                     |   54 +-
 src/suffix.c                     |   16 +-
 src/system.c                     |    3 +-
 src/tar.c                        |   72 +-
 src/tar.h                        |    3 +-
 src/transform.c                  |   10 +-
 src/unlink.c                     |    4 +-
 src/update.c                     |    5 +-
 src/utf8.c                       |   33 +-
 src/warning.c                    |    2 +-
 src/xattrs.c                     |   41 +-
 src/xattrs.h                     |    2 +-
 src/xheader.c                    |   84 +-
 tests/Makefile.am                |   17 +-
 tests/Makefile.in                |   76 +-
 tests/T-cd.at                    |    2 +-
 tests/T-dir00.at                 |    2 +-
 tests/T-dir01.at                 |    2 +-
 tests/T-empty.at                 |    3 +-
 tests/T-mult.at                  |    2 +-
 tests/T-nest.at                  |    2 +-
 tests/T-nonl.at                  |    8 +-
 tests/T-null.at                  |    3 +-
 tests/T-null2.at                 |    2 +-
 tests/T-rec.at                   |    2 +-
 tests/T-recurse.at               |    2 +-
 tests/T-zfile.at                 |    2 +-
 tests/acls01.at                  |    2 +-
 tests/acls02.at                  |    2 +-
 tests/acls03.at                  |    2 +-
 tests/add-file.at                |    2 +-
 tests/append.at                  |    3 +-
 tests/append01.at                |    3 +-
 tests/append02.at                |    3 +-
 tests/append03.at                |    2 +-
 tests/append04.at                |    2 +-
 tests/append05.at                |    2 +-
 tests/atlocal.in                 |    3 +-
 tests/backup01.at                |    3 +-
 tests/capabs_raw01.at            |    2 +-
 tests/checkpoint/defaults.at     |   25 +
 tests/checkpoint/dot-compat.at   |   23 +
 tests/checkpoint/dot-int.at      |   24 +
 tests/checkpoint/dot.at          |   24 +
 tests/checkpoint/interval.at     |   29 +
 tests/checkseekhole.c            |    2 +-
 tests/chtype.at                  |    3 +-
 tests/ckmtime.c                  |    2 +-
 tests/comperr.at                 |    2 +-
 tests/comprec.at                 |    3 +-
 tests/compress.m4                |   56 +
 tests/delete01.at                |    3 +-
 tests/delete02.at                |    3 +-
 tests/delete03.at                |    3 +-
 tests/delete04.at                |    3 +-
 tests/delete05.at                |    3 +-
 tests/difflink.at                |    8 +-
 tests/dirrem01.at                |   19 +-
 tests/dirrem02.at                |   11 +-
 tests/exclude.at                 |    2 +-
 tests/exclude01.at               |    2 +-
 tests/exclude02.at               |    2 +-
 tests/exclude03.at               |    2 +-
 tests/exclude04.at               |    2 +-
 tests/exclude05.at               |    3 +-
 tests/exclude06.at               |    2 +-
 tests/exclude07.at               |    2 +-
 tests/exclude08.at               |    2 +-
 tests/exclude09.at               |    2 +-
 tests/exclude10.at               |    2 +-
 tests/exclude11.at               |    2 +-
 tests/exclude12.at               |    2 +-
 tests/exclude13.at               |    2 +-
 tests/exclude14.at               |    2 +-
 tests/exclude15.at               |    2 +-
 tests/exclude16.at               |    2 +-
 tests/extrac01.at                |    3 +-
 tests/extrac02.at                |    3 +-
 tests/extrac03.at                |    3 +-
 tests/extrac04.at                |    3 +-
 tests/extrac05.at                |    3 +-
 tests/extrac06.at                |    3 +-
 tests/extrac07.at                |    3 +-
 tests/extrac08.at                |    2 +-
 tests/extrac09.at                |    2 +-
 tests/extrac10.at                |    2 +-
 tests/extrac11.at                |    2 +-
 tests/extrac12.at                |    2 +-
 tests/extrac13.at                |    2 +-
 tests/extrac14.at                |    2 +-
 tests/extrac15.at                |    2 +-
 tests/extrac16.at                |    2 +-
 tests/extrac17.at                |    2 +-
 tests/extrac18.at                |    2 +-
 tests/extrac19.at                |    2 +-
 tests/extrac20.at                |    2 +-
 tests/extrac21.at                |    2 +-
 tests/filerem01.at               |    7 +-
 tests/filerem02.at               |    7 +-
 tests/genfile.c                  |   75 +-
 tests/grow.at                    |    5 +-
 tests/gzip.at                    |    3 +-
 tests/ignfail.at                 |    3 +-
 tests/incr01.at                  |    3 +-
 tests/incr02.at                  |    3 +-
 tests/incr03.at                  |    3 +-
 tests/incr04.at                  |    3 +-
 tests/incr05.at                  |    2 +-
 tests/incr06.at                  |    2 +-
 tests/incr07.at                  |    2 +-
 tests/incr08.at                  |   54 +-
 tests/incr09.at                  |    2 +-
 tests/incr10.at                  |    2 +-
 tests/incr11.at                  |    2 +-
 tests/incremental.at             |    3 +-
 tests/indexfile.at               |    3 +-
 tests/label01.at                 |    2 +-
 tests/label02.at                 |    2 +-
 tests/label03.at                 |    2 +-
 tests/label04.at                 |    2 +-
 tests/label05.at                 |    2 +-
 tests/link01.at                  |    3 +-
 tests/link02.at                  |    2 +-
 tests/link03.at                  |    2 +-
 tests/link04.at                  |    2 +-
 tests/listed01.at                |    3 +-
 tests/listed02.at                |    3 +-
 tests/listed03.at                |    2 +-
 tests/listed04.at                |    2 +-
 tests/listed05.at                |    2 +-
 tests/long01.at                  |    3 +-
 tests/longv7.at                  |    3 +-
 tests/lustar01.at                |    3 +-
 tests/lustar02.at                |    3 +-
 tests/lustar03.at                |    3 +-
 tests/map.at                     |    2 +-
 tests/multiv01.at                |    3 +-
 tests/multiv02.at                |    3 +-
 tests/multiv03.at                |    3 +-
 tests/multiv04.at                |    3 +-
 tests/multiv05.at                |    3 +-
 tests/multiv06.at                |    2 +-
 tests/multiv07.at                |    2 +-
 tests/multiv08.at                |    2 +-
 tests/multiv09.at                |    2 +-
 tests/multiv10.at                |    2 +-
 tests/numeric.at                 |   11 +-
 tests/old.at                     |    3 +-
 tests/onetop01.at                |    2 +-
 tests/onetop02.at                |    2 +-
 tests/onetop03.at                |    2 +-
 tests/onetop04.at                |    2 +-
 tests/onetop05.at                |    2 +-
 tests/opcomp01.at                |    2 +-
 tests/opcomp02.at                |    2 +-
 tests/opcomp03.at                |    2 +-
 tests/opcomp04.at                |    2 +-
 tests/opcomp05.at                |    2 +-
 tests/opcomp06.at                |    2 +-
 tests/options.at                 |    3 +-
 tests/options02.at               |    3 +-
 tests/options03.at               |    2 +-
 tests/owner.at                   |    2 +-
 tests/package.m4                 |    4 +-
 tests/pipe.at                    |    3 +-
 tests/positional01.at            |    2 +-
 tests/positional02.at            |    2 +-
 tests/positional03.at            |    2 +-
 tests/recurs02.at                |    2 +-
 tests/recurse.at                 |    3 +-
 tests/remfiles01.at              |    2 +-
 tests/remfiles02.at              |    2 +-
 tests/remfiles03.at              |    2 +-
 tests/remfiles04a.at             |    2 +-
 tests/remfiles04b.at             |    2 +-
 tests/remfiles04c.at             |    2 +-
 tests/remfiles05a.at             |    2 +-
 tests/remfiles05b.at             |    2 +-
 tests/remfiles05c.at             |    2 +-
 tests/remfiles06a.at             |    2 +-
 tests/remfiles06b.at             |    2 +-
 tests/remfiles06c.at             |    2 +-
 tests/remfiles07a.at             |    2 +-
 tests/remfiles07b.at             |    2 +-
 tests/remfiles07c.at             |    2 +-
 tests/remfiles08a.at             |    2 +-
 tests/remfiles08b.at             |    2 +-
 tests/remfiles08c.at             |    2 +-
 tests/remfiles09a.at             |    2 +-
 tests/remfiles09b.at             |    2 +-
 tests/remfiles09c.at             |    2 +-
 tests/remfiles10.at              |    2 +-
 tests/rename01.at                |    3 +-
 tests/rename02.at                |    3 +-
 tests/rename03.at                |    3 +-
 tests/rename04.at                |    2 +-
 tests/rename05.at                |    2 +-
 tests/same-order01.at            |    3 +-
 tests/same-order02.at            |    3 +-
 tests/selacl01.at                |    2 +-
 tests/selnx01.at                 |    2 +-
 tests/shortfile.at               |    2 +-
 tests/shortrec.at                |    3 +-
 tests/shortupd.at                |    2 +-
 tests/sigpipe.at                 |    2 +-
 tests/sparse01.at                |    3 +-
 tests/sparse02.at                |    3 +-
 tests/sparse03.at                |    6 +-
 tests/sparse04.at                |    2 +-
 tests/sparse05.at                |    5 +-
 tests/sparse06.at                |    2 +-
 tests/sparse07.at                |    2 +-
 tests/sparsemv.at                |    3 +-
 tests/sparsemvp.at               |    3 +-
 tests/spmvp00.at                 |    3 +-
 tests/spmvp01.at                 |    3 +-
 tests/spmvp10.at                 |    3 +-
 tests/sptrcreat.at               |   58 +
 tests/sptrdiff00.at              |   52 +
 tests/sptrdiff01.at              |   52 +
 tests/star/README                |    3 +-
 tests/star/gtarfail.at           |    3 +-
 tests/star/gtarfail2.at          |    3 +-
 tests/star/multi-fail.at         |    3 +-
 tests/star/pax-big-10g.at        |    6 +-
 tests/star/quicktest.sh          |    3 +-
 tests/star/ustar-big-2g.at       |    6 +-
 tests/star/ustar-big-8g.at       |    6 +-
 tests/testsuite                  | 5905 +++++++++++++++++++-----------
 tests/testsuite.at               |   39 +-
 tests/time01.at                  |    2 +-
 tests/time02.at                  |    2 +-
 tests/truncate.at                |   11 +-
 tests/update.at                  |    3 +-
 tests/update01.at                |    2 +-
 tests/update02.at                |    2 +-
 tests/update03.at                |    2 +-
 tests/verbose.at                 |    3 +-
 tests/verify.at                  |    2 +-
 tests/version.at                 |    3 +-
 tests/volsize.at                 |    3 +-
 tests/volume.at                  |    3 +-
 tests/xattr01.at                 |    2 +-
 tests/xattr02.at                 |    2 +-
 tests/xattr03.at                 |    2 +-
 tests/xattr04.at                 |    2 +-
 tests/xattr05.at                 |    2 +-
 tests/xattr06.at                 |    2 +-
 tests/xattr07.at                 |    2 +-
 tests/xform-h.at                 |    3 +-
 tests/xform01.at                 |    2 +-
 tests/xform02.at                 |    2 +-
 tests/xform03.at                 |   14 +-
 1044 files changed, 36460 insertions(+), 31954 deletions(-)
 delete mode 100755 build-aux/ar-lib
 create mode 100644 gnu/cdefs.h
 delete mode 100644 gnu/config.charset
 create mode 100644 gnu/creat-safer.c
 create mode 100644 gnu/fcntl--.h
 create mode 100644 gnu/fcntl-safer.h
 create mode 100644 gnu/libc-config.h
 delete mode 100644 gnu/malloca.valgrind
 create mode 100644 gnu/open-safer.c
 create mode 100644 gnu/openat-safer.c
 create mode 100644 gnu/opendirat.c
 create mode 100644 gnu/opendirat.h
 delete mode 100644 gnu/ref-add.sin
 delete mode 100644 gnu/ref-del.sin
 rename gnu/{renameat2.c => renameatu.c} (92%)
 rename gnu/{renameat2.h => renameatu.h} (79%)
 create mode 100644 gnu/sys-limits.h
 create mode 100644 m4/__inline.m4
 delete mode 100644 m4/asm-underscore.m4
 create mode 100644 m4/fcntl-safer.m4
 create mode 100644 m4/fnmatch_h.m4
 delete mode 100644 m4/hard-locale.m4
 create mode 100644 tests/checkpoint/defaults.at
 create mode 100644 tests/checkpoint/dot-compat.at
 create mode 100644 tests/checkpoint/dot-int.at
 create mode 100644 tests/checkpoint/dot.at
 create mode 100644 tests/checkpoint/interval.at
 create mode 100644 tests/compress.m4
 create mode 100644 tests/sptrcreat.at
 create mode 100644 tests/sptrdiff00.at
 create mode 100644 tests/sptrdiff01.at

diff --git a/ChangeLog b/ChangeLog
index 5c845b0b..51501724 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,620 @@
+2019-02-23  Sergey Poznyakoff  <gray@gnu.org>
+
+	Version 1.32
+
+2019-02-04  Sergey Poznyakoff  <gray@gnu.org>
+
+	Minor fixes in docs.
+
+	* doc/tar.1: Remove description of the --preserve option
+	Document verbosity levels.
+	* doc/tar.texi: Fix description of the -o option.
+
+2019-01-15  Daniel Le  <greenrecyclebin@gmail.com>
+
+	Fix typos in the documentation
+
+	Short option "t" was mistranslated to "--test" instead of "--list"
+	in commit
+	67cad0792b4e6cf22c6cb1b167b149cd176d49f9.
+
+2019-01-15  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix build on AIX
+
+	* src/unlink.c (flush_deferred_unlinks): Avoid possible duplicate
+	case
+	(if ENOTEMPTY==EEXIST)
+
+2019-01-15  Sergey Poznyakoff  <gray@gnu.org>
+
+	Version 1.31.90
+
+2019-01-14  Sergey Poznyakoff  <gray@gnu.org>
+
+	Ensure gnu format when running checkpoint tests
+
+2019-01-14  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix compression tests
+
+	Existing compression tests used tar with compiled-in
+	defaults. However,
+	some of the defaults are sure to create archives that are not
+	byte-to-byte
+	reproducible (e.g. DEFAULT_ARCHIVE_FORMAT=POSIX, because the
+	name field
+	in posix extended headers uses PID of the creating process
+	by default).
+	Moreover, some compressors (e.g. gzip) store current timestamp in
+	the file header when compressing from stdin, so that using cmp
+	on the
+	two created archives as the tests did is error-prone. Another
+	problem
+	is that the tests implicitly assumed that tar uses archive
+	suffix to
+	recognize its format when extracting, which isn't the
+	case. Finally,
+	there's hardly any reason in using sed to create m4 sources, when
+	everything can be achieved by m4 itself.
+
+	* tests/Makefile.am: Remove generation of compress-*.at files.
+	* tests/compress.at.in: Remove.
+	* tests/compress.m4: New file.
+	* tests/testsuite.at: Include compress.m4, use TAR_CHECK_COMPRESS
+	to
+	check compression options.
+
+2019-01-14  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix possible NULL dereference (savannah bug #55369)
+
+	* src/sparse.c (pax_decode_header): Check return from
+	find_next_block.
+
+2019-01-14  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix compilation without iconv.
+
+2019-01-14  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix iconv usage.
+
+	Patch by Christian Weisgerber.
+
+	* src/utf8.c (utf8_convert): non-zero return from iconv means
+	failure.
+
+2019-01-14  Pavel Raiskup  <praiskup@redhat.com>
+
+	tests: fix numeric.at for BSD
+
+	While creating file, BSD kernels inherit the group ownership from
+	parent directory.
+	http://lists.gnu.org/archive/html/bug-tar/2016-06/msg00000.html
+
+	* tests/numeric.at: Attempt to 'chown' the newly created directory
+	to proper group (at least on affected machines that command is
+	expected to succeed).
+
+2019-01-14  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix typo in manpage.
+
+2019-01-14  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix expected output in dirrem tests.
+
+	In both tests, the "file changed as we read it" warning might be
+	produced for dir/sub, depending on the ctime resolution and
+	timing.
+	The problem was fixed by 64b43fdf70d82c39eb2ca900cd4f8e49,
+	but regressed
+	after e7cd377f7801d42aa8e07addff93d2150666c237, which removed
+	1 second
+	delays between each pair of checkpoints. Since the presense
+	or absense
+	of this warning is irrelevant for the test, it is now suppressed.
+
+	* tests/dirrem01.at: Suppress the file-changed warning.
+	* tests/dirrem02.at: Likewise.
+
+2019-01-12  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+	Fix the use of --checkpoint without explicit --checkpoint-action
+
+	* src/checkpoint.c (checkpoint_finish_compile): Set default
+	action,
+	if necessary.
+	* tests/checkpoint/defaults.at: New testcase.
+	* tests/checkpoint/dot-compat.at: New testcase.
+	* tests/checkpoint/dot-int.at: New testcase.
+	* tests/checkpoint/dot.at: New testcase.
+	* tests/checkpoint/interval.at: New testcase.
+	* tests/Makefile.am: Add new testcases.
+	* tests/testsuite.at Include new testcases.
+
+2019-01-10  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+	Remove erroneous abort() call
+
+	The call was introduced by commit ccef8581. It caused tar to abort
+	on perfectly normal operations, like untarring archives containing
+	./ with the -U option,
+
+	See
+	http://lists.gnu.org/archive/html/bug-tar/2019-01/msg00019.html
+	for details.
+
+	* src/extract.c (maybe_recoverable): Remove misplaced call
+	to abort().
+
+2019-01-02  Sergey Poznyakoff  <gray@gnu.org>
+
+	Version 1.31
+
+2018-12-28  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix the difflink test
+
+	Hardlinking a symlink produces hardlink on BSD and symlink
+	on GNU/Linux. Avoid the ambiguity.
+
+	* tests/difflink.at: Create hard link from a regular file.
+
+2018-12-28  Sergey Poznyakoff  <gray@gnu.org>
+
+	Work over a bug in gnulib error()
+
+	The error() function from glibc correctly prefixes each message it
+	prints with program_name as set by set_program_name. However, its
+	replacement from gnulib, which is linked in on systems where this
+	function is not available, prints the name returned by
+	getprogname()
+	instead. Due to this messages output by tar subprocess (which
+	sets its
+	program name to 'tar (child)') become indiscernible from those
+	printed
+	by the main process. In particular, this breaks the remfiles01.at
+	and
+	remfiles02.at test cases.
+
+	* configure.ac: Define ENABLE_ERROR_PRINT_PROGNAME if using
+	gnulib error().
+	* src/tar.c [ENABLE_ERROR_PRINT_PROGNAME] (tar_print_progname):
+	New function.
+	(main) [ENABLE_ERROR_PRINT_PROGNAME]: Set error_print_progname.
+
+2018-12-28  Sergey Poznyakoff  <gray@gnu.org>
+
+	Implement the "wait" checkpoint action.
+
+	This action instructs tar to pause until given signal is
+	delivered.
+	The newer genfile tool uses this action for communication between
+	genfile and tar in exec mode. This eliminates race conitions and
+	speeds up the tests based on exec mode.
+
+	* doc/tar.texi: Document changes.
+	* paxutils: Upgrade.
+	* src/checkpoint.c: Implement the wait action.
+	* src/common.h (decode_signal): New proto.
+	* src/tar.c (decode_signal): New function.
+	(set_stat_signal): Rewrite.
+	* tests/dirrem01.at: Adjust genfile and tar command line arguments
+	to use the new feature.
+	* tests/dirrem02.at: Likewise.
+	* tests/filerem01.at: Likewise.
+	* tests/filerem02.at: Likewise.
+	* tests/grow.at: Likewise.
+	* tests/sptrcreat.at: Likewise.
+	* tests/sptrdiff00.at: Likewise.
+	* tests/sptrdiff01.at: Likewise.
+	* tests/truncate.at: Likewise.
+
+2018-12-27  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix CVE-2018-20482
+
+	* NEWS: Update.
+	* src/sparse.c (sparse_dump_region): Handle short read condition.
+	(sparse_extract_region,check_data_region): Fix dumped_size
+	calculation.
+	Handle short read condition.
+	(pax_decode_header): Fix dumped_size calculation.
+	* tests/Makefile.am: Add new testcases.
+	* tests/testsuite.at: Likewise.
+
+	* tests/sptrcreat.at: New file.
+	* tests/sptrdiff00.at: New file.
+	* tests/sptrdiff01.at: New file.
+
+2018-12-21  Sergey Poznyakoff  <gray@gnu.org>
+
+	Disallow modifications to the global pax extended header in
+	update mode.
+
+	Updating global headers in update mode is not possible, because:
+
+	1) If the original archive was not in PAX format, writing the
+	global header would overwrite first member header (and eventually
+	data blocks) in the archive.
+	2) Otherwise, using the --pax-option can make the updated header
+	occupy more blocks than the original one, which would lead to the
+	same effect as in 1.
+
+	This also fixes
+	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00007.html
+
+	* src/xheader.c (xheader_forbid_global): New function.
+	* src/common.h (xheader_forbid_global): New prototype.
+	* src/update.c (update_archive): Use xheader_forbid_global,
+	instead
+	of trying to write global extended header record.
+
+2018-12-21  Sergey Poznyakoff  <gray@gnu.org>
+
+	Bugfix
+
+	Bug reported in
+	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00014.html
+
+	* src/names.c (collect_and_sort_names): Fix iteration over
+	namelist.
+
+2018-12-21  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix semantics of -K used together with explicit member names.
+
+	This also fixes the bug reported in
+	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00012.html
+
+	* src/common.h (starting_file_option): Describe the variable.
+	* src/names.c (add_starting_file): New function.
+	(name_match): Ignore everything before the member indicated by the
+	--starting-file option
+	* src/tar.c: Use add_starting_file to handle the -K option.
+
+2018-12-21  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix error handling when reading incremental snapshots
+
+	Bug reported in
+	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00008.html
+
+	* incremen.c (read_incr_db_01): Don't try to continue after
+	errors.
+
+2018-12-21  Sergey Poznyakoff  <gray@gnu.org>
+
+	Reject pax options starting with equals sign
+
+	Bug reported in
+	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00010.html
+
+	* xheader.c (xheader_set_keyword_equal): Bail out if the keyword
+	starts
+	with =
+
+2018-12-21  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix buffer overflow
+
+	Bug reported in
+	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00011.html
+
+	* src/xheader.c (xheader_format_name): fix length calculation
+
+2018-12-21  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix improper memory access
+
+	Bug reported in
+	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00009.html
+
+	* src/transform.c (parse_transform_expr): Check if re is not empty
+	before accessing its last byte.
+
+2018-11-24  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix parsing of ACLs
+
+	Text returned by acl_to_text can contain comments (introduced
+	by #).
+	Strip comments and horizontal tabs prior to storing ACLs in PAX
+	headers.
+
+	* src/xattrs.c (xattrs_acls_cleanup): New function.
+	(xattrs__acls_get_a,xattrs__acls_get_d): Use xattrs_acls_cleanup.
+
+2018-11-24  Sergey Poznyakoff  <gray@gnu.org>
+
+	Don't try to read past the end of header string fields
+
+	* src/common.h (assign_string_n): New proto.
+	(ASSIGN_STRING_N): New macro.
+	* src/misc.c (assign_string_n): New function.
+	* gnulib.modules: Add strnlen.
+	* src/buffer.c: Use assign_string_n where appropriate.
+	* src/list.c: Likewise.
+
+2018-11-12  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix verbose ACL listing
+
+	* src/xattrs.c (acls_one_line): Advance pos.
+	(xattrs_print): Insert a comma between ACL and default ACL if both
+	are non-empty.
+
+2018-10-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	tar: fix numbered backup bug
+
+	* src/misc.c (maybe_backup_file): Pass chdir_fd, not AT_FDCWD,
+	to find_backup_file_name.  This fixes a bug whereby the wrong
+	backup file name was chosen for numbered backups.
+
+2018-10-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/tar.c (expand_pax_option): Pacify recent GCC.
+
+2018-10-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	build: update gnulib submodule to latest
+
+	* src/misc.c (maybe_backup_file): Adjust to Gnulib change.
+
+2018-08-02  Sergey Poznyakoff  <gray@gnu.org>
+
+	Minor fixes in wordsplit.c
+
+2018-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	build: update gnulib submodule to latest
+
+2018-07-31  Sergey Poznyakoff  <gray@gnu.org>
+
+	Silence gcc warnings in wordsplit
+
+2018-07-31  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix double-free introduced by 577dc345
+
+	* src/utf8.c (utf8_convert): Don't store freed value in *output
+
+2018-07-31  Pavel Raiskup  <praiskup@redhat.com>
+
+	Report race on systems without O_DIRECTORY
+
+	* src/names.c (collect_and_sort_names): Report ENOTDIR after
+	successful fstat() but !S_ISDIR.
+
+2018-07-31  Pavel Raiskup  <praiskup@redhat.com>
+
+	Avoid some resource leaks
+
+	* src/incremen.c (store_rename): Free temp_name, leaked before for
+	each renamed directory with --listed-incremental.
+	* src/transform.c (add_literal_segment): Tighten arguments by
+	const.
+	(parse_transform_expr): Free 'str', leaked storage for each
+	--transform option before.
+	* src/utf8.c (utf8_convert): Deallocate buffer for failed iconv()
+	call so callers don't have to.
+
+2018-07-31  Sergey Poznyakoff  <gray@gnu.org>
+
+	Sync wordsplit and paxutils with the most recent versions
+
+2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/tar.1: Fix font typo noted by esr.
+
+2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/tar.1: Don't refer to nonexistent tar(5).
+
+2018-04-13  Jim Meyering  <meyering@fb.com>
+
+	--one-top-level: avoid a heap-buffer-overflow
+
+	* NEWS: Mention this.
+	* src/suffix.c (strip_compression_suffix): Fix string comparison
+	guard.
+	Without this change, some ASAN-enabled test runs would fail
+	with the
+	following.  Also, strip an additional .tar suffix only if
+	the just-
+	stripped suffix did not match /^\.t/".
+
+	==30815==ERROR: AddressSanitizer: heap-buffer-overflow on
+	address 0x6020000002ed at pc 0x00000049d1f4 bp 0x7ffeb5906d50
+	sp 0x7ffeb5906500
+	READ of size 1 at 0x6020000002ed thread T0
+	SCARINESS: 12 (1-byte-read-heap-buffer-overflow)
+	    #0 0x49d1f3 in __interceptor_strncmp
+	    /j/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:407
+	    #1 0x5670f3 in strip_compression_suffix
+	    /j/tar/src/suffix.c:107
+	    #2 0x575788 in decode_options /j/tar/src/tar.c:2545
+	    #3 0x5760c0 in main /j/tar/src/tar.c:2708
+	    #4 0x7f105090df29 in __libc_start_main ../csu/libc-start.c:308
+	    #5 0x408629 in _start (/j/tar/src/tar+0x408629)
+
+	0x6020000002ed is located 3 bytes to the left of 6-byte region
+	[0x6020000002f0,0x6020000002f6)
+	allocated by thread T0 here:
+	    #0 0x4d0710 in __interceptor_malloc
+	    /j/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
+	    #1 0x4908ad in __interceptor_strndup
+	    /j/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:326
+	    #2 0x5cbcbd in xstrndup /j/tar/gnu/xstrndup.c:32
+	    #3 0x5a325b in base_name /j/tar/gnu/basename.c:57
+	    #4 0x575772 in decode_options /j/tar/src/tar.c:2544
+	    #5 0x5760c0 in main /j/tar/src/tar.c:2708
+	    #6 0x7f105090df29 in __libc_start_main ../csu/libc-start.c:308
+
+2018-04-07  Andrew Hounsell  <andrewhounsell@gmail.com>
+
+	Tiny fix
+
+	* doc/snapshot.texi: Fix a typo
+	* scripts/tar-snapshot-edit: Fix a typo
+
+2018-04-07  Jim Meyering  <jim@meyering.net>
+
+	tests: avoid test failure with non-ancient autoconf
+
+	Running "make check" would fail with this:
+	  T-nonl.at:30: error: m4_divert_push: cannot change diversion
+	  to `GROW' inside m4_expand
+	* tests/T-nonl.at: Use printf in place of AS_ECHO_N.
+	These days, printf should work for everyone.
+
+2018-04-07  Jim Meyering  <meyering@fb.com>
+
+	maint: avoid -Wstringop-truncation warnings from upcoming GCC8
+
+	* src/create.c (start_private_header, start_header): Convert
+	trivial uses of strncpy to memcpy, to avoid warnings like this:
+	In function 'strncpy',
+	    inlined from 'start_private_header' at create.c:522:3:
+	/usr/include/bits/string_fortified.h:106:10: warning: \
+	  '__builtin_strncpy' output truncated before terminating nul \
+	  copying 2 bytes from a string of the same length \
+	  [-Wstringop-truncation]
+
+2018-04-07  Jim Meyering  <meyering@fb.com>
+
+	maint: avoid -Wstringop-truncation warnings upcoming GCC8
+
+	* src/buffer.c (gnu_add_multi_volume_header): Convert a use of
+	strncpy to memcpy, to avoid this warning:
+	In function 'strncpy',
+	    inlined from 'gnu_add_multi_volume_header' at buffer.c:1782:3,
+	    ...
+	/usr/include/bits/string_fortified.h:106:10: error:
+	'__builtin_strncpy'\
+	   specified bound 100 equals destination size \
+	   [-Werror=stringop-truncation]
+
+2018-04-07  Jim Meyering  <meyering@fb.com>
+
+	maint: avoid warnings from upcoming GCC8
+
+	* src/transform.c (_single_transform_name_to_obstack): Mark with
+	FALLTHROUGH statement rather than /* FALL THROUGH */ comment.
+	Only the former works with gcc-8.
+	* src/extract.c (maybe_recoverable): Call abort to tell gcc-8 that
+	this code is unreachable.
+
+2018-04-07  Sergey Poznyakoff  <gray@gnu.org>
+
+	Rewrite struct tm formatting
+
+	* src/list.c (tartime): Use strftime instead of manually
+	formatting
+	fields of the struct tm. This should also suppress some gcc
+	warnings.
+
+2018-04-07  Jim Meyering  <jim@meyering.net>
+
+	tests: add coverage for new --zstd and all other compression tools
+
+	* tests/compress.at.in: New file: template from which each
+	per-compression-tool test is derived.
+	* tests/Makefile.am (TESTSUITE_AT): Add it.
+	(EXTRA_DIST): Add compress.at.in.
+	(compress-*.at): New rules to generate a file/tests for each
+	compression tool.
+	* tests/testsuite.at (Compression): Add each of these generated
+	files in a new section.
+	* tests/.gitignore: Ignore the new generated files.
+
+2018-03-18  Aaron Schrab  <aaron@schrab.com>
+
+	Fix typo
+
+2018-03-18  Sergey Poznyakoff  <gray@gnu.org>
+
+	Version 1.30.90
+
+	* NEWS: Update.
+	* configure.ac: Update.
+	* THANKS: Add Adam Borowski.
+
+2018-03-18  Adam Borowski  <kilobyte@angband.pl>
+
+	Add support for zstd compression
+
+	* configure.ac (zstd): Register compression program.
+	* doc/tar.1: Mention --zstd.
+	* doc/tar.texi: Document zstd support.
+	* src/buffer.c: Register zstd compression.
+	* src/suffix.c: Add suffixes zst and tzst.
+	* src/tar.c: New compression option --zstd.
+
+2018-03-18  Pavel Raiskup  <praiskup@redhat.com>
+
+	tests: fix race in dirrem01 and dirrem02
+
+	Previously the '--checkpoint-action=echo' was triggered after
+	'--checkpoint-action=sleep=1' - so the order of events *usually*
+	was (for --format='gnu'):
+
+	  ...
+	  1. checkpoint handler before write of 'dir/sub' member
+	  2. one-second delay
+	  3. stderr write: 'tar: Write checkpoint 3'
+	  4. write the member 'dir/sub' into the archive
+	  5. check that the member's ctime has not been changed
+	  6. genfile's detecting 'Write checkpoint', doing unlink
+	  ...
+
+	But sometimes, the genfile was fast enough to win the race and
+	unlinked the directory before the member was written into the
+	archive (IOW, the order was 1-2-3-6-4-5).  This led to the
+	occasional warning 'tar: dir/sub: file changed as we read it'.
+
+	Swap the order of 'sleep=1' and 'echo' actions so the genfile
+	utility has (hopefully) enough time to do the unlink before
+	writing the file into the archive (enforce 1-2-3-6-4-5 order).
+
+	* tests/dirrem01.at: Swap 'sleep=1' and 'echo' actions.
+	* tests/dirrem02.at: Likewise.
+
+2018-03-13  Sergey Poznyakoff  <gray@gnu.org>
+
+	Fix typos in the docs
+
+2018-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+	Provide a way to skip tests that create very large files
+
+	Define environment variable TARTEST_SKIP_LARGE_FILES=1 in order
+	to skip tests that require lots of disk space.
+
+	* tests/testsuite.at (AT_SKIP_LARGE_FILES): New macro.
+	* tests/sparse03.at: Mark test with AT_SKIP_LARGE_FILES.
+	* tests/sparse05.at: Likewise.
+	* tests/star/pax-big-10g.at: Likewise.
+	* tests/star/ustar-big-2g.at: Likewise.
+	* tests/star/ustar-big-8g.at: Likewise.
+
+2018-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+	Testsuite bugfix
+
+	* tests/difflink.at: Define order of files within tested archive.
+
+2018-03-13  Sergey Poznyakoff  <gray@gnu.org>
+
+	testsuite: account for absolute file names starting with double
+	slash
+
+	* tests/incr08.at: Absolute file names can start with //
+	* tests/xform03.at: Likewise.
+
 2017-12-17  Sergey Poznyakoff  <gray@gnu.org>
 
 	Version 1.30
diff --git a/Makefile.am b/Makefile.am
index b4815971..15946e7a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,6 @@
 # Main Makefile for GNU tar.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014, 2016-2017
-# Free Software Foundation, Inc.
+# Copyright 1994-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/Makefile.in b/Makefile.in
index f3b817b5..502e4c44 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,8 +16,7 @@
 
 # Main Makefile for GNU tar.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014, 2016-2017
-# Free Software Foundation, Inc.
+# Copyright 1994-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -60,7 +59,17 @@
 #  changelog_dir        [mandatory] Directory where to create ChangeLog
 #  changelog_amend_file [optional]  Amendment file
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -122,26 +131,12 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(srcdir)/Make.rules INSTALL NEWS README AUTHORS \
-	ChangeLog THANKS $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/config.h.in ABOUT-NLS COPYING TODO build-aux/ar-lib \
-	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/texinfo.tex build-aux/ylwrap \
-	$(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
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+	$(top_srcdir)/m4/__inline.m4 \
 	$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
 	$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
-	$(top_srcdir)/m4/asm-underscore.m4 \
 	$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
 	$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
 	$(top_srcdir)/m4/canonicalize.m4 \
@@ -161,11 +156,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/extern-inline.m4 \
 	$(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
 	$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
-	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
-	$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
-	$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
-	$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
-	$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
+	$(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+	$(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fileblocks.m4 \
+	$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
+	$(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+	$(top_srcdir)/m4/fnmatch_h.m4 $(top_srcdir)/m4/fpending.m4 \
 	$(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \
 	$(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \
 	$(top_srcdir)/m4/futimens.m4 \
@@ -179,7 +175,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
 	$(top_srcdir)/m4/gnulib-comp.m4 \
 	$(top_srcdir)/m4/group-member.m4 \
-	$(top_srcdir)/m4/hard-locale.m4 \
 	$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/human.m4 \
 	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
 	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
@@ -274,6 +269,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -337,6 +334,18 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Make.rules $(srcdir)/Makefile.in \
+	$(srcdir)/config.h.in $(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 ABOUT-NLS AUTHORS COPYING \
+	ChangeLog INSTALL NEWS README 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/texinfo.tex \
+	build-aux/ylwrap
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -469,6 +478,7 @@ GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
 GNULIB_FGETC = @GNULIB_FGETC@
 GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FNMATCH = @GNULIB_FNMATCH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
 GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -501,6 +511,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -517,6 +528,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
 GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -755,6 +767,7 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -778,6 +791,9 @@ HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FNMATCH = @HAVE_FNMATCH@
+HAVE_FNMATCH_H = @HAVE_FNMATCH_H@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -790,13 +806,16 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -829,6 +848,7 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OPENDIR = @HAVE_OPENDIR@
@@ -899,7 +919,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_TRUNCATE = @HAVE_TRUNCATE@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
@@ -954,8 +973,6 @@ HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
-HOST_CPU = @HOST_CPU@
-HOST_CPU_C_ABI = @HOST_CPU_C_ABI@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -1000,6 +1017,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 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_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_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@
@@ -1027,6 +1045,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_FNMATCH_H = @NEXT_FNMATCH_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
@@ -1087,9 +1106,11 @@ REPLACE_FCNTL = @REPLACE_FCNTL@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FNMATCH = @REPLACE_FNMATCH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1107,6 +1128,7 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ISATTY = @REPLACE_ISATTY@
@@ -1137,6 +1159,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1342,7 +1365,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/Make.rules $(am__configu
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1352,7 +1374,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
 	esac;
-$(srcdir)/Make.rules:
+$(srcdir)/Make.rules $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	$(SHELL) ./config.status --recheck
@@ -1572,15 +1594,15 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
@@ -1616,16 +1638,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -1801,6 +1824,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 dist-hook:
 	$(MAKE) changelog_dir=$(distdir) ChangeLog
diff --git a/NEWS b/NEWS
index cd15fa1b..acbebdd4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,52 @@
-GNU tar NEWS - User visible changes. 2017-12-17
+GNU tar NEWS - User visible changes. 2019-02-23
 Please send GNU tar bug reports to <bug-tar@gnu.org>
 
+
+version 1.32 - Sergey Poznyakoff, 2019-02-23
+
+* Fix the use of --checkpoint without explicit --checkpoint-action
+
+* Fix extraction with the -U option
+
+See http://lists.gnu.org/archive/html/bug-tar/2019-01/msg00015.html,
+for details
+
+* Fix iconv usage on BSD-based systems
+
+* Fix possible NULL dereference (savannah bug #55369)
+
+* Improve the testsuite
+
+
+version 1.31 - Sergey Poznyakoff, 2019-01-02
+
+* Fix heap-buffer-overrun with --one-top-level.
+Bug introduced with the addition of that option in 1.28.
+
+* Support for zstd compression
+
+New option '--zstd' instructs tar to use zstd as compression program.
+When listing, extractng and comparing, zstd compressed archives are
+recognized automatically.
+When '-a' option is in effect, zstd compression is selected if the
+destination archive name ends in '.zst' or '.tzst'.
+
+* The -K option interacts properly with member names given in the command line
+
+Names of members to extract can be specified along with the "-K NAME"
+option. In this case, tar will extract NAME and those of named members
+that appear in the archive after it, which is consistent with the
+semantics of the option.
+
+Previous versions of tar extracted NAME, those of named members that
+appeared before it, and everything after it.
+
+* Fix CVE-2018-20482
+
+When creating archives with the --sparse option, previous versions of
+tar would loop endlessly if a sparse file had been truncated while
+being archived.
+
 
 version 1.30 - Sergey Poznyakoff, 2017-12-17
 
@@ -42,7 +88,7 @@ causing subsequent link extractions in that directory to fail.
 
 This new warning control option suppresses warning messages about
 unreadable files and directories. It has effect only if used together
-with the --ignore-failed-read option.  
+with the --ignore-failed-read option.
 
 * The --warnings=none option now suppresses all warnings
 
@@ -1641,7 +1687,7 @@ Versions 1.07 back to 1.00 by Jay Fenlason.
 
 
 
-Copyright 1994-2001, 2003-2010, 2013-2017 Free Software Foundation, Inc.
+Copyright 1994-2019 Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
diff --git a/README b/README
index 874b5455..3a14c7ef 100644
--- a/README
+++ b/README
@@ -221,8 +221,7 @@ and share your findings by writing to <bug-tar@gnu.org>.
 
 * Copying
 
-Copyright 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2014,
-2016-2017 Free Software Foundation, Inc.
+Copyright 1990-2019 Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
diff --git a/THANKS b/THANKS
index 5e8e8c92..aee0a924 100644
--- a/THANKS
+++ b/THANKS
@@ -8,6 +8,7 @@ list of these people.  Help me keep it complete and exempt of errors.
 See various ChangeLogs for a detailed description of contributions.
 
 Aage Robeck		aagero@ifi.uio.no
+Adam Borowski		kilobyte@angband.pl
 Adye, TJ (Tim)		T.J.Adye@rl.ac.uk
 Akiko Matsushita	matusita@sra.co.jp
 Alan Bawden		Alan@lcs.mit.edu
@@ -94,6 +95,7 @@ Christian Laubscher	christian.laubscher@tiscalinet.ch
 Christian T. Dum	ctd@mpe-garching.mpg.de
 Christian von Roques	roques@pond.sub.org
 Christian Wetzel	wetzel@phoenix-pacs.de
+Christian Weisgerber	naddy@mips.inka.de
 Christoph Litauer	litauer@mailhost.uni-koblenz.de
 Christophe Colle	colle@krtkg1.rug.ac.be
 Christophe Kalt		Christophe.Kalt@kbcfp.com
diff --git a/TODO b/TODO
index 752668aa..ecfc4f20 100644
--- a/TODO
+++ b/TODO
@@ -45,8 +45,7 @@ Suggestions for improving GNU tar.
 
 * Copyright notice
 
-Copyright 2003-2004, 2007, 2013-2014, 2016-2017 Free Software
-Foundation, Inc.
+Copyright 2003-2019 Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
diff --git a/acinclude.m4 b/acinclude.m4
index 635b3c54..960506cd 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1,6 +1,6 @@
 dnl Special Autoconf macros for GNU tar         -*- autoconf -*-
 
-dnl Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+dnl Copyright 2009-2019 Free Software Foundation, Inc.
 dnl
 dnl This file is part of GNU tar.
 dnl
diff --git a/aclocal.m4 b/aclocal.m4
index 7d39b9b0..38119414 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ 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'.])])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # 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.14'
+[am__api_version='1.15'
 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.14], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@ 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.14])dnl
+[AM_AUTOMAKE_VERSION([1.15])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-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -103,15 +103,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -142,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -333,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -409,7 +408,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -499,8 +498,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  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
@@ -573,7 +572,11 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
 
 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
@@ -602,7 +605,7 @@ 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-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -613,7 +616,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -623,7 +626,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -644,7 +647,7 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -694,7 +697,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -733,7 +736,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -762,7 +765,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -809,7 +812,7 @@ AC_LANG_POP([C])])
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -828,7 +831,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -909,7 +912,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -969,7 +972,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -997,7 +1000,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1016,7 +1019,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1148,11 +1151,11 @@ AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
 m4_include([m4/00gnulib.m4])
+m4_include([m4/__inline.m4])
 m4_include([m4/absolute-header.m4])
 m4_include([m4/acl.m4])
 m4_include([m4/alloca.m4])
 m4_include([m4/argp.m4])
-m4_include([m4/asm-underscore.m4])
 m4_include([m4/backupfile.m4])
 m4_include([m4/bison.m4])
 m4_include([m4/btowc.m4])
@@ -1188,6 +1191,7 @@ m4_include([m4/fchdir.m4])
 m4_include([m4/fchmodat.m4])
 m4_include([m4/fchownat.m4])
 m4_include([m4/fcntl-o.m4])
+m4_include([m4/fcntl-safer.m4])
 m4_include([m4/fcntl.m4])
 m4_include([m4/fcntl_h.m4])
 m4_include([m4/fdopendir.m4])
@@ -1196,6 +1200,7 @@ m4_include([m4/filenamecat.m4])
 m4_include([m4/flexmember.m4])
 m4_include([m4/float_h.m4])
 m4_include([m4/fnmatch.m4])
+m4_include([m4/fnmatch_h.m4])
 m4_include([m4/fpending.m4])
 m4_include([m4/fseek.m4])
 m4_include([m4/fseeko.m4])
@@ -1219,7 +1224,6 @@ m4_include([m4/glibc21.m4])
 m4_include([m4/gnulib-common.m4])
 m4_include([m4/gnulib-comp.m4])
 m4_include([m4/group-member.m4])
-m4_include([m4/hard-locale.m4])
 m4_include([m4/host-cpu-c-abi.m4])
 m4_include([m4/human.m4])
 m4_include([m4/iconv.m4])
diff --git a/build-aux/ar-lib b/build-aux/ar-lib
deleted file mode 100755
index fe2301e7..00000000
--- a/build-aux/ar-lib
+++ /dev/null
@@ -1,270 +0,0 @@
-#! /bin/sh
-# Wrapper for Microsoft lib.exe
-
-me=ar-lib
-scriptversion=2012-03-01.08; # UTC
-
-# Copyright (C) 2010-2013 Free Software Foundation, Inc.
-# Written by Peter Rosin <peda@lysator.liu.se>.
-#
-# This 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>.
-
-
-# func_error message
-func_error ()
-{
-  echo "$me: $1" 1>&2
-  exit 1
-}
-
-file_conv=
-
-# func_file_conv build_file
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts.
-func_file_conv ()
-{
-  file=$1
-  case $file in
-    / | /[!/]*) # absolute file, and not a UNC file
-      if test -z "$file_conv"; then
-	# lazily determine how to convert abs files
-	case `uname -s` in
-	  MINGW*)
-	    file_conv=mingw
-	    ;;
-	  CYGWIN*)
-	    file_conv=cygwin
-	    ;;
-	  *)
-	    file_conv=wine
-	    ;;
-	esac
-      fi
-      case $file_conv in
-	mingw)
-	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
-	  ;;
-	cygwin)
-	  file=`cygpath -m "$file" || echo "$file"`
-	  ;;
-	wine)
-	  file=`winepath -w "$file" || echo "$file"`
-	  ;;
-      esac
-      ;;
-  esac
-}
-
-# func_at_file at_file operation archive
-# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
-# for each of them.
-# When interpreting the content of the @FILE, do NOT use func_file_conv,
-# since the user would need to supply preconverted file names to
-# binutils ar, at least for MinGW.
-func_at_file ()
-{
-  operation=$2
-  archive=$3
-  at_file_contents=`cat "$1"`
-  eval set x "$at_file_contents"
-  shift
-
-  for member
-  do
-    $AR -NOLOGO $operation:"$member" "$archive" || exit $?
-  done
-}
-
-case $1 in
-  '')
-     func_error "no command.  Try '$0 --help' for more information."
-     ;;
-  -h | --h*)
-    cat <<EOF
-Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
-
-Members may be specified in a file named with @FILE.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "$me, version $scriptversion"
-    exit $?
-    ;;
-esac
-
-if test $# -lt 3; then
-  func_error "you must specify a program, an action and an archive"
-fi
-
-AR=$1
-shift
-while :
-do
-  if test $# -lt 2; then
-    func_error "you must specify a program, an action and an archive"
-  fi
-  case $1 in
-    -lib | -LIB \
-    | -ltcg | -LTCG \
-    | -machine* | -MACHINE* \
-    | -subsystem* | -SUBSYSTEM* \
-    | -verbose | -VERBOSE \
-    | -wx* | -WX* )
-      AR="$AR $1"
-      shift
-      ;;
-    *)
-      action=$1
-      shift
-      break
-      ;;
-  esac
-done
-orig_archive=$1
-shift
-func_file_conv "$orig_archive"
-archive=$file
-
-# strip leading dash in $action
-action=${action#-}
-
-delete=
-extract=
-list=
-quick=
-replace=
-index=
-create=
-
-while test -n "$action"
-do
-  case $action in
-    d*) delete=yes  ;;
-    x*) extract=yes ;;
-    t*) list=yes    ;;
-    q*) quick=yes   ;;
-    r*) replace=yes ;;
-    s*) index=yes   ;;
-    S*)             ;; # the index is always updated implicitly
-    c*) create=yes  ;;
-    u*)             ;; # TODO: don't ignore the update modifier
-    v*)             ;; # TODO: don't ignore the verbose modifier
-    *)
-      func_error "unknown action specified"
-      ;;
-  esac
-  action=${action#?}
-done
-
-case $delete$extract$list$quick$replace,$index in
-  yes,* | ,yes)
-    ;;
-  yesyes*)
-    func_error "more than one action specified"
-    ;;
-  *)
-    func_error "no action specified"
-    ;;
-esac
-
-if test -n "$delete"; then
-  if test ! -f "$orig_archive"; then
-    func_error "archive not found"
-  fi
-  for member
-  do
-    case $1 in
-      @*)
-        func_at_file "${1#@}" -REMOVE "$archive"
-        ;;
-      *)
-        func_file_conv "$1"
-        $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
-        ;;
-    esac
-  done
-
-elif test -n "$extract"; then
-  if test ! -f "$orig_archive"; then
-    func_error "archive not found"
-  fi
-  if test $# -gt 0; then
-    for member
-    do
-      case $1 in
-        @*)
-          func_at_file "${1#@}" -EXTRACT "$archive"
-          ;;
-        *)
-          func_file_conv "$1"
-          $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
-          ;;
-      esac
-    done
-  else
-    $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
-    do
-      $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
-    done
-  fi
-
-elif test -n "$quick$replace"; then
-  if test ! -f "$orig_archive"; then
-    if test -z "$create"; then
-      echo "$me: creating $orig_archive"
-    fi
-    orig_archive=
-  else
-    orig_archive=$archive
-  fi
-
-  for member
-  do
-    case $1 in
-    @*)
-      func_file_conv "${1#@}"
-      set x "$@" "@$file"
-      ;;
-    *)
-      func_file_conv "$1"
-      set x "$@" "$file"
-      ;;
-    esac
-    shift
-    shift
-  done
-
-  if test -n "$orig_archive"; then
-    $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
-  else
-    $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
-  fi
-
-elif test -n "$list"; then
-  if test ! -f "$orig_archive"; then
-    func_error "archive not found"
-  fi
-  $AR -NOLOGO -LIST "$archive" || exit $?
-fi
diff --git a/build-aux/compile b/build-aux/compile
index 531136b0..a85b723c 100755
--- a/build-aux/compile
+++ b/build-aux/compile
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/build-aux/config.guess b/build-aux/config.guess
index 31e01efe..0f9b29c8 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2017 Free Software Foundation, Inc.
+#   Copyright 1992-2019 Free Software Foundation, Inc.
 
-timestamp='2017-11-07'
+timestamp='2019-01-01'
 
 # 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
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2019 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."
@@ -84,8 +84,6 @@ if test $# != 0; then
   exit 1
 fi
 
-trap 'exit 1' 1 2 15
-
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
 # temporary files to be created and, as you can see below, it is a
@@ -96,34 +94,38 @@ trap 'exit 1' 1 2 15
 
 # Portable tmp directory creation inspired by the Autoconf team.
 
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-	for c in cc gcc c89 c99 ; do
-	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-	     CC_FOR_BUILD="$c"; break ;
-	  fi ;
-	done ;
-	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found ;
-	fi
-	;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
+
+set_cc_for_build() {
+    : "${TMPDIR=/tmp}"
+    # shellcheck disable=SC2039
+    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+    dummy=$tmp/dummy
+    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+	,,)    echo "int x;" > "$dummy.c"
+	       for driver in cc gcc c89 c99 ; do
+		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+		       CC_FOR_BUILD="$driver"
+		       break
+		   fi
+	       done
+	       if test x"$CC_FOR_BUILD" = x ; then
+		   CC_FOR_BUILD=no_compiler_found
+	       fi
+	       ;;
+	,,*)   CC_FOR_BUILD=$CC ;;
+	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+    esac
+}
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
 	PATH=$PATH:/.attbin ; export PATH
 fi
 
@@ -132,14 +134,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-case "${UNAME_SYSTEM}" in
+case "$UNAME_SYSTEM" in
 Linux|GNU|GNU/*)
 	# If the system lacks a compiler, then just pick glibc.
 	# We could probably try harder.
 	LIBC=gnu
 
-	eval $set_cc_for_build
-	cat <<-EOF > $dummy.c
+	set_cc_for_build
+	cat <<-EOF > "$dummy.c"
 	#include <features.h>
 	#if defined(__UCLIBC__)
 	LIBC=uclibc
@@ -149,13 +151,20 @@ Linux|GNU|GNU/*)
 	LIBC=gnu
 	#endif
 	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+	# If ldd exists, use it to detect musl libc.
+	if command -v ldd >/dev/null && \
+		ldd --version 2>&1 | grep -q ^musl
+	then
+	    LIBC=musl
+	fi
 	;;
 esac
 
 # Note: order is significant - the case branches are not exclusive.
 
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
     *:NetBSD:*:*)
 	# NetBSD (nbsd) targets should (where applicable) match one or
 	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -169,30 +178,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# portion of the name.  We always set it to "unknown".
 	sysctl="sysctl -n hw.machine_arch"
 	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
-	    /sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || \
+	    "/sbin/$sysctl" 2>/dev/null || \
+	    "/usr/sbin/$sysctl" 2>/dev/null || \
 	    echo unknown)`
-	case "${UNAME_MACHINE_ARCH}" in
+	case "$UNAME_MACHINE_ARCH" in
 	    armeb) machine=armeb-unknown ;;
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
 	    sh5el) machine=sh5le-unknown ;;
 	    earmv*)
-		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
-		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
-		machine=${arch}${endian}-unknown
+		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+		machine="${arch}${endian}"-unknown
 		;;
-	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
 	# to ELF recently (or will in the future) and ABI.
-	case "${UNAME_MACHINE_ARCH}" in
+	case "$UNAME_MACHINE_ARCH" in
 	    earm*)
 		os=netbsdelf
 		;;
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-		eval $set_cc_for_build
+		set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
 			| grep -q __ELF__
 		then
@@ -208,10 +217,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		;;
 	esac
 	# Determine ABI tags.
-	case "${UNAME_MACHINE_ARCH}" in
+	case "$UNAME_MACHINE_ARCH" in
 	    earm*)
 		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
-		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
 		;;
 	esac
 	# The OS release
@@ -219,52 +228,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# thus, need a distinct triplet. However, they do not need
 	# kernel version information, so it can be replaced with a
 	# suitable tag, in the style of linux-gnu.
-	case "${UNAME_VERSION}" in
+	case "$UNAME_VERSION" in
 	    Debian*)
 		release='-gnu'
 		;;
 	    *)
-		release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
 		;;
 	esac
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}${abi}"
+	echo "$machine-${os}${release}${abi-}"
 	exit ;;
     *:Bitrig:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+	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}
+	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
 	exit ;;
     *:LibertyBSD:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
 	exit ;;
     *:MidnightBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
 	exit ;;
     *:ekkoBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
 	exit ;;
     *:SolidBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
 	exit ;;
     macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
 	exit ;;
     *:MirBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
 	exit ;;
     *:Sortix:*:*)
-	echo ${UNAME_MACHINE}-unknown-sortix
+	echo "$UNAME_MACHINE"-unknown-sortix
 	exit ;;
     *:Redox:*:*)
-	echo ${UNAME_MACHINE}-unknown-redox
+	echo "$UNAME_MACHINE"-unknown-redox
 	exit ;;
+    mips:OSF1:*.*)
+        echo mips-dec-osf1
+        exit ;;
     alpha:OSF1:*:*)
 	case $UNAME_RELEASE in
 	*4.0)
@@ -316,7 +328,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
@@ -325,10 +337,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	echo m68k-unknown-sysv4
 	exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
+	echo "$UNAME_MACHINE"-unknown-amigaos
 	exit ;;
     *:[Mm]orph[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-morphos
+	echo "$UNAME_MACHINE"-unknown-morphos
 	exit ;;
     *:OS/390:*:*)
 	echo i370-ibm-openedition
@@ -340,7 +352,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	echo powerpc-ibm-os400
 	exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
+	echo arm-acorn-riscix"$UNAME_RELEASE"
 	exit ;;
     arm*:riscos:*:*|arm*:RISCOS:*:*)
 	echo arm-unknown-riscos
@@ -367,19 +379,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    sparc) echo sparc-icl-nx7; exit ;;
 	esac ;;
     s390x:SunOS:*:*)
-	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
 	exit ;;
     sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
 	exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
 	exit ;;
     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-	echo i386-pc-auroraux${UNAME_RELEASE}
+	echo i386-pc-auroraux"$UNAME_RELEASE"
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-	eval $set_cc_for_build
+	set_cc_for_build
 	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
@@ -392,13 +404,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		SUN_ARCH=x86_64
 	    fi
 	fi
-	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
 	exit ;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
 	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
 	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
 	exit ;;
     sun4*:SunOS:*:*)
 	case "`/usr/bin/arch -k`" in
@@ -407,25 +419,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		;;
 	esac
 	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
 	exit ;;
     sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
+	echo m68k-sun-sunos"$UNAME_RELEASE"
 	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
+	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
+		echo m68k-sun-sunos"$UNAME_RELEASE"
 		;;
 	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
+		echo sparc-sun-sunos"$UNAME_RELEASE"
 		;;
 	esac
 	exit ;;
     aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
+	echo sparc-auspex-sunos"$UNAME_RELEASE"
 	exit ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
@@ -436,44 +448,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint"$UNAME_RELEASE"
 	exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint"$UNAME_RELEASE"
 	exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint"$UNAME_RELEASE"
 	exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-	echo m68k-milan-mint${UNAME_RELEASE}
+	echo m68k-milan-mint"$UNAME_RELEASE"
 	exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-	echo m68k-hades-mint${UNAME_RELEASE}
+	echo m68k-hades-mint"$UNAME_RELEASE"
 	exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-	echo m68k-unknown-mint${UNAME_RELEASE}
+	echo m68k-unknown-mint"$UNAME_RELEASE"
 	exit ;;
     m68k:machten:*:*)
-	echo m68k-apple-machten${UNAME_RELEASE}
+	echo m68k-apple-machten"$UNAME_RELEASE"
 	exit ;;
     powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
+	echo powerpc-apple-machten"$UNAME_RELEASE"
 	exit ;;
     RISC*:Mach:*:*)
 	echo mips-dec-mach_bsd4.3
 	exit ;;
     RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
+	echo mips-dec-ultrix"$UNAME_RELEASE"
 	exit ;;
     VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
+	echo vax-dec-ultrix"$UNAME_RELEASE"
 	exit ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
+	echo clipper-intergraph-clix"$UNAME_RELEASE"
 	exit ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
+	set_cc_for_build
+	sed 's/^	//' << EOF > "$dummy.c"
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
 	int main (int argc, char *argv[]) {
@@ -494,11 +506,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	  exit (-1);
 	}
 EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &&
-	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
 	    { echo "$SYSTEM_NAME"; exit; }
-	echo mips-mips-riscos${UNAME_RELEASE}
+	echo mips-mips-riscos"$UNAME_RELEASE"
 	exit ;;
     Motorola:PowerMAX_OS:*:*)
 	echo powerpc-motorola-powermax
@@ -524,17 +536,17 @@ EOF
     AViiON:dgux:*:*)
 	# DG/UX returns AViiON for all architectures
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
 	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+	       [ "$TARGET_BINARY_INTERFACE"x = x ]
 	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
+		echo m88k-dg-dgux"$UNAME_RELEASE"
 	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
 	    fi
 	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
+	    echo i586-dg-dgux"$UNAME_RELEASE"
 	fi
 	exit ;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
@@ -551,7 +563,7 @@ EOF
 	echo m68k-tektronix-bsd
 	exit ;;
     *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
 	exit ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
 	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
@@ -563,14 +575,14 @@ EOF
 	if [ -x /usr/bin/oslevel ] ; then
 		IBM_REV=`/usr/bin/oslevel`
 	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
 	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
 	exit ;;
     *:AIX:2:3)
 	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		eval $set_cc_for_build
-		sed 's/^		//' << EOF >$dummy.c
+		set_cc_for_build
+		sed 's/^		//' << EOF > "$dummy.c"
 		#include <sys/systemcfg.h>
 
 		main()
@@ -581,7 +593,7 @@ EOF
 			exit(0);
 			}
 EOF
-		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
 		then
 			echo "$SYSTEM_NAME"
 		else
@@ -595,7 +607,7 @@ EOF
 	exit ;;
     *:AIX:*:[4567])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
 	else
 		IBM_ARCH=powerpc
@@ -604,9 +616,9 @@ EOF
 		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
 			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
 	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
 	exit ;;
     *:AIX:*:*)
 	echo rs6000-ibm-aix
@@ -615,7 +627,7 @@ EOF
 	echo romp-ibm-bsd4.4
 	exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
 	exit ;;                             # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
 	echo rs6000-bull-bosx
@@ -630,28 +642,28 @@ EOF
 	echo m68k-hp-bsd4.4
 	exit ;;
     9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
+	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+	case "$UNAME_MACHINE" in
 	    9000/31?)            HP_ARCH=m68000 ;;
 	    9000/[34]??)         HP_ARCH=m68k ;;
 	    9000/[678][0-9][0-9])
 		if [ -x /usr/bin/getconf ]; then
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-		    case "${sc_cpu_version}" in
+		    case "$sc_cpu_version" in
 		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
 		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
-			case "${sc_kernel_bits}" in
+			case "$sc_kernel_bits" in
 			  32) HP_ARCH=hppa2.0n ;;
 			  64) HP_ARCH=hppa2.0w ;;
 			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
-		if [ "${HP_ARCH}" = "" ]; then
-		    eval $set_cc_for_build
-		    sed 's/^		//' << EOF >$dummy.c
+		if [ "$HP_ARCH" = "" ]; then
+		    set_cc_for_build
+		    sed 's/^		//' << EOF > "$dummy.c"
 
 		#define _HPUX_SOURCE
 		#include <stdlib.h>
@@ -684,13 +696,13 @@ EOF
 		    exit (0);
 		}
 EOF
-		    (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ ${HP_ARCH} = hppa2.0w ]
+	if [ "$HP_ARCH" = hppa2.0w ]
 	then
-	    eval $set_cc_for_build
+	    set_cc_for_build
 
 	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
 	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
@@ -709,15 +721,15 @@ EOF
 		HP_ARCH=hppa64
 	    fi
 	fi
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
 	exit ;;
     ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
+	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux"$HPUX_REV"
 	exit ;;
     3050*:HI-UX:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
+	set_cc_for_build
+	sed 's/^	//' << EOF > "$dummy.c"
 	#include <unistd.h>
 	int
 	main ()
@@ -742,7 +754,7 @@ EOF
 	  exit (0);
 	}
 EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
 		{ echo "$SYSTEM_NAME"; exit; }
 	echo unknown-hitachi-hiuxwe2
 	exit ;;
@@ -763,9 +775,9 @@ EOF
 	exit ;;
     i*86:OSF1:*:*)
 	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	    echo "$UNAME_MACHINE"-unknown-osf1mk
 	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
+	    echo "$UNAME_MACHINE"-unknown-osf1
 	fi
 	exit ;;
     parisc*:Lites*:*:*)
@@ -790,109 +802,120 @@ EOF
 	echo c4-convex-bsd
 	exit ;;
     CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
 	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
 	      -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     5000:UNIX_System_V:4.*:*)
 	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
 	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
 	exit ;;
     sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	echo sparc-unknown-bsdi"$UNAME_RELEASE"
 	exit ;;
     *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
+	exit ;;
+    arm:FreeBSD:*:*)
+	UNAME_PROCESSOR=`uname -p`
+	set_cc_for_build
+	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_PCS_VFP
+	then
+	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
+	else
+	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
+	fi
 	exit ;;
     *:FreeBSD:*:*)
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	case ${UNAME_PROCESSOR} in
+	case "$UNAME_PROCESSOR" in
 	    amd64)
 		UNAME_PROCESSOR=x86_64 ;;
 	    i386)
 		UNAME_PROCESSOR=i586 ;;
 	esac
-	echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
 	exit ;;
     i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
+	echo "$UNAME_MACHINE"-pc-cygwin
 	exit ;;
     *:MINGW64*:*)
-	echo ${UNAME_MACHINE}-pc-mingw64
+	echo "$UNAME_MACHINE"-pc-mingw64
 	exit ;;
     *:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
+	echo "$UNAME_MACHINE"-pc-mingw32
 	exit ;;
     *:MSYS*:*)
-	echo ${UNAME_MACHINE}-pc-msys
+	echo "$UNAME_MACHINE"-pc-msys
 	exit ;;
     i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
+	echo "$UNAME_MACHINE"-pc-pw32
 	exit ;;
     *:Interix*:*)
-	case ${UNAME_MACHINE} in
+	case "$UNAME_MACHINE" in
 	    x86)
-		echo i586-pc-interix${UNAME_RELEASE}
+		echo i586-pc-interix"$UNAME_RELEASE"
 		exit ;;
 	    authenticamd | genuineintel | EM64T)
-		echo x86_64-unknown-interix${UNAME_RELEASE}
+		echo x86_64-unknown-interix"$UNAME_RELEASE"
 		exit ;;
 	    IA64)
-		echo ia64-unknown-interix${UNAME_RELEASE}
+		echo ia64-unknown-interix"$UNAME_RELEASE"
 		exit ;;
 	esac ;;
     i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
+	echo "$UNAME_MACHINE"-pc-uwin
 	exit ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-	echo x86_64-unknown-cygwin
+	echo x86_64-pc-cygwin
 	exit ;;
     prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
 	exit ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
+    *:Minix:*:*)
+	echo "$UNAME_MACHINE"-unknown-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -906,63 +929,63 @@ EOF
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
 	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     arm*:Linux:*:*)
-	eval $set_cc_for_build
+	set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
 	exit ;;
     e2k:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     i*86:Linux:*:*)
-	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     k1om:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
+	set_cc_for_build
+	sed 's/^	//' << EOF > "$dummy.c"
 	#undef CPU
 	#undef ${UNAME_MACHINE}
 	#undef ${UNAME_MACHINE}el
@@ -976,70 +999,70 @@ EOF
 	#endif
 	#endif
 EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+	test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
 	;;
     mips64el:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     openrisc*:Linux:*:*)
-	echo or1k-unknown-linux-${LIBC}
+	echo or1k-unknown-linux-"$LIBC"
 	exit ;;
     or32:Linux:*:* | or1k*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-${LIBC}
+	echo sparc-unknown-linux-"$LIBC"
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-${LIBC}
+	echo hppa64-unknown-linux-"$LIBC"
 	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-	  *)    echo hppa-unknown-linux-${LIBC} ;;
+	  PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+	  PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+	  *)    echo hppa-unknown-linux-"$LIBC" ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-${LIBC}
+	echo powerpc64-unknown-linux-"$LIBC"
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-${LIBC}
+	echo powerpc-unknown-linux-"$LIBC"
 	exit ;;
     ppc64le:Linux:*:*)
-	echo powerpc64le-unknown-linux-${LIBC}
+	echo powerpc64le-unknown-linux-"$LIBC"
 	exit ;;
     ppcle:Linux:*:*)
-	echo powerpcle-unknown-linux-${LIBC}
+	echo powerpcle-unknown-linux-"$LIBC"
 	exit ;;
     riscv32:Linux:*:* | riscv64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1053,34 +1076,34 @@ EOF
 	# I am not positive that other SVR4 systems won't match this,
 	# I just have to hope.  -- rms.
 	# Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
 	exit ;;
     i*86:OS/2:*:*)
 	# If we were able to find `uname', then EMX Unix compatibility
 	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
+	echo "$UNAME_MACHINE"-pc-os2-emx
 	exit ;;
     i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
+	echo "$UNAME_MACHINE"-unknown-stop
 	exit ;;
     i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
+	echo "$UNAME_MACHINE"-unknown-atheos
 	exit ;;
     i*86:syllable:*:*)
-	echo ${UNAME_MACHINE}-pc-syllable
+	echo "$UNAME_MACHINE"-pc-syllable
 	exit ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
+	echo i386-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	echo "$UNAME_MACHINE"-pc-msdosdjgpp
 	exit ;;
     i*86:*:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
 	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
 	fi
 	exit ;;
     i*86:*:5:[678]*)
@@ -1090,12 +1113,12 @@ EOF
 	    *Pentium)	     UNAME_MACHINE=i586 ;;
 	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
 	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
 	exit ;;
     i*86:*:3.2:*)
 	if test -f /usr/options/cb.name; then
 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
 	elif /bin/uname -X 2>/dev/null >/dev/null ; then
 		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
 		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1105,9 +1128,9 @@ EOF
 			&& UNAME_MACHINE=i686
 		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
 			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+		echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
 	else
-		echo ${UNAME_MACHINE}-pc-sysv32
+		echo "$UNAME_MACHINE"-pc-sysv32
 	fi
 	exit ;;
     pc:*:*:*)
@@ -1127,9 +1150,9 @@ EOF
 	exit ;;
     i860:*:4.*:*) # i860-SVR4
 	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	  echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
 	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	  echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
 	fi
 	exit ;;
     mini*:CTIX:SYS*5:*)
@@ -1149,9 +1172,9 @@ EOF
 	test -r /etc/.relid \
 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
 	  && { echo i486-ncr-sysv4; exit; } ;;
@@ -1160,28 +1183,28 @@ EOF
 	test -r /etc/.relid \
 	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
 	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	echo m68k-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     mc68030:UNIX_System_V:4.*:*)
 	echo m68k-atari-sysv4
 	exit ;;
     TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	echo sparc-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	echo rs6000-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	echo powerpc-unknown-lynxos"$UNAME_RELEASE"
 	exit ;;
     SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
+	echo mips-dde-sysv"$UNAME_RELEASE"
 	exit ;;
     RM*:ReliantUNIX-*:*:*)
 	echo mips-sni-sysv4
@@ -1192,7 +1215,7 @@ EOF
     *:SINIX-*:*:*)
 	if uname -p 2>/dev/null >/dev/null ; then
 		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
+		echo "$UNAME_MACHINE"-sni-sysv4
 	else
 		echo ns32k-sni-sysv
 	fi
@@ -1212,23 +1235,23 @@ EOF
 	exit ;;
     i*86:VOS:*:*)
 	# From Paul.Green@stratus.com.
-	echo ${UNAME_MACHINE}-stratus-vos
+	echo "$UNAME_MACHINE"-stratus-vos
 	exit ;;
     *:VOS:*:*)
 	# From Paul.Green@stratus.com.
 	echo hppa1.1-stratus-vos
 	exit ;;
     mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
+	echo m68k-apple-aux"$UNAME_RELEASE"
 	exit ;;
     news*:NEWS-OS:6*:*)
 	echo mips-sony-newsos6
 	exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
 	if [ -d /usr/nec ]; then
-		echo mips-nec-sysv${UNAME_RELEASE}
+		echo mips-nec-sysv"$UNAME_RELEASE"
 	else
-		echo mips-unknown-sysv${UNAME_RELEASE}
+		echo mips-unknown-sysv"$UNAME_RELEASE"
 	fi
 	exit ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
@@ -1247,39 +1270,39 @@ EOF
 	echo x86_64-unknown-haiku
 	exit ;;
     SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
+	echo sx4-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
+	echo sx5-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux${UNAME_RELEASE}
+	echo sx6-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-7:SUPER-UX:*:*)
-	echo sx7-nec-superux${UNAME_RELEASE}
+	echo sx7-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-8:SUPER-UX:*:*)
-	echo sx8-nec-superux${UNAME_RELEASE}
+	echo sx8-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-8R:SUPER-UX:*:*)
-	echo sx8r-nec-superux${UNAME_RELEASE}
+	echo sx8r-nec-superux"$UNAME_RELEASE"
 	exit ;;
     SX-ACE:SUPER-UX:*:*)
-	echo sxace-nec-superux${UNAME_RELEASE}
+	echo sxace-nec-superux"$UNAME_RELEASE"
 	exit ;;
     Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	echo powerpc-apple-rhapsody"$UNAME_RELEASE"
 	exit ;;
     *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	eval $set_cc_for_build
+	set_cc_for_build
 	if test "$UNAME_PROCESSOR" = unknown ; then
 	    UNAME_PROCESSOR=powerpc
 	fi
-	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+	if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
 	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
 		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
@@ -1307,7 +1330,7 @@ EOF
 	    # that Apple uses in portable devices.
 	    UNAME_PROCESSOR=x86_64
 	fi
-	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
@@ -1315,22 +1338,25 @@ EOF
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
-	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
 	exit ;;
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit ;;
     NEO-*:NONSTOP_KERNEL:*:*)
-	echo neo-tandem-nsk${UNAME_RELEASE}
+	echo neo-tandem-nsk"$UNAME_RELEASE"
 	exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk${UNAME_RELEASE}
+	echo nse-tandem-nsk"$UNAME_RELEASE"
 	exit ;;
     NSR-*:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
+	echo nsr-tandem-nsk"$UNAME_RELEASE"
+	exit ;;
+    NSV-*:NONSTOP_KERNEL:*:*)
+	echo nsv-tandem-nsk"$UNAME_RELEASE"
 	exit ;;
     NSX-*:NONSTOP_KERNEL:*:*)
-	echo nsx-tandem-nsk${UNAME_RELEASE}
+	echo nsx-tandem-nsk"$UNAME_RELEASE"
 	exit ;;
     *:NonStop-UX:*:*)
 	echo mips-compaq-nonstopux
@@ -1339,18 +1365,19 @@ EOF
 	echo bs2000-siemens-sysv
 	exit ;;
     DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
 	exit ;;
     *:Plan9:*:*)
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
 	# operating systems.
+	# shellcheck disable=SC2154
 	if test "$cputype" = 386; then
 	    UNAME_MACHINE=i386
 	else
 	    UNAME_MACHINE="$cputype"
 	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
+	echo "$UNAME_MACHINE"-unknown-plan9
 	exit ;;
     *:TOPS-10:*:*)
 	echo pdp10-unknown-tops10
@@ -1371,14 +1398,14 @@ EOF
 	echo pdp10-unknown-its
 	exit ;;
     SEI:*:*:SEIUX)
-	echo mips-sei-seiux${UNAME_RELEASE}
+	echo mips-sei-seiux"$UNAME_RELEASE"
 	exit ;;
     *:DragonFly:*:*)
-	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
 	exit ;;
     *:*VMS:*:*)
 	UNAME_MACHINE=`(uname -p) 2>/dev/null`
-	case "${UNAME_MACHINE}" in
+	case "$UNAME_MACHINE" in
 	    A*) echo alpha-dec-vms ; exit ;;
 	    I*) echo ia64-dec-vms ; exit ;;
 	    V*) echo vax-dec-vms ; exit ;;
@@ -1387,25 +1414,28 @@ EOF
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
+	echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
 	exit ;;
     i*86:rdos:*:*)
-	echo ${UNAME_MACHINE}-pc-rdos
+	echo "$UNAME_MACHINE"-pc-rdos
 	exit ;;
     i*86:AROS:*:*)
-	echo ${UNAME_MACHINE}-pc-aros
+	echo "$UNAME_MACHINE"-pc-aros
 	exit ;;
     x86_64:VMkernel:*:*)
-	echo ${UNAME_MACHINE}-unknown-esx
+	echo "$UNAME_MACHINE"-unknown-esx
 	exit ;;
     amd64:Isilon\ OneFS:*:*)
 	echo x86_64-unknown-onefs
 	exit ;;
+    *:Unleashed:*:*)
+	echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE"
+	exit ;;
 esac
 
 echo "$0: unable to guess system type" >&2
 
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
     mips:Linux | mips64:Linux)
 	# If we got here on MIPS GNU/Linux, output extra information.
 	cat >&2 <<EOF
@@ -1447,16 +1477,16 @@ hostinfo               = `(hostinfo) 2>/dev/null`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
 
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM  = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
 EOF
 
 exit 1
 
 # Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index af3c4155..be202c1a 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -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-2017 Free Software Foundation, Inc.
+#   Copyright 1996-2019 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
diff --git a/build-aux/config.sub b/build-aux/config.sub
index fb579478..a8f3f7e7 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2017 Free Software Foundation, Inc.
+#   Copyright 1992-2019 Free Software Foundation, Inc.
 
-timestamp='2017-11-04'
+timestamp='2019-01-01'
 
 # 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
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2019 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."
@@ -89,12 +89,12 @@ while test $# -gt 0 ; do
     - )	# Use stdin as input.
        break ;;
     -* )
-       echo "$me: invalid option $1$help"
+       echo "$me: invalid option $1$help" >&2
        exit 1 ;;
 
     *local*)
        # First pass through any local machine types.
-       echo $1
+       echo "$1"
        exit ;;
 
     * )
@@ -110,1251 +110,1160 @@ case $# in
     exit 1;;
 esac
 
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | cloudabi*-eabi* | \
-  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 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
+# Split fields of configuration type
+IFS="-" read field1 field2 field3 field4 <<EOF
+$1
+EOF
 
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-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*)
-		os=
-		basic_machine=$1
-		;;
-	-bluegene*)
-		os=-cnk
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-chorusos*)
-		os=-chorusos
-		basic_machine=$1
-		;;
-	-chorusrdb)
-		os=-chorusrdb
-		basic_machine=$1
-		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco6)
-		os=-sco5v6
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5v6*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*178)
-		os=-lynxos178
-		;;
-	-lynx*5)
-		os=-lynxos5
+# Separate into logical components for further validation
+case $1 in
+	*-*-*-*-*)
+		echo Invalid configuration \`"$1"\': more than four components >&2
+		exit 1
 		;;
-	-lynx*)
-		os=-lynxos
+	*-*-*-*)
+		basic_machine=$field1-$field2
+		os=$field3-$field4
 		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+	*-*-*)
+		# Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+		# parts
+		maybe_os=$field2-$field3
+		case $maybe_os in
+			nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
+			| linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
+			| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+			| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+			| storm-chaos* | os2-emx* | rtmk-nova*)
+				basic_machine=$field1
+				os=$maybe_os
+				;;
+			android-linux)
+				basic_machine=$field1-unknown
+				os=linux-android
+				;;
+			*)
+				basic_machine=$field1-$field2
+				os=$field3
+				;;
+		esac
 		;;
-	-psos*)
-		os=-psos
+	*-*)
+		# A lone config we happen to match not fitting any pattern
+		case $field1-$field2 in
+			decstation-3100)
+				basic_machine=mips-dec
+				os=
+				;;
+			*-*)
+				# Second component is usually, but not always the OS
+				case $field2 in
+					# Prevent following clause from handling this valid os
+					sun*os*)
+						basic_machine=$field1
+						os=$field2
+						;;
+					# Manufacturers
+					dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
+					| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+					| unicom* | ibm* | next | hp | isi* | apollo | altos* \
+					| 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* | sim | cisco \
+					| oki | wec | wrs | winbond)
+						basic_machine=$field1-$field2
+						os=
+						;;
+					*)
+						basic_machine=$field1
+						os=$field2
+						;;
+				esac
+			;;
+		esac
 		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
+	*)
+		# Convert single-component short-hands not valid as part of
+		# multi-component configurations.
+		case $field1 in
+			386bsd)
+				basic_machine=i386-pc
+				os=bsd
+				;;
+			a29khif)
+				basic_machine=a29k-amd
+				os=udi
+				;;
+			adobe68k)
+				basic_machine=m68010-adobe
+				os=scout
+				;;
+			alliant)
+				basic_machine=fx80-alliant
+				os=
+				;;
+			altos | altos3068)
+				basic_machine=m68k-altos
+				os=
+				;;
+			am29k)
+				basic_machine=a29k-none
+				os=bsd
+				;;
+			amdahl)
+				basic_machine=580-amdahl
+				os=sysv
+				;;
+			amiga)
+				basic_machine=m68k-unknown
+				os=
+				;;
+			amigaos | amigados)
+				basic_machine=m68k-unknown
+				os=amigaos
+				;;
+			amigaunix | amix)
+				basic_machine=m68k-unknown
+				os=sysv4
+				;;
+			apollo68)
+				basic_machine=m68k-apollo
+				os=sysv
+				;;
+			apollo68bsd)
+				basic_machine=m68k-apollo
+				os=bsd
+				;;
+			aros)
+				basic_machine=i386-pc
+				os=aros
+				;;
+			aux)
+				basic_machine=m68k-apple
+				os=aux
+				;;
+			balance)
+				basic_machine=ns32k-sequent
+				os=dynix
+				;;
+			blackfin)
+				basic_machine=bfin-unknown
+				os=linux
+				;;
+			cegcc)
+				basic_machine=arm-unknown
+				os=cegcc
+				;;
+			convex-c1)
+				basic_machine=c1-convex
+				os=bsd
+				;;
+			convex-c2)
+				basic_machine=c2-convex
+				os=bsd
+				;;
+			convex-c32)
+				basic_machine=c32-convex
+				os=bsd
+				;;
+			convex-c34)
+				basic_machine=c34-convex
+				os=bsd
+				;;
+			convex-c38)
+				basic_machine=c38-convex
+				os=bsd
+				;;
+			cray)
+				basic_machine=j90-cray
+				os=unicos
+				;;
+			crds | unos)
+				basic_machine=m68k-crds
+				os=
+				;;
+			da30)
+				basic_machine=m68k-da30
+				os=
+				;;
+			decstation | pmax | pmin | dec3100 | decstatn)
+				basic_machine=mips-dec
+				os=
+				;;
+			delta88)
+				basic_machine=m88k-motorola
+				os=sysv3
+				;;
+			dicos)
+				basic_machine=i686-pc
+				os=dicos
+				;;
+			djgpp)
+				basic_machine=i586-pc
+				os=msdosdjgpp
+				;;
+			ebmon29k)
+				basic_machine=a29k-amd
+				os=ebmon
+				;;
+			es1800 | OSE68k | ose68k | ose | OSE)
+				basic_machine=m68k-ericsson
+				os=ose
+				;;
+			gmicro)
+				basic_machine=tron-gmicro
+				os=sysv
+				;;
+			go32)
+				basic_machine=i386-pc
+				os=go32
+				;;
+			h8300hms)
+				basic_machine=h8300-hitachi
+				os=hms
+				;;
+			h8300xray)
+				basic_machine=h8300-hitachi
+				os=xray
+				;;
+			h8500hms)
+				basic_machine=h8500-hitachi
+				os=hms
+				;;
+			harris)
+				basic_machine=m88k-harris
+				os=sysv3
+				;;
+			hp300)
+				basic_machine=m68k-hp
+				;;
+			hp300bsd)
+				basic_machine=m68k-hp
+				os=bsd
+				;;
+			hp300hpux)
+				basic_machine=m68k-hp
+				os=hpux
+				;;
+			hppaosf)
+				basic_machine=hppa1.1-hp
+				os=osf
+				;;
+			hppro)
+				basic_machine=hppa1.1-hp
+				os=proelf
+				;;
+			i386mach)
+				basic_machine=i386-mach
+				os=mach
+				;;
+			vsta)
+				basic_machine=i386-pc
+				os=vsta
+				;;
+			isi68 | isi)
+				basic_machine=m68k-isi
+				os=sysv
+				;;
+			m68knommu)
+				basic_machine=m68k-unknown
+				os=linux
+				;;
+			magnum | m3230)
+				basic_machine=mips-mips
+				os=sysv
+				;;
+			merlin)
+				basic_machine=ns32k-utek
+				os=sysv
+				;;
+			mingw64)
+				basic_machine=x86_64-pc
+				os=mingw64
+				;;
+			mingw32)
+				basic_machine=i686-pc
+				os=mingw32
+				;;
+			mingw32ce)
+				basic_machine=arm-unknown
+				os=mingw32ce
+				;;
+			monitor)
+				basic_machine=m68k-rom68k
+				os=coff
+				;;
+			morphos)
+				basic_machine=powerpc-unknown
+				os=morphos
+				;;
+			moxiebox)
+				basic_machine=moxie-unknown
+				os=moxiebox
+				;;
+			msdos)
+				basic_machine=i386-pc
+				os=msdos
+				;;
+			msys)
+				basic_machine=i686-pc
+				os=msys
+				;;
+			mvs)
+				basic_machine=i370-ibm
+				os=mvs
+				;;
+			nacl)
+				basic_machine=le32-unknown
+				os=nacl
+				;;
+			ncr3000)
+				basic_machine=i486-ncr
+				os=sysv4
+				;;
+			netbsd386)
+				basic_machine=i386-pc
+				os=netbsd
+				;;
+			netwinder)
+				basic_machine=armv4l-rebel
+				os=linux
+				;;
+			news | news700 | news800 | news900)
+				basic_machine=m68k-sony
+				os=newsos
+				;;
+			news1000)
+				basic_machine=m68030-sony
+				os=newsos
+				;;
+			necv70)
+				basic_machine=v70-nec
+				os=sysv
+				;;
+			nh3000)
+				basic_machine=m68k-harris
+				os=cxux
+				;;
+			nh[45]000)
+				basic_machine=m88k-harris
+				os=cxux
+				;;
+			nindy960)
+				basic_machine=i960-intel
+				os=nindy
+				;;
+			mon960)
+				basic_machine=i960-intel
+				os=mon960
+				;;
+			nonstopux)
+				basic_machine=mips-compaq
+				os=nonstopux
+				;;
+			os400)
+				basic_machine=powerpc-ibm
+				os=os400
+				;;
+			OSE68000 | ose68000)
+				basic_machine=m68000-ericsson
+				os=ose
+				;;
+			os68k)
+				basic_machine=m68k-none
+				os=os68k
+				;;
+			paragon)
+				basic_machine=i860-intel
+				os=osf
+				;;
+			parisc)
+				basic_machine=hppa-unknown
+				os=linux
+				;;
+			pw32)
+				basic_machine=i586-unknown
+				os=pw32
+				;;
+			rdos | rdos64)
+				basic_machine=x86_64-pc
+				os=rdos
+				;;
+			rdos32)
+				basic_machine=i386-pc
+				os=rdos
+				;;
+			rom68k)
+				basic_machine=m68k-rom68k
+				os=coff
+				;;
+			sa29200)
+				basic_machine=a29k-amd
+				os=udi
+				;;
+			sei)
+				basic_machine=mips-sei
+				os=seiux
+				;;
+			sequent)
+				basic_machine=i386-sequent
+				os=
+				;;
+			sps7)
+				basic_machine=m68k-bull
+				os=sysv2
+				;;
+			st2000)
+				basic_machine=m68k-tandem
+				os=
+				;;
+			stratus)
+				basic_machine=i860-stratus
+				os=sysv4
+				;;
+			sun2)
+				basic_machine=m68000-sun
+				os=
+				;;
+			sun2os3)
+				basic_machine=m68000-sun
+				os=sunos3
+				;;
+			sun2os4)
+				basic_machine=m68000-sun
+				os=sunos4
+				;;
+			sun3)
+				basic_machine=m68k-sun
+				os=
+				;;
+			sun3os3)
+				basic_machine=m68k-sun
+				os=sunos3
+				;;
+			sun3os4)
+				basic_machine=m68k-sun
+				os=sunos4
+				;;
+			sun4)
+				basic_machine=sparc-sun
+				os=
+				;;
+			sun4os3)
+				basic_machine=sparc-sun
+				os=sunos3
+				;;
+			sun4os4)
+				basic_machine=sparc-sun
+				os=sunos4
+				;;
+			sun4sol2)
+				basic_machine=sparc-sun
+				os=solaris2
+				;;
+			sun386 | sun386i | roadrunner)
+				basic_machine=i386-sun
+				os=
+				;;
+			sv1)
+				basic_machine=sv1-cray
+				os=unicos
+				;;
+			symmetry)
+				basic_machine=i386-sequent
+				os=dynix
+				;;
+			t3e)
+				basic_machine=alphaev5-cray
+				os=unicos
+				;;
+			t90)
+				basic_machine=t90-cray
+				os=unicos
+				;;
+			toad1)
+				basic_machine=pdp10-xkl
+				os=tops20
+				;;
+			tpf)
+				basic_machine=s390x-ibm
+				os=tpf
+				;;
+			udi29k)
+				basic_machine=a29k-amd
+				os=udi
+				;;
+			ultra3)
+				basic_machine=a29k-nyu
+				os=sym1
+				;;
+			v810 | necv810)
+				basic_machine=v810-nec
+				os=none
+				;;
+			vaxv)
+				basic_machine=vax-dec
+				os=sysv
+				;;
+			vms)
+				basic_machine=vax-dec
+				os=vms
+				;;
+			vxworks960)
+				basic_machine=i960-wrs
+				os=vxworks
+				;;
+			vxworks68)
+				basic_machine=m68k-wrs
+				os=vxworks
+				;;
+			vxworks29k)
+				basic_machine=a29k-wrs
+				os=vxworks
+				;;
+			xbox)
+				basic_machine=i686-pc
+				os=mingw32
+				;;
+			ymp)
+				basic_machine=ymp-cray
+				os=unicos
+				;;
+			*)
+				basic_machine=$1
+				os=
+				;;
+		esac
 		;;
 esac
 
-# Decode aliases for certain CPU-COMPANY combinations.
+# Decode 1-component or ad-hoc basic machines
 case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# 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 | arceb \
-	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
-	| avr | avr32 \
-	| ba \
-	| be32 | be64 \
-	| bfin \
-	| c4x | c8051 | clipper \
-	| d10v | d30v | dlx | dsp16xx \
-	| e2k | epiphany \
-	| fido | fr30 | frv | ft32 \
-	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-	| hexagon \
-	| i370 | i860 | i960 | ia16 | ia64 \
-	| ip2k | iq2000 \
-	| k1om \
-	| le32 | le64 \
-	| lm32 \
-	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
-	| mips | mipsbe | mipseb | mipsel | mipsle \
-	| mips16 \
-	| mips64 | mips64el \
-	| mips64octeon | mips64octeonel \
-	| mips64orion | mips64orionel \
-	| mips64r5900 | mips64r5900el \
-	| mips64vr | mips64vrel \
-	| mips64vr4100 | mips64vr4100el \
-	| mips64vr4300 | mips64vr4300el \
-	| mips64vr5000 | mips64vr5000el \
-	| mips64vr5900 | mips64vr5900el \
-	| mipsisa32 | mipsisa32el \
-	| mipsisa32r2 | mipsisa32r2el \
-	| mipsisa32r6 | mipsisa32r6el \
-	| mipsisa64 | mipsisa64el \
-	| mipsisa64r2 | mipsisa64r2el \
-	| mipsisa64r6 | mipsisa64r6el \
-	| mipsisa64sb1 | mipsisa64sb1el \
-	| mipsisa64sr71k | mipsisa64sr71kel \
-	| mipsr5900 | mipsr5900el \
-	| mipstx39 | mipstx39el \
-	| mn10200 | mn10300 \
-	| moxie \
-	| mt \
-	| msp430 \
-	| nds32 | nds32le | nds32be \
-	| nios | nios2 | nios2eb | nios2el \
-	| ns16k | ns32k \
-	| open8 | or1k | or1knd | or32 \
-	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle \
-	| pru \
-	| pyramid \
-	| riscv32 | riscv64 \
-	| rl78 | rx \
-	| score \
-	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-	| sh64 | sh64le \
-	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu \
-	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-	| ubicom32 \
-	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-	| visium \
-	| wasm32 \
-	| x86 | xc16x | xstormy16 | xtensa \
-	| z8k | z80)
-		basic_machine=$basic_machine-unknown
-		;;
-	c54x)
-		basic_machine=tic54x-unknown
-		;;
-	c55x)
-		basic_machine=tic55x-unknown
-		;;
-	c6x)
-		basic_machine=tic6x-unknown
-		;;
-	leon|leon[3-9])
-		basic_machine=sparc-$basic_machine
+	# Here we handle the default manufacturer of certain CPU types.  It is in
+	# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		cpu=hppa1.1
+		vendor=winbond
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
-		basic_machine=$basic_machine-unknown
-		os=-none
+	op50n)
+		cpu=hppa1.1
+		vendor=oki
 		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+	op60c)
+		cpu=hppa1.1
+		vendor=oki
 		;;
-	ms1)
-		basic_machine=mt-unknown
+	ibm*)
+		cpu=i370
+		vendor=ibm
 		;;
-
-	strongarm | thumb | xscale)
-		basic_machine=arm-unknown
-		;;
-	xgate)
-		basic_machine=$basic_machine-unknown
-		os=-none
+	orion105)
+		cpu=clipper
+		vendor=highlevel
 		;;
-	xscaleeb)
-		basic_machine=armeb-unknown
+	mac | mpw | mac-mpw)
+		cpu=m68k
+		vendor=apple
 		;;
-
-	xscaleel)
-		basic_machine=armel-unknown
+	pmac | pmac-mpw)
+		cpu=powerpc
+		vendor=apple
 		;;
 
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i*86 | x86_64)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# 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-* | arceb-* \
-	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-	| avr-* | avr32-* \
-	| ba-* \
-	| be32-* | be64-* \
-	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| c8051-* | clipper-* | craynv-* | cydra-* \
-	| d10v-* | d30v-* | dlx-* \
-	| e2k-* | elxsi-* \
-	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-	| h8300-* | h8500-* \
-	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-	| hexagon-* \
-	| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
-	| ip2k-* | iq2000-* \
-	| k1om-* \
-	| le32-* | le64-* \
-	| lm32-* \
-	| m32c-* | m32r-* | m32rle-* \
-	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
-	| microblaze-* | microblazeel-* \
-	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-	| mips16-* \
-	| mips64-* | mips64el-* \
-	| mips64octeon-* | mips64octeonel-* \
-	| mips64orion-* | mips64orionel-* \
-	| mips64r5900-* | mips64r5900el-* \
-	| mips64vr-* | mips64vrel-* \
-	| mips64vr4100-* | mips64vr4100el-* \
-	| mips64vr4300-* | mips64vr4300el-* \
-	| mips64vr5000-* | mips64vr5000el-* \
-	| mips64vr5900-* | mips64vr5900el-* \
-	| mipsisa32-* | mipsisa32el-* \
-	| mipsisa32r2-* | mipsisa32r2el-* \
-	| mipsisa32r6-* | mipsisa32r6el-* \
-	| mipsisa64-* | mipsisa64el-* \
-	| mipsisa64r2-* | mipsisa64r2el-* \
-	| mipsisa64r6-* | mipsisa64r6el-* \
-	| mipsisa64sb1-* | mipsisa64sb1el-* \
-	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
-	| mipsr5900-* | mipsr5900el-* \
-	| mipstx39-* | mipstx39el-* \
-	| mmix-* \
-	| mt-* \
-	| msp430-* \
-	| nds32-* | nds32le-* | nds32be-* \
-	| nios-* | nios2-* | nios2eb-* | nios2el-* \
-	| none-* | np1-* | ns16k-* | ns32k-* \
-	| open8-* \
-	| or1k*-* \
-	| orion-* \
-	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-	| pru-* \
-	| pyramid-* \
-	| riscv32-* | riscv64-* \
-	| 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-* \
-	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
-	| tahoe-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tile*-* \
-	| tron-* \
-	| ubicom32-* \
-	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-	| vax-* \
-	| visium-* \
-	| wasm32-* \
-	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* \
-	| xstormy16-* | xtensa*-* \
-	| ymp-* \
-	| z8k-* | z80-*)
-		;;
-	# Recognize the basic CPU types without company name, with glob match.
-	xtensa*)
-		basic_machine=$basic_machine-unknown
-		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
 	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
+		cpu=m68000
+		vendor=att
 		;;
 	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	abacus)
-		basic_machine=abacus-unknown
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amd64)
-		basic_machine=x86_64-pc
-		;;
-	amd64-*)
-		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-unknown
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-unknown
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-unknown
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aros)
-		basic_machine=i386-pc
-		os=-aros
-		;;
-	asmjs)
-		basic_machine=asmjs-unknown
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	blackfin)
-		basic_machine=bfin-unknown
-		os=-linux
-		;;
-	blackfin-*)
-		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
+		cpu=we32k
+		vendor=att
 		;;
 	bluegene*)
-		basic_machine=powerpc-ibm
-		os=-cnk
-		;;
-	c54x-*)
-		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c55x-*)
-		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c6x-*)
-		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c90)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	cegcc)
-		basic_machine=arm-unknown
-		os=-cegcc
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | j90)
-		basic_machine=j90-cray
-		os=-unicos
-		;;
-	craynv)
-		basic_machine=craynv-cray
-		os=-unicosmp
-		;;
-	cr16 | cr16-*)
-		basic_machine=cr16-unknown
-		os=-elf
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	crisv32 | crisv32-* | etraxfs*)
-		basic_machine=crisv32-axis
-		;;
-	cris | cris-* | etrax*)
-		basic_machine=cris-axis
-		;;
-	crx)
-		basic_machine=crx-unknown
-		os=-elf
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
+		cpu=powerpc
+		vendor=ibm
+		os=cnk
 		;;
 	decsystem10* | dec10*)
-		basic_machine=pdp10-dec
-		os=-tops10
+		cpu=pdp10
+		vendor=dec
+		os=tops10
 		;;
 	decsystem20* | dec20*)
-		basic_machine=pdp10-dec
-		os=-tops20
+		cpu=pdp10
+		vendor=dec
+		os=tops20
 		;;
 	delta | 3300 | motorola-3300 | motorola-delta \
 	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	dicos)
-		basic_machine=i686-pc
-		os=-dicos
-		;;
-	djgpp)
-		basic_machine=i586-pc
-		os=-msdosdjgpp
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
+		cpu=m68k
+		vendor=motorola
 		;;
 	dpx2*)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	e500v[12])
-		basic_machine=powerpc-unknown
-		os=$os"spe"
-		;;
-	e500v[12]-*)
-		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=$os"spe"
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
+		cpu=m68k
+		vendor=bull
+		os=sysv3
 		;;
 	encore | umax | mmax)
-		basic_machine=ns32k-encore
+		cpu=ns32k
+		vendor=encore
 		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
+	elxsi)
+		cpu=elxsi
+		vendor=elxsi
+		os=${os:-bsd}
 		;;
 	fx2800)
-		basic_machine=i860-alliant
+		cpu=i860
+		vendor=alliant
 		;;
 	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	go32)
-		basic_machine=i386-pc
-		os=-go32
+		cpu=ns32k
+		vendor=ns
 		;;
 	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
+		cpu=hppa1.1
+		vendor=hitachi
+		os=hiuxwe2
 		;;
 	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
+		cpu=hppa1.0
+		vendor=hp
 		;;
 	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
+		cpu=m68000
+		vendor=hp
 		;;
 	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
+		cpu=m68k
+		vendor=hp
 		;;
 	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
+		cpu=hppa1.0
+		vendor=hp
 		;;
 	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
+		cpu=hppa1.1
+		vendor=hp
 		;;
 	hp9k78[0-9] | hp78[0-9])
 		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
+		cpu=hppa1.1
+		vendor=hp
 		;;
 	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
 		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
+		cpu=hppa1.1
+		vendor=hp
 		;;
 	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
+		cpu=hppa1.1
+		vendor=hp
 		;;
 	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
+		cpu=hppa1.0
+		vendor=hp
 		;;
 	i*86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
+		cpu=`echo "$1" | sed -e 's/86.*/86/'`
+		vendor=pc
+		os=sysv32
 		;;
 	i*86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
+		cpu=`echo "$1" | sed -e 's/86.*/86/'`
+		vendor=pc
+		os=sysv4
 		;;
 	i*86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
+		cpu=`echo "$1" | sed -e 's/86.*/86/'`
+		vendor=pc
+		os=sysv
 		;;
 	i*86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
+		cpu=`echo "$1" | sed -e 's/86.*/86/'`
+		vendor=pc
+		os=solaris2
 		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
+	j90 | j90-cray)
+		cpu=j90
+		vendor=cray
+		os=${os:-unicos}
 		;;
 	iris | iris4d)
-		basic_machine=mips-sgi
+		cpu=mips
+		vendor=sgi
 		case $os in
-		    -irix*)
+		    irix*)
 			;;
 		    *)
-			os=-irix4
+			os=irix4
 			;;
 		esac
 		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	leon-*|leon[3-9]-*)
-		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
-		;;
-	m68knommu)
-		basic_machine=m68k-unknown
-		os=-linux
-		;;
-	m68knommu-*)
-		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	microblaze*)
-		basic_machine=microblaze-xilinx
-		;;
-	mingw64)
-		basic_machine=x86_64-pc
-		os=-mingw64
-		;;
-	mingw32)
-		basic_machine=i686-pc
-		os=-mingw32
-		;;
-	mingw32ce)
-		basic_machine=arm-unknown
-		os=-mingw32ce
-		;;
 	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	morphos)
-		basic_machine=powerpc-unknown
-		os=-morphos
-		;;
-	moxiebox)
-		basic_machine=moxie-unknown
-		os=-moxiebox
-		;;
-	msdos)
-		basic_machine=i386-pc
-		os=-msdos
-		;;
-	ms1-*)
-		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-		;;
-	msys)
-		basic_machine=i686-pc
-		os=-msys
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	nacl)
-		basic_machine=le32-unknown
-		os=-nacl
+		cpu=m68000
+		vendor=convergent
 		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
+	*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		cpu=m68k
+		vendor=atari
+		os=mint
 		;;
 	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
+		cpu=mips
+		vendor=sony
+		os=newsos
 		;;
 	next | m*-next)
-		basic_machine=m68k-next
+		cpu=m68k
+		vendor=next
 		case $os in
-		    -nextstep* )
+		    nextstep* )
 			;;
-		    -ns2*)
-		      os=-nextstep2
+		    ns2*)
+		      os=nextstep2
 			;;
 		    *)
-		      os=-nextstep3
+		      os=nextstep3
 			;;
 		esac
 		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	nonstopux)
-		basic_machine=mips-compaq
-		os=-nonstopux
-		;;
 	np1)
-		basic_machine=np1-gould
-		;;
-	neo-tandem)
-		basic_machine=neo-tandem
-		;;
-	nse-tandem)
-		basic_machine=nse-tandem
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	nsx-tandem)
-		basic_machine=nsx-tandem
+		cpu=np1
+		vendor=gould
 		;;
 	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	openrisc | openrisc-*)
-		basic_machine=or32-unknown
-		;;
-	os400)
-		basic_machine=powerpc-ibm
-		os=-os400
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
+		cpu=hppa1.1
+		vendor=oki
+		os=proelf
 		;;
 	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	parisc)
-		basic_machine=hppa-unknown
-		os=-linux
-		;;
-	parisc-*)
-		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
+		cpu=hppa1.1
+		vendor=hitachi
+		os=hiuxwe2
 		;;
 	pbd)
-		basic_machine=sparc-tti
+		cpu=sparc
+		vendor=tti
 		;;
 	pbb)
-		basic_machine=m68k-tti
+		cpu=m68k
+		vendor=tti
 		;;
-	pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pc98)
-		basic_machine=i386-pc
-		;;
-	pc98-*)
-		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium | p5 | k5 | k6 | nexgen | viac3)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86 | athlon | athlon_*)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2 | pentiumiii | pentium3)
-		basic_machine=i686-pc
-		;;
-	pentium4)
-		basic_machine=i786-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium4-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+	pc532)
+		cpu=ns32k
+		vendor=pc532
 		;;
 	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=power-ibm
+		cpu=pn
+		vendor=gould
 		;;
-	ppc | ppcbe)	basic_machine=powerpc-unknown
-		;;
-	ppc-* | ppcbe-*)
-		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle)
-		basic_machine=powerpcle-unknown
-		;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64)	basic_machine=powerpc64-unknown
-		;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64le | powerpc64little)
-		basic_machine=powerpc64le-unknown
-		;;
-	ppc64le-* | powerpc64little-*)
-		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+	power)
+		cpu=power
+		vendor=ibm
 		;;
 	ps2)
-		basic_machine=i386-ibm
-		;;
-	pw32)
-		basic_machine=i586-unknown
-		os=-pw32
-		;;
-	rdos | rdos64)
-		basic_machine=x86_64-pc
-		os=-rdos
-		;;
-	rdos32)
-		basic_machine=i386-pc
-		os=-rdos
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
+		cpu=i386
+		vendor=ibm
 		;;
 	rm[46]00)
-		basic_machine=mips-siemens
+		cpu=mips
+		vendor=siemens
 		;;
 	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	s390 | s390-*)
-		basic_machine=s390-ibm
-		;;
-	s390x | s390x-*)
-		basic_machine=s390x-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sb1)
-		basic_machine=mipsisa64sb1-unknown
-		;;
-	sb1el)
-		basic_machine=mipsisa64sb1el-unknown
+		cpu=romp
+		vendor=ibm
 		;;
 	sde)
-		basic_machine=mipsisa32-sde
-		os=-elf
+		cpu=mipsisa32
+		vendor=sde
+		os=${os:-elf}
 		;;
-	sei)
-		basic_machine=mips-sei
-		os=-seiux
+	simso-wrs)
+		cpu=sparclite
+		vendor=wrs
+		os=vxworks
 		;;
-	sequent)
-		basic_machine=i386-sequent
+	tower | tower-32)
+		cpu=m68k
+		vendor=ncr
 		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
+	vpp*|vx|vx-*)
+		cpu=f301
+		vendor=fujitsu
 		;;
-	sh5el)
-		basic_machine=sh5le-unknown
+	w65)
+		cpu=w65
+		vendor=wdc
 		;;
-	sh64)
-		basic_machine=sh64-unknown
+	w89k-*)
+		cpu=hppa1.1
+		vendor=winbond
+		os=proelf
 		;;
-	sparclite-wrs | simso-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
+	none)
+		cpu=none
+		vendor=none
 		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
+	leon|leon[3-9])
+		cpu=sparc
+		vendor=$basic_machine
 		;;
-	spur)
-		basic_machine=spur-unknown
+	leon-*|leon[3-9]-*)
+		cpu=sparc
+		vendor=`echo "$basic_machine" | sed 's/-.*//'`
 		;;
-	st2000)
-		basic_machine=m68k-tandem
+
+	*-*)
+		IFS="-" read cpu vendor <<EOF
+$basic_machine
+EOF
 		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+		cpu=$basic_machine
+		vendor=pc
 		;;
-	strongarm-* | thumb-*)
-		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+	# These rules are duplicated from below for sake of the special case above;
+	# i.e. things that normalized to x86 arches should also default to "pc"
+	pc98)
+		cpu=i386
+		vendor=pc
 		;;
-	sun2)
-		basic_machine=m68000-sun
+	x64 | amd64)
+		cpu=x86_64
+		vendor=pc
 		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
+	# Recognize the basic CPU types without company name.
+	*)
+		cpu=$basic_machine
+		vendor=unknown
 		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
+esac
+
+unset -v basic_machine
+
+# Decode basic machines in the full and proper CPU-Company form.
+case $cpu-$vendor in
+	# Here we handle the default manufacturer of certain CPU types in canonical form. It is in
+	# some cases the only manufacturer, in others, it is the most popular.
+	craynv-unknown)
+		vendor=cray
+		os=${os:-unicosmp}
 		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
+	c90-unknown | c90-cray)
+		vendor=cray
+		os=${os:-unicos}
 		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
+	fx80-unknown)
+		vendor=alliant
 		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
+	romp-unknown)
+		vendor=ibm
 		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
+	mmix-unknown)
+		vendor=knuth
 		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
+	microblaze-unknown | microblazeel-unknown)
+		vendor=xilinx
 		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
+	rs6000-unknown)
+		vendor=ibm
 		;;
-	sun4)
-		basic_machine=sparc-sun
+	vax-unknown)
+		vendor=dec
 		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
+	pdp11-unknown)
+		vendor=dec
 		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
+	we32k-unknown)
+		vendor=att
 		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
+	cydra-unknown)
+		vendor=cydrome
 		;;
-	t3e)
-		basic_machine=alphaev5-cray
-		os=-unicos
+	i370-ibm*)
+		vendor=ibm
 		;;
-	t90)
-		basic_machine=t90-cray
-		os=-unicos
+	orion-unknown)
+		vendor=highlevel
 		;;
-	tile*)
-		basic_machine=$basic_machine-unknown
-		os=-linux-gnu
+	xps-unknown | xps100-unknown)
+		cpu=xps100
+		vendor=honeywell
 		;;
-	tx39)
-		basic_machine=mipstx39-unknown
+
+	# Here we normalize CPU types with a missing or matching vendor
+	dpx20-unknown | dpx20-bull)
+		cpu=rs6000
+		vendor=bull
+		os=${os:-bosx}
 		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
+
+	# Here we normalize CPU types irrespective of the vendor
+	amd64-*)
+		cpu=x86_64
 		;;
-	toad1)
-		basic_machine=pdp10-xkl
-		os=-tops20
+	blackfin-*)
+		cpu=bfin
+		os=linux
 		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
+	c54x-*)
+		cpu=tic54x
 		;;
-	tpf)
-		basic_machine=s390x-ibm
-		os=-tpf
+	c55x-*)
+		cpu=tic55x
 		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
+	c6x-*)
+		cpu=tic6x
 		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
+	e500v[12]-*)
+		cpu=powerpc
+		os=$os"spe"
 		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
+	mips3*-*)
+		cpu=mips64
 		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
+	ms1-*)
+		cpu=mt
 		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
+	m68knommu-*)
+		cpu=m68k
+		os=linux
 		;;
-	vpp*|vx|vx-*)
-		basic_machine=f301-fujitsu
+	m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
+		cpu=s12z
 		;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
+	openrisc-*)
+		cpu=or32
 		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
+	parisc-*)
+		cpu=hppa
+		os=linux
 		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		cpu=i586
 		;;
-	wasm32)
-		basic_machine=wasm32-unknown
+	pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+		cpu=i686
 		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		cpu=i686
 		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
+	pentium4-*)
+		cpu=i786
 		;;
-	x64)
-		basic_machine=x86_64-pc
+	pc98-*)
+		cpu=i386
 		;;
-	xbox)
-		basic_machine=i686-pc
-		os=-mingw32
+	ppc-* | ppcbe-*)
+		cpu=powerpc
 		;;
-	xps | xps100)
-		basic_machine=xps100-honeywell
+	ppcle-* | powerpclittle-*)
+		cpu=powerpcle
 		;;
-	xscale-* | xscalee[bl]-*)
-		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+	ppc64-*)
+		cpu=powerpc64
 		;;
-	ymp)
-		basic_machine=ymp-cray
-		os=-unicos
+	ppc64le-* | powerpc64little-*)
+		cpu=powerpc64le
 		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
+	sb1-*)
+		cpu=mipsisa64sb1
 		;;
-	z80-*-coff)
-		basic_machine=z80-unknown
-		os=-sim
+	sb1el-*)
+		cpu=mipsisa64sb1el
 		;;
-	none)
-		basic_machine=none-none
-		os=-none
+	sh5e[lb]-*)
+		cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
 		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
+	spur-*)
+		cpu=spur
 		;;
-	op50n)
-		basic_machine=hppa1.1-oki
+	strongarm-* | thumb-*)
+		cpu=arm
 		;;
-	op60c)
-		basic_machine=hppa1.1-oki
+	tx39-*)
+		cpu=mipstx39
 		;;
-	romp)
-		basic_machine=romp-ibm
+	tx39el-*)
+		cpu=mipstx39el
 		;;
-	mmix)
-		basic_machine=mmix-knuth
+	x64-*)
+		cpu=x86_64
 		;;
-	rs6000)
-		basic_machine=rs6000-ibm
+	xscale-* | xscalee[bl]-*)
+		cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
 		;;
-	vax)
-		basic_machine=vax-dec
+
+	# Recognize the canonical CPU Types that limit and/or modify the
+	# company names they are paired with.
+	cr16-*)
+		os=${os:-elf}
 		;;
-	pdp10)
-		# there are many clones, so DEC is not a safe bet
-		basic_machine=pdp10-unknown
+	crisv32-* | etraxfs*-*)
+		cpu=crisv32
+		vendor=axis
 		;;
-	pdp11)
-		basic_machine=pdp11-dec
+	cris-* | etrax*-*)
+		cpu=cris
+		vendor=axis
 		;;
-	we32k)
-		basic_machine=we32k-att
+	crx-*)
+		os=${os:-elf}
 		;;
-	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-		basic_machine=sh-unknown
+	neo-tandem)
+		cpu=neo
+		vendor=tandem
 		;;
-	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-		basic_machine=sparc-sun
+	nse-tandem)
+		cpu=nse
+		vendor=tandem
 		;;
-	cydra)
-		basic_machine=cydra-cydrome
+	nsr-tandem)
+		cpu=nsr
+		vendor=tandem
 		;;
-	orion)
-		basic_machine=orion-highlevel
+	nsv-tandem)
+		cpu=nsv
+		vendor=tandem
 		;;
-	orion105)
-		basic_machine=clipper-highlevel
+	nsx-tandem)
+		cpu=nsx
+		vendor=tandem
 		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
+	s390-*)
+		cpu=s390
+		vendor=ibm
 		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
+	s390x-*)
+		cpu=s390x
+		vendor=ibm
 		;;
-	*-unknown)
-		# Make sure to match an already-canonicalized machine name.
+	tile*-*)
+		os=${os:-linux-gnu}
 		;;
+
 	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
+		# Recognize the canonical CPU types that are allowed with any
+		# company name.
+		case $cpu in
+			1750a | 580 \
+			| a29k \
+			| aarch64 | aarch64_be \
+			| abacus \
+			| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
+			| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
+			| alphapca5[67] | alpha64pca5[67] \
+			| am33_2.0 \
+			| amdgcn \
+			| arc | arceb \
+			| arm  | arm[lb]e | arme[lb] | armv* \
+			| avr | avr32 \
+			| asmjs \
+			| ba \
+			| be32 | be64 \
+			| bfin | bs2000 \
+			| c[123]* | c30 | [cjt]90 | c4x \
+			| c8051 | clipper | craynv | csky | cydra \
+			| d10v | d30v | dlx | dsp16xx \
+			| e2k | elxsi | epiphany \
+			| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+			| h8300 | h8500 \
+			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+			| hexagon \
+			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
+			| ip2k | iq2000 \
+			| k1om \
+			| le32 | le64 \
+			| lm32 \
+			| m32c | m32r | m32rle \
+			| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \
+			| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \
+			| m88110 | m88k | maxq | mb | mcore | mep | metag \
+			| microblaze | microblazeel \
+			| mips | mipsbe | mipseb | mipsel | mipsle \
+			| mips16 \
+			| mips64 | mips64el \
+			| mips64octeon | mips64octeonel \
+			| mips64orion | mips64orionel \
+			| mips64r5900 | mips64r5900el \
+			| mips64vr | mips64vrel \
+			| mips64vr4100 | mips64vr4100el \
+			| mips64vr4300 | mips64vr4300el \
+			| mips64vr5000 | mips64vr5000el \
+			| mips64vr5900 | mips64vr5900el \
+			| mipsisa32 | mipsisa32el \
+			| mipsisa32r2 | mipsisa32r2el \
+			| mipsisa32r6 | mipsisa32r6el \
+			| mipsisa64 | mipsisa64el \
+			| mipsisa64r2 | mipsisa64r2el \
+			| mipsisa64r6 | mipsisa64r6el \
+			| mipsisa64sb1 | mipsisa64sb1el \
+			| mipsisa64sr71k | mipsisa64sr71kel \
+			| mipsr5900 | mipsr5900el \
+			| mipstx39 | mipstx39el \
+			| mmix \
+			| mn10200 | mn10300 \
+			| moxie \
+			| mt \
+			| msp430 \
+			| nds32 | nds32le | nds32be \
+			| nfp \
+			| nios | nios2 | nios2eb | nios2el \
+			| none | np1 | ns16k | ns32k \
+			| open8 \
+			| or1k* \
+			| or32 \
+			| orion \
+			| pdp10 | pdp11 | pj | pjl | pn | power \
+			| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
+			| pru \
+			| pyramid \
+			| riscv | riscv32 | riscv64 \
+			| rl78 | romp | rs6000 | rx \
+			| score \
+			| sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
+			| sh[1234]e[lb] |  sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
+			| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
+			| sparclite \
+			| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
+			| spu \
+			| tahoe \
+			| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
+			| tron \
+			| ubicom32 \
+			| v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
+			| vax \
+			| visium \
+			| wasm32 \
+			| we32k \
+			| x86 | x86_64 | xc16x | xgate | xps100 \
+			| xstormy16 | xtensa* \
+			| ymp \
+			| z8k | z80)
+				;;
+
+			*)
+				echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
+				exit 1
+				;;
+		esac
 		;;
 esac
 
 # Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+case $vendor in
+	digital*)
+		vendor=dec
 		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+	commodore*)
+		vendor=cbm
 		;;
 	*)
 		;;
@@ -1362,200 +1271,246 @@ esac
 
 # Decode manufacturer-specific aliases for certain operating systems.
 
-if [ x"$os" != x"" ]
+if [ x$os != x ]
 then
 case $os in
 	# First match some system type aliases that might get confused
 	# with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-auroraux)
-		os=-auroraux
+	# solaris* is a basic system type, with this one exception.
+	auroraux)
+		os=auroraux
 		;;
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+	bluegene*)
+		os=cnk
 		;;
-	-solaris)
-		os=-solaris2
+	solaris1 | solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
 		;;
-	-svr4*)
-		os=-sysv4
+	solaris)
+		os=solaris2
 		;;
-	-unixware*)
-		os=-sysv4.2uw
+	unixware*)
+		os=sysv4.2uw
 		;;
-	-gnu/linux*)
+	gnu/linux*)
 		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
 		;;
+	# es1800 is here to avoid being matched by es* (a different OS)
+	es1800*)
+		os=ose
+		;;
+	# Some version numbers need modification
+	chorusos*)
+		os=chorusos
+		;;
+	isc)
+		os=isc2.2
+		;;
+	sco6)
+		os=sco5v6
+		;;
+	sco5)
+		os=sco3.2v5
+		;;
+	sco4)
+		os=sco3.2v4
+		;;
+	sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		;;
+	sco3.2v[4-9]* | sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		;;
+	scout)
+		# Don't match below
+		;;
+	sco*)
+		os=sco3.2v2
+		;;
+	psos*)
+		os=psos
+		;;
 	# Now accept the basic system types.
 	# The portable systems comes first.
 	# Each alternative MUST end in a * to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-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* | -plan9* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* | -aros* | -cloudabi* | -sortix* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
-	      | -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* | -glidix* \
-	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
-	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
-	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
+	# sysv* is not here because it comes later, after sysvr4.
+	gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+	     | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
+	     | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+	     | sym* | kopensolaris* | plan9* \
+	     | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+	     | aos* | aros* | cloudabi* | sortix* \
+	     | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+	     | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
+	     | knetbsd* | mirbsd* | netbsd* \
+	     | bitrig* | openbsd* | solidbsd* | libertybsd* \
+	     | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
+	     | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
+	     | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+	     | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
+	     | chorusrdb* | cegcc* | glidix* \
+	     | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+	     | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
+	     | linux-newlib* | linux-musl* | linux-uclibc* \
+	     | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+	     | interix* | uwin* | mks* | rhapsody* | darwin* \
+	     | openstep* | oskit* | conix* | pw32* | nonstopux* \
+	     | storm-chaos* | tops10* | tenex* | tops20* | its* \
+	     | os2* | vos* | palmos* | uclinux* | nucleus* \
+	     | morphos* | superux* | rtmk* | windiss* \
+	     | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+	     | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+	     | midnightbsd* | amdhsa* | unleashed* | emscripten*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i*86-*)
+	qnx*)
+		case $cpu in
+		    x86 | i*86)
 			;;
 		    *)
-			os=-nto$os
+			os=nto-$os
 			;;
 		esac
 		;;
-	-nto-qnx*)
+	hiux*)
+		os=hiuxwe2
 		;;
-	-nto*)
-		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+	nto-qnx*)
 		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+	nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
 		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
+	sim | xray | os68k* | v88r* \
+	    | windows* | osx | abug | netware* | os9* \
+	    | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
 		;;
-	-linux-dietlibc)
-		os=-linux-dietlibc
+	linux-dietlibc)
+		os=linux-dietlibc
 		;;
-	-linux*)
+	linux*)
 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
 		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+	lynx*178)
+		os=lynxos178
+		;;
+	lynx*5)
+		os=lynxos5
 		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+	lynx*)
+		os=lynxos
 		;;
-	-opened*)
-		os=-openedition
+	mac*)
+		os=`echo "$os" | sed -e 's|mac|macos|'`
 		;;
-	-os400*)
-		os=-os400
+	opened*)
+		os=openedition
 		;;
-	-wince*)
-		os=-wince
+	os400*)
+		os=os400
 		;;
-	-osfrose*)
-		os=-osfrose
+	sunos5*)
+		os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
 		;;
-	-osf*)
-		os=-osf
+	sunos6*)
+		os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
 		;;
-	-utek*)
-		os=-bsd
+	wince*)
+		os=wince
 		;;
-	-dynix*)
-		os=-bsd
+	utek*)
+		os=bsd
 		;;
-	-acis*)
-		os=-aos
+	dynix*)
+		os=bsd
 		;;
-	-atheos*)
-		os=-atheos
+	acis*)
+		os=aos
 		;;
-	-syllable*)
-		os=-syllable
+	atheos*)
+		os=atheos
 		;;
-	-386bsd)
-		os=-bsd
+	syllable*)
+		os=syllable
 		;;
-	-ctix* | -uts*)
-		os=-sysv
+	386bsd)
+		os=bsd
+		;;
+	ctix* | uts*)
+		os=sysv
 		;;
-	-nova*)
-		os=-rtmk-nova
+	nova*)
+		os=rtmk-nova
 		;;
-	-ns2)
-		os=-nextstep2
+	ns2)
+		os=nextstep2
 		;;
-	-nsk*)
-		os=-nsk
+	nsk*)
+		os=nsk
 		;;
 	# Preserve the version number of sinix5.
-	-sinix5.*)
+	sinix5.*)
 		os=`echo $os | sed -e 's|sinix|sysv|'`
 		;;
-	-sinix*)
-		os=-sysv4
-		;;
-	-tpf*)
-		os=-tpf
+	sinix*)
+		os=sysv4
 		;;
-	-triton*)
-		os=-sysv3
+	tpf*)
+		os=tpf
 		;;
-	-oss*)
-		os=-sysv3
+	triton*)
+		os=sysv3
 		;;
-	-svr4)
-		os=-sysv4
+	oss*)
+		os=sysv3
 		;;
-	-svr3)
-		os=-sysv3
+	svr4*)
+		os=sysv4
 		;;
-	-sysvr4)
-		os=-sysv4
+	svr3)
+		os=sysv3
 		;;
-	# This must come after -sysvr4.
-	-sysv*)
+	sysvr4)
+		os=sysv4
 		;;
-	-ose*)
-		os=-ose
+	# This must come after sysvr4.
+	sysv*)
 		;;
-	-es1800*)
-		os=-ose
+	ose*)
+		os=ose
 		;;
-	-xenix)
-		os=-xenix
+	*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+		os=mint
 		;;
-	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-		os=-mint
+	zvmoe)
+		os=zvmoe
 		;;
-	-aros*)
-		os=-aros
+	dicos*)
+		os=dicos
 		;;
-	-zvmoe)
-		os=-zvmoe
+	pikeos*)
+		# Until real need of OS specific support for
+		# particular features comes up, bare metal
+		# configurations are quite functional.
+		case $cpu in
+		    arm*)
+			os=eabi
+			;;
+		    *)
+			os=elf
+			;;
+		esac
 		;;
-	-dicos*)
-		os=-dicos
+	nacl*)
 		;;
-	-nacl*)
+	ios)
 		;;
-	-ios)
+	none)
 		;;
-	-none)
+	*-eabi)
 		;;
 	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
 		exit 1
 		;;
 esac
@@ -1571,264 +1526,265 @@ else
 # will signal an error saying that MANUFACTURER isn't an operating
 # system, and we'll never get to this point.
 
-case $basic_machine in
+case $cpu-$vendor in
 	score-*)
-		os=-elf
+		os=elf
 		;;
 	spu-*)
-		os=-elf
+		os=elf
 		;;
 	*-acorn)
-		os=-riscix1.2
+		os=riscix1.2
 		;;
 	arm*-rebel)
-		os=-linux
+		os=linux
 		;;
 	arm*-semi)
-		os=-aout
+		os=aout
 		;;
 	c4x-* | tic4x-*)
-		os=-coff
+		os=coff
 		;;
 	c8051-*)
-		os=-elf
+		os=elf
+		;;
+	clipper-intergraph)
+		os=clix
 		;;
 	hexagon-*)
-		os=-elf
+		os=elf
 		;;
 	tic54x-*)
-		os=-coff
+		os=coff
 		;;
 	tic55x-*)
-		os=-coff
+		os=coff
 		;;
 	tic6x-*)
-		os=-coff
+		os=coff
 		;;
 	# This must come before the *-dec entry.
 	pdp10-*)
-		os=-tops20
+		os=tops20
 		;;
 	pdp11-*)
-		os=-none
+		os=none
 		;;
 	*-dec | vax-*)
-		os=-ultrix4.2
+		os=ultrix4.2
 		;;
 	m68*-apollo)
-		os=-domain
+		os=domain
 		;;
 	i386-sun)
-		os=-sunos4.0.2
+		os=sunos4.0.2
 		;;
 	m68000-sun)
-		os=-sunos3
+		os=sunos3
 		;;
 	m68*-cisco)
-		os=-aout
+		os=aout
 		;;
 	mep-*)
-		os=-elf
+		os=elf
 		;;
 	mips*-cisco)
-		os=-elf
+		os=elf
 		;;
 	mips*-*)
-		os=-elf
+		os=elf
 		;;
 	or32-*)
-		os=-coff
+		os=coff
 		;;
 	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
+		os=sysv3
 		;;
 	sparc-* | *-sun)
-		os=-sunos4.1.1
+		os=sunos4.1.1
 		;;
 	pru-*)
-		os=-elf
+		os=elf
 		;;
 	*-be)
-		os=-beos
-		;;
-	*-haiku)
-		os=-haiku
+		os=beos
 		;;
 	*-ibm)
-		os=-aix
+		os=aix
 		;;
 	*-knuth)
-		os=-mmixware
+		os=mmixware
 		;;
 	*-wec)
-		os=-proelf
+		os=proelf
 		;;
 	*-winbond)
-		os=-proelf
+		os=proelf
 		;;
 	*-oki)
-		os=-proelf
+		os=proelf
 		;;
 	*-hp)
-		os=-hpux
+		os=hpux
 		;;
 	*-hitachi)
-		os=-hiux
+		os=hiux
 		;;
 	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
+		os=sysv
 		;;
 	*-cbm)
-		os=-amigaos
+		os=amigaos
 		;;
 	*-dg)
-		os=-dgux
+		os=dgux
 		;;
 	*-dolphin)
-		os=-sysv3
+		os=sysv3
 		;;
 	m68k-ccur)
-		os=-rtu
+		os=rtu
 		;;
 	m88k-omron*)
-		os=-luna
+		os=luna
 		;;
 	*-next)
-		os=-nextstep
+		os=nextstep
 		;;
 	*-sequent)
-		os=-ptx
+		os=ptx
 		;;
 	*-crds)
-		os=-unos
+		os=unos
 		;;
 	*-ns)
-		os=-genix
+		os=genix
 		;;
 	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
+		os=mvs
 		;;
 	*-gould)
-		os=-sysv
+		os=sysv
 		;;
 	*-highlevel)
-		os=-bsd
+		os=bsd
 		;;
 	*-encore)
-		os=-bsd
+		os=bsd
 		;;
 	*-sgi)
-		os=-irix
+		os=irix
 		;;
 	*-siemens)
-		os=-sysv4
+		os=sysv4
 		;;
 	*-masscomp)
-		os=-rtu
+		os=rtu
 		;;
 	f30[01]-fujitsu | f700-fujitsu)
-		os=-uxpv
+		os=uxpv
 		;;
 	*-rom68k)
-		os=-coff
+		os=coff
 		;;
 	*-*bug)
-		os=-coff
+		os=coff
 		;;
 	*-apple)
-		os=-macos
+		os=macos
 		;;
 	*-atari*)
-		os=-mint
+		os=mint
+		;;
+	*-wrs)
+		os=vxworks
 		;;
 	*)
-		os=-none
+		os=none
 		;;
 esac
 fi
 
 # Here we handle the case where we know the os, and the CPU type, but not the
 # manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
+case $vendor in
+	unknown)
 		case $os in
-			-riscix*)
+			riscix*)
 				vendor=acorn
 				;;
-			-sunos*)
+			sunos*)
 				vendor=sun
 				;;
-			-cnk*|-aix*)
+			cnk*|-aix*)
 				vendor=ibm
 				;;
-			-beos*)
+			beos*)
 				vendor=be
 				;;
-			-hpux*)
+			hpux*)
 				vendor=hp
 				;;
-			-mpeix*)
+			mpeix*)
 				vendor=hp
 				;;
-			-hiux*)
+			hiux*)
 				vendor=hitachi
 				;;
-			-unos*)
+			unos*)
 				vendor=crds
 				;;
-			-dgux*)
+			dgux*)
 				vendor=dg
 				;;
-			-luna*)
+			luna*)
 				vendor=omron
 				;;
-			-genix*)
+			genix*)
 				vendor=ns
 				;;
-			-mvs* | -opened*)
+			clix*)
+				vendor=intergraph
+				;;
+			mvs* | opened*)
 				vendor=ibm
 				;;
-			-os400*)
+			os400*)
 				vendor=ibm
 				;;
-			-ptx*)
+			ptx*)
 				vendor=sequent
 				;;
-			-tpf*)
+			tpf*)
 				vendor=ibm
 				;;
-			-vxsim* | -vxworks* | -windiss*)
+			vxsim* | vxworks* | windiss*)
 				vendor=wrs
 				;;
-			-aux*)
+			aux*)
 				vendor=apple
 				;;
-			-hms*)
+			hms*)
 				vendor=hitachi
 				;;
-			-mpw* | -macos*)
+			mpw* | macos*)
 				vendor=apple
 				;;
-			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+			*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
 				vendor=atari
 				;;
-			-vos*)
+			vos*)
 				vendor=stratus
 				;;
 		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
 		;;
 esac
 
-echo $basic_machine$os
+echo "$cpu-$vendor-$os"
 exit
 
 # Local variables:
-# eval: (add-hook 'write-file-functions 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
diff --git a/build-aux/depcomp b/build-aux/depcomp
index 5ff3c6fe..65cbf709 100755
--- a/build-aux/depcomp
+++ b/build-aux/depcomp
@@ -1,9 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2017-09-16.17; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -783,7 +783,7 @@ exit 0
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index 3c94bd56..deddef24 100755
--- a/build-aux/gitlog-to-changelog
+++ b/build-aux/gitlog-to-changelog
@@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"'
     if 0;
 # Convert git log output to ChangeLog format.
 
-my $VERSION = '2017-09-13 06:45'; # UTC
+my $VERSION = '2018-03-07 03:47'; # 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-2017 Free Software Foundation, Inc.
+# Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -491,7 +491,7 @@ sub git_dir_option($)
 # Local Variables:
 # mode: perl
 # indent-tabs-mode: nil
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "my $VERSION = '"
 # time-stamp-format: "%:y-%02m-%02d %02H:%02M"
 # time-stamp-time-zone: "UTC0"
diff --git a/build-aux/install-sh b/build-aux/install-sh
index ac159ced..8175c640 100755
--- a/build-aux/install-sh
+++ b/build-aux/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2017-09-23.17; # UTC
+scriptversion=2018-03-11.20; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -332,34 +332,43 @@ do
             # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
             ;;
           *)
+            # Note that $RANDOM variable is not portable (e.g. dash);  Use it
+            # here however when possible just to lower collision chance.
             tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
 
+            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+            # Because "mkdir -p" follows existing symlinks and we likely work
+            # directly in world-writeable /tmp, make sure that the '$tmpdir'
+            # directory is successfully created first before we actually test
+            # 'mkdir -p' feature.
             if (umask $mkdir_umask &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+                $mkdirprog $mkdir_mode "$tmpdir" &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
             then
               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-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"`
+                   test_tmpdir="$tmpdir/a"
+                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
                    case $ls_ld_tmpdir in
                      d????-?r-*) different_mode=700;;
                      d????-?--*) different_mode=755;;
                      *) false;;
                    esac &&
-                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
                      test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
                    }
                  }
               then posix_mkdir=:
               fi
-              rmdir "$tmpdir/d" "$tmpdir"
+              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
             else
               # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
             fi
             trap '' 0;;
         esac;;
@@ -501,7 +510,7 @@ do
 done
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
diff --git a/build-aux/mdate-sh b/build-aux/mdate-sh
index 34de9755..8c7a5901 100755
--- a/build-aux/mdate-sh
+++ b/build-aux/mdate-sh
@@ -1,9 +1,9 @@
 #!/bin/sh
 # Get modification time of a file or directory and pretty-print it.
 
-scriptversion=2017-09-22.02; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1995-2017 Free Software Foundation, Inc.
+# Copyright (C) 1995-2018 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
@@ -220,7 +220,7 @@ echo $day $month $year
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
diff --git a/build-aux/missing b/build-aux/missing
index cdea5149..f62bbae3 100755
--- a/build-aux/missing
+++ b/build-aux/missing
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 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
@@ -160,7 +160,7 @@ give_advice ()
       ;;
    autom4te*)
       echo "You might have modified some maintainer files that require"
-      echo "the 'automa4te' program to be rebuilt."
+      echo "the 'autom4te' program to be rebuilt."
       program_details 'autom4te'
       ;;
     bison*|yacc*)
diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex
index 022c3f5b..66a832e0 100644
--- a/build-aux/texinfo.tex
+++ b/build-aux/texinfo.tex
@@ -3,12 +3,9 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2017-09-11.18}
+\def\texinfoversion{2018-12-28.17}
 %
-% 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, 2012, 2013, 2014, 2015, 2016, 2017
-% Free Software Foundation, Inc.
+% Copyright 1985, 1986, 1988, 1990-2018 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
@@ -244,17 +241,7 @@
 %
 \def\finalout{\overfullrule=0pt }
 
-% Do @cropmarks to get crop marks.
-%
-\newif\ifcropmarks
-\let\cropmarks = \cropmarkstrue
-%
-% Dimensions to add cropmarks at corners.
-% Added by P. A. MacKay, 12 Nov. 1986
-%
 \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong  \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
 \newdimen\topandbottommargin \topandbottommargin=.75in
 
 % Output a mark which sets \thischapter, \thissection and \thiscolor.
@@ -328,12 +315,12 @@
 \newbox\footlinebox
 
 % \onepageout takes a vbox as an argument.
-% \shipout a vbox for a single page, adding an optional header, footer,
-% cropmarks, and footnote.  This also causes index entries for this page
-% to be written to the auxiliary files.
+% \shipout a vbox for a single page, adding an optional header, footer
+% and footnote.  This also causes index entries for this page to be written
+% to the auxiliary files.
 %
 \def\onepageout#1{%
-  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
+  \hoffset=\normaloffset
   %
   \ifodd\pageno  \advance\hoffset by \bindingoffset
   \else \advance\hoffset by -\bindingoffset\fi
@@ -386,25 +373,6 @@
       % Do this early so pdf references go to the beginning of the page.
       \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
       %
-      \ifcropmarks \vbox to \outervsize\bgroup
-        \hsize = \outerhsize
-        \vskip-\topandbottommargin
-        \vtop to0pt{%
-          \line{\ewtop\hfil\ewtop}%
-          \nointerlineskip
-          \line{%
-            \vbox{\moveleft\cornerthick\nstop}%
-            \hfill
-            \vbox{\moveright\cornerthick\nstop}%
-          }%
-          \vss}%
-        \vskip\topandbottommargin
-        \line\bgroup
-          \hfil % center the page within the outer (page) hsize.
-          \ifodd\pageno\hskip\bindingoffset\fi
-          \vbox\bgroup
-      \fi
-      %
       \unvbox\headlinebox
       \pagebody{#1}%
       \ifdim\ht\footlinebox > 0pt
@@ -415,22 +383,6 @@
         \unvbox\footlinebox
       \fi
       %
-      \ifcropmarks
-          \egroup % end of \vbox\bgroup
-        \hfil\egroup % end of (centering) \line\bgroup
-        \vskip\topandbottommargin plus1fill minus1fill
-        \boxmaxdepth = \cornerthick
-        \vbox to0pt{\vss
-          \line{%
-            \vbox{\moveleft\cornerthick\nsbot}%
-            \hfill
-            \vbox{\moveright\cornerthick\nsbot}%
-          }%
-          \nointerlineskip
-          \line{\ewbot\hfil\ewbot}%
-        }%
-      \egroup % \vbox from first cropmarks clause
-      \fi
     }% end of \shipout\vbox
   }% end of group with \indexdummies
   \advancepageno
@@ -451,17 +403,6 @@
 \ifr@ggedbottom \kern-\dimen@ \vfil \fi}
 }
 
-% Here are the rules for the cropmarks.  Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
-  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
-  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
 
 % Argument parsing
 
@@ -1528,6 +1469,9 @@ output) for that.)}
       \startlink attr{/Border [0 0 0]}%
         user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
     \endgroup}
+  % \pdfgettoks - Surround page numbers in #1 with @pdflink.  #1 may
+  % be a simple number, or a list of numbers in the case of an index
+  % entry.
   \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
   \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
   \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
@@ -2235,6 +2179,20 @@ end
 \font\smallersy=cmsy8
 \def\smallerecsize{0800}
 
+% Fonts for math mode superscripts (7pt).
+\def\sevennominalsize{7pt}
+\setfont\sevenrm\rmshape{7}{1000}{OT1}
+\setfont\seventt\ttshape{10}{700}{OT1TT}
+\setfont\sevenbf\bfshape{10}{700}{OT1}
+\setfont\sevenit\itshape{7}{1000}{OT1IT}
+\setfont\sevensl\slshape{10}{700}{OT1}
+\setfont\sevensf\sfshape{10}{700}{OT1}
+\setfont\sevensc\scshape{10}{700}{OT1}
+\setfont\seventtsl\ttslshape{10}{700}{OT1TT}
+\font\seveni=cmmi7
+\font\sevensy=cmsy7
+\def\sevenecsize{0700}
+
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
 \setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
@@ -2369,6 +2327,20 @@ end
 \font\smallersy=cmsy8
 \def\smallerecsize{0800}
 
+% Fonts for math mode superscripts (7pt).
+\def\sevennominalsize{7pt}
+\setfont\sevenrm\rmshape{7}{1000}{OT1}
+\setfont\seventt\ttshape{10}{700}{OT1TT}
+\setfont\sevenbf\bfshape{10}{700}{OT1}
+\setfont\sevenit\itshape{7}{1000}{OT1IT}
+\setfont\sevensl\slshape{10}{700}{OT1}
+\setfont\sevensf\sfshape{10}{700}{OT1}
+\setfont\sevensc\scshape{10}{700}{OT1}
+\setfont\seventtsl\ttslshape{10}{700}{OT1TT}
+\font\seveni=cmmi7
+\font\sevensy=cmsy7
+\def\sevenecsize{0700}
+
 % Fonts for title page (20.4pt):
 \def\titlenominalsize{20pt}
 \setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
@@ -2503,13 +2475,20 @@ end
 
 
 % In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  We don't
-% bother to reset \scriptfont and \scriptscriptfont; awaiting user need.
+% we have to define the \textfont of the standard families.
+% We don't bother to reset \scriptscriptfont; awaiting user need.
 %
 \def\resetmathfonts{%
   \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont
   \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont
   \textfont\ttfam=\ttfont \textfont\sffam=\sffont
+  %
+  % Fonts for superscript.  Note that the 7pt fonts are used regardless
+  % of the current font size.
+  \scriptfont0=\sevenrm \scriptfont1=\seveni \scriptfont2=\sevensy
+  \scriptfont\itfam=\sevenit \scriptfont\slfam=\sevensl
+  \scriptfont\bffam=\sevenbf \scriptfont\ttfam=\seventt
+  \scriptfont\sffam=\sevensf
 }
 
 %
@@ -2519,6 +2498,9 @@ end
 % to also set the current \fam for math mode.  Our \STYLE (e.g., \rm)
 % commands hardwire \STYLEfont to set the current font.
 %
+% The fonts used for \ifont are for "math italics"  (\itfont is for italics
+% in regular text).  \syfont is also used in math mode only.
+%
 % Each font-changing command also sets the names \lsize (one size lower)
 % and \lllsize (three sizes lower).  These relative commands are used
 % in, e.g., the LaTeX logo and acronyms.
@@ -2619,26 +2601,11 @@ end
 % Markup style infrastructure.  \defmarkupstylesetup\INITMACRO will
 % define and register \INITMACRO to be called on markup style changes.
 % \INITMACRO can check \currentmarkupstyle for the innermost
-% style and the set of \ifmarkupSTYLE switches for all styles
-% currently in effect.
-\newif\ifmarkupvar
-\newif\ifmarkupsamp
-\newif\ifmarkupkey
-%\newif\ifmarkupfile % @file == @samp.
-%\newif\ifmarkupoption % @option == @samp.
-\newif\ifmarkupcode
-\newif\ifmarkupkbd
-%\newif\ifmarkupenv % @env == @code.
-%\newif\ifmarkupcommand % @command == @code.
-\newif\ifmarkuptex % @tex (and part of @math, for now).
-\newif\ifmarkupexample
-\newif\ifmarkupverb
-\newif\ifmarkupverbatim
+% style.
 
 \let\currentmarkupstyle\empty
 
 \def\setupmarkupstyle#1{%
-  \csname markup#1true\endcsname
   \def\currentmarkupstyle{#1}%
   \markupstylesetup
 }
@@ -2700,11 +2667,15 @@ end
 % lilypond developers report.  xpdf does work with the regular 0x27.
 %
 \def\codequoteright{%
-  \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
-    \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
-      '%
+  \ifmonospace
+    \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
+      \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
+        '%
+      \else \char'15 \fi
     \else \char'15 \fi
-  \else \char'15 \fi
+   \else
+     '%
+   \fi
 }
 %
 % and a similar option for the left quote char vs. a grave accent.
@@ -2712,13 +2683,17 @@ end
 % the code environments to do likewise.
 %
 \def\codequoteleft{%
-  \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
-    \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
-      % [Knuth] pp. 380,381,391
-      % \relax disables Spanish ligatures ?` and !` of \tt font.
-      \relax`%
+  \ifmonospace
+    \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
+      \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+        % [Knuth] pp. 380,381,391
+        % \relax disables Spanish ligatures ?` and !` of \tt font.
+        \relax`%
+      \else \char'22 \fi
     \else \char'22 \fi
-  \else \char'22 \fi
+   \else
+     \relax`%
+   \fi
 }
 
 % Commands to set the quote options.
@@ -5969,24 +5944,30 @@ end
     % Split the last of the double-column material.
     \savemarks
     \balancecolumns
-    %
+  }%
+  \eject % call the \output just set
+  \ifdim\pagetotal=0pt
     % Having called \balancecolumns once, we do not
     % want to call it again.  Therefore, reset \output to its normal
     % definition right away.
     \global\output = {\onepageout{\pagecontents\PAGE}}%
-  }%
-  \eject
-  \endgroup % started in \begindoublecolumns
-  \restoremarks
-  % Leave the double-column material on the current page, no automatic
-  % page break.
-  \box\balancedcolumns
-  %
-  % \pagegoal was set to the doubled \vsize above, since we restarted
-  % the current page.  We're now back to normal single-column
-  % typesetting, so reset \pagegoal to the normal \vsize.
-  \global\vsize = \txipageheight %
-  \pagegoal = \txipageheight %
+    %
+    \endgroup % started in \begindoublecolumns
+    \restoremarks
+    % Leave the double-column material on the current page, no automatic
+    % page break.
+    \box\balancedcolumns
+    %
+    % \pagegoal was set to the doubled \vsize above, since we restarted
+    % the current page.  We're now back to normal single-column
+    % typesetting, so reset \pagegoal to the normal \vsize.
+    \global\vsize = \txipageheight %
+    \pagegoal = \txipageheight %
+  \else
+    % We had some left-over material.  This might happen when \doublecolumnout
+    % is called in \balancecolumns.  Try again.
+    \expandafter\enddoublecolumns
+  \fi
 }
 \newbox\balancedcolumns
 \setbox\balancedcolumns=\vbox{shouldnt see this}%
@@ -6001,6 +5982,7 @@ end
   \ifdim\dimen@<5\baselineskip
     % Don't split a short final column in two.
     \setbox2=\vbox{}%
+    \global\setbox\balancedcolumns=\vbox{\pagesofar}%
   \else
     \divide\dimen@ by 2 % target to split to
     \dimen@ii = \dimen@
@@ -6016,15 +5998,15 @@ end
       \repeat
     }%
     % Now the left column is in box 1, and the right column in box 3.
+    %
     % Check whether the left column has come out higher than the page itself.  
     % (Note that we have doubled \vsize for the double columns, so
     % the actual height of the page is 0.5\vsize).
     \ifdim2\ht1>\vsize
-      % Just split the last of the double column material roughly in half.
-      \setbox2=\box0
-      \setbox0 = \vsplit2 to \dimen@ii
-      \setbox0=\vbox to \dimen@ii {\unvbox0\vfill}%
-      \setbox2=\vbox to \dimen@ii {\unvbox2\vfill}%
+      % It appears that we have been called upon to balance too much material.
+      % Output some of it with \doublecolumnout, leaving the rest on the page.
+      \setbox\PAGE=\box0
+      \doublecolumnout
     \else
       % Compare the heights of the two columns.
       \ifdim4\ht1>5\ht3
@@ -6037,10 +6019,10 @@ end
         \setbox2=\vbox to\ht1{\unvbox3\unskip}%
         \setbox0=\vbox to\ht1{\unvbox1\unskip}%
       \fi
+      \global\setbox\balancedcolumns=\vbox{\pagesofar}%
     \fi
   \fi
   %
-  \global\setbox\balancedcolumns=\vbox{\pagesofar}%
 }
 \catcode`\@ = \other
 
@@ -7963,6 +7945,7 @@ end
   \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
   \gdef\magicamp{\let&=\amprm}
 }
+\let\ampchar\&
 
 \newcount\parencount
 
@@ -11677,7 +11660,7 @@ directory should work if nowhere else does.}
 @markupsetuprqdefault
 
 @c Local variables:
-@c eval: (add-hook 'write-file-hooks 'time-stamp)
+@c eval: (add-hook 'before-save-hook 'time-stamp)
 @c page-delimiter: "^\\\\message\\|emacs-page"
 @c time-stamp-start: "def\\\\texinfoversion{"
 @c time-stamp-format: "%:y-%02m-%02d.%02H"
diff --git a/build-aux/ylwrap b/build-aux/ylwrap
index 8f072a8e..7c2d927f 100755
--- a/build-aux/ylwrap
+++ b/build-aux/ylwrap
@@ -3,7 +3,7 @@
 
 scriptversion=2013-01-12.17; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
diff --git a/config.h.in b/config.h.in
index 5d2301dc..a954dee8 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,80 +1,5 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
-/* CPU and C ABI indicator */
-#ifndef __i386__
-#undef __i386__
-#endif
-#ifndef __x86_64_x32__
-#undef __x86_64_x32__
-#endif
-#ifndef __x86_64__
-#undef __x86_64__
-#endif
-#ifndef __alpha__
-#undef __alpha__
-#endif
-#ifndef __arm__
-#undef __arm__
-#endif
-#ifndef __armhf__
-#undef __armhf__
-#endif
-#ifndef __arm64_ilp32__
-#undef __arm64_ilp32__
-#endif
-#ifndef __arm64__
-#undef __arm64__
-#endif
-#ifndef __hppa__
-#undef __hppa__
-#endif
-#ifndef __hppa64__
-#undef __hppa64__
-#endif
-#ifndef __ia64_ilp32__
-#undef __ia64_ilp32__
-#endif
-#ifndef __ia64__
-#undef __ia64__
-#endif
-#ifndef __m68k__
-#undef __m68k__
-#endif
-#ifndef __mips__
-#undef __mips__
-#endif
-#ifndef __mipsn32__
-#undef __mipsn32__
-#endif
-#ifndef __mips64__
-#undef __mips64__
-#endif
-#ifndef __powerpc__
-#undef __powerpc__
-#endif
-#ifndef __powerpc64__
-#undef __powerpc64__
-#endif
-#ifndef __powerpc64_elfv2__
-#undef __powerpc64_elfv2__
-#endif
-#ifndef __s390__
-#undef __s390__
-#endif
-#ifndef __s390x__
-#undef __s390x__
-#endif
-#ifndef __sh__
-#undef __sh__
-#endif
-#ifndef __sparc__
-#undef __sparc__
-#endif
-#ifndef __sparc64__
-#undef __sparc64__
-#endif
-
-
 /* Define if building universal (internal helper macro) */
 #undef AC_APPLE_UNIVERSAL_BUILD
 
@@ -168,6 +93,10 @@
 /* Define if struct dirent has a member d_ino that actually works. */
 #undef D_INO_IN_DIRENT
 
+/* Enable the use of error_print_progname to print program name with error
+   messages. See comment to function tar_print_progname in src/tar.c */
+#undef ENABLE_ERROR_PRINT_PROGNAME
+
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #undef ENABLE_NLS
@@ -269,6 +198,10 @@
    whether the gnulib module fchownat shall be considered present. */
 #undef GNULIB_FCHOWNAT
 
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fcntl-safer shall be considered present. */
+#undef GNULIB_FCNTL_SAFER
+
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module fdopendir shall be considered present. */
 #undef GNULIB_FDOPENDIR
@@ -281,6 +214,10 @@
    whether the gnulib module fd-safer-flag shall be considered present. */
 #undef GNULIB_FD_SAFER_FLAG
 
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fnmatch-gnu shall be considered present. */
+#undef GNULIB_FNMATCH_GNU
+
 /* 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
@@ -301,6 +238,10 @@
    whether the gnulib module openat shall be considered present. */
 #undef GNULIB_OPENAT
 
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module openat-safer shall be considered present. */
+#undef GNULIB_OPENAT_SAFER
+
 /* enable some gnulib portability checks */
 #undef GNULIB_PORTCHECK
 
@@ -387,6 +328,9 @@
 /* Define to 1 when the gnulib module fdopendir should be tested. */
 #undef GNULIB_TEST_FDOPENDIR
 
+/* Define to 1 when the gnulib module fnmatch should be tested. */
+#undef GNULIB_TEST_FNMATCH
+
 /* Define to 1 when the gnulib module fseek should be tested. */
 #undef GNULIB_TEST_FSEEK
 
@@ -729,6 +673,10 @@
    CoreFoundation framework. */
 #undef HAVE_CFLOCALECOPYCURRENT
 
+/* Define to 1 if you have the Mac OS X function
+   CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES
+
 /* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
    the CoreFoundation framework. */
 #undef HAVE_CFPREFERENCESCOPYAPPVALUE
@@ -963,6 +911,10 @@
    don't. */
 #undef HAVE_DECL_WCWIDTH
 
+/* Define to 1 if you have the declaration of `_fseeki64', and to 0 if you
+   don't. */
+#undef HAVE_DECL__FSEEKI64
+
 /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
    don't. */
 #undef HAVE_DECL__SNPRINTF
@@ -1026,6 +978,12 @@
 /* Define to 1 if you have the `flockfile' function. */
 #undef HAVE_FLOCKFILE
 
+/* Define to 1 if you have the `fnmatch' function. */
+#undef HAVE_FNMATCH
+
+/* Define to 1 if you have the <fnmatch.h> header file. */
+#undef HAVE_FNMATCH_H
+
 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
 #undef HAVE_FSEEKO
 
@@ -1075,7 +1033,7 @@
 /* Define to 1 if you have the `getopt_long_only' function. */
 #undef HAVE_GETOPT_LONG_ONLY
 
-/* Define to 1 if you have the `getpagesize' function. */
+/* Define to 1 if the system has the 'getpagesize' function. */
 #undef HAVE_GETPAGESIZE
 
 /* Define to 1 if you have the `getppriv' function. */
@@ -1163,6 +1121,10 @@
 /* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H
 
+/* Define if localtime-like functions can loop forever on extreme arguments.
+   */
+#undef HAVE_LOCALTIME_INFLOOP_BUG
+
 /* Define to 1 if you have the `localtime_r' function. */
 #undef HAVE_LOCALTIME_R
 
@@ -1248,9 +1210,6 @@
    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 <netdb.h> header file. */
 #undef HAVE_NETDB_H
 
@@ -1303,610 +1262,6 @@
 /* Define to 1 if you have the `rawmemchr' function. */
 #undef HAVE_RAWMEMCHR
 
-/* Define to 1 if alphasort is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ALPHASORT
-
-/* Define to 1 if atoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ATOLL
-
-/* Define to 1 if btowc is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_BTOWC
-
-/* Define to 1 if canonicalize_file_name is declared even after undefining
-   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 closedir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_CLOSEDIR
-
-/* Define to 1 if dirfd is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DIRFD
-
-/* 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 dup3 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUP3
-
-/* Define to 1 if duplocale is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_DUPLOCALE
-
-/* Define to 1 if endusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ENDUSERSHELL
-
-/* Define to 1 if environ is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_ENVIRON
-
-/* Define to 1 if euidaccess is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_EUIDACCESS
-
-/* Define to 1 if faccessat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FACCESSAT
-
-/* Define to 1 if fchdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHDIR
-
-/* Define to 1 if fchmodat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHMODAT
-
-/* Define to 1 if fchownat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FCHOWNAT
-
-/* 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 fdopendir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FDOPENDIR
-
-/* Define to 1 if ffs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFS
-
-/* Define to 1 if ffsl is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFSL
-
-/* Define to 1 if ffsll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FFSLL
-
-/* Define to 1 if fpurge is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FPURGE
-
-/* 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 fsync is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FSYNC
-
-/* Define to 1 if ftello is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FTELLO
-
-/* Define to 1 if ftruncate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FTRUNCATE
-
-/* Define to 1 if futimens is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_FUTIMENS
-
-/* Define to 1 if getcwd is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETCWD
-
-/* Define to 1 if getdelim is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDELIM
-
-/* Define to 1 if getdomainname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDOMAINNAME
-
-/* Define to 1 if getdtablesize is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETDTABLESIZE
-
-/* Define to 1 if getgroups is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETGROUPS
-
-/* Define to 1 if gethostname is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETHOSTNAME
-
-/* Define to 1 if getline is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLINE
-
-/* Define to 1 if getloadavg is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOADAVG
-
-/* Define to 1 if getlogin is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOGIN
-
-/* Define to 1 if getlogin_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETLOGIN_R
-
-/* 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 gettimeofday is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETTIMEOFDAY
-
-/* Define to 1 if getusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GETUSERSHELL
-
-/* Define to 1 if grantpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GRANTPT
-
-/* Define to 1 if group_member is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_GROUP_MEMBER
-
-/* Define to 1 if imaxabs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_IMAXABS
-
-/* Define to 1 if imaxdiv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_IMAXDIV
-
-/* 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 lchmod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LCHMOD
-
-/* Define to 1 if lchown is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LCHOWN
-
-/* Define to 1 if link is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LINK
-
-/* Define to 1 if linkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LINKAT
-
-/* Define to 1 if lseek is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LSEEK
-
-/* Define to 1 if lstat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_LSTAT
-
-/* Define to 1 if mbrlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBRLEN
-
-/* Define to 1 if mbrtowc is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBRTOWC
-
-/* Define to 1 if mbsinit is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSINIT
-
-/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSNRTOWCS
-
-/* Define to 1 if mbsrtowcs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MBSRTOWCS
-
-/* Define to 1 if memmem is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMMEM
-
-/* Define to 1 if mempcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMPCPY
-
-/* Define to 1 if memrchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MEMRCHR
-
-/* Define to 1 if mkdirat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKDIRAT
-
-/* Define to 1 if mkdtemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKDTEMP
-
-/* Define to 1 if mkfifo is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKFIFO
-
-/* Define to 1 if mkfifoat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKFIFOAT
-
-/* Define to 1 if mknod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKNOD
-
-/* Define to 1 if mknodat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKNODAT
-
-/* Define to 1 if mkostemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKOSTEMP
-
-/* Define to 1 if mkostemps is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKOSTEMPS
-
-/* Define to 1 if mkstemp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKSTEMP
-
-/* Define to 1 if mkstemps is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_MKSTEMPS
-
-/* Define to 1 if nl_langinfo is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_NL_LANGINFO
-
-/* Define to 1 if openat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_OPENAT
-
-/* Define to 1 if opendir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_OPENDIR
-
-/* 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 pipe2 is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PIPE2
-
-/* 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 pthread_sigmask is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_PTHREAD_SIGMASK
-
-/* 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 qsort_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_QSORT_R
-
-/* 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 rawmemchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RAWMEMCHR
-
-/* Define to 1 if readdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READDIR
-
-/* Define to 1 if readlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READLINK
-
-/* Define to 1 if readlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_READLINKAT
-
-/* Define to 1 if reallocarray is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_REALLOCARRAY
-
-/* Define to 1 if realpath is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_REALPATH
-
-/* Define to 1 if renameat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RENAMEAT
-
-/* Define to 1 if rewinddir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_REWINDDIR
-
-/* Define to 1 if rmdir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RMDIR
-
-/* Define to 1 if rpmatch is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_RPMATCH
-
-/* Define to 1 if scandir is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SCANDIR
-
-/* 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 setusershell is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SETUSERSHELL
-
-/* Define to 1 if sigaction is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGACTION
-
-/* Define to 1 if sigaddset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGADDSET
-
-/* Define to 1 if sigdelset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGDELSET
-
-/* Define to 1 if sigemptyset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGEMPTYSET
-
-/* Define to 1 if sigfillset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGFILLSET
-
-/* Define to 1 if sigismember is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGISMEMBER
-
-/* Define to 1 if sigpending is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGPENDING
-
-/* Define to 1 if sigprocmask is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SIGPROCMASK
-
-/* Define to 1 if sleep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SLEEP
-
-/* 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 stat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STAT
-
-/* Define to 1 if stpcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STPCPY
-
-/* Define to 1 if stpncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STPNCPY
-
-/* Define to 1 if strcasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCASECMP
-
-/* Define to 1 if strcasestr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCASESTR
-
-/* Define to 1 if strchrnul is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRCHRNUL
-
-/* Define to 1 if strdup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRDUP
-
-/* Define to 1 if strerror_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRERROR_R
-
-/* Define to 1 if strncasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNCASECMP
-
-/* Define to 1 if strncat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNCAT
-
-/* Define to 1 if strndup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNDUP
-
-/* Define to 1 if strnlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRNLEN
-
-/* Define to 1 if strpbrk is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRPBRK
-
-/* Define to 1 if strsep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRSEP
-
-/* Define to 1 if strsignal is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRSIGNAL
-
-/* Define to 1 if strtod is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOD
-
-/* Define to 1 if strtoimax is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOIMAX
-
-/* Define to 1 if strtok_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOK_R
-
-/* Define to 1 if strtoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOLL
-
-/* Define to 1 if strtoull is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOULL
-
-/* Define to 1 if strtoumax is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRTOUMAX
-
-/* Define to 1 if strverscmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_STRVERSCMP
-
-/* Define to 1 if symlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SYMLINK
-
-/* Define to 1 if symlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_SYMLINKAT
-
-/* Define to 1 if tmpfile is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TMPFILE
-
-/* Define to 1 if towctrans is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TOWCTRANS
-
-/* Define to 1 if truncate is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TRUNCATE
-
-/* Define to 1 if ttyname_r is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_TTYNAME_R
-
-/* Define to 1 if unlink is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLINK
-
-/* Define to 1 if unlinkat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLINKAT
-
-/* Define to 1 if unlockpt is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNLOCKPT
-
-/* Define to 1 if unsetenv is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UNSETENV
-
-/* Define to 1 if usleep is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_USLEEP
-
-/* Define to 1 if utime is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UTIME
-
-/* Define to 1 if utimensat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_UTIMENSAT
-
-/* Define to 1 if vdprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_VDPRINTF
-
-/* Define to 1 if vsnprintf is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_VSNPRINTF
-
-/* Define to 1 if wcpcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCPCPY
-
-/* Define to 1 if wcpncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCPNCPY
-
-/* Define to 1 if wcrtomb is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCRTOMB
-
-/* Define to 1 if wcscasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCASECMP
-
-/* Define to 1 if wcscat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCAT
-
-/* Define to 1 if wcschr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCHR
-
-/* Define to 1 if wcscmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCMP
-
-/* Define to 1 if wcscoll is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCOLL
-
-/* Define to 1 if wcscpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCPY
-
-/* Define to 1 if wcscspn is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSCSPN
-
-/* Define to 1 if wcsdup is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSDUP
-
-/* Define to 1 if wcsftime is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSFTIME
-
-/* Define to 1 if wcslen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSLEN
-
-/* Define to 1 if wcsncasecmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCASECMP
-
-/* Define to 1 if wcsncat is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCAT
-
-/* Define to 1 if wcsncmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCMP
-
-/* Define to 1 if wcsncpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNCPY
-
-/* Define to 1 if wcsnlen is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNLEN
-
-/* Define to 1 if wcsnrtombs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSNRTOMBS
-
-/* Define to 1 if wcspbrk is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSPBRK
-
-/* Define to 1 if wcsrchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSRCHR
-
-/* Define to 1 if wcsrtombs is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSRTOMBS
-
-/* Define to 1 if wcsspn is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSSPN
-
-/* Define to 1 if wcsstr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSSTR
-
-/* Define to 1 if wcstok is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSTOK
-
-/* Define to 1 if wcswidth is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSWIDTH
-
-/* Define to 1 if wcsxfrm is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCSXFRM
-
-/* Define to 1 if wctob is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTOB
-
-/* Define to 1 if wctrans is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTRANS
-
-/* Define to 1 if wctype is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCTYPE
-
-/* Define to 1 if wcwidth is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WCWIDTH
-
-/* Define to 1 if wmemchr is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCHR
-
-/* Define to 1 if wmemcmp is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCMP
-
-/* Define to 1 if wmemcpy is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMCPY
-
-/* Define to 1 if wmemmove is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMMOVE
-
-/* Define to 1 if wmemset is declared even after undefining macros. */
-#undef HAVE_RAW_DECL_WMEMSET
-
-/* Define to 1 if _Exit is declared even after undefining macros. */
-#undef HAVE_RAW_DECL__EXIT
-
 /* Define to 1 if you have the `readdir' function. */
 #undef HAVE_READDIR
 
@@ -1925,6 +1280,9 @@
 /* Define to 1 if you have the `renameat' function. */
 #undef HAVE_RENAMEAT
 
+/* Define to 1 if you have the `renameat2' function. */
+#undef HAVE_RENAMEAT2
+
 /* Define to 1 if you have the `rewinddir' function. */
 #undef HAVE_REWINDDIR
 
@@ -2294,6 +1652,9 @@
 #endif
     
 
+/* Define to 1 if the compiler supports the keyword '__inline'. */
+#undef HAVE___INLINE
+
 /* Define as const if the declaration of iconv() needs const. */
 #undef ICONV_CONST
 
@@ -2587,6 +1948,11 @@
 #ifndef _XOPEN_SOURCE
 # undef _XOPEN_SOURCE
 #endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# undef _HPUX_ALT_XOPEN_SOCKET_API
+#endif
 /* Enable general extensions on Solaris.  */
 #ifndef __EXTENSIONS__
 # undef __EXTENSIONS__
@@ -2627,6 +1993,9 @@
 /* Define to the program name of xz compressor program */
 #undef XZ_PROGRAM
 
+/* Define to the program name of zstd compressor program */
+#undef ZSTD_PROGRAM
+
 /* Enable large inode numbers on Mac OS X 10.5. */
 #undef _DARWIN_USE_64_BIT_INODE
 
@@ -2649,12 +2018,15 @@
 #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)
+#ifndef _Noreturn
+# if 201103 <= (defined __cplusplus ? __cplusplus : 0)
+#  define _Noreturn [[noreturn]]
+# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+        || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))
+   /* _Noreturn works as-is.  */
+# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
 #  define _Noreturn __attribute__ ((__noreturn__))
-# elif defined _MSC_VER && 1200 <= _MSC_VER
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
@@ -2709,7 +2081,8 @@
    if isdigit is mistakenly implemented via a static inline function,
    a program containing an extern inline function that calls isdigit
    may not work since the C standard prohibits extern inline functions
-   from calling static functions.  This bug is known to occur on:
+   from calling static functions (ISO C 99 section 6.7.4.(3).
+   This bug is known to occur on:
 
      OS X 10.8 and earlier; see:
      https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
@@ -2722,7 +2095,18 @@
 
    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
    for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
-   Assume DragonFly and FreeBSD will be similar.  */
+   Assume DragonFly and FreeBSD will be similar.
+
+   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  It defines a macro
+   __GNUC_STDC_INLINE__ to indicate this situation or a macro
+   __GNUC_GNU_INLINE__ to indicate the opposite situation.
+   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
+   semantics but warns, unless -fgnu89-inline is used:
+     warning: C99 inline functions are not supported; using GNU89
+     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
+   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+ */
 #if (((defined __APPLE__ && defined __MACH__) \
       || defined __DragonFly__ || defined __FreeBSD__) \
      && (defined __header_inline \
@@ -2787,9 +2171,6 @@
 /* Always use our fgetfilecon wrapper. */
 #undef fgetfilecon
 
-/* Define to a replacement function name for fnmatch(). */
-#undef fnmatch
-
 /* Always use our getfilecon wrapper. */
 #undef getfilecon
 
@@ -2965,6 +2346,13 @@
 # define _GL_ATTRIBUTE_CONST /* empty */
 #endif
 
+/* The __malloc__ attribute was added in gcc 3.  */
+#if 3 <= __GNUC__
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+#else
+# define _GL_ATTRIBUTE_MALLOC /* empty */
+#endif
+
 
 /* Define as a macro for copying va_list variables. */
 #undef va_copy
diff --git a/configure b/configure
index c8cc0a24..81b35017 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU tar 1.30.
+# Generated by GNU Autoconf 2.69 for GNU tar 1.32.
 #
 # Report bugs to <bug-tar@gnu.org>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='GNU tar'
 PACKAGE_TARNAME='tar'
-PACKAGE_VERSION='1.30'
-PACKAGE_STRING='GNU tar 1.30'
+PACKAGE_VERSION='1.32'
+PACKAGE_STRING='GNU tar 1.32'
 PACKAGE_BUGREPORT='bug-tar@gnu.org'
 PACKAGE_URL='http://www.gnu.org/software/tar/'
 
@@ -735,6 +735,7 @@ SELINUX_CONTEXT_H
 NEXT_AS_FIRST_DIRECTIVE_SELINUX_SELINUX_H
 NEXT_SELINUX_SELINUX_H
 LIB_SELINUX
+GLIBC21
 REPLACE_RAISE
 REPLACE_PTHREAD_SIGMASK
 HAVE_SIGHANDLER_T
@@ -845,17 +846,22 @@ HAVE_WCHAR_T
 HAVE_MAX_ALIGN_T
 REPLACE_NULL
 REPLACE_STRUCT_LCONV
+REPLACE_FREELOCALE
 REPLACE_DUPLOCALE
+REPLACE_NEWLOCALE
 REPLACE_SETLOCALE
 REPLACE_LOCALECONV
+HAVE_FREELOCALE
 HAVE_DUPLOCALE
+HAVE_NEWLOCALE
+GNULIB_LOCALENAME
 GNULIB_DUPLOCALE
 GNULIB_SETLOCALE
 GNULIB_LOCALECONV
 LOCALCHARSET_TESTS_ENVIRONMENT
-GLIBC21
 HAVE_LANGINFO_YESEXPR
 HAVE_LANGINFO_ERA
+HAVE_LANGINFO_ALTMON
 HAVE_LANGINFO_T_FMT_AMPM
 HAVE_LANGINFO_CODESET
 HAVE_LANGINFO_H
@@ -891,6 +897,7 @@ INT64_MAX_EQ_LONG_MAX
 INT32_MAX_LT_INTMAX_MAX
 REPLACE_STRTOUMAX
 REPLACE_STRTOIMAX
+HAVE_IMAXDIV_T
 HAVE_DECL_STRTOUMAX
 HAVE_DECL_STRTOIMAX
 HAVE_DECL_IMAXDIV
@@ -933,8 +940,6 @@ GL_GENERATE_LIMITS_H_TRUE
 LIMITS_H
 NEXT_AS_FIRST_DIRECTIVE_LIMITS_H
 NEXT_LIMITS_H
-HOST_CPU_C_ABI
-HOST_CPU
 REPLACE_LOCALTIME
 REPLACE_GMTIME
 REPLACE_TZSET
@@ -1089,6 +1094,12 @@ GNULIB_DPRINTF
 GL_GENERATE_FNMATCH_H_FALSE
 GL_GENERATE_FNMATCH_H_TRUE
 FNMATCH_H
+HAVE_FNMATCH_H
+NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H
+NEXT_FNMATCH_H
+REPLACE_FNMATCH
+HAVE_FNMATCH
+GNULIB_FNMATCH
 REPLACE_ITOLD
 GL_GENERATE_FLOAT_H_FALSE
 GL_GENERATE_FLOAT_H_TRUE
@@ -1209,6 +1220,7 @@ REPLACE_LINKAT
 REPLACE_LINK
 REPLACE_LCHOWN
 REPLACE_ISATTY
+REPLACE_GETPASS
 REPLACE_GETPAGESIZE
 REPLACE_GETGROUPS
 REPLACE_GETLOGIN_R
@@ -1225,6 +1237,7 @@ REPLACE_CHOWN
 HAVE_SYS_PARAM_H
 HAVE_OS_H
 HAVE_DECL_TTYNAME_R
+HAVE_DECL_TRUNCATE
 HAVE_DECL_SETHOSTNAME
 HAVE_DECL_GETUSERSHELL
 HAVE_DECL_GETPAGESIZE
@@ -1236,7 +1249,6 @@ HAVE_DECL_FCHDIR
 HAVE_DECL_ENVIRON
 HAVE_USLEEP
 HAVE_UNLINKAT
-HAVE_TRUNCATE
 HAVE_SYMLINKAT
 HAVE_SYMLINK
 HAVE_SLEEP
@@ -1251,6 +1263,7 @@ HAVE_LINKAT
 HAVE_LINK
 HAVE_LCHOWN
 HAVE_GROUP_MEMBER
+HAVE_GETPASS
 HAVE_GETPAGESIZE
 HAVE_GETLOGIN
 HAVE_GETHOSTNAME
@@ -1293,6 +1306,7 @@ GNULIB_LCHOWN
 GNULIB_ISATTY
 GNULIB_GROUP_MEMBER
 GNULIB_GETUSERSHELL
+GNULIB_GETPASS
 GNULIB_GETPAGESIZE
 GNULIB_GETLOGIN_R
 GNULIB_GETLOGIN
@@ -1623,6 +1637,7 @@ with_lzip
 with_lzma
 with_lzop
 with_xz
+with_zstd
 with_gnu_ld
 enable_rpath
 with_libiconv_prefix
@@ -2187,7 +2202,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 tar 1.30 to adapt to many kinds of systems.
+\`configure' configures GNU tar 1.32 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2257,7 +2272,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU tar 1.30:";;
+     short | recursive ) echo "Configuration of GNU tar 1.32:";;
    esac
   cat <<\_ACEOF
 
@@ -2302,6 +2317,7 @@ Optional Packages:
   --with-lzma=PROG        use PROG as lzma compressor program
   --with-lzop=PROG        use PROG as lzop compressor program
   --with-xz=PROG          use PROG as xz compressor program
+  --with-zstd=PROG        use PROG as zstd compressor program
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
   --without-libiconv-prefix     don't search for libiconv in includedir and libdir
@@ -2407,7 +2423,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU tar configure 1.30
+GNU tar configure 1.32
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3116,7 +3132,7 @@ 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 tar $as_me 1.30, which was
+It was created by GNU tar $as_me 1.32, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3439,6 +3455,8 @@ as_fn_append ac_func_list " lchmod"
 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_header_list " fnmatch.h"
+as_fn_append ac_func_list " fnmatch"
 as_fn_append ac_func_list " isblank"
 as_fn_append ac_func_list " iswctype"
 as_fn_append ac_func_list " mbsrtowcs"
@@ -3459,7 +3477,6 @@ as_fn_append ac_header_list " sys/cdefs.h"
 as_fn_append ac_func_list " getprogname"
 as_fn_append ac_func_list " getexecname"
 as_fn_append ac_func_list " gettimeofday"
-as_fn_append ac_func_list " nanotime"
 as_fn_append ac_header_list " limits.h"
 as_fn_append ac_header_list " wchar.h"
 as_fn_append ac_header_list " stdint.h"
@@ -3478,7 +3495,6 @@ as_fn_append ac_func_list " mbrtowc"
 as_fn_append ac_header_list " sys/mman.h"
 as_fn_append ac_func_list " mprotect"
 as_fn_append ac_func_list " mkdirat"
-as_fn_append ac_func_list " mkfifo"
 as_fn_append ac_func_list " mkfifoat"
 as_fn_append ac_func_list " mknodat"
 as_fn_append ac_func_list " mknod"
@@ -3487,6 +3503,7 @@ as_fn_append ac_func_list " nl_langinfo"
 as_fn_append ac_header_list " priv.h"
 as_fn_append ac_header_list " malloc.h"
 as_fn_append ac_func_list " renameat"
+as_fn_append ac_func_list " renameat2"
 as_fn_append ac_header_list " selinux/selinux.h"
 as_fn_append ac_func_list " setenv"
 as_fn_append ac_func_list " sleep"
@@ -3515,6 +3532,7 @@ as_fn_append ac_header_list " netdb.h"
 as_fn_append ac_header_list " sys/wait.h"
 as_fn_append ac_header_list " pwd.h"
 as_fn_append ac_header_list " grp.h"
+as_fn_append ac_func_list " mkfifo"
 as_fn_append ac_func_list " setlocale"
 as_fn_append ac_func_list " fsync"
 gt_needs="$gt_needs need-formatstring-macros"
@@ -3619,7 +3637,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 ac_config_headers="$ac_config_headers config.h"
 
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3791,8 +3809,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -3811,7 +3829,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -4105,7 +4123,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='tar'
- VERSION='1.30'
+ VERSION='1.32'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4139,8 +4157,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # 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}'
@@ -4314,6 +4332,7 @@ END
   fi
 fi
 
+
 # Enable silent rules by default:
 # Check whether --enable-silent-rules was given.
 if test "${enable_silent_rules+set}" = set; then :
@@ -6351,6 +6370,8 @@ $as_echo "$ac_cv_should_define__xopen_source" >&6; }
   test $ac_cv_should_define__xopen_source = yes &&
     $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h
 
+  $as_echo "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
+
 
 
 
@@ -6933,6 +6954,7 @@ fi
   # Code from module fchownat:
   # Code from module fcntl:
   # Code from module fcntl-h:
+  # Code from module fcntl-safer:
   # Code from module fd-hook:
   # Code from module fd-safer-flag:
   # Code from module fdopendir:
@@ -6945,6 +6967,7 @@ fi
   # Code from module float:
   # Code from module fnmatch:
   # Code from module fnmatch-gnu:
+  # Code from module fnmatch-h:
   # Code from module fpending:
   # Code from module fprintftime:
   # Code from module fseek:
@@ -6973,7 +6996,6 @@ fi
   # Code from module hard-locale:
   # Code from module hash:
   # Code from module havelib:
-  # Code from module host-cpu-c-abi:
   # Code from module human:
   # Code from module include_next:
   # Code from module intprops:
@@ -6985,6 +7007,7 @@ fi
   # Code from module largefile:
 
   # Code from module lchown:
+  # Code from module libc-config:
   # Code from module limits-h:
   # Code from module link:
   # Code from module link-follow:
@@ -7030,7 +7053,9 @@ fi
   # Code from module openat:
   # Code from module openat-die:
   # Code from module openat-h:
+  # Code from module openat-safer:
   # Code from module opendir:
+  # Code from module opendirat:
   # Code from module parse-datetime:
   # Code from module pathmax:
   # Code from module priv-set:
@@ -7048,7 +7073,7 @@ fi
   # Code from module regex:
   # Code from module rename:
   # Code from module renameat:
-  # Code from module renameat2:
+  # Code from module renameatu:
   # Code from module rewinddir:
   # Code from module rmdir:
   # Code from module root-uid:
@@ -8111,17 +8136,17 @@ else
      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 typedef int *int_ptr;
-	   int foo (int_ptr $ac_kw ip) { return ip[0]; }
-	   int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
-	   int bar (int ip[$ac_kw]) { return ip[0]; }
+           int foo (int_ptr $ac_kw ip) { return ip[0]; }
+           int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+           int bar (int ip[$ac_kw]) { return ip[0]; }
 
 int
 main ()
 {
 int s[1];
-	   int *$ac_kw t = s;
-	   t[0] = 0;
-	   return foo (t) + bar (t);
+           int *$ac_kw t = s;
+           t[0] = 0;
+           return foo (t) + bar (t);
 
   ;
   return 0;
@@ -8693,7 +8718,8 @@ int main () { return zero(); }
 _ACEOF
                               save_ac_compile="$ac_compile"
      ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
-     if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+     if echo '#include "conftest.c"' >conftest1.c &&
+        { { 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
@@ -8714,7 +8740,8 @@ int zero (void) { return 0; }
 
 _ACEOF
               ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+       if echo '#include "conftest.c"' >conftest2.c &&
+          { { 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
@@ -8727,7 +8754,7 @@ _ACEOF
        fi
      fi
      ac_compile="$save_ac_compile"
-     rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
+     rm -f conftest12.c conftest12.$ac_objext conftest$ac_exeext
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
@@ -8809,7 +8836,7 @@ int main () {
   return 1;
 #else
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* 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 specified, it succeeds but sets the LC_CTYPE
@@ -9143,7 +9170,7 @@ nocrash_init (void)
     }
   }
 }
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#elif defined _WIN32 && ! defined __CYGWIN__
 /* Avoid a crash on native Windows.  */
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
@@ -9288,6 +9315,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h
   GNULIB_GETLOGIN=0;
   GNULIB_GETLOGIN_R=0;
   GNULIB_GETPAGESIZE=0;
+  GNULIB_GETPASS=0;
   GNULIB_GETUSERSHELL=0;
   GNULIB_GROUP_MEMBER=0;
   GNULIB_ISATTY=0;
@@ -9330,6 +9358,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h
   HAVE_GETHOSTNAME=1;
   HAVE_GETLOGIN=1;
   HAVE_GETPAGESIZE=1;
+  HAVE_GETPASS=1;
   HAVE_GROUP_MEMBER=1;
   HAVE_LCHOWN=1;
   HAVE_LINK=1;
@@ -9344,7 +9373,6 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h
   HAVE_SLEEP=1;
   HAVE_SYMLINK=1;
   HAVE_SYMLINKAT=1;
-  HAVE_TRUNCATE=1;
   HAVE_UNLINKAT=1;
   HAVE_USLEEP=1;
   HAVE_DECL_ENVIRON=1;
@@ -9356,6 +9384,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h
   HAVE_DECL_GETPAGESIZE=1;
   HAVE_DECL_GETUSERSHELL=1;
   HAVE_DECL_SETHOSTNAME=1;
+  HAVE_DECL_TRUNCATE=1;
   HAVE_DECL_TTYNAME_R=1;
   HAVE_OS_H=0;
   HAVE_SYS_PARAM_H=0;
@@ -9372,6 +9401,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h
   REPLACE_GETLOGIN_R=0;
   REPLACE_GETGROUPS=0;
   REPLACE_GETPAGESIZE=0;
+  REPLACE_GETPASS=0;
   REPLACE_ISATTY=0;
   REPLACE_LCHOWN=0;
   REPLACE_LINK=0;
@@ -9419,12 +9449,14 @@ if ${ac_cv_func_chown_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in # ((
-                  # Guess yes on glibc systems.
-          *-gnu*) ac_cv_func_chown_works="guessing yes" ;;
-                  # Guess no on native Windows.
-          mingw*) ac_cv_func_chown_works="guessing no" ;;
-                  # If we don't know, assume the worst.
-          *)      ac_cv_func_chown_works="guessing no" ;;
+                           # Guess yes on Linux systems.
+          linux-* | linux) ac_cv_func_chown_works="guessing yes" ;;
+                           # Guess yes on glibc systems.
+          *-gnu* | gnu*)   ac_cv_func_chown_works="guessing yes" ;;
+                           # Guess no on native Windows.
+          mingw*)          ac_cv_func_chown_works="guessing no" ;;
+                           # If we don't know, assume the worst.
+          *)               ac_cv_func_chown_works="guessing no" ;;
         esac
 
 else
@@ -9852,11 +9884,10 @@ $as_echo "$gl_cv_pragma_columns" >&6; }
 
   { $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 :
+if ${gt_cv_var_environ_declaration+:} 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.  */
 #if HAVE_UNISTD_H
      #include <unistd.h>
@@ -9864,7 +9895,7 @@ else
      /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
      #include <stdlib.h>
 
-           extern struct { int foo; } environ;
+            extern struct { int foo; } environ;
 int
 main ()
 {
@@ -9880,8 +9911,7 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5
+{ $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
 
@@ -10352,7 +10382,10 @@ else
      echo >conftest.file
      if test "$cross_compiling" = yes; then :
   case "$host_os" in
-          *-gnu*)
+          linux-* | linux)
+            # Guess yes on Linux systems.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+          *-gnu* | gnu*)
             # Guess yes on glibc systems.
             gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
           mingw*)
@@ -10626,6 +10659,165 @@ _ACEOF
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
+$as_echo_n "checking for promoted mode_t type... " >&6; }
+if ${gl_cv_promoted_mode_t+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+int
+main ()
+{
+typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_promoted_mode_t='int'
+else
+  gl_cv_promoted_mode_t='mode_t'
+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; }
+
+cat >>confdefs.h <<_ACEOF
+#define PROMOTED_MODE_T $gl_cv_promoted_mode_t
+_ACEOF
+
+
+
+
+
+  GNULIB_FNMATCH=0;
+    HAVE_FNMATCH=1;
+  REPLACE_FNMATCH=0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_fnmatch_h='<'fnmatch.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <fnmatch.h>" >&5
+$as_echo_n "checking absolute name of <fnmatch.h>... " >&6; }
+if ${gl_cv_next_fnmatch_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+             if test $ac_cv_header_fnmatch_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <fnmatch.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 'fnmatch.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_absolute_fnmatch_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_fnmatch_h
+           gl_cv_next_fnmatch_h='"'$gl_header'"'
+          else
+               gl_cv_next_fnmatch_h='<'fnmatch.h'>'
+             fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fnmatch_h" >&5
+$as_echo "$gl_cv_next_fnmatch_h" >&6; }
+     fi
+     NEXT_FNMATCH_H=$gl_cv_next_fnmatch_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='<'fnmatch.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_fnmatch_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+  if test $ac_cv_header_fnmatch_h = yes; then
+    HAVE_FNMATCH_H=1
+  else
+    HAVE_FNMATCH_H=0
+  fi
+
+
+  FNMATCH_H=''
+     if false; then
+              FNMATCH_H=fnmatch.h
+     else
+       if test $ac_cv_header_fnmatch_h != yes; then
+                  FNMATCH_H=fnmatch.h
+       fi
+     fi
+
+
+   if test -n "$FNMATCH_H"; then
+  GL_GENERATE_FNMATCH_H_TRUE=
+  GL_GENERATE_FNMATCH_H_FALSE='#'
+else
+  GL_GENERATE_FNMATCH_H_TRUE='#'
+  GL_GENERATE_FNMATCH_H_FALSE=
+fi
+
+
+
+
+
+
+
+
 
 
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
@@ -11220,44 +11412,7 @@ fi
 
 
 
-    for gl_func in fchmodat fstat 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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(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
-	       { $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
 
 
 
@@ -11273,12 +11428,12 @@ if ${gl_cv_func_getcwd_null+:} false; then :
 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";;
+                           # Guess yes on glibc systems.
+            *-gnu* | 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
@@ -11299,7 +11454,7 @@ int
 main ()
 {
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 /* mingw cwd does not start with '/', but getcwd does allocate.
    However, mingw fails to honor non-zero size.  */
 #else
@@ -11806,7 +11961,7 @@ nocrash_init (void)
     }
   }
 }
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#elif defined _WIN32 && ! defined __CYGWIN__
 /* Avoid a crash on native Windows.  */
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
@@ -12032,8 +12187,6 @@ $as_echo "$gl_cv_func_getopt_long_gnu" >&6; }
 
 
 
-
-
   GNULIB_GETTIMEOFDAY=0;
     HAVE_GETTIMEOFDAY=1;
   HAVE_STRUCT_TIMEVAL=1;
@@ -12234,48 +12387,7 @@ $as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; }
   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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(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>
-
-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
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -12314,341 +12426,6 @@ fi
   REPLACE_LOCALTIME=0;
 
 
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifdef _MSC_VER
-MicrosoftCompiler
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "MicrosoftCompiler" >/dev/null 2>&1; then :
-  gl_asmext='asm'
-     gl_c_asm_opt='-c -Fa'
-
-else
-  gl_asmext='s'
-     gl_c_asm_opt='-S'
-
-fi
-rm -f conftest*
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking host CPU and C ABI" >&5
-$as_echo_n "checking host CPU and C ABI... " >&6; }
-if ${gl_cv_host_cpu_c_abi+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case "$host_cpu" in
-
-       i[4567]86 )
-         gl_cv_host_cpu_c_abi=i386
-         ;;
-
-       x86_64 )
-         # On x86_64 systems, the C compiler may be generating code in one of
-         # these ABIs:
-         # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
-         # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
-         #   with native Windows (mingw, MSVC).
-         # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
-         # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if (defined __x86_64__ || defined __amd64__ \
-                     || defined _M_X64 || defined _M_AMD64)
-                 int ok;
-                #else
-                 error fail
-                #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined __ILP32__ || defined _ILP32
-                    int ok;
-                   #else
-                    error fail
-                   #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=x86_64-x32
-else
-  gl_cv_host_cpu_c_abi=x86_64
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  gl_cv_host_cpu_c_abi=i386
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         ;;
-
-       alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
-         gl_cv_host_cpu_c_abi=alpha
-         ;;
-
-       arm* | aarch64 )
-         # Assume arm with EABI.
-         # On arm64 systems, the C compiler may be generating code in one of
-         # these ABIs:
-         # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
-         # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
-         # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __aarch64__
-                 int ok;
-                #else
-                 error fail
-                #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined __ILP32__ || defined _ILP32
-                   int ok;
-                  #else
-                   error fail
-                  #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=arm64-ilp32
-else
-  gl_cv_host_cpu_c_abi=arm64
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  # Don't distinguish little-endian and big-endian arm, since they
-            # don't require different machine code for simple operations and
-            # since the user can distinguish them through the preprocessor
-            # defines __ARMEL__ vs. __ARMEB__.
-            # But distinguish arm which passes floating-point arguments and
-            # return values in integer registers (r0, r1, ...) - this is
-            # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which
-            # passes them in float registers (s0, s1, ...) and double registers
-            # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer
-            # sets the preprocessor defines __ARM_PCS (for the first case) and
-            # __ARM_PCS_VFP (for the second case), but older GCC does not.
-            echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c
-            # Look for a reference to the register d0 in the .s file.
-            { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; } >/dev/null 2>&1
-            if LC_ALL=C grep -E 'd0,' conftest.$gl_asmext >/dev/null; then
-              gl_cv_host_cpu_c_abi=armhf
-            else
-              gl_cv_host_cpu_c_abi=arm
-            fi
-            rm -f conftest*
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         ;;
-
-       hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
-         # On hppa, the C compiler may be generating 32-bit code or 64-bit
-         # code. In the latter case, it defines _LP64 and __LP64__.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __LP64__
-                 int ok;
-                #else
-                 error fail
-                #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=hppa64
-else
-  gl_cv_host_cpu_c_abi=hppa
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         ;;
-
-       ia64* )
-         # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
-         # 32-bit code. In the latter case, it defines _ILP32.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef _ILP32
-                 int ok;
-                #else
-                 error fail
-                #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=ia64-ilp32
-else
-  gl_cv_host_cpu_c_abi=ia64
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         ;;
-
-       mips* )
-         # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
-         # at 32.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
-                 int ok;
-                #else
-                 error fail
-                #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=mips64
-else
-  # In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but
-            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32.
-            # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but
-            # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32.
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if (_MIPS_SIM == _ABIN32)
-                    int ok;
-                   #else
-                    error fail
-                   #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=mipsn32
-else
-  gl_cv_host_cpu_c_abi=mips
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         ;;
-
-       powerpc* )
-         # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
-         # No need to distinguish them here; the caller may distinguish
-         # them based on the OS.
-         # On powerpc64 systems, the C compiler may still be generating
-         # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
-         # be generating 64-bit code.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined __powerpc64__ || defined _ARCH_PPC64
-                 int ok;
-                #else
-                 error fail
-                #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # On powerpc64, there are two ABIs on Linux: The AIX compatible
-            # one and the ELFv2 one. The latter defines _CALL_ELF=2.
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined _CALL_ELF && _CALL_ELF == 2
-                    int ok;
-                   #else
-                    error fail
-                   #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=powerpc64-elfv2
-else
-  gl_cv_host_cpu_c_abi=powerpc64
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-else
-  gl_cv_host_cpu_c_abi=powerpc
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         ;;
-
-       rs6000 )
-         gl_cv_host_cpu_c_abi=powerpc
-         ;;
-
-       s390* )
-         # On s390x, the C compiler may be generating 64-bit (= s390x) code
-         # or 31-bit (= s390) code.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined __LP64__ || defined __s390x__
-                  int ok;
-                #else
-                  error fail
-                #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=s390x
-else
-  gl_cv_host_cpu_c_abi=s390
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         ;;
-
-       sparc | sparc64 )
-         # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
-         # C compiler still generates 32-bit code.
-         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined __sparcv9 || defined __arch64__
-                 int ok;
-                #else
-                 error fail
-                #endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_host_cpu_c_abi=sparc64
-else
-  gl_cv_host_cpu_c_abi=sparc
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-         ;;
-
-       *)
-         gl_cv_host_cpu_c_abi="$host_cpu"
-         ;;
-     esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi" >&5
-$as_echo "$gl_cv_host_cpu_c_abi" >&6; }
-
-    HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'`
-  HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi"
-
-
-
-  # This was
-  #   AC_DEFINE_UNQUOTED([__${HOST_CPU}__])
-  #   AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__])
-  # earlier, but KAI C++ 3.2d doesn't like this.
-  sed -e 's/-/_/g' >> confdefs.h <<EOF
-#ifndef __${HOST_CPU}__
-#define __${HOST_CPU}__ 1
-#endif
-#ifndef __${HOST_CPU_C_ABI}__
-#define __${HOST_CPU_C_ABI}__ 1
-#endif
-EOF
-
-
-
-
 
 
 
@@ -12730,18 +12507,21 @@ $as_echo "$gl_cv_next_limits_h" >&6; }
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether limits.h has ULLONG_WIDTH etc." >&5
-$as_echo_n "checking whether limits.h has ULLONG_WIDTH etc.... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc." >&5
+$as_echo_n "checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.... " >&6; }
 if ${gl_cv_header_limits_width+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
-                           #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
-                          #endif
-                          #include <limits.h>
-                          int ullw = ULLONG_WIDTH;
+             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+            #endif
+            #include <limits.h>
+            long long llm = LLONG_MAX;
+            int wb = WORD_BIT;
+            int ullw = ULLONG_WIDTH;
+
 int
 main ()
 {
@@ -13844,7 +13624,9 @@ _ACEOF
       ;;
   esac
 
-    LIMITS_H=limits.h
+
+
+  LIMITS_H='limits.h'
    if test -n "$LIMITS_H"; then
   GL_GENERATE_LIMITS_H_TRUE=
   GL_GENERATE_LIMITS_H_FALSE='#'
@@ -13858,6 +13640,7 @@ fi
 
 
 
+
    if test -n "$STDINT_H"; then
   GL_GENERATE_STDINT_H_TRUE=
   GL_GENERATE_STDINT_H_FALSE='#'
@@ -13878,6 +13661,7 @@ fi
   HAVE_DECL_IMAXDIV=1;
   HAVE_DECL_STRTOIMAX=1;
   HAVE_DECL_STRTOUMAX=1;
+  HAVE_IMAXDIV_T=1;
   REPLACE_STRTOIMAX=0;
   REPLACE_STRTOUMAX=0;
   INT32_MAX_LT_INTMAX_MAX=1;
@@ -13974,44 +13758,7 @@ $as_echo "$gl_cv_next_inttypes_h" >&6; }
 
 
 
-    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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <inttypes.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
-	       { $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
 
 
 
@@ -14409,55 +14156,7 @@ $as_echo "$gl_cv_type_wctrans_t" >&6; }
   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
-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
-	       { $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
 
 
 
@@ -14527,50 +14226,18 @@ $as_echo "$gl_cv_macro_O_CLOEXEC" >&6; }
 
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5
-$as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; }
-if ${ac_cv_gnu_library_2_1+:} false; then :
-  $as_echo_n "(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 -f conftest*
-
-
-
-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; }
-
-    GLIBC21="$ac_cv_gnu_library_2_1"
-
-
-
   GNULIB_LOCALECONV=0;
   GNULIB_SETLOCALE=0;
   GNULIB_DUPLOCALE=0;
-    HAVE_DUPLOCALE=1;
+  GNULIB_LOCALENAME=0;
+    HAVE_NEWLOCALE=1;
+  HAVE_DUPLOCALE=1;
+  HAVE_FREELOCALE=1;
   REPLACE_LOCALECONV=0;
   REPLACE_SETLOCALE=0;
+  REPLACE_NEWLOCALE=0;
   REPLACE_DUPLOCALE=0;
+  REPLACE_FREELOCALE=0;
   REPLACE_STRUCT_LCONV=0;
 
 
@@ -14615,19 +14282,49 @@ $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
 
 
   STDDEF_H=
-  ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include <stddef.h>
 
-"
-if test "x$ac_cv_type_max_align_t" = xyes; then :
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for good max_align_t" >&5
+$as_echo_n "checking for good max_align_t... " >&6; }
+if ${gl_cv_type_max_align_t+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+            unsigned int s = sizeof (max_align_t);
+            #if defined __GNUC__ || defined __IBM__ALIGNOF__
+            int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
+            int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
+            #endif
 
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_type_max_align_t=yes
 else
-  HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h
+  gl_cv_type_max_align_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_max_align_t" >&5
+$as_echo "$gl_cv_type_max_align_t" >&6; }
+  if test $gl_cv_type_max_align_t = no; then
+    HAVE_MAX_ALIGN_T=0
+    STDDEF_H=stddef.h
+  fi
 
   if test $gt_cv_c_wchar_t = no; then
     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; }
 if ${gl_cv_decl_null_works+:} false; then :
@@ -14660,6 +14357,7 @@ $as_echo "$gl_cv_decl_null_works" >&6; }
     STDDEF_H=stddef.h
   fi
 
+
    if test -n "$STDDEF_H"; then
   GL_GENERATE_STDDEF_H_TRUE=
   GL_GENERATE_STDDEF_H_FALSE='#'
@@ -14759,7 +14457,7 @@ else
 int
 main ()
 {
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
              choke me
              #endif
 
@@ -14800,7 +14498,7 @@ else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
           # Guess yes on platforms where we know the result.
-          *-gnu* | freebsd* | netbsd* | openbsd* \
+          *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \
           | hpux* | solaris* | cygwin* | mingw*)
             ac_cv_func_malloc_0_nonnull=yes ;;
           # If we don't know, assume the worst.
@@ -14887,7 +14585,7 @@ int main ()
   return 1;
 #else
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* 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 specified, it succeeds but sets the LC_CTYPE
@@ -15036,7 +14734,7 @@ int main ()
   return 1;
 #else
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* 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 specified, it succeeds but sets the LC_CTYPE
@@ -15173,7 +14871,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* 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 specified, it succeeds but sets the LC_CTYPE
@@ -15618,8 +15316,6 @@ $as_echo "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h
 
 
 
-
-
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time_t is signed" >&5
 $as_echo_n "checking whether time_t is signed... " >&6; }
 if ${gl_cv_time_t_is_signed+:} false; then :
@@ -16025,41 +15721,6 @@ $as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h
 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; }
-if ${gl_cv_promoted_mode_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-int
-main ()
-{
-typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_promoted_mode_t='int'
-else
-  gl_cv_promoted_mode_t='mode_t'
-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; }
-
-cat >>confdefs.h <<_ACEOF
-#define PROMOTED_MODE_T $gl_cv_promoted_mode_t
-_ACEOF
-
-
 { $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; }
 if ${ac_cv_header_stdbool_h+:} false; then :
@@ -16184,7 +15845,7 @@ fi
 
 
   # parse-datetime.y works with bison only.
-  : ${YACC='bison -y'}
+  : ${YACC='bison -o y.tab.c'}
 
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compound literals" >&5
@@ -16244,6 +15905,45 @@ $as_echo "#define HAVE_COMPOUND_LITERALS 1" >>confdefs.h
 
 
 
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library >= 2.1 or uClibc" >&5
+$as_echo_n "checking whether we are using the GNU C Library >= 2.1 or uClibc... " >&6; }
+if ${ac_cv_gnu_library_2_1+:} false; then :
+  $as_echo_n "(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 -f conftest*
+
+
+
+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; }
+
+    GLIBC21="$ac_cv_gnu_library_2_1"
+
+
+
+
+
 
 
 
@@ -16425,7 +16125,7 @@ else
       if test "$cross_compiling" = yes; then :
   case "$host_os" in
                                  # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_snprintf_retval_c99="guessing yes";;
+           *-gnu* | gnu*)        gl_cv_func_snprintf_retval_c99="guessing yes";;
                                  # 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";;
@@ -16556,12 +16256,12 @@ if ${gl_cv_func_strerror_0_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
-                 # Guess yes on native Windows.
-         mingw*) gl_cv_func_strerror_0_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_strerror_0_works="guessing no" ;;
+                        # Guess yes on glibc systems.
+         *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
+                        # Guess yes on native Windows.
+         mingw*)        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
@@ -16685,44 +16385,7 @@ $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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.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
-	       { $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
 
 
 
@@ -16816,48 +16479,7 @@ $as_echo "$gl_cv_next_strings_h" >&6; }
 
 
 
-    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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-    /* Minix 3.1.8 has a bug: <sys/types.h> must be included before
-       <strings.h>.  */
-    #include <sys/types.h>
-    #include <strings.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
-	       { $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
 
 
 ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default"
@@ -17922,7 +17544,7 @@ done
     if test $ac_cv_header_sys_acl_h = yes; then
       ac_save_LIBS=$LIBS
 
-                  if test $use_acl = 0; then
+                        if test $use_acl = 0; then
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing acl_get_file" >&5
 $as_echo_n "checking for library containing acl_get_file... " >&6; }
 if ${ac_cv_search_acl_get_file+:} false; then :
@@ -18765,8 +18387,8 @@ $as_echo "$gl_cv___builtin_expect" >&6; }
       HAVE_REALPATH=0
     else
       case "$gl_cv_func_realpath_works" in
-	*yes) ;;
-	*)    REPLACE_REALPATH=1 ;;
+        *yes) ;;
+        *)    REPLACE_REALPATH=1 ;;
       esac
     fi
   else
@@ -18870,7 +18492,7 @@ else
 # undef PATH_MAX
 # define PATH_MAX 1024
 #endif
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # undef PATH_MAX
 # define PATH_MAX 260
 #endif
@@ -19191,37 +18813,9 @@ $as_echo "#define GNULIB_TEST_CLOSEDIR 1" >>confdefs.h
   :
 
 
-          if test "x$datarootdir" = x; then
-    datarootdir='${datadir}'
-
-  fi
-    if test "x$docdir" = x; then
-    docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-
-  fi
-    if test "x$htmldir" = x; then
-    htmldir='${docdir}'
-
-  fi
-  if test "x$dvidir" = x; then
-    dvidir='${docdir}'
-
-  fi
-  if test "x$pdfdir" = x; then
-    pdfdir='${docdir}'
-
-  fi
-  if test "x$psdir" = x; then
-    psdir='${docdir}'
-
-  fi
   if test "x$lispdir" = x; then
     lispdir='${datarootdir}/emacs/site-lisp'
 
-  fi
-  if test "x$localedir" = x; then
-    localedir='${datarootdir}/locale'
-
   fi
     if test "x$runstatedir" = x; then
     runstatedir='${localstatedir}/run'
@@ -19385,44 +18979,7 @@ $as_echo "$gl_cv_next_dirent_h" >&6; }
 
 
 
-    for gl_func in alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir; 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 <dirent.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
-	       { $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
 
 
 
@@ -20081,10 +19638,10 @@ if ${ac_cv_func_getgroups_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in # ((
-                    # Guess yes on glibc systems.
-            *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      ac_cv_func_getgroups_works="guessing no" ;;
+                           # Guess yes on glibc systems.
+            *-gnu* | gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
+                           # If we don't know, assume the worst.
+            *)             ac_cv_func_getgroups_works="guessing no" ;;
           esac
 
 else
@@ -20094,7 +19651,7 @@ $ac_includes_default
 int
 main ()
 {
-/* On Ultrix 4.3, getgroups (0, 0) always fails.  */
+/* On NeXTstep 3.2, getgroups (0, 0) always fails.  */
               return getgroups (0, 0) == -1;
   ;
   return 0;
@@ -20316,12 +19873,14 @@ if ${gl_cv_func_open_directory_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_open_directory_works="guessing yes" ;;
-                   # Guess no on native Windows.
-           mingw*) gl_cv_func_open_directory_works="guessing no" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_open_directory_works="guessing no" ;;
+                            # Guess yes on Linux systems.
+           linux-* | linux) gl_cv_func_open_directory_works="guessing yes" ;;
+                            # Guess yes on glibc systems.
+           *-gnu* | gnu*)   gl_cv_func_open_directory_works="guessing yes" ;;
+                            # Guess no on native Windows.
+           mingw*)          gl_cv_func_open_directory_works="guessing no" ;;
+                            # If we don't know, assume the worst.
+           *)               gl_cv_func_open_directory_works="guessing no" ;;
          esac
 
 else
@@ -20868,44 +20427,17 @@ $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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <fcntl.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
-	       { $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
+
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_FCNTL_SAFER 1
+_ACEOF
 
 
 
@@ -21404,108 +20936,110 @@ fi
 
 
 
-
-  FNMATCH_H=
   gl_fnmatch_required_lowercase=`
     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
+
+  if test $ac_cv_func_fnmatch = no; then
+    HAVE_FNMATCH=0
+  else
+    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; }
 if eval \${$gl_fnmatch_cache_var+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-                           if test $gl_fnmatch_required = GNU; then
-       gl_fnmatch_gnu_start=
-       gl_fnmatch_gnu_end=
-     else
-       gl_fnmatch_gnu_start='#if 0'
-       gl_fnmatch_gnu_end='#endif'
-     fi
-     if test "$cross_compiling" = yes; then :
+                                     if test $gl_fnmatch_required = GNU; then
+         gl_fnmatch_gnu_start=
+         gl_fnmatch_gnu_end=
+       else
+         gl_fnmatch_gnu_start='#if 0'
+         gl_fnmatch_gnu_end='#endif'
+       fi
+       if test "$cross_compiling" = yes; then :
   eval "$gl_fnmatch_cache_var=\"guessing no\""
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <fnmatch.h>
-            static int
-            y (char const *pattern, char const *string, int flags)
-            {
-              return fnmatch (pattern, string, flags) == 0;
-            }
-            static int
-            n (char const *pattern, char const *string, int flags)
-            {
-              return fnmatch (pattern, string, flags) == FNM_NOMATCH;
-            }
+              static int
+              y (char const *pattern, char const *string, int flags)
+              {
+                return fnmatch (pattern, string, flags) == 0;
+              }
+              static int
+              n (char const *pattern, char const *string, int flags)
+              {
+                return fnmatch (pattern, string, flags) == FNM_NOMATCH;
+              }
 
 int
 main ()
 {
 char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]";
-            char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]";
-            static char const A_1[] = { 'A' - 1, 0 };
-            static char const A01[] = { 'A' + 1, 0 };
-            static char const a_1[] = { 'a' - 1, 0 };
-            static char const a01[] = { 'a' + 1, 0 };
-            static char const bs_1[] = { '\\\\' - 1, 0 };
-            static char const bs01[] = { '\\\\' + 1, 0 };
-            int result = 0;
-            if (!n ("a*", "", 0))
-              return 1;
-            if (!y ("a*", "abc", 0))
-              return 1;
-            if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */
-              return 1;
-            if (!n ("d*/*1", "d/s/1", FNM_PATHNAME))
-              return 2;
-            if (!y ("a\\\\bc", "abc", 0))
-              return 3;
-            if (!n ("a\\\\bc", "abc", FNM_NOESCAPE))
-              return 3;
-            if (!y ("*x", ".x", 0))
-              return 4;
-            if (!n ("*x", ".x", FNM_PERIOD))
-              return 4;
-            if (!y (Apat, "\\\\", 0))
-              return 5;
-            if (!y (Apat, "A", 0))
-              return 5;
-            if (!y (apat, "\\\\", 0))
-              return 5;
-            if (!y (apat, "a", 0))
-              return 5;
-            if (!(n (Apat, A_1, 0) == ('A' < '\\\\')))
-              return 5;
-            if (!(n (apat, a_1, 0) == ('a' < '\\\\')))
-              return 5;
-            if (!(y (Apat, A01, 0) == ('A' < '\\\\')))
-              return 5;
-            if (!(y (apat, a01, 0) == ('a' < '\\\\')))
-              return 5;
-            if (!(y (Apat, bs_1, 0) == ('A' < '\\\\')))
-              return 5;
-            if (!(y (apat, bs_1, 0) == ('a' < '\\\\')))
-              return 5;
-            if (!(n (Apat, bs01, 0) == ('A' < '\\\\')))
-              return 5;
-            if (!(n (apat, bs01, 0) == ('a' < '\\\\')))
-              return 5;
-            $gl_fnmatch_gnu_start
-            if (!y ("xxXX", "xXxX", FNM_CASEFOLD))
-              result |= 8;
-            if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH))
-              result |= 16;
-            if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME))
-              result |= 32;
-            if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR))
-              result |= 64;
-            if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR))
-              result |= 64;
-            if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR))
-              result |= 64;
-            $gl_fnmatch_gnu_end
-            return result;
+              char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]";
+              static char const A_1[] = { 'A' - 1, 0 };
+              static char const A01[] = { 'A' + 1, 0 };
+              static char const a_1[] = { 'a' - 1, 0 };
+              static char const a01[] = { 'a' + 1, 0 };
+              static char const bs_1[] = { '\\\\' - 1, 0 };
+              static char const bs01[] = { '\\\\' + 1, 0 };
+              int result = 0;
+              if (!n ("a*", "", 0))
+                return 1;
+              if (!y ("a*", "abc", 0))
+                return 1;
+              if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */
+                return 1;
+              if (!n ("d*/*1", "d/s/1", FNM_PATHNAME))
+                return 2;
+              if (!y ("a\\\\bc", "abc", 0))
+                return 3;
+              if (!n ("a\\\\bc", "abc", FNM_NOESCAPE))
+                return 3;
+              if (!y ("*x", ".x", 0))
+                return 4;
+              if (!n ("*x", ".x", FNM_PERIOD))
+                return 4;
+              if (!y (Apat, "\\\\", 0))
+                return 5;
+              if (!y (Apat, "A", 0))
+                return 5;
+              if (!y (apat, "\\\\", 0))
+                return 5;
+              if (!y (apat, "a", 0))
+                return 5;
+              if (!(n (Apat, A_1, 0) == ('A' < '\\\\')))
+                return 5;
+              if (!(n (apat, a_1, 0) == ('a' < '\\\\')))
+                return 5;
+              if (!(y (Apat, A01, 0) == ('A' < '\\\\')))
+                return 5;
+              if (!(y (apat, a01, 0) == ('a' < '\\\\')))
+                return 5;
+              if (!(y (Apat, bs_1, 0) == ('A' < '\\\\')))
+                return 5;
+              if (!(y (apat, bs_1, 0) == ('a' < '\\\\')))
+                return 5;
+              if (!(n (Apat, bs01, 0) == ('A' < '\\\\')))
+                return 5;
+              if (!(n (apat, bs01, 0) == ('a' < '\\\\')))
+                return 5;
+              $gl_fnmatch_gnu_start
+              if (!y ("xxXX", "xXxX", FNM_CASEFOLD))
+                result |= 8;
+              if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH))
+                result |= 16;
+              if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME))
+                result |= 32;
+              if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR))
+                result |= 64;
+              if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR))
+                result |= 64;
+              if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR))
+                result |= 64;
+              $gl_fnmatch_gnu_end
+              return result;
 
   ;
   return 0;
@@ -21525,13 +21059,15 @@ fi
 eval ac_res=\$$gl_fnmatch_cache_var
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$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"
-  else
-    FNMATCH_H=fnmatch.h
+    eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\""
+    if test "$gl_fnmatch_result" != yes; then
+      REPLACE_FNMATCH=1
+    fi
   fi
+  if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then
 
+
+  FNMATCH_H='fnmatch.h'
    if test -n "$FNMATCH_H"; then
   GL_GENERATE_FNMATCH_H_TRUE=
   GL_GENERATE_FNMATCH_H_FALSE='#'
@@ -21541,22 +21077,19 @@ else
 fi
 
 
-  if test -n "$FNMATCH_H"; then
-
+  fi
 
+  if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then
 
 
 
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext"
 
 
+  gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext"
 
-cat >>confdefs.h <<_ACEOF
-#define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch
-_ACEOF
 
 
   ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h>
@@ -21580,22 +21113,32 @@ _ACEOF
 
 
 
-  if test -n "$FNMATCH_H"; then
+          GNULIB_FNMATCH=1
 
 
 
 
 
+$as_echo "#define GNULIB_TEST_FNMATCH 1" >>confdefs.h
 
 
 
-  gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext"
 
 
 
-cat >>confdefs.h <<_ACEOF
-#define fnmatch ${gl_fnmatch_required_lowercase}_fnmatch
-_ACEOF
+
+
+  if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext"
+
 
 
   ac_fn_c_check_decl "$LINENO" "isblank" "ac_cv_have_decl_isblank" "#include <ctype.h>
@@ -21616,6 +21159,14 @@ _ACEOF
   fi
 
 
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_FNMATCH_GNU 1
+_ACEOF
+
+
+
+
+
   fp_headers='
     #include <stdio.h>
     #if HAVE_STDIO_EXT_H
@@ -21789,6 +21340,19 @@ _ACEOF
 fi
 done
 
+  if test $ac_cv_func__fseeki64 = yes; then
+    ac_fn_c_check_decl "$LINENO" "_fseeki64" "ac_cv_have_decl__fseeki64" "$ac_includes_default"
+if test "x$ac_cv_have_decl__fseeki64" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL__FSEEKI64 $ac_have_decl
+_ACEOF
+
+  fi
 
   fi
 
@@ -21811,8 +21375,8 @@ $as_echo "#define GNULIB_TEST_FSEEKO 1" >>confdefs.h
 
 
   case "$host_os" in
-    mingw*)
-                  REPLACE_FSTAT=1
+    mingw* | solaris*)
+                        REPLACE_FSTAT=1
       ;;
   esac
 
@@ -21885,6 +21449,7 @@ $as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h
 
 
 
+
   if test $ac_cv_func_fstatat = no; then
     HAVE_FSTATAT=0
   else
@@ -21929,15 +21494,20 @@ $as_echo "$gl_cv_func_fstatat_zero_flag" >&6; }
 
     case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in
     *yes+*yes) ;;
-    *) REPLACE_FSTATAT=1
-       case $gl_cv_func_fstatat_zero_flag in
-       *yes)
+    *) REPLACE_FSTATAT=1 ;;
+    esac
+
+    case $host_os in
+      solaris*)
+        REPLACE_FSTATAT=1 ;;
+    esac
+
+    case $REPLACE_FSTATAT,$gl_cv_func_fstatat_zero_flag in
+      1,*yes)
 
 $as_echo "#define HAVE_WORKING_FSTATAT_ZERO_FLAG 1" >>confdefs.h
 
          ;;
-       esac
-       ;;
     esac
   fi
 
@@ -22086,10 +21656,22 @@ else
   # Arrange for deletion of the temporary directory this test creates.
      ac_clean_files="$ac_clean_files confdir3"
           if test "$cross_compiling" = yes; then :
-  case "$host_os" in
-          aix*) gl_cv_func_getcwd_path_max='no, it has the AIX bug';;
-          *) gl_cv_func_getcwd_path_max=no;;
+  # Cross-compilation guesses:
+        case "$host_os" in
+          aix*) # On AIX, it has the AIX bug.
+            gl_cv_func_getcwd_path_max='no, it has the AIX bug' ;;
+          gnu*) # On Hurd, it is 'yes'.
+            gl_cv_func_getcwd_path_max=yes ;;
+          linux* | kfreebsd*)
+            # On older Linux+glibc it's 'no, but it is partly working',
+            # on newer Linux+glibc it's 'yes'.
+            # On Linux+musl libc, it's 'no, but it is partly working'.
+            # On kFreeBSD+glibc, it's 'no, but it is partly working'.
+            gl_cv_func_getcwd_path_max='no, but it is partly working' ;;
+          *) # If we don't know, assume the worst.
+            gl_cv_func_getcwd_path_max=no ;;
         esac
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -22123,7 +21705,7 @@ else
 # undef PATH_MAX
 # define PATH_MAX 1024
 #endif
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # undef PATH_MAX
 # define PATH_MAX 260
 #endif
@@ -22314,16 +21896,44 @@ $as_echo "$gl_cv_func_getcwd_path_max" >&6; }
 
 
 
-  for ac_func in getpagesize
-do :
-  ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETPAGESIZE 1
+
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize" >&5
+$as_echo_n "checking for getpagesize... " >&6; }
+if ${gl_cv_func_getpagesize+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+int
+main ()
+{
+return getpagesize();
+  ;
+  return 0;
+}
+
 _ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_func_getpagesize=yes
+else
+  gl_cv_func_getpagesize=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 
 fi
-done
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getpagesize" >&5
+$as_echo "$gl_cv_func_getpagesize" >&6; }
+
+  if test $gl_cv_func_getpagesize = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_GETPAGESIZE 1
+_ACEOF
+
+  fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd aborts when 4k < cwd_length < 16k" >&5
 $as_echo_n "checking whether getcwd aborts when 4k < cwd_length < 16k... " >&6; }
@@ -22366,7 +21976,7 @@ else
 # undef PATH_MAX
 # define PATH_MAX 1024
 #endif
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # undef PATH_MAX
 # define PATH_MAX 260
 #endif
@@ -22894,10 +22504,10 @@ if ${ac_cv_func_getgroups_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in # ((
-                    # Guess yes on glibc systems.
-            *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      ac_cv_func_getgroups_works="guessing no" ;;
+                           # Guess yes on glibc systems.
+            *-gnu* | gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
+                           # If we don't know, assume the worst.
+            *)             ac_cv_func_getgroups_works="guessing no" ;;
           esac
 
 else
@@ -22907,7 +22517,7 @@ $ac_includes_default
 int
 main ()
 {
-/* On Ultrix 4.3, getgroups (0, 0) always fails.  */
+/* On NeXTstep 3.2, getgroups (0, 0) always fails.  */
               return getgroups (0, 0) == -1;
   ;
   return 0;
@@ -22960,10 +22570,10 @@ if ${gl_cv_func_getgroups_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                     # Guess yes on glibc systems.
-             *-gnu*) gl_cv_func_getgroups_works="guessing yes" ;;
-                     # If we don't know, assume the worst.
-             *)      gl_cv_func_getgroups_works="guessing no" ;;
+                            # Guess yes on glibc systems.
+             *-gnu* | gnu*) gl_cv_func_getgroups_works="guessing yes" ;;
+                            # If we don't know, assume the worst.
+             *)             gl_cv_func_getgroups_works="guessing no" ;;
            esac
 
 else
@@ -23220,18 +22830,37 @@ $as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
 
 
 
-  for ac_func in getpagesize
-do :
-  ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
-if test "x$ac_cv_func_getpagesize" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETPAGESIZE 1
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize" >&5
+$as_echo_n "checking for getpagesize... " >&6; }
+if ${gl_cv_func_getpagesize+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <unistd.h>
+int
+main ()
+{
+return getpagesize();
+  ;
+  return 0;
+}
+
 _ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_func_getpagesize=yes
+else
+  gl_cv_func_getpagesize=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 
 fi
-done
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getpagesize" >&5
+$as_echo "$gl_cv_func_getpagesize" >&6; }
 
-  if test $ac_cv_func_getpagesize = no; then
+  if test $gl_cv_func_getpagesize = no; then
     HAVE_GETPAGESIZE=0
     for ac_header in OS.h
 do :
@@ -23426,12 +23055,12 @@ else
   if test "$cross_compiling" = yes; then :
   # When cross-compiling:
       case "$host_os" in
-                # Guess all is fine on glibc systems.
-        *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
-                # Guess no on native Windows.
-        mingw*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
-                # If we don't know, assume the worst.
-        *)      gl_cv_func_gettimeofday_clobber="guessing yes" ;;
+                       # Guess all is fine on glibc systems.
+        *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                       # Guess no on native Windows.
+        mingw*)        gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                       # If we don't know, assume the worst.
+        *)             gl_cv_func_gettimeofday_clobber="guessing yes" ;;
       esac
 
 else
@@ -23639,10 +23268,6 @@ $as_echo "#define GNULIB_TEST_GROUP_MEMBER 1" >>confdefs.h
 
 
 
-  :
-
-
-
 
   :
 
@@ -24063,12 +23688,13 @@ $as_echo "$gl_cv_next_langinfo_h" >&6; }
 
     HAVE_LANGINFO_CODESET=0
   HAVE_LANGINFO_T_FMT_AMPM=0
+  HAVE_LANGINFO_ALTMON=0
   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 "$as_me:${as_lineno-$LINENO}: checking whether langinfo.h defines CODESET" >&5
 $as_echo_n "checking whether langinfo.h defines CODESET... " >&6; }
 if ${gl_cv_header_langinfo_codeset+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -24130,6 +23756,37 @@ $as_echo "$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 ALTMON_1" >&5
+$as_echo_n "checking whether langinfo.h defines ALTMON_1... " >&6; }
+if ${gl_cv_header_langinfo_altmon+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <langinfo.h>
+int a = ALTMON_1;
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_langinfo_altmon=yes
+else
+  gl_cv_header_langinfo_altmon=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_langinfo_altmon" >&5
+$as_echo "$gl_cv_header_langinfo_altmon" >&6; }
+    if test $gl_cv_header_langinfo_altmon = yes; then
+      HAVE_LANGINFO_ALTMON=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; }
 if ${gl_cv_header_langinfo_era+:} false; then :
@@ -24202,44 +23859,8 @@ $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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <langinfo.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
-	       { $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
 
 
 
@@ -24303,6 +23924,39 @@ $as_echo "#define GNULIB_TEST_LCHOWN 1" >>confdefs.h
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the __inline keyword" >&5
+$as_echo_n "checking whether the compiler supports the __inline keyword... " >&6; }
+if ${gl_cv_c___inline+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+typedef int foo_t;
+           static __inline foo_t foo (void) { return 0; }
+int
+main ()
+{
+return foo ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_c___inline=yes
+else
+  gl_cv_c___inline=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c___inline" >&5
+$as_echo "$gl_cv_c___inline" >&6; }
+  if test $gl_cv_c___inline = yes; then
+
+$as_echo "#define HAVE___INLINE 1" >>confdefs.h
+
+  fi
+
+
 
 
 
@@ -24321,10 +23975,12 @@ else
        fi
        if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_link_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_link_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_link_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_link_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_link_works="guessing no" ;;
           esac
 
 else
@@ -24444,10 +24100,10 @@ else
          echo > conftest.file
          if test "$cross_compiling" = yes; then :
                                                  case "$host_os" in
-                           # On glibc/Linux we know the result.
-              linux*-gnu*) gl_cv_func_link_follows_symlink="guessing no" ;;
-                           # Otherwise, we don't know.
-              *)           gl_cv_func_link_follows_symlink=unknown ;;
+                                  # On glibc/Linux we know the result.
+              linux*-gnu* | gnu*) gl_cv_func_link_follows_symlink="guessing no" ;;
+                                  # Otherwise, we don't know.
+              *)                  gl_cv_func_link_follows_symlink=unknown ;;
             esac
 
 else
@@ -24582,10 +24238,14 @@ if ${gl_cv_func_linkat_slash+:} false; then :
 else
   rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s
        if test "$cross_compiling" = yes; then :
-  # Guess yes on glibc systems, no otherwise.
+
           case "$host_os" in
-            *-gnu*) gl_cv_func_linkat_slash="guessing yes";;
-            *)      gl_cv_func_linkat_slash="guessing no";;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_linkat_slash="guessing yes";;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_linkat_slash="guessing yes";;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_linkat_slash="guessing no";;
           esac
 
 else
@@ -24717,12 +24377,7 @@ $as_echo "#define GNULIB_TEST_LINKAT 1" >>confdefs.h
 
 
 
-
-
-
-
-
-  LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
+    LOCALCHARSET_TESTS_ENVIRONMENT=
 
 
 
@@ -24915,48 +24570,7 @@ $as_echo "$gl_cv_next_locale_h" >&6; }
 
 
 
-    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
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -25136,10 +24750,11 @@ $as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h
 
 
 
+
   if test $ac_cv_func_lstat = yes; then
 
-    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
-      *no)
+    case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in
+      solaris* | *no)
         REPLACE_LSTAT=1
         ;;
     esac
@@ -25198,7 +24813,7 @@ else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
           # Guess yes on platforms where we know the result.
-          *-gnu* | freebsd* | netbsd* | openbsd* \
+          *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \
           | hpux* | solaris* | cygwin* | mingw*)
             ac_cv_func_malloc_0_nonnull=yes ;;
           # If we don't know, assume the worst.
@@ -25852,12 +25467,11 @@ if ${gl_cv_func_mbrtowc_empty_input+:} false; then :
 else
 
                   case "$host_os" in
-                    # Guess no on AIX and glibc systems.
-        aix* | *-gnu*)
-                    gl_cv_func_mbrtowc_empty_input="guessing no" ;;
-                    # Guess yes on native Windows.
-        mingw*)     gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
-        *)          gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+                              # Guess no on AIX and glibc systems.
+        aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+                              # Guess yes on native Windows.
+        mingw*)               gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+        *)                    gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
       esac
       if test "$cross_compiling" = yes; then :
   :
@@ -26010,6 +25624,7 @@ $as_echo "#define C_LOCALE_MAYBE_EILSEQ 1" >>confdefs.h
   gl_LIBOBJS="$gl_LIBOBJS mbrtowc.$ac_objext"
 
 
+
   :
 
   fi
@@ -26808,10 +26423,12 @@ else
   rm -rf conftest.dir
       if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
-                 # Guess yes on MSVC, no on mingw.
-         mingw*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu* | gnu*)   gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                          # Guess yes on MSVC, no on mingw.
+         mingw*)          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #ifdef _MSC_VER
@@ -26827,9 +26444,9 @@ else
 fi
 rm -f conftest*
 
-                 ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_mkdir_trailing_slash_works="guessing no" ;;
+                          ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_mkdir_trailing_slash_works="guessing no" ;;
        esac
 
 else
@@ -26877,12 +26494,12 @@ else
   rm -rf conftest.dir
       if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
+                        # Guess yes on glibc systems.
+         *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
+                        # Guess no on native Windows.
+         mingw*)        gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
+                        # If we don't know, assume the worst.
+         *)             gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
        esac
 
 else
@@ -27024,10 +26641,41 @@ $as_echo "#define GNULIB_TEST_MKDTEMP 1" >>confdefs.h
 
 
 
-  if test $ac_cv_func_mkfifo = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mkfifo" >&5
+$as_echo_n "checking for mkfifo... " >&6; }
+if ${gl_cv_func_mkfifo+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/stat.h>
+int
+main ()
+{
+return mkfifo("/",0);
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_func_mkfifo=yes
+else
+  gl_cv_func_mkfifo=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: $gl_cv_func_mkfifo" >&5
+$as_echo "$gl_cv_func_mkfifo" >&6; }
+  if test $gl_cv_func_mkfifo = no; then
     HAVE_MKFIFO=0
   else
 
+$as_echo "#define HAVE_MKFIFO 1" >>confdefs.h
+
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mkfifo rejects trailing slashes" >&5
 $as_echo_n "checking whether mkfifo rejects trailing slashes... " >&6; }
 if ${gl_cv_func_mkfifo_works+:} false; then :
@@ -27039,10 +26687,12 @@ else
        fi
        if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_mkfifo_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_mkfifo_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_mkfifo_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_mkfifo_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_mkfifo_works="guessing no" ;;
           esac
 
 else
@@ -27197,10 +26847,12 @@ if ${gl_cv_func_mknod_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_mknod_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_mknod_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_mknod_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_mknod_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_mknod_works="guessing no" ;;
           esac
 
 else
@@ -27461,8 +27113,11 @@ cat >>confdefs.h <<_ACEOF
 #define FUNC_NL_LANGINFO_YESEXPR_WORKS $FUNC_NL_LANGINFO_YESEXPR_WORKS
 _ACEOF
 
-    if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \
-        && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
+    if test $HAVE_LANGINFO_CODESET = 1 \
+       && test $HAVE_LANGINFO_T_FMT_AMPM = 1 \
+       && test $HAVE_LANGINFO_ALTMON = 1 \
+       && test $HAVE_LANGINFO_ERA = 1 \
+       && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
       :
     else
       REPLACE_NL_LANGINFO=1
@@ -27758,6 +27413,16 @@ $as_echo "#define GNULIB_TEST_OPENAT 1" >>confdefs.h
 
 
 
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_OPENAT_SAFER 1
+_ACEOF
+
+
+
+
+
   for ac_func in opendir
 do :
   ac_fn_c_check_func "$LINENO" "opendir" "ac_cv_func_opendir"
@@ -28168,10 +27833,12 @@ else
        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" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_readlink_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | 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
@@ -28576,6 +28243,17 @@ int result = 0;
             if (! REG_STARTEND)
               result |= 64;
 
+            /* Matching with the compiled form of this regexp would provoke
+               an assertion failure prior to glibc-2.28:
+                 regexec.c:1375: pop_fail_stack: Assertion 'num >= 0' failed
+               With glibc-2.28, compilation fails and reports the invalid
+               back reference.  */
+            re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+            memset (&regex, 0, sizeof regex);
+            s = re_compile_pattern ("0|()0|\\1|0", 10, &regex);
+            if (!s || strcmp (s, "Invalid back reference"))
+              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
@@ -28734,12 +28412,14 @@ else
     fi
     if test "$cross_compiling" = yes; then :
         case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_rename_slash_dst_works="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_rename_slash_dst_works="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_rename_slash_dst_works="guessing yes" ;;
+                          # Guess no on native Windows.
+         mingw*)          gl_cv_func_rename_slash_dst_works="guessing no" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_rename_slash_dst_works="guessing no" ;;
        esac
 
 else
@@ -28805,12 +28485,14 @@ else
     fi
     if test "$cross_compiling" = yes; then :
         case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
-                 # Guess yes on native Windows.
-         mingw*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_rename_slash_src_works="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_rename_slash_src_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_rename_slash_src_works="guessing yes" ;;
+                          # Guess yes on native Windows.
+         mingw*)          gl_cv_func_rename_slash_src_works="guessing yes" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_rename_slash_src_works="guessing no" ;;
        esac
 
 else
@@ -28874,12 +28556,14 @@ else
            set x `ls -i conftest.f conftest.f1` && test "" = ""; then
          if test "$cross_compiling" = yes; then :
              case "$host_os" in
-                      # Guess yes on glibc systems.
-              *-gnu*) gl_cv_func_rename_link_works="guessing yes" ;;
-                      # Guess yes on native Windows.
-              mingw*) gl_cv_func_rename_link_works="guessing yes" ;;
-                      # If we don't know, assume the worst.
-              *)      gl_cv_func_rename_link_works="guessing no" ;;
+                               # Guess yes on Linux systems.
+              linux-* | linux) gl_cv_func_rename_link_works="guessing yes" ;;
+                               # Guess yes on glibc systems.
+              *-gnu*)          gl_cv_func_rename_link_works="guessing yes" ;;
+                               # Guess yes on native Windows.
+              mingw*)          gl_cv_func_rename_link_works="guessing yes" ;;
+                               # If we don't know, assume the worst.
+              *)               gl_cv_func_rename_link_works="guessing no" ;;
             esac
 
 else
@@ -28957,12 +28641,14 @@ else
       as_fn_error $? "cannot create temporary files" "$LINENO" 5
     if test "$cross_compiling" = yes; then :
         case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_rename_dest_works="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_rename_dest_works="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_rename_dest_works="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_rename_dest_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_rename_dest_works="guessing yes" ;;
+                          # Guess no on native Windows.
+         mingw*)          gl_cv_func_rename_dest_works="guessing no" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_rename_dest_works="guessing no" ;;
        esac
 
 else
@@ -29193,12 +28879,14 @@ else
      touch conftest.file
      if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                  # Guess yes on glibc systems.
-          *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;;
-                  # Guess no on native Windows.
-          mingw*) gl_cv_func_rmdir_works="guessing no" ;;
-                  # If we don't know, assume the worst.
-          *)      gl_cv_func_rmdir_works="guessing no" ;;
+                           # Guess yes on Linux systems.
+          linux-* | linux) gl_cv_func_rmdir_works="guessing yes" ;;
+                           # Guess yes on glibc systems.
+          *-gnu* | gnu*)   gl_cv_func_rmdir_works="guessing yes" ;;
+                           # Guess no on native Windows.
+          mingw*)          gl_cv_func_rmdir_works="guessing no" ;;
+                           # If we don't know, assume the worst.
+          *)               gl_cv_func_rmdir_works="guessing no" ;;
         esac
 
 else
@@ -29569,10 +29257,10 @@ if ${gl_cv_func_setenv_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   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" ;;
+                        # Guess yes on glibc systems.
+         *-gnu* | 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
@@ -29758,44 +29446,7 @@ fi
 
 
 
-    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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <signal.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
-	       { $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
 
 
 
@@ -29918,12 +29569,12 @@ if ${gl_cv_func_sleep_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_sleep_works="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_sleep_works="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_sleep_works="guessing no" ;;
+                        # Guess yes on glibc systems.
+         *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;;
+                        # Guess no on native Windows.
+         mingw*)        gl_cv_func_sleep_works="guessing no" ;;
+                        # If we don't know, assume the worst.
+         *)             gl_cv_func_sleep_works="guessing no" ;;
        esac
 
 else
@@ -30248,10 +29899,12 @@ else
          fi
          if test "$cross_compiling" = yes; then :
   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" ;;
+                               # Guess yes on Linux systems.
+              linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # Guess yes on glibc systems.
+              *-gnu* | 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
@@ -30296,6 +29949,10 @@ $as_echo "$gl_cv_func_stat_file_slash" >&6; }
 $as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
 ;;
       esac
+      case $host_os in
+                solaris*)
+          REPLACE_FSTAT=1 ;;
+      esac
       ;;
   esac
 
@@ -30565,11 +30222,10 @@ fi
   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; }
-  if ${gl_cv_func_va_copy+:} false; then :
+if ${gl_cv_func_va_copy+:} 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 <stdarg.h>
 int
@@ -30590,9 +30246,9 @@ else
   gl_cv_func_va_copy=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_va_copy" >&5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
 $as_echo "$gl_cv_func_va_copy" >&6; }
   if test $gl_cv_func_va_copy = no; then
                                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -30774,19 +30430,49 @@ fi
 
 
   STDDEF_H=
-  ac_fn_c_check_type "$LINENO" "max_align_t" "ac_cv_type_max_align_t" "#include <stddef.h>
 
-"
-if test "x$ac_cv_type_max_align_t" = xyes; then :
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for good max_align_t" >&5
+$as_echo_n "checking for good max_align_t... " >&6; }
+if ${gl_cv_type_max_align_t+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stddef.h>
+            unsigned int s = sizeof (max_align_t);
+            #if defined __GNUC__ || defined __IBM__ALIGNOF__
+            int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
+            int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
+            #endif
+
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_type_max_align_t=yes
 else
-  HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h
+  gl_cv_type_max_align_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_max_align_t" >&5
+$as_echo "$gl_cv_type_max_align_t" >&6; }
+  if test $gl_cv_type_max_align_t = no; then
+    HAVE_MAX_ALIGN_T=0
+    STDDEF_H=stddef.h
+  fi
 
   if test $gt_cv_c_wchar_t = no; then
     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; }
 if ${gl_cv_decl_null_works+:} false; then :
@@ -30819,6 +30505,7 @@ $as_echo "$gl_cv_decl_null_works" >&6; }
     STDDEF_H=stddef.h
   fi
 
+
    if test -n "$STDDEF_H"; then
   GL_GENERATE_STDDEF_H_TRUE=
   GL_GENERATE_STDDEF_H_FALSE='#'
@@ -30993,7 +30680,7 @@ else
        /* For non-mingw systems, compilation will trivially succeed.
           For mingw, compilation will succeed for older mingw (system
           printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
-       #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \
+       #if (defined _WIN32 && ! defined __CYGWIN__) && \
          (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
        extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
        #endif
@@ -31058,44 +30745,7 @@ _ACEOF
 
 
 
-    for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose 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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.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
-	       { $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
 
 
 
@@ -31173,50 +30823,7 @@ $as_echo "$gl_cv_next_stdlib_h" >&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 qsort_r random random_r reallocarray     realpath rpmatch secure_getenv setenv setstate setstate_r srandom     srandom_r 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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#if HAVE_SYS_LOADAVG_H
-# include <sys/loadavg.h>
-#endif
-#if HAVE_RANDOM_H
-# include <random.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
 
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -31516,10 +31123,10 @@ if ${gl_cv_func_working_strerror+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   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" ;;
+                          # Guess yes on glibc systems.
+           *-gnu* | 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
@@ -32176,10 +31783,12 @@ if ${gl_cv_func_symlink_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   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" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | 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
@@ -32266,10 +31875,12 @@ if ${gl_cv_func_symlinkat_works+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_symlinkat_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_symlinkat_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_symlinkat_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_symlinkat_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_symlinkat_works="guessing no" ;;
           esac
 
 else
@@ -32451,44 +32062,7 @@ fi
 
 
 
-    for gl_func in fchmodat fstat 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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(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
-	       { $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
 
 
 
@@ -32743,6 +32317,60 @@ $as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h
 
 
 
+  # Mac OS X 10.6 loops forever with some time_t values.
+  # See Bug#27706, Bug#27736, and
+  # https://lists.gnu.org/r/bug-gnulib/2017-07/msg00142.html
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime loops forever near extrema" >&5
+$as_echo_n "checking whether localtime loops forever near extrema... " >&6; }
+if ${gl_cv_func_localtime_infloop_bug+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gl_cv_func_localtime_infloop_bug=no
+     if test "$cross_compiling" = yes; then :
+  gl_cv_func_localtime_infloop_bug="guessing no"
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+            #include <string.h>
+            #include <unistd.h>
+            #include <time.h>
+
+int
+main ()
+{
+
+            time_t t = -67768038400666600;
+            struct tm *tm;
+            char *tz = getenv ("TZ");
+            if (! (tz && strcmp (tz, "QQQ0") == 0))
+              return 0;
+            alarm (2);
+            tm = localtime (&t);
+            /* Use TM and *TM to suppress over-optimization.  */
+            return tm && tm->tm_isdst;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  (TZ=QQQ0 ./conftest$EXEEXT) >/dev/null 2>&1 ||
+           gl_cv_func_localtime_infloop_bug=yes
+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_localtime_infloop_bug" >&5
+$as_echo "$gl_cv_func_localtime_infloop_bug" >&6; }
+  if test "$gl_cv_func_localtime_infloop_bug" = yes; then
+
+$as_echo "#define HAVE_LOCALTIME_INFLOOP_BUG 1" >>confdefs.h
+
+  fi
+
   ac_fn_c_check_type "$LINENO" "timezone_t" "ac_cv_type_timezone_t" "#include <time.h>
 "
 if test "x$ac_cv_type_timezone_t" = xyes; then :
@@ -32846,12 +32474,12 @@ if ${gl_cv_func_tzset_clobber+:} false; then :
 else
   if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                  # Guess all is fine on glibc systems.
-          *-gnu*) gl_cv_func_tzset_clobber="guessing no" ;;
-                  # Guess no on native Windows.
-          mingw*) gl_cv_func_tzset_clobber="guessing no" ;;
-                  # If we don't know, assume the worst.
-          *)      gl_cv_func_tzset_clobber="guessing yes" ;;
+                         # Guess all is fine on glibc systems.
+          *-gnu* | gnu*) gl_cv_func_tzset_clobber="guessing no" ;;
+                         # Guess no on native Windows.
+          mingw*)        gl_cv_func_tzset_clobber="guessing no" ;;
+                         # If we don't know, assume the worst.
+          *)             gl_cv_func_tzset_clobber="guessing yes" ;;
         esac
 
 else
@@ -33038,56 +32666,7 @@ $as_echo "$gl_cv_next_unistd_h" >&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     truncate 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; }
-if eval \${$as_gl_Symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.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>
-# include <stdio.h>
-# include <stdlib.h>
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-#  include <io.h>
-# endif
-#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
-
-                     eval ac_cv_have_decl_$gl_func=yes
-fi
-      done
 
 
 
@@ -33158,7 +32737,7 @@ fi
             || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
                  && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
                       || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
-                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 6
+                           && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8
                          }
                     }
                }
@@ -33193,12 +32772,14 @@ else
      fi
      if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_unlink_honors_slashes="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_unlink_honors_slashes="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_unlink_honors_slashes="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_unlink_honors_slashes="guessing yes" ;;
+                          # Guess no on native Windows.
+         mingw*)          gl_cv_func_unlink_honors_slashes="guessing no" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_unlink_honors_slashes="guessing no" ;;
        esac
 
 else
@@ -33668,6 +33249,7 @@ $as_echo "#define GNULIB_TEST_UTIME 1" >>confdefs.h
 
 
 
+
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_utime_h='<'utime.h'>'
      else
@@ -33746,14 +33328,19 @@ $as_echo "$gl_cv_next_utime_h" >&6; }
 
 
   UTIME_H=''
-  if test $ac_cv_header_utime_h != yes; then
-        UTIME_H=utime.h
-  else
-    case "$host_os" in
-      mingw*)         UTIME_H=utime.h
-        ;;
-    esac
-  fi
+     if false; then
+              UTIME_H=utime.h
+     else
+       if test $ac_cv_header_utime_h != yes; then
+                  UTIME_H=utime.h
+       else
+         case "$host_os" in
+           mingw*)              UTIME_H=utime.h
+             ;;
+         esac
+       fi
+     fi
+
 
    if test -n "$UTIME_H"; then
   GL_GENERATE_UTIME_H_TRUE=
@@ -33765,44 +33352,7 @@ fi
 
 
 
-    for gl_func in utime; 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 <utime.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
-	       { $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
 
 
 
@@ -33819,10 +33369,12 @@ else
   touch conftest.file
        if test "$cross_compiling" = yes; then :
   case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_futimesat_works="guessing no" ;;
+                            # Guess yes on Linux systems.
+           linux-* | linux) gl_cv_func_futimesat_works="guessing yes" ;;
+                            # Guess yes on glibc systems.
+           *-gnu*)          gl_cv_func_futimesat_works="guessing yes" ;;
+                            # If we don't know, assume the worst.
+           *)               gl_cv_func_futimesat_works="guessing no" ;;
          esac
 
 else
@@ -34459,54 +34011,7 @@ $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 wcsftime     ; 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.  */
-
-/* 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>
-#endif
-#include <wchar.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
-	       { $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
 
 
 
@@ -35120,55 +34625,7 @@ $as_echo "$gl_cv_type_wctrans_t" >&6; }
   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
-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
-	       { $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
 
 
 
@@ -35248,9 +34705,9 @@ else
         if test "$cross_compiling" = yes; then :
 
            case "$host_os" in
-                     # Guess yes on glibc and AIX 7 systems.
-             *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
-             *)                  gl_cv_func_wcwidth_works="guessing no";;
+                                        # Guess yes on glibc and AIX 7 systems.
+             *-gnu* | gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
+             *)                         gl_cv_func_wcwidth_works="guessing no";;
            esac
 
 else
@@ -35324,6 +34781,10 @@ $as_echo "$gl_cv_func_wcwidth_works" >&6; }
 
   gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext"
 
+
+
+  :
+
   fi
 
 
@@ -35450,6 +34911,18 @@ done
   LIBGNU_LTLIBDEPS="$gl_ltlibdeps"
 
 
+
+if test $ac_cv_lib_error_at_line = no; then
+  # This means that the error() function is not present in libc, so
+  # the one from gnulib will be used instead. This function precedes
+  # error messages it prints with the program name as returned by getprogname()
+  # call, instead of using the name set by set_program_name.
+  # Install workaround.
+
+$as_echo "#define ENABLE_ERROR_PRINT_PROGNAME 1" >>confdefs.h
+
+fi
+
 # paxutils modules
 
 
@@ -35511,6 +34984,8 @@ fi
 
 
 
+
+
   # Set LIB_SETSOCKOPT to -lnsl -lsocket if necessary.
   pu_save_LIBS=$LIBS
   LIB_SETSOCKOPT=
@@ -36069,13 +35544,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
             { $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; }
-    if ${gl_cv_cc_nomfi_supported+:} false; then :
+if ${gl_cv_cc_nomfi_supported+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -36092,29 +35566,28 @@ else
   gl_cv_cc_nomfi_supported=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      CFLAGS="$gl_save_CFLAGS"
-fi
+       CFLAGS="$gl_save_CFLAGS"
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5
 $as_echo "$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; }
-      if ${gl_cv_cc_nomfi_needed+:} false; then :
+if ${gl_cv_cc_nomfi_needed+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-        gl_save_CFLAGS="$CFLAGS"
-        CFLAGS="$CFLAGS -W -Werror"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  gl_save_CFLAGS="$CFLAGS"
+         CFLAGS="$CFLAGS -W -Werror"
+         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 int f (void)
-               {
-                 typedef struct { int a; int b; } s_t;
-                 s_t s1 = { 0, };
-                 return s1.b;
-               }
+                {
+                  typedef struct { int a; int b; } s_t;
+                  s_t s1 = { 0, };
+                  return s1.b;
+                }
 
 int
 main ()
@@ -36130,23 +35603,21 @@ else
   gl_cv_cc_nomfi_needed=yes
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-        CFLAGS="$gl_save_CFLAGS"
+         CFLAGS="$gl_save_CFLAGS"
 
 fi
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5
 $as_echo "$gl_cv_cc_nomfi_needed" >&6; }
     fi
 
                 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5
 $as_echo_n "checking whether -Wuninitialized is supported... " >&6; }
-    if ${gl_cv_cc_uninitialized_supported+:} false; then :
+if ${gl_cv_cc_uninitialized_supported+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -Werror -Wuninitialized"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -Werror -Wuninitialized"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -36163,10 +35634,10 @@ else
   gl_cv_cc_uninitialized_supported=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      CFLAGS="$gl_save_CFLAGS"
-fi
+       CFLAGS="$gl_save_CFLAGS"
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5
 $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
 
   fi
@@ -36175,18 +35646,17 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
   # To compare this list to your installed GCC's, run this Bash command:
   #
   # comm -3 \
-  #  <(sed -n 's/^  *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \
-  #  <(gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort |
-  #      grep -v -x -F -f <(
-  #         awk '/^[^#]/ {print ws}' ../build-aux/gcc-warning.spec))
+  #  <((sed -n 's/^  *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \
+  #     awk '/^[^#]/ {print ws}' ../build-aux/gcc-warning.spec) | sort) \
+  #  <(LC_ALL=C gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort)
 
   gl_manywarn_set=
   for gl_manywarn_item in -fno-common \
     -W \
-    -Wabi \
     -Waddress \
     -Waggressive-loop-optimizations \
     -Wall \
+    -Wattribute-alias \
     -Wattributes \
     -Wbad-function-cast \
     -Wbool-compare \
@@ -36194,8 +35664,9 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wbuiltin-declaration-mismatch \
     -Wbuiltin-macro-redefined \
     -Wcast-align \
+    -Wcast-align=strict \
+    -Wcast-function-type \
     -Wchar-subscripts \
-    -Wchkp \
     -Wclobbered \
     -Wcomment \
     -Wcomments \
@@ -36229,6 +35700,7 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wframe-address \
     -Wfree-nonheap-object \
     -Whsa \
+    -Wif-not-aligned \
     -Wignored-attributes \
     -Wignored-qualifiers \
     -Wimplicit \
@@ -36242,7 +35714,6 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wint-to-pointer-cast \
     -Winvalid-memory-model \
     -Winvalid-pch \
-    -Wjump-misses-init \
     -Wlogical-not-parentheses \
     -Wlogical-op \
     -Wmain \
@@ -36250,6 +35721,7 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wmemset-elt-size \
     -Wmemset-transposed-args \
     -Wmisleading-indentation \
+    -Wmissing-attributes \
     -Wmissing-braces \
     -Wmissing-declarations \
     -Wmissing-field-initializers \
@@ -36257,6 +35729,7 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wmissing-parameter-type \
     -Wmissing-prototypes \
     -Wmultichar \
+    -Wmultistatement-macros \
     -Wnarrowing \
     -Wnested-externs \
     -Wnonnull \
@@ -36271,6 +35744,7 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Woverride-init \
     -Wpacked \
     -Wpacked-bitfield-compat \
+    -Wpacked-not-aligned \
     -Wparentheses \
     -Wpointer-arith \
     -Wpointer-compare \
@@ -36288,20 +35762,23 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
     -Wshift-count-overflow \
     -Wshift-negative-value \
     -Wsizeof-array-argument \
+    -Wsizeof-pointer-div \
     -Wsizeof-pointer-memaccess \
     -Wstack-protector \
     -Wstrict-aliasing \
     -Wstrict-overflow \
     -Wstrict-prototypes \
+    -Wstringop-truncation \
+    -Wsuggest-attribute=cold \
     -Wsuggest-attribute=const \
     -Wsuggest-attribute=format \
+    -Wsuggest-attribute=malloc \
     -Wsuggest-attribute=noreturn \
     -Wsuggest-attribute=pure \
     -Wsuggest-final-methods \
     -Wsuggest-final-types \
     -Wswitch \
     -Wswitch-bool \
-    -Wswitch-default \
     -Wswitch-unreachable \
     -Wsync-nand \
     -Wsystem-headers \
@@ -37139,6 +36616,22 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+
+
+
+# Check whether --with-zstd was given.
+if test "${with_zstd+set}" = set; then :
+  withval=$with_zstd; tar_cv_compressor_zstd=${withval}
+else
+  tar_cv_compressor_zstd=zstd
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define ZSTD_PROGRAM "$tar_cv_compressor_zstd"
+_ACEOF
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default archive format" >&5
 $as_echo_n "checking for default archive format... " >&6; }
 
@@ -37468,17 +36961,243 @@ fi
 
 
 
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5
-$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; }
-if ${acl_cv_libdirstems+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5
+$as_echo_n "checking 32-bit host C ABI... " >&6; }
+if ${gl_cv_host_cpu_c_abi_32bit+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  acl_libdirstem=lib
-     acl_libdirstem2=
-     case "$host_os" in
-       solaris*)
-                                                      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+  if test -n "$gl_cv_host_cpu_c_abi"; then
+       case "$gl_cv_host_cpu_c_abi" in
+         i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+           gl_cv_host_cpu_c_abi_32bit=yes ;;
+         *)
+           gl_cv_host_cpu_c_abi_32bit=no ;;
+       esac
+     else
+       case "$host_cpu" in
+
+         i[4567]86 )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         x86_64 )
+           # On x86_64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
+           # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
+           #   with native Windows (mingw, MSVC).
+           # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if (defined __x86_64__ || defined __amd64__ \
+                       || defined _M_X64 || defined _M_AMD64) \
+                      && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         arm* | aarch64 )
+           # Assume arm with EABI.
+           # On arm64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
+           # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
+           # On hppa, the C compiler may be generating 32-bit code or 64-bit
+           # code. In the latter case, it defines _LP64 and __LP64__.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __LP64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         ia64* )
+           # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
+           # 32-bit code. In the latter case, it defines _ILP32.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=yes
+else
+  gl_cv_host_cpu_c_abi_32bit=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         mips* )
+           # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+           # at 32.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         powerpc* )
+           # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
+           # No need to distinguish them here; the caller may distinguish
+           # them based on the OS.
+           # On powerpc64 systems, the C compiler may still be generating
+           # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
+           # be generating 64-bit code.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __powerpc64__ || defined _ARCH_PPC64
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         rs6000 )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         riscv32 | riscv64 )
+           # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+           # Size of 'long' and 'void *':
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __LP64__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         s390* )
+           # On s390x, the C compiler may be generating 64-bit (= s390x) code
+           # or 31-bit (= s390) code.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __LP64__ || defined __s390x__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         sparc | sparc64 )
+           # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+           # C compiler still generates 32-bit code.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined __sparcv9 || defined __arch64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_host_cpu_c_abi_32bit=no
+else
+  gl_cv_host_cpu_c_abi_32bit=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+           ;;
+
+         *)
+           gl_cv_host_cpu_c_abi_32bit=no
+           ;;
+       esac
+     fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5
+$as_echo "$gl_cv_host_cpu_c_abi_32bit" >&6; }
+
+  HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
+
+
+
+
+
+  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; }
 if ${gl_cv_solaris_64bit+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -37486,10 +37205,10 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef _LP64
-                    int ok;
-                   #else
-                    error fail
-                   #endif
+                 int ok;
+                #else
+                 error fail
+                #endif
 
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
@@ -37501,8 +37220,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
-$as_echo "$gl_cv_solaris_64bit" >&6; }
-         if test $gl_cv_solaris_64bit = yes; then
+$as_echo "$gl_cv_solaris_64bit" >&6; };;
+  esac
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5
+$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; }
+if ${acl_cv_libdirstems+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  acl_libdirstem=lib
+     acl_libdirstem2=
+     case "$host_os" in
+       solaris*)
+                                                      if test $gl_cv_solaris_64bit = yes; then
            acl_libdirstem=lib/64
            case "$host_cpu" in
              sparc*)        acl_libdirstem2=lib/sparcv9 ;;
@@ -37511,37 +37241,33 @@ $as_echo "$gl_cv_solaris_64bit" >&6; }
          fi
          ;;
        *)
-                           case "$gl_cv_host_cpu_c_abi" in
-           i386 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | s390 | sparc)
-             ;;
-           *) # x86_64 | arm64 | hppa64 | ia64 | mips64 | powerpc64* | s390x | sparc64 | ...
-                                                    searchpath=`(if test -f /usr/bin/gcc \
-                             && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
-                            LC_ALL=C /usr/bin/gcc -print-search-dirs; \
-                          else \
-                            LC_ALL=C $CC -print-search-dirs; \
-                          fi) 2>/dev/null \
-                         | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-             if test -n "$searchpath"; then
-               acl_save_IFS="${IFS= 	}"; IFS=":"
-               for searchdir in $searchpath; do
-                 if test -d "$searchdir"; then
-                   case "$searchdir" in
-                     */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-                     */../ | */.. )
-                       # Better ignore directories of this form. They are misleading.
-                       ;;
-                     *) searchdir=`cd "$searchdir" && pwd`
-                        case "$searchdir" in
-                          */lib64 ) acl_libdirstem=lib64 ;;
-                        esac ;;
-                   esac
-                 fi
-               done
-               IFS="$acl_save_IFS"
-             fi
-             ;;
-         esac
+                           if test "$HOST_CPU_C_ABI_32BIT" != yes; then
+                                            searchpath=`(if test -f /usr/bin/gcc \
+                           && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
+                          LC_ALL=C /usr/bin/gcc -print-search-dirs; \
+                        else \
+                          LC_ALL=C $CC -print-search-dirs; \
+                        fi) 2>/dev/null \
+                       | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+           if test -n "$searchpath"; then
+             acl_save_IFS="${IFS= 	}"; IFS=":"
+             for searchdir in $searchpath; do
+               if test -d "$searchdir"; then
+                 case "$searchdir" in
+                   */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+                   */../ | */.. )
+                     # Better ignore directories of this form. They are misleading.
+                     ;;
+                   *) searchdir=`cd "$searchdir" && pwd`
+                      case "$searchdir" in
+                        */lib64 ) acl_libdirstem=lib64 ;;
+                      esac ;;
+                 esac
+               fi
+             done
+             IFS="$acl_save_IFS"
+           fi
+         fi
          ;;
      esac
      test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
@@ -37564,7 +37290,6 @@ $as_echo "$acl_cv_libdirstems" >&6; }
 
 
 
-
     use_additional=yes
 
   acl_save_prefix="$prefix"
@@ -37602,7 +37327,7 @@ if test "${with_libiconv_prefix+set}" = set; then :
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
         if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
+           && test ! -d "$withval/$acl_libdirstem"; then
           additional_libdir="$withval/$acl_libdirstem2"
         fi
       fi
@@ -38024,7 +37749,6 @@ fi
 
 
 
-
           am_save_CPPFLAGS="$CPPFLAGS"
 
   for element in $INCICONV; do
@@ -38730,9 +38454,6 @@ $as_echo "no" >&6; }
 fi
 
 
-        test -n "$localedir" || localedir='${datadir}/locale'
-
-
     test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
 
 
@@ -38830,9 +38551,45 @@ $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
 
 $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
 
+  fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyPreferredLanguages" >&5
+$as_echo_n "checking for CFLocaleCopyPreferredLanguages... " >&6; }
+if ${gt_cv_func_CFLocaleCopyPreferredLanguages+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <CoreFoundation/CFLocale.h>
+int
+main ()
+{
+CFLocaleCopyPreferredLanguages();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gt_cv_func_CFLocaleCopyPreferredLanguages=yes
+else
+  gt_cv_func_CFLocaleCopyPreferredLanguages=no
+fi
+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_CFLocaleCopyPreferredLanguages" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyPreferredLanguages" >&6; }
+  if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
+
+$as_echo "#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1" >>confdefs.h
+
   fi
   INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
+     || test $gt_cv_func_CFLocaleCopyCurrent = yes \
+     || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
     INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
   fi
 
@@ -39193,7 +38950,6 @@ $as_echo "$LIBICONV" >&6; }
 
 
 
-
     use_additional=yes
 
   acl_save_prefix="$prefix"
@@ -39231,7 +38987,7 @@ if test "${with_libintl_prefix+set}" = set; then :
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
         if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
+           && test ! -d "$withval/$acl_libdirstem"; then
           additional_libdir="$withval/$acl_libdirstem2"
         fi
       fi
@@ -39647,7 +39403,6 @@ fi
 
 
 
-
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
 $as_echo_n "checking for GNU gettext in libintl... " >&6; }
 if eval \${$gt_func_gnugettext_libintl+:} false; then :
@@ -40028,6 +39783,10 @@ if test -z "${GL_GENERATE_FNMATCH_H_TRUE}" && test -z "${GL_GENERATE_FNMATCH_H_F
   as_fn_error $? "conditional \"GL_GENERATE_FNMATCH_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
+fi
 if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
   as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -40522,7 +40281,7 @@ 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 tar $as_me 1.30, which was
+This file was extended by GNU tar $as_me 1.32, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -40590,7 +40349,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GNU tar config.status 1.30
+GNU tar config.status 1.32
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -40711,9 +40470,8 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 # Capture the value of obsolete ALL_LINGUAS because we need it to compute
-    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
-    # from automake < 1.5.
-    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS.
+    OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS"
     # Capture the value of LINGUAS because we need it to compute CATALOGS.
     LINGUAS="${LINGUAS-%UNSET%}"
 
@@ -41466,14 +41224,11 @@ $as_echo X"$file" |
             if test -n "$OBSOLETE_ALL_LINGUAS"; then
               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 assignment from automake < 1.5.
-            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
           else
             # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assignment from automake < 1.5.
-            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+            ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS
           fi
           # Compute POFILES
           # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
diff --git a/configure.ac b/configure.ac
index 0bddbeb6..75fb2e4f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 # Configure template for GNU tar.  -*- autoconf -*-
 
-# Copyright 1991, 1994-2010, 2013-2017 Free Software Foundation, Inc.
+# Copyright 1991, 1994-2010, 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -17,7 +17,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_INIT([GNU tar], [1.30], [bug-tar@gnu.org])
+AC_INIT([GNU tar], [1.32], [bug-tar@gnu.org])
 AC_CONFIG_SRCDIR([src/tar.c])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h])
@@ -102,6 +102,18 @@ gt_TYPE_SSIZE_T
 
 # gnulib modules
 gl_INIT
+
+if test $ac_cv_lib_error_at_line = no; then
+  # This means that the error() function is not present in libc, so
+  # the one from gnulib will be used instead. This function precedes
+  # error messages it prints with the program name as returned by getprogname()
+  # call, instead of using the name set by set_program_name.
+  # Install workaround.
+  AC_DEFINE([ENABLE_ERROR_PRINT_PROGNAME],[1],
+            [Enable the use of error_print_progname to print program name with error messages.
+	     See comment to function tar_print_progname in src/tar.c])
+fi  
+
 # paxutils modules
 tar_PAXUTILS
 
@@ -250,6 +262,7 @@ TAR_COMPR_PROGRAM(lzip)
 TAR_COMPR_PROGRAM(lzma)
 TAR_COMPR_PROGRAM(lzop)
 TAR_COMPR_PROGRAM(xz)
+TAR_COMPR_PROGRAM(zstd)
 
 AC_MSG_CHECKING(for default archive format)
 
diff --git a/doc/Makefile.am b/doc/Makefile.am
index cb69b743..7ac68081 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,7 +1,6 @@
 # Makefile for GNU tar documentation.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013-2014, 2016-2017
-# Free Software Foundation, Inc.
+# Copyright 1994-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/doc/Makefile.in b/doc/Makefile.in
index b30772ea..572d5c70 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,8 +16,7 @@
 
 # Makefile for GNU tar documentation.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013-2014, 2016-2017
-# Free Software Foundation, Inc.
+# Copyright 1994-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -34,7 +33,17 @@
 # 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__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -97,15 +106,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(tar_TEXINFOS) $(top_srcdir)/build-aux/mdate-sh \
-	$(srcdir)/version.texi $(srcdir)/stamp-vti \
-	$(top_srcdir)/build-aux/texinfo.tex $(dist_man_MANS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+	$(top_srcdir)/m4/__inline.m4 \
 	$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
 	$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
-	$(top_srcdir)/m4/asm-underscore.m4 \
 	$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
 	$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
 	$(top_srcdir)/m4/canonicalize.m4 \
@@ -125,11 +130,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/extern-inline.m4 \
 	$(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
 	$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
-	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
-	$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
-	$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
-	$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
-	$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
+	$(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+	$(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fileblocks.m4 \
+	$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
+	$(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+	$(top_srcdir)/m4/fnmatch_h.m4 $(top_srcdir)/m4/fpending.m4 \
 	$(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \
 	$(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \
 	$(top_srcdir)/m4/futimens.m4 \
@@ -143,7 +149,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
 	$(top_srcdir)/m4/gnulib-comp.m4 \
 	$(top_srcdir)/m4/group-member.m4 \
-	$(top_srcdir)/m4/hard-locale.m4 \
 	$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/human.m4 \
 	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
 	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
@@ -238,6 +243,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \
+	$(srcdir)/stamp-vti $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -335,6 +342,9 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(dist_man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \
+	$(tar_TEXINFOS) $(top_srcdir)/build-aux/mdate-sh \
+	$(top_srcdir)/build-aux/texinfo.tex
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -426,6 +436,7 @@ GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
 GNULIB_FGETC = @GNULIB_FGETC@
 GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FNMATCH = @GNULIB_FNMATCH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
 GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -458,6 +469,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -474,6 +486,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
 GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -712,6 +725,7 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -735,6 +749,9 @@ HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FNMATCH = @HAVE_FNMATCH@
+HAVE_FNMATCH_H = @HAVE_FNMATCH_H@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -747,13 +764,16 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -786,6 +806,7 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OPENDIR = @HAVE_OPENDIR@
@@ -856,7 +877,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_TRUNCATE = @HAVE_TRUNCATE@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
@@ -911,8 +931,6 @@ HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
-HOST_CPU = @HOST_CPU@
-HOST_CPU_C_ABI = @HOST_CPU_C_ABI@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -957,6 +975,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 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_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_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@
@@ -984,6 +1003,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_FNMATCH_H = @NEXT_FNMATCH_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
@@ -1044,9 +1064,11 @@ REPLACE_FCNTL = @REPLACE_FCNTL@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FNMATCH = @REPLACE_FNMATCH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1064,6 +1086,7 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ISATTY = @REPLACE_ISATTY@
@@ -1094,6 +1117,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1315,7 +1339,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits doc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1388,15 +1411,16 @@ $(srcdir)/stamp-vti: tar.texi $(top_srcdir)/configure
 	echo "@set UPDATED $$1 $$2 $$3"; \
 	echo "@set UPDATED-MONTH $$2 $$3"; \
 	echo "@set EDITION $(VERSION)"; \
-	echo "@set VERSION $(VERSION)") > vti.tmp
-	@cmp -s vti.tmp $(srcdir)/version.texi \
-	  || (echo "Updating $(srcdir)/version.texi"; \
-	      cp vti.tmp $(srcdir)/version.texi)
-	-@rm -f vti.tmp
+	echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \
+	(cmp -s vti.tmp$$$$ $(srcdir)/version.texi \
+	  || (echo "Updating $(srcdir)/version.texi" && \
+	      cp vti.tmp$$$$ $(srcdir)/version.texi.tmp$$$$ && \
+	      mv $(srcdir)/version.texi.tmp$$$$ $(srcdir)/version.texi)) && \
+	rm -f vti.tmp$$$$ $(srcdir)/version.texi.$$$$
 	@cp $(srcdir)/version.texi $@
 
 mostlyclean-vti:
-	-rm -f vti.tmp
+	-rm -f vti.tmp* $(srcdir)/version.texi.tmp*
 
 maintainer-clean-vti:
 	-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
@@ -1835,6 +1859,8 @@ uninstall-man: uninstall-man1 uninstall-man8
 	uninstall-html-am uninstall-info-am uninstall-man \
 	uninstall-man1 uninstall-man8 uninstall-pdf-am uninstall-ps-am
 
+.PRECIOUS: Makefile
+
 
 header.texi: $(top_srcdir)/src/tar.h
 	sed -f $(srcdir)/texify.sed $(top_srcdir)/src/tar.h \
diff --git a/doc/dumpdir.texi b/doc/dumpdir.texi
index 7000e9b1..4a578175 100644
--- a/doc/dumpdir.texi
+++ b/doc/dumpdir.texi
@@ -1,6 +1,5 @@
 @c This is part of the paxutils manual.
-@c Copyright (C) 2006-2007, 2014, 2016-2017 Free Software Foundation,
-@c Inc.
+@c Copyright (C) 2006-2019 Free Software Foundation, Inc.
 @c Written by Sergey Poznyakoff
 @c This file is distributed under GFDL 1.1 or any later version
 @c published by the Free Software Foundation.
diff --git a/doc/fdl.texi b/doc/fdl.texi
index e89851d5..d1b4b8b3 100644
--- a/doc/fdl.texi
+++ b/doc/fdl.texi
@@ -5,8 +5,7 @@
 @c hence no sectioning command or @node.
 
 @display
-Copyright @copyright{} 2000-2002, 2007-2008, 2014, 2016-2017 Free
-Software Foundation, Inc.
+Copyright @copyright{} 2000-2019 Free Software Foundation, Inc.
 @uref{http://fsf.org/}
 
 Everyone is permitted to copy and distribute verbatim copies
diff --git a/doc/gendocs_template b/doc/gendocs_template
index 7600a89e..55e9b3e2 100755
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -106,7 +106,7 @@ Please send broken links and other corrections (or suggestions) to
 </p>
 
 <p>
-Copyright 2004, 2013-2014, 2016-2017 Free Software Foundation, Inc.,
+Copyright 2004-2019 Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA
 <br />
 Verbatim copying and distribution of this entire article is
diff --git a/doc/genfile.texi b/doc/genfile.texi
index 58aa593a..f65ecc38 100644
--- a/doc/genfile.texi
+++ b/doc/genfile.texi
@@ -1,5 +1,5 @@
 @c This is part of the paxutils manual.
-@c Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+@c Copyright (C) 2005, 2006, 2009, 2108 Free Software Foundation, Inc.
 @c Written by Sergey Poznyakoff
 @c This file is distributed under GFDL 1.1 or any later version
 @c published by the Free Software Foundation.
@@ -283,13 +283,43 @@ genfile --stat=name,atime *
 
 @cindex Exec Mode, @command{genfile}
     This mode is designed for testing the behavior of @code{paxutils}
-commands when some of the files change during archiving. It is an
-experimental mode.
-
-    The @samp{Exec Mode} is toggled by @option{--run} command line
-option (or its alias @option{-r}). The non-optional arguments to
-@command{getopt} give the command line to be executed. Normally,
-it should contain at least the @option{--checkpoint} option.
+commands when some of the files change during archiving. It supposes
+that the command being executed supports @option{--checkpoint} and
+@option{--checkpoint-action} options (@pxref{checkpoints,
+Checkpoints,,tar,GNU tar}).
+
+    The @samp{Exec Mode} is enabled by @option{--run} command line
+option (or its alias @option{-r}). The non-optional arguments
+supply the command line to be executed. @command{Genfile} modifies
+this command line by inserting the following options between the
+command name and first argument:
+
+@example
+--checkpoint=@var{n}
+--checkpoint-action "echo=genfile checkpoint %u"
+--checkpoint-action "wait=SIGUSR1"
+@end example
+
+    Here, @var{n} stands for the checkpoint granularity (for GNU
+@command{tar}, it is the number of archive records read or written
+between each pair of checkpoints).  The default value is 1.  This
+value can be changed using the optional argument to the @option{--run}
+option.  For example, to run actions on each 10th checkpoint:
+
+@example
+genfile --run=10 ...
+@end example
+
+    If the command line contains options, it must be preceded by a
+double-dash (@samp{--}), which will prevent these options from being
+interpreted by @command{genfile} itself.  For example:
+
+@example
+genfile --run --checkpoint=2 --truncate foo -- tar -c -f a.tar .
+@end example
+
+    Notice also, that when running @command{tar}, its command line may
+not contain traditional options (cluster of letters without dash).    
 
     A set of options is provided for defining checkpoint values and
 actions to be executed upon reaching them. Checkpoint values are
@@ -334,36 +364,6 @@ connected to descriptor 1. All messages it prints to file descriptor
 2, except checkpoint notifications, are forwarded to standard
 error.
 
-    @command{Genfile} exits with the exit status of the executed command.
-
-    For compatibility with previous @command{genfile} versions, the
-@option{--run} option takes an optional argument. If used this way,
-its argument supplies the command line to be executed. There should
-be no non-optional arguments in the @command{genfile} command line.
-
-    The actual command line is constructed by inserting
-the @option{--checkpoint} option between the command name and its
-first argument (if any). Due to this, the argument to @option{--run}
-may not use traditional @command{tar} option syntax, i.e., the
-following is wrong:
-
-@smallexample
-# Wrong!
-genfile --run='tar cf foo bar'
-@end smallexample
-
-@noindent
-
-Use the following syntax instead:
-
-@smallexample
-genfile --run='tar -cf foo bar' @var{actions}...
-@end smallexample
-
-The above command line is equivalent to
-
-@smallexample
-genfile @var{actions}... -- tar -cf foo bar
-@end smallexample
+    In exec mode, @command{genfile} exits with the exit status of the
+executed command.
 
-Notice, that the use of compatibility mode is deprecated.
diff --git a/doc/header.texi b/doc/header.texi
index 7c303d5f..a4c433f8 100644
--- a/doc/header.texi
+++ b/doc/header.texi
@@ -1,7 +1,6 @@
 @comment  GNU tar Archive Format description.
 @comment
-@comment   Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014,
-@comment   2016-2017 Free Software Foundation, Inc.
+@comment   Copyright 1988-2019 Free Software Foundation, Inc.
 @comment
 @comment   This file is part of GNU tar.
 @comment
diff --git a/doc/intern.texi b/doc/intern.texi
index bfb7c37c..bc4abd72 100644
--- a/doc/intern.texi
+++ b/doc/intern.texi
@@ -1,5 +1,5 @@
 @c This is part of the paxutils manual.
-@c Copyright (C) 2006, 2014, 2016-2017 Free Software Foundation, Inc.
+@c Copyright (C) 2006-2019 Free Software Foundation, Inc.
 @c This file is distributed under GFDL 1.1 or any later version
 @c published by the Free Software Foundation.
 
diff --git a/doc/mastermenu.el b/doc/mastermenu.el
index d7dfb003..db2d4a92 100644
--- a/doc/mastermenu.el
+++ b/doc/mastermenu.el
@@ -1,7 +1,6 @@
 ;;; mastermenu.el --- Redefinition of texinfo-master-menu-list
 
-;; Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-;; Inc.
+;; Copyright 2006-2019 Free Software Foundation, Inc.
 
 ;; Author: Sergey Poznyakoff
 ;; Maintainer: bug-tar@gnu.org
diff --git a/doc/parse-datetime.texi b/doc/parse-datetime.texi
index 9568a4a4..193575ed 100644
--- a/doc/parse-datetime.texi
+++ b/doc/parse-datetime.texi
@@ -1,6 +1,6 @@
 @c GNU date syntax documentation
 
-@c Copyright (C) 1994-2006, 2009-2017 Free Software Foundation, Inc.
+@c Copyright (C) 1994-2006, 2009-2019 Free Software Foundation, Inc.
 
 @c Permission is granted to copy, distribute and/or modify this document
 @c under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/doc/recipes.texi b/doc/recipes.texi
index da259da3..d4def4a9 100644
--- a/doc/recipes.texi
+++ b/doc/recipes.texi
@@ -1,5 +1,5 @@
 @c This is part of the GNU tar manual.
-@c Copyright (C) 2017 Free Software Foundation, Inc.
+@c Copyright (C) 2017-2019 Free Software Foundation, Inc.
 @c This file is distributed under GFDL 1.3 or any later version
 @c published by the Free Software Foundation.
 
diff --git a/doc/rendition.texi b/doc/rendition.texi
index 77459937..1eb81c67 100644
--- a/doc/rendition.texi
+++ b/doc/rendition.texi
@@ -1,6 +1,5 @@
 @c This is part of GNU tar manual.
-@c Copyright 1992, 1994-1997, 1999-2004, 2006, 2013-2014, 2016-2017 Free
-@c Software Foundation, Inc.
+@c Copyright 1992-2019 Free Software Foundation, Inc.
 @c See file tar.texi for copying conditions.
 
 @c This file contains support for 'renditions' by Fran@,{c}ois Pinard
diff --git a/doc/rmt.8 b/doc/rmt.8
index 75502771..574352e2 100644
--- a/doc/rmt.8
+++ b/doc/rmt.8
@@ -1,5 +1,5 @@
 .\" This file is part of GNU tar. -*- nroff -*-
-.\" Copyright 2013 Free Software Foundation, Inc.
+.\" Copyright 2013, 2018 Free Software Foundation, Inc.
 .\"
 .\" GNU tar is free software; you can redistribute it and/or modify
 .\" it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
 .\"
 .\" You should have received a copy of the GNU General Public License
 .\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
-.TH RMT 1 "January 27, 2014" "RMT" "GNU TAR Manual"
+.TH RMT 8 "March 24, 2018" "RMT" "GNU TAR Manual"
 .SH NAME
 rmt \- remote magnetic tape server
 .SH SYNOPSIS
@@ -237,7 +237,7 @@ command appeared in 4.2BSD.  The GNU
 .BR rmt
 is written from scratch, using the BSD specification.
 .SH COPYRIGHT
-Copyright \(co 2013 Free Software Foundation, Inc.
+Copyright \(co 2013, 2018 Free Software Foundation, Inc.
 .br
 .na
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
diff --git a/doc/snapshot.texi b/doc/snapshot.texi
index 8ebfb781..fe2cf31b 100644
--- a/doc/snapshot.texi
+++ b/doc/snapshot.texi
@@ -1,6 +1,5 @@
 @c This is part of the paxutils manual.
-@c Copyright (C) 2005, 2007, 2014, 2016-2017 Free Software Foundation,
-@c Inc.
+@c Copyright (C) 2005-2019 Free Software Foundation, Inc.
 @c Written by Sergey Poznyakoff
 @c This file is distributed under GFDL 1.1 or any later version
 @c published by the Free Software Foundation.
@@ -147,7 +146,7 @@ is compiled.  To see the specific ranges allowed for a particular
 @option{--show-snapshot-field-ranges} option:
 
 @smallexample
-$ @kbd{tar --show-shapshot-field-ranges}
+$ @kbd{tar --show-snapshot-field-ranges}
 This tar's snapshot file field ranges are
    (field name      => [ min, max ]):
 
diff --git a/doc/sparse.texi b/doc/sparse.texi
index 84fe2b0c..9cf14b94 100644
--- a/doc/sparse.texi
+++ b/doc/sparse.texi
@@ -1,5 +1,5 @@
 @c This is part of the paxutils manual.
-@c Copyright (C) 2006, 2014, 2016-2017 Free Software Foundation, Inc.
+@c Copyright (C) 2006-2019 Free Software Foundation, Inc.
 @c This file is distributed under GFDL 1.1 or any later version
 @c published by the Free Software Foundation.
 
@@ -218,12 +218,12 @@ The real name of the sparse file is stored in the variable
 variable @code{GNU.sparse.realsize}.
 
 The sparse map itself is stored in the file data block, preceding the actual
-file data.  It consists of a series of octal numbers of arbitrary length, delimited
+file data.  It consists of a series of decimal numbers delimited
 by newlines. The map is padded with nulls to the nearest block boundary.
 
-The first number gives the number of entries in the map. Following are map entries,
-each one consisting of two numbers giving the offset and size of the
-data block it describes.
+The first number gives the number of entries in the map. Following are
+map entries, each one consisting of two numbers giving the offset and
+size of the data block it describes.
 
 The format is designed in such a way that non-posix aware @command{tar}s and @command{tar}s not
 supporting @code{GNU.sparse.*} keywords will extract each sparse file
diff --git a/doc/stamp-vti b/doc/stamp-vti
index 0b311612..1b3ab5e4 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 16 December 2017
-@set UPDATED-MONTH December 2017
-@set EDITION 1.30
-@set VERSION 1.30
+@set UPDATED 4 February 2019
+@set UPDATED-MONTH February 2019
+@set EDITION 1.32
+@set VERSION 1.32
diff --git a/doc/tar-snapshot-edit.texi b/doc/tar-snapshot-edit.texi
index e8e77726..85f58cec 100644
--- a/doc/tar-snapshot-edit.texi
+++ b/doc/tar-snapshot-edit.texi
@@ -1,5 +1,5 @@
 @c This is part of the paxutils manual.
-@c Copyright (C) 2007, 2014, 2016-2017 Free Software Foundation, Inc.
+@c Copyright (C) 2007-2019 Free Software Foundation, Inc.
 @c This file is distributed under GFDL 1.1 or any later version
 @c published by the Free Software Foundation.
 
diff --git a/doc/tar.1 b/doc/tar.1
index ddf4fdcf..0ad69b74 100644
--- a/doc/tar.1
+++ b/doc/tar.1
@@ -1,5 +1,5 @@
 .\" This file is part of GNU tar. -*- nroff -*-
-.\" Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+.\" Copyright 2013-2019 Free Software Foundation, Inc.
 .\"
 .\" GNU tar is free software; you can redistribute it and/or modify
 .\" it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
 .\"
 .\" You should have received a copy of the GNU General Public License
 .\" along with this program.  If not, see <http://www.gnu.org/licenses/>.
-.TH TAR 1 "November 16, 2017" "TAR" "GNU TAR Manual"
+.TH TAR 1 "February 4, 2019" "TAR" "GNU TAR Manual"
 .SH NAME
 tar \- an archiving utility
 .SH SYNOPSIS
@@ -111,7 +111,7 @@ into the archive file
 verbosely listing the files being archived:
 .PP
 .EX
-.B tar cfv a.tar /etc
+.B tar cfv etc.tar /etc
 .EE
 .PP
 In
@@ -133,9 +133,9 @@ The example command above written in the
 could look like:
 .PP
 .EX
-.B tar -cvf a.tar /etc
+.B tar -cvf etc.tar /etc
 or
-.B tar -c -v -f a.tar /etc
+.B tar -c -v -f etc.tar /etc
 .EE
 .PP
 In
@@ -152,11 +152,11 @@ method.
 Here are several ways of writing the example command in this style:
 .PP
 .EX
-.B tar --create --file a.tar --verbose /etc
+.B tar --create --file etc.tar --verbose /etc
 .EE
 or (abbreviating some options):
 .EX
-.B tar --cre --file=a.tar --verb /etc
+.B tar --cre --file=etc.tar --verb /etc
 .EE
 .PP
 The options in all three styles can be intermixed, although doing so
@@ -256,7 +256,7 @@ exist when creating an archive, it will be created and all files will
 be added to the resulting archive (the \fBlevel 0\fR dump).  To create
 incremental archives of non-zero level \fBN\fR, create a copy of the
 snapshot file created during the level \fBN-1\fR, and use it as
-\fIFILE\fR. 
+\fIFILE\fR.
 
 When listing or extracting, the actual contents of \fIFILE\fR is not
 inspected, it is needed only due to syntactical requirements.  It is
@@ -287,7 +287,7 @@ effect only if the archive is open for reading (e.g. with
 .B \-\-list
 or
 .B \-\-extract
-options).		    
+options).
 .TP
 \fB\-\-no\-check\-device\fR
 Do not check device numbers when creating incremental archives.
@@ -383,7 +383,7 @@ Extract files to standard output.
 Pipe extracted files to \fICOMMAND\fR.  The argument is the pathname
 of an external program, optionally with command line arguments.  The
 program will be invoked and the contents of the file being extracted
-supplied to it on its standard output.  Additional data will be
+supplied to it on its standard input.  Additional data will be
 supplied via the following environment variables:
 .RS
 .TP
@@ -465,7 +465,7 @@ Format of the archive being processed.  One of:
 .BR v7 .
 .B TAR_SUBCOMMAND
 A short option (with a leading dash) describing the operation \fBtar\fR is
-executing. 
+executing.
 .RE
 .SS Handling of file attributes
 .TP
@@ -562,9 +562,6 @@ stored in archive with owner name \fINEWUSR\fR and UID \fINEWUID\fR.
 \fB\-p\fR, \fB\-\-preserve\-permissions\fR, \fB\-\-same\-permissions\fR
 extract information about file permissions (default for superuser)
 .TP
-\fB\-\-preserve\fR
-Same as both \fB\-p\fR and \fB\-s\fR.
-.TP
 \fB\-\-same\-owner\fR
 Try extracting files with the same ownership as exists in the archive
 (default for superuser).
@@ -694,7 +691,7 @@ executing.
 .B TAR_FD
 File descriptor which can be used to communicate the new volume name
 to
-.BR tar .  
+.BR tar .
 .RE
 .RS
 
@@ -732,7 +729,7 @@ When this option is used in conjunction with
 .BR \-\-multi\-volume ,
 .B tar
 will keep track of which volume of a multi-volume archive it is
-working in \fIFILE\fR. 
+working in \fIFILE\fR.
 .SS Device blocking
 .TP
 \fB\-b\fR, \fB\-\-blocking\-factor\fR=\fIBLOCKS\fR
@@ -740,7 +737,7 @@ Set record size to \fIBLOCKS\fRx\fB512\fR bytes.
 .TP
 \fB\-B\fR, \fB\-\-read\-full\-records\fR
 When listing or extracting, accept incomplete input records after
-end-of-file marker.  
+end-of-file marker.
 .TP
 \fB\-i\fR, \fB\-\-ignore\-zeros\fR
 Ignore zeroed blocks in archive.  Normally two consecutive 512-blocks
@@ -831,6 +828,10 @@ Filter the archive through
 \fB\-Z\fR, \fB\-\-compress\fR, \fB\-\-uncompress\fR
 Filter the archive through
 .BR compress (1).
+.TP
+\fB\-\-zstd\fR
+Filter the archive through
+.BR zstd (1).
 .SS Local file selection
 .TP
 \fB\-\-add\-file\fR=\fIFILE\fR
@@ -1102,7 +1103,7 @@ Show file or archive names after transformation by \fB\-\-strip\fR and
 Print total bytes after processing the archive.  If \fISIGNAL\fR is
 given, print total bytes when this signal is delivered.  Allowed
 signals are:
-.BR SIGHUP , 
+.BR SIGHUP ,
 .BR SIGQUIT ,
 .BR SIGINT ,
 .BR SIGUSR1 ", and"
@@ -1113,7 +1114,11 @@ The \fBSIG\fR prefix can be omitted.
 Print file modification times in UTC.
 .TP
 \fB\-v\fR, \fB\-\-verbose\fR
-Verbosely list files processed.
+Verbosely list files processed.  Each instance of this option on the
+command line increases the verbosity level by one.  The maximum
+verbosity level is 3.  For a detailed discussion of how various
+verbosity levels affect tar's output, please refer to \fBGNU Tar
+Manual\fR, subsection 2.5.1 "\fBThe \-\-verbose Option\fR".
 .TP
 \fB\-\-warning\fR=\fIKEYWORD\fR
 Enable or disable warning messages identified by \fIKEYWORD\fR.  The
@@ -1205,7 +1210,7 @@ default (unless \fB\-\-verbose\fR is used).  A common example of what
 you can get when using this warning is:
 
 .EX
-$ \fBtar --warning=decompress-program -x -f archive.Z
+$ tar --warning=decompress-program -x -f archive.Z
 tar (child): cannot run compress: No such file or directory
 tar (child): trying gzip
 .EE
@@ -1296,8 +1301,8 @@ failure during backup to a remote device.
 .BR lzop (1),
 .BR rmt (8),
 .BR symlink (7),
-.BR tar (5),
-.BR xz (1).
+.BR xz (1),
+.BR zstd (1).
 .PP
 Complete \fBtar\fR manual: run
 .B info tar
@@ -1328,4 +1333,3 @@ There is NO WARRANTY, to the extent permitted by law.
 .\" time-stamp-end: "\""
 .\" time-stamp-line-limit: 20
 .\" end:
-
diff --git a/doc/tar.info b/doc/tar.info
index 2981e585..e96e9140 100644
--- a/doc/tar.info
+++ b/doc/tar.info
@@ -1,6 +1,6 @@
-This is tar.info, produced by makeinfo version 5.2 from tar.texi.
+This is tar.info, produced by makeinfo version 5.9.93 from tar.texi.
 
-This manual is for GNU 'tar' (version 1.30, 16 December 2017), which
+This manual is for GNU 'tar' (version 1.32, 4 February 2019), which
 creates and extracts files from archives.
 
    Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2017 Free Software
@@ -28,442 +28,443 @@ END-INFO-DIR-ENTRY
 
 
 Indirect:
-tar.info-1: 1138
-tar.info-2: 302401
+tar.info-1: 1140
+tar.info-2: 303214
 
 Tag Table:
 (Indirect)
-Node: Top1138
-Node: Introduction10521
-Node: Book Contents11308
-Node: Definitions13480
-Node: What tar Does15283
-Node: Naming tar Archives18050
-Node: Authors18771
-Node: Reports20584
-Node: Tutorial20941
-Node: assumptions21754
-Node: stylistic conventions24228
-Node: basic tar options24671
-Node: frequent operations28310
-Node: Two Frequent Options28960
-Node: file tutorial29591
-Node: verbose tutorial30949
-Ref: verbose member listing33163
-Node: help tutorial35931
-Node: create36286
-Node: prepare for examples37724
-Node: Creating the archive39493
-Node: create verbose43080
-Node: short create43900
-Node: create dir46635
-Node: list49343
-Ref: listing member and file names50878
-Node: list dir53497
-Node: extract54509
-Node: extracting archives55623
-Node: extracting files56128
-Ref: extracting files-Footnote-158014
-Node: extract dir58394
-Node: extracting untrusted archives60786
-Node: failing commands61666
-Node: going further63251
-Node: tar invocation63464
-Node: Synopsis65244
-Ref: exit status68566
-Node: using tar options70199
-Ref: TAR_OPTIONS71779
-Node: Styles72798
-Ref: Styles-Footnote-174297
-Node: Long Options74553
-Node: Short Options76725
-Ref: Short Options-Footnote-178533
-Node: Old Options78750
-Node: Mixing81513
-Ref: Mixing-Footnote-183879
-Node: All Options83999
-Node: Operation Summary84635
-Ref: --append84755
-Ref: --catenate84836
-Ref: --compare84908
-Ref: --concatenate85112
-Ref: --create85223
-Ref: --delete85292
-Ref: --diff85407
-Ref: --extract85464
-Ref: --get85567
-Ref: --list85626
-Ref: --update85695
-Node: Option Summary85906
-Ref: --absolute-names86061
-Ref: --acls86353
-Ref: --after-date86434
-Ref: --anchored86487
-Ref: --atime-preserve86620
-Ref: --auto-compress89136
-Ref: --backup89364
-Ref: --block-number89556
-Ref: --blocking-factor89731
-Ref: --bzip289884
-Ref: --check-device89992
-Ref: --checkpoint90187
-Ref: --checkpoint-action90630
-Ref: --check-links91789
-Ref: --compress92066
-Ref: --uncompress92066
-Ref: --clamp-mtime92271
-Ref: --confirmation92311
-Ref: --delay-directory-restore92380
-Ref: --dereference92583
-Ref: --directory92778
-Ref: --exclude93032
-Ref: --exclude-backups93152
-Ref: --exclude-from93242
-Ref: --exclude-caches93389
-Ref: --exclude-caches-under93598
-Ref: --exclude-caches-all93777
-Ref: --exclude-ignore93907
-Ref: --exclude-ignore-recursive94127
-Ref: --exclude-tag94371
-Ref: --exclude-tag-under94543
-Ref: --exclude-tag-all94734
-Ref: --exclude-vcs94864
-Ref: --exclude-vcs-ignores95024
-Ref: --file95417
-Ref: --files-from95618
-Ref: --force-local95822
-Ref: --format96014
-Ref: --full-time96689
-Ref: --group97369
-Ref: --group-map97696
-Ref: --gzip98088
-Ref: --gunzip98088
-Ref: --ungzip98088
-Ref: --hard-dereference98312
-Ref: --help98499
-Ref: --hole-detection98635
-Ref: --ignore-case98871
-Ref: --ignore-command-error98998
-Ref: --ignore-failed-read99110
-Ref: --ignore-zeros99252
-Ref: --incremental99397
-Ref: --index-file99663
-Ref: --info-script99749
-Ref: --new-volume-script99749
-Ref: --interactive100047
-Ref: --keep-directory-symlink100260
-Ref: --keep-newer-files100809
-Ref: --keep-old-files100952
-Ref: --label101165
-Ref: --level101454
-Ref: --listed-incremental101894
-Ref: --lzip102259
-Ref: --lzma102360
-Ref: --mode102562
-Ref: --mtime102855
-Ref: --multi-volume103535
-Ref: --newer103741
-Ref: --newer-mtime104020
-Ref: --no-acls104245
-Ref: --no-anchored104339
-Ref: --no-auto-compress104476
-Ref: --no-check-device104628
-Ref: --no-delay-directory-restore104811
-Ref: --no-ignore-case105060
-Ref: --no-ignore-command-error105153
-Ref: --no-null105309
-Ref: --no-overwrite-dir105515
-Ref: --no-quote-chars105659
-Ref: --no-recursion105840
-Ref: --no-same-owner105946
-Ref: --no-same-permissions106130
-Ref: --no-seek106333
-Ref: --no-selinux106552
-Ref: --no-unquote106653
-Ref: --no-verbatim-files-from106791
-Ref: --no-wildcards107292
-Ref: --no-wildcards-match-slash107376
-Ref: --no-xattrs107478
-Ref: --null107581
-Ref: --numeric-owner107932
-Ref: --occurrence108584
-Ref: --old-archive109152
-Ref: --one-file-system109201
-Ref: --one-top-level109379
-Ref: --overwrite110015
-Ref: --overwrite-dir110158
-Ref: --owner110304
-Ref: --owner-map110667
-Ref: --pax-option111043
-Ref: --portability111350
-Ref: --posix111415
-Ref: --preserve-order111457
-Ref: --preserve-permissions111522
-Ref: --same-permissions111522
-Ref: --quote-chars111937
-Ref: --quoting-style112090
-Ref: --read-full-records112413
-Ref: --record-size112579
-Ref: --recursion112932
-Ref: --recursive-unlink113037
-Ref: --remove-files113200
-Ref: --restrict113347
-Ref: --rmt-command113536
-Ref: --rsh-command113678
-Ref: --same-order113801
-Ref: --same-owner114094
-Ref: --seek114473
-Ref: --selinux114844
-Ref: --show-defaults114945
-Ref: --show-omitted-dirs115455
-Ref: --show-snapshot-field-ranges115610
-Ref: --show-transformed-names115807
-Ref: --show-stored-names115807
-Ref: --skip-old-files116197
-Ref: --sort116648
-Ref: --sparse117287
-Ref: --sparse-version117427
-Ref: --starting-file117653
-Ref: --strip-components117843
-Ref: --suffix118180
-Ref: --tape-length118300
-Ref: --test-label118725
-Ref: --to-command118878
-Ref: --to-stdout119038
-Ref: --totals119192
-Ref: --touch119424
-Ref: --transform119627
-Ref: --xform119627
-Ref: --unlink-first120241
-Ref: --unquote120405
-Ref: --use-compress-program120512
-Ref: --utc120691
-Ref: --verbatim-files-from120785
-Ref: --verbose121629
-Ref: --verify121882
-Ref: --version122001
-Ref: --volno-file122174
-Ref: --warning122362
-Ref: --wildcards122540
-Ref: --wildcards-match-slash122660
-Ref: --xattrs122752
-Ref: --xattrs-exclude122851
-Ref: --xattrs-include122978
-Ref: --xz123234
-Ref: Option Summary-Footnote-1123364
-Node: Short Option Summary123583
-Node: Position-Sensitive Options126486
-Ref: Position-Sensitive Options-Footnote-1129975
-Node: help130137
-Ref: help-Footnote-1133972
-Node: defaults134183
-Node: verbose135202
-Ref: totals137505
-Ref: Progress information139095
-Ref: show-omitted-dirs140074
-Ref: block-number140493
-Ref: verbose-Footnote-1141520
-Node: checkpoints141627
-Ref: checkpoint exec147692
-Node: warnings149721
-Node: interactive153323
-Node: external155422
-Node: operations157010
-Node: Basic tar157252
-Ref: Basic tar-Footnote-1160359
-Node: Advanced tar160503
-Node: Operations161348
-Node: append163243
-Ref: append-Footnote-1166340
-Node: appending files166527
-Node: multiple168264
-Node: update170986
-Node: how to update171963
-Node: concatenate173744
-Ref: concatenate-Footnote-1176992
-Node: delete177135
-Node: compare178909
-Node: create options180343
-Node: override180830
-Node: Extended File Attributes187891
-Node: Ignore Failed Read192519
-Node: extract options193124
-Node: Reading193957
-Node: read full records195457
-Node: Ignore Zeros195792
-Node: Writing196783
-Node: Dealing with Old Files197340
-Node: Overwrite Old Files200142
-Node: Keep Old Files201599
-Node: Keep Newer Files202406
-Node: Unlink First202696
-Node: Recursive Unlink203100
-Node: Data Modification Times203653
-Node: Setting Access Permissions204463
-Node: Directory Modification Times and Permissions205095
-Node: Writing to Standard Output208708
-Node: Writing to an External Program210243
-Node: remove files213833
-Node: Scarce214026
-Node: Starting File214274
-Node: Same Order215075
-Node: backup215911
-Node: looking ahead219003
-Node: Backups219823
-Node: Full Dumps221404
-Node: Incremental Dumps223213
-Ref: --level=0226127
-Ref: device numbers226660
-Ref: incremental-op230643
-Ref: Incremental Dumps-Footnote-1231017
-Ref: Incremental Dumps-Footnote-2231167
-Node: Backup Levels231655
-Node: Backup Parameters234042
-Node: General-Purpose Variables235223
-Ref: RSH238391
-Node: Magnetic Tape Control240275
-Node: User Hooks241614
-Node: backup-specs example242947
-Node: Scripted Backups244087
-Ref: Scripted Backups-Footnote-1246952
-Node: Scripted Restoration247336
-Node: Choosing249942
-Node: file251064
-Ref: remote-dev253700
-Ref: local and remote archives254085
-Node: Selecting Archive Members255116
-Ref: input name quoting255797
-Node: files257772
-Ref: verbatim-files-from260479
-Ref: no-verbatim-files-from260739
-Ref: files-Footnote-1261481
-Node: nul261639
-Node: exclude264097
-Ref: exclude-vcs-ignores265655
-Ref: exclude-vcs267368
-Ref: exclude-Footnote-1271304
-Ref: exclude-Footnote-2271558
-Node: problems with exclude271629
-Node: wildcards273679
-Node: controlling pattern-matching276262
-Ref: anchored patterns278903
-Ref: case-insensitive matches279173
-Ref: controlling pattern-matching-Footnote-1280250
-Node: quoting styles280467
-Ref: escape sequences280812
-Node: transform286756
-Ref: show-transformed-names288747
-Node: after294938
-Node: recurse298540
-Node: one302401
-Node: directory303834
-Node: absolute306933
-Ref: absolute-Footnote-1310260
-Node: Date input formats310611
-Node: General date syntax313007
-Node: Calendar date items315984
-Node: Time of day items317981
-Node: Time zone items320177
-Node: Combined date and time of day items321427
-Node: Day of week items322282
-Node: Relative items in date strings323290
-Node: Pure numbers in date strings326092
-Node: Seconds since the Epoch327073
-Node: Specifying time zone rules328693
-Node: Authors of parse_datetime331066
-Ref: Authors of get_date331245
-Node: Formats332208
-Node: Compression336883
-Node: gzip337175
-Ref: alternative decompression programs339386
-Ref: auto-compress342935
-Ref: use-compress-program343700
-Ref: gzip-Footnote-1345667
-Ref: gzip-Footnote-2345716
-Node: lbzip2345856
-Node: sparse346953
-Node: Attributes351497
-Node: Portability357159
-Node: Portable Names358645
-Node: dereference359350
-Node: hard links360477
-Ref: hard links-Footnote-1363362
-Node: old363418
-Node: ustar364601
-Node: gnu365204
-Node: posix366081
-Node: PAX keywords366562
-Node: Checksumming372560
-Node: Large or Negative Values374504
-Node: Other Tars376105
-Node: Split Recovery377241
-Node: Sparse Recovery380990
-Ref: extracting sparse v0x384619
-Ref: Sparse Recovery-Footnote-1387908
-Ref: Sparse Recovery-Footnote-2387931
-Node: cpio388052
-Node: Media392813
-Node: Device394764
-Ref: size-suffixes399555
-Node: Remote Tape Server400695
-Node: Common Problems and Solutions404359
-Node: Blocking404751
-Ref: Blocking-Footnote-1411235
-Node: Format Variations411339
-Node: Blocking Factor412254
-Node: Many423905
-Node: Tape Positioning427699
-Node: mt429575
-Node: Using Multiple Tapes431132
-Node: Multi-Volume Archives433198
-Ref: tape-length434683
-Ref: change volume prompt435238
-Ref: volno-file436105
-Ref: info-script436658
-Ref: Multi-Volume Archives-Footnote-1442243
-Ref: Multi-Volume Archives-Footnote-2442353
-Node: Tape Files442421
-Node: Tarcat443906
-Node: label444951
-Ref: --test-label option446539
-Ref: label-Footnote-1449990
-Ref: label-Footnote-2450099
-Ref: label-Footnote-3450232
-Node: verify450467
-Node: Write Protection453767
-Node: Reliability and security454597
-Node: Reliability454985
-Node: Permissions problems455763
-Node: Data corruption and repair456202
-Node: Race conditions457129
-Node: Security458868
-Node: Privacy459471
-Node: Integrity460720
-Node: Live untrusted data462931
-Node: Security rules of thumb465270
-Node: Changes466798
-Node: Recipes470387
-Node: copy directory hierarchy470672
-Node: intermediate directories471476
-Ref: intermediate directories-Footnote-1473841
-Node: Configuring Help Summary473965
-Node: Fixing Snapshot Files480481
-Node: Tar Internals483850
-Node: Standard484182
-Node: Extensions506324
-Node: Sparse Formats509614
-Node: Old GNU Format510903
-Node: PAX 0513290
-Node: PAX 1516404
-Node: Snapshot Files518132
-Node: Dumpdir523730
-Node: Genfile526960
-Node: Generate Mode528056
-Node: Status Mode533296
-Node: Exec Mode535098
-Node: Free Software Needs Free Documentation537944
-Node: GNU Free Documentation License542925
-Node: Index of Command Line Options568133
-Node: Index596359
+Node: Top1140
+Node: Introduction10522
+Node: Book Contents11309
+Node: Definitions13481
+Node: What tar Does15284
+Node: Naming tar Archives18051
+Node: Authors18772
+Node: Reports20585
+Node: Tutorial20942
+Node: assumptions21755
+Node: stylistic conventions24229
+Node: basic tar options24672
+Node: frequent operations28311
+Node: Two Frequent Options28961
+Node: file tutorial29592
+Node: verbose tutorial30950
+Ref: verbose member listing33164
+Node: help tutorial35932
+Node: create36287
+Node: prepare for examples37725
+Node: Creating the archive39494
+Node: create verbose43081
+Node: short create43901
+Node: create dir46636
+Node: list49344
+Ref: listing member and file names50879
+Node: list dir53498
+Node: extract54510
+Node: extracting archives55624
+Node: extracting files56129
+Ref: extracting files-Footnote-158015
+Node: extract dir58395
+Node: extracting untrusted archives60787
+Node: failing commands61667
+Node: going further63252
+Node: tar invocation63465
+Node: Synopsis65245
+Ref: exit status68567
+Node: using tar options70200
+Ref: TAR_OPTIONS71780
+Node: Styles72799
+Ref: Styles-Footnote-174298
+Node: Long Options74554
+Node: Short Options76726
+Ref: Short Options-Footnote-178534
+Node: Old Options78751
+Node: Mixing81514
+Ref: Mixing-Footnote-183880
+Node: All Options84000
+Node: Operation Summary84636
+Ref: --append84756
+Ref: --catenate84837
+Ref: --compare84909
+Ref: --concatenate85113
+Ref: --create85224
+Ref: --delete85293
+Ref: --diff85408
+Ref: --extract85465
+Ref: --get85568
+Ref: --list85627
+Ref: --update85696
+Node: Option Summary85907
+Ref: --absolute-names86062
+Ref: --acls86354
+Ref: --after-date86435
+Ref: --anchored86488
+Ref: --atime-preserve86621
+Ref: --auto-compress89137
+Ref: --backup89365
+Ref: --block-number89557
+Ref: --blocking-factor89732
+Ref: --bzip289885
+Ref: --check-device89993
+Ref: --checkpoint90188
+Ref: --checkpoint-action90631
+Ref: --check-links91902
+Ref: --compress92179
+Ref: --uncompress92179
+Ref: --clamp-mtime92384
+Ref: --confirmation92424
+Ref: --delay-directory-restore92493
+Ref: --dereference92696
+Ref: --directory92891
+Ref: --exclude93145
+Ref: --exclude-backups93265
+Ref: --exclude-from93355
+Ref: --exclude-caches93502
+Ref: --exclude-caches-under93711
+Ref: --exclude-caches-all93890
+Ref: --exclude-ignore94020
+Ref: --exclude-ignore-recursive94240
+Ref: --exclude-tag94484
+Ref: --exclude-tag-under94656
+Ref: --exclude-tag-all94847
+Ref: --exclude-vcs94977
+Ref: --exclude-vcs-ignores95137
+Ref: --file95530
+Ref: --files-from95731
+Ref: --force-local95935
+Ref: --format96127
+Ref: --full-time96802
+Ref: --group97482
+Ref: --group-map97809
+Ref: --gzip98201
+Ref: --gunzip98201
+Ref: --ungzip98201
+Ref: --hard-dereference98425
+Ref: --help98612
+Ref: --hole-detection98748
+Ref: --ignore-case98984
+Ref: --ignore-command-error99111
+Ref: --ignore-failed-read99223
+Ref: --ignore-zeros99365
+Ref: --incremental99510
+Ref: --index-file99776
+Ref: --info-script99862
+Ref: --new-volume-script99862
+Ref: --interactive100160
+Ref: --keep-directory-symlink100373
+Ref: --keep-newer-files100922
+Ref: --keep-old-files101065
+Ref: --label101278
+Ref: --level101567
+Ref: --listed-incremental102007
+Ref: --lzip102372
+Ref: --lzma102473
+Ref: --mode102675
+Ref: --mtime102968
+Ref: --multi-volume103648
+Ref: --newer103854
+Ref: --newer-mtime104133
+Ref: --no-acls104358
+Ref: --no-anchored104452
+Ref: --no-auto-compress104589
+Ref: --no-check-device104741
+Ref: --no-delay-directory-restore104924
+Ref: --no-ignore-case105173
+Ref: --no-ignore-command-error105266
+Ref: --no-null105422
+Ref: --no-overwrite-dir105628
+Ref: --no-quote-chars105772
+Ref: --no-recursion105953
+Ref: --no-same-owner106059
+Ref: --no-same-permissions106243
+Ref: --no-seek106446
+Ref: --no-selinux106665
+Ref: --no-unquote106766
+Ref: --no-verbatim-files-from106904
+Ref: --no-wildcards107405
+Ref: --no-wildcards-match-slash107489
+Ref: --no-xattrs107591
+Ref: --null107694
+Ref: --numeric-owner108045
+Ref: --occurrence108697
+Ref: --old-archive109265
+Ref: --one-file-system109314
+Ref: --one-top-level109492
+Ref: --overwrite110128
+Ref: --overwrite-dir110271
+Ref: --owner110417
+Ref: --owner-map110780
+Ref: --pax-option111156
+Ref: --portability111463
+Ref: --posix111528
+Ref: --preserve-order111570
+Ref: --preserve-permissions111635
+Ref: --same-permissions111635
+Ref: --quote-chars112050
+Ref: --quoting-style112203
+Ref: --read-full-records112526
+Ref: --record-size112692
+Ref: --recursion113045
+Ref: --recursive-unlink113150
+Ref: --remove-files113313
+Ref: --restrict113460
+Ref: --rmt-command113649
+Ref: --rsh-command113791
+Ref: --same-order113914
+Ref: --same-owner114207
+Ref: --seek114586
+Ref: --selinux114957
+Ref: --show-defaults115058
+Ref: --show-omitted-dirs115568
+Ref: --show-snapshot-field-ranges115723
+Ref: --show-transformed-names115920
+Ref: --show-stored-names115920
+Ref: --skip-old-files116310
+Ref: --sort116761
+Ref: --sparse117400
+Ref: --sparse-version117540
+Ref: --starting-file117766
+Ref: --strip-components117956
+Ref: --suffix118293
+Ref: --tape-length118413
+Ref: --test-label118838
+Ref: --to-command118991
+Ref: --to-stdout119151
+Ref: --totals119305
+Ref: --touch119537
+Ref: --transform119740
+Ref: --xform119740
+Ref: --unlink-first120354
+Ref: --unquote120518
+Ref: --use-compress-program120625
+Ref: --utc120804
+Ref: --verbatim-files-from120898
+Ref: --verbose121742
+Ref: --verify121995
+Ref: --version122114
+Ref: --volno-file122287
+Ref: --warning122475
+Ref: --wildcards122653
+Ref: --wildcards-match-slash122773
+Ref: --xattrs122865
+Ref: --xattrs-exclude122964
+Ref: --xattrs-include123091
+Ref: --xz123347
+Ref: Option Summary-Footnote-1123570
+Node: Short Option Summary123789
+Node: Position-Sensitive Options126701
+Ref: Position-Sensitive Options-Footnote-1130190
+Node: help130352
+Ref: help-Footnote-1134187
+Node: defaults134398
+Node: verbose135417
+Ref: totals137720
+Ref: Progress information139310
+Ref: show-omitted-dirs140289
+Ref: block-number140708
+Ref: verbose-Footnote-1141735
+Node: checkpoints141842
+Ref: checkpoint wait147907
+Ref: checkpoint exec148503
+Node: warnings150532
+Node: interactive154134
+Node: external156233
+Node: operations157821
+Node: Basic tar158063
+Ref: Basic tar-Footnote-1161170
+Node: Advanced tar161314
+Node: Operations162159
+Node: append164054
+Ref: append-Footnote-1167151
+Node: appending files167338
+Node: multiple169075
+Node: update171797
+Node: how to update172774
+Node: concatenate174555
+Ref: concatenate-Footnote-1177803
+Node: delete177946
+Node: compare179720
+Node: create options181154
+Node: override181641
+Node: Extended File Attributes188702
+Node: Ignore Failed Read193330
+Node: extract options193935
+Node: Reading194768
+Node: read full records196268
+Node: Ignore Zeros196603
+Node: Writing197594
+Node: Dealing with Old Files198151
+Node: Overwrite Old Files200953
+Node: Keep Old Files202410
+Node: Keep Newer Files203217
+Node: Unlink First203507
+Node: Recursive Unlink203911
+Node: Data Modification Times204464
+Node: Setting Access Permissions205274
+Node: Directory Modification Times and Permissions205906
+Node: Writing to Standard Output209519
+Node: Writing to an External Program211054
+Node: remove files214644
+Node: Scarce214837
+Node: Starting File215085
+Node: Same Order215886
+Node: backup216722
+Node: looking ahead219814
+Node: Backups220634
+Node: Full Dumps222215
+Node: Incremental Dumps224024
+Ref: --level=0226938
+Ref: device numbers227471
+Ref: incremental-op231454
+Ref: Incremental Dumps-Footnote-1231828
+Ref: Incremental Dumps-Footnote-2231978
+Node: Backup Levels232466
+Node: Backup Parameters234853
+Node: General-Purpose Variables236034
+Ref: RSH239202
+Node: Magnetic Tape Control241086
+Node: User Hooks242425
+Node: backup-specs example243758
+Node: Scripted Backups244898
+Ref: Scripted Backups-Footnote-1247763
+Node: Scripted Restoration248147
+Node: Choosing250753
+Node: file251875
+Ref: remote-dev254511
+Ref: local and remote archives254896
+Node: Selecting Archive Members255927
+Ref: input name quoting256608
+Node: files258583
+Ref: verbatim-files-from261290
+Ref: no-verbatim-files-from261550
+Ref: files-Footnote-1262292
+Node: nul262450
+Node: exclude264908
+Ref: exclude-vcs-ignores266466
+Ref: exclude-vcs268179
+Ref: exclude-Footnote-1272115
+Ref: exclude-Footnote-2272369
+Node: problems with exclude272440
+Node: wildcards274490
+Node: controlling pattern-matching277073
+Ref: anchored patterns279714
+Ref: case-insensitive matches279984
+Ref: controlling pattern-matching-Footnote-1281061
+Node: quoting styles281278
+Ref: escape sequences281623
+Node: transform287567
+Ref: show-transformed-names289558
+Node: after295749
+Node: recurse299351
+Node: one303214
+Node: directory304647
+Node: absolute307746
+Ref: absolute-Footnote-1311073
+Node: Date input formats311424
+Node: General date syntax313820
+Node: Calendar date items316797
+Node: Time of day items318794
+Node: Time zone items320990
+Node: Combined date and time of day items322240
+Node: Day of week items323095
+Node: Relative items in date strings324103
+Node: Pure numbers in date strings326905
+Node: Seconds since the Epoch327886
+Node: Specifying time zone rules329506
+Node: Authors of parse_datetime331879
+Ref: Authors of get_date332058
+Node: Formats333021
+Node: Compression337696
+Node: gzip337988
+Ref: alternative decompression programs340473
+Ref: auto-compress344072
+Ref: use-compress-program344907
+Ref: gzip-Footnote-1346874
+Ref: gzip-Footnote-2346923
+Node: lbzip2347063
+Node: sparse348160
+Node: Attributes352704
+Node: Portability358366
+Node: Portable Names359852
+Node: dereference360557
+Node: hard links361684
+Ref: hard links-Footnote-1364569
+Node: old364625
+Node: ustar365808
+Node: gnu366411
+Node: posix367288
+Node: PAX keywords367769
+Node: Checksumming373767
+Node: Large or Negative Values375711
+Node: Other Tars377312
+Node: Split Recovery378448
+Node: Sparse Recovery382197
+Ref: extracting sparse v0x385826
+Ref: Sparse Recovery-Footnote-1389115
+Ref: Sparse Recovery-Footnote-2389138
+Node: cpio389259
+Node: Media394020
+Node: Device395971
+Ref: size-suffixes400762
+Node: Remote Tape Server401902
+Node: Common Problems and Solutions405566
+Node: Blocking405958
+Ref: Blocking-Footnote-1412442
+Node: Format Variations412546
+Node: Blocking Factor413461
+Node: Many425112
+Node: Tape Positioning428906
+Node: mt430782
+Node: Using Multiple Tapes432339
+Node: Multi-Volume Archives434405
+Ref: tape-length435890
+Ref: change volume prompt436445
+Ref: volno-file437312
+Ref: info-script437865
+Ref: Multi-Volume Archives-Footnote-1443450
+Ref: Multi-Volume Archives-Footnote-2443560
+Node: Tape Files443628
+Node: Tarcat445113
+Node: label446158
+Ref: --test-label option447746
+Ref: label-Footnote-1451197
+Ref: label-Footnote-2451306
+Ref: label-Footnote-3451439
+Node: verify451674
+Node: Write Protection454974
+Node: Reliability and security455804
+Node: Reliability456192
+Node: Permissions problems456970
+Node: Data corruption and repair457409
+Node: Race conditions458336
+Node: Security460075
+Node: Privacy460678
+Node: Integrity461927
+Node: Live untrusted data464138
+Node: Security rules of thumb466477
+Node: Changes468005
+Node: Recipes471594
+Node: copy directory hierarchy471879
+Node: intermediate directories472683
+Ref: intermediate directories-Footnote-1475048
+Node: Configuring Help Summary475172
+Node: Fixing Snapshot Files481688
+Node: Tar Internals485057
+Node: Standard485389
+Node: Extensions507531
+Node: Sparse Formats510821
+Node: Old GNU Format512110
+Node: PAX 0514497
+Node: PAX 1517611
+Node: Snapshot Files519320
+Node: Dumpdir524918
+Node: Genfile528148
+Node: Generate Mode529244
+Node: Status Mode534484
+Node: Exec Mode536286
+Node: Free Software Needs Free Documentation539342
+Node: GNU Free Documentation License544323
+Node: Index of Command Line Options569498
+Node: Index597797
 
 End Tag Table
diff --git a/doc/tar.info-1 b/doc/tar.info-1
index dc01ffba..5273a7bd 100644
--- a/doc/tar.info-1
+++ b/doc/tar.info-1
@@ -1,6 +1,6 @@
-This is tar.info, produced by makeinfo version 5.2 from tar.texi.
+This is tar.info, produced by makeinfo version 5.9.93 from tar.texi.
 
-This manual is for GNU 'tar' (version 1.30, 16 December 2017), which
+This manual is for GNU 'tar' (version 1.32, 4 February 2019), which
 creates and extracts files from archives.
 
    Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2017 Free Software
@@ -32,7 +32,7 @@ File: tar.info,  Node: Top,  Next: Introduction,  Up: (dir)
 GNU tar: an archiver tool
 *************************
 
-This manual is for GNU 'tar' (version 1.30, 16 December 2017), which
+This manual is for GNU 'tar' (version 1.32, 4 February 2019), which
 creates and extracts files from archives.
 
    Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2017 Free Software
@@ -566,7 +566,7 @@ in version 1.11.  Thomas Bushnell, n/BSG and Amy Gorin worked on a
 tutorial and manual for GNU 'tar'.  Franc,ois Pinard put version 1.11.8
 of the manual together by taking information from all these sources and
 merging them.  Melissa Weisshaus finally edited and redesigned the book
-to create version 1.12.  The book for versions from 1.14 up to 1.30 were
+to create version 1.12.  The book for versions from 1.14 up to 1.32 were
 edited by the current maintainer, Sergey Poznyakoff.
 
    For version 1.12, Daniel Hagerty contributed a great deal of
@@ -1312,7 +1312,7 @@ Consider this example, run from your home directory:
      /home/myself/practice/folk
      /home/myself/practice/jazz
      /home/myself/practice/collection.tar
-     $ tar --test --file practice.tar
+     $ tar --list --file practice.tar
      home/myself/practice/
      home/myself/practice/blues
      home/myself/practice/folk
@@ -1337,7 +1337,7 @@ GNU 'tar' show member names when creating archive by supplying
      home/myself/practice/folk
      home/myself/practice/jazz
      home/myself/practice/collection.tar
-     $ tar --test --file practice.tar
+     $ tar --list --file practice.tar
      home/myself/practice/
      home/myself/practice/blues
      home/myself/practice/folk
@@ -1910,10 +1910,11 @@ function; they are interchangeable.
    Short options which require arguments take their arguments
 immediately following the option, usually separated by white space.  It
 is also possible to stick the argument right after the short option
-name, using no intervening space.  For example, you might write '-f archive.tar'
-or '-farchive.tar' instead of using '--file=archive.tar'.  Both
-'--file=ARCHIVE-NAME' and '-f ARCHIVE-NAME' denote the option which
-indicates a specific archive, here named 'archive.tar'.
+name, using no intervening space.  For example, you might write
+'-f archive.tar' or '-farchive.tar' instead of using
+'--file=archive.tar'.  Both '--file=ARCHIVE-NAME' and '-f ARCHIVE-NAME'
+denote the option which indicates a specific archive, here named
+'archive.tar'.
 
    Short options which take optional arguments take their arguments
 immediately following the option letter, _without any intervening white
@@ -1980,8 +1981,9 @@ Here, '20' is the argument of '-b' and '/dev/rmt0' is the argument of
 with their corresponding arguments, and is often confusing.  In the
 command 'tar cvbf 20 /dev/rmt0', for example, '20' is the argument for
 '-b', '/dev/rmt0' is the argument for '-f', and '-v' does not have a
-corresponding argument.  Even using short options like in 'tar -c -v -b 20 -f /dev/rmt0'
-is clearer, putting all arguments next to the option they pertain to.
+corresponding argument.  Even using short options like in
+'tar -c -v -b 20 -f /dev/rmt0' is clearer, putting all arguments next to
+the option they pertain to.
 
    If you want to reorder the letters in the old option argument, be
 sure to reorder any corresponding argument appropriately.
@@ -2305,6 +2307,12 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
      ttyout=STRING
           Output STRING on the current console ('/dev/tty').
 
+     totals
+          Print statistics (see *note totals::).
+
+     wait=SIGNO
+          Wait for signal SIGNO.
+
      Several '--checkpoint-action' options can be specified.  The
      supplied actions will be executed in order of their appearance in
      the command line.
@@ -2628,7 +2636,7 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
      pattern specified in NAME.  *Note Tape Files::.
 
 '--level=N'
-     Force incremental backup of level N.  As of GNU 'tar' version 1.30,
+     Force incremental backup of level N.  As of GNU 'tar' version 1.32,
      the option '--level=0' truncates the snapshot file, thereby forcing
      the level 0 dump.  Other values of N are effectively ignored.
      *Note --level=0::, for details and examples.
@@ -3125,8 +3133,8 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
 '--tape-length=NUM[SUF]'
 '-L NUM[SUF]'
 
-     Specifies the length of tapes that 'tar' is writing as being NUM x 1024
-     bytes long.  If optional SUF is given, it specifies a
+     Specifies the length of tapes that 'tar' is writing as being
+     NUM x 1024 bytes long.  If optional SUF is given, it specifies a
      multiplicative factor to be used instead of 1024.  For example,
      '-L2M' means 2 megabytes.  *Note Table 9.1: size-suffixes, for a
      list of allowed suffixes.  *Note Using Multiple Tapes::, for a
@@ -3284,6 +3292,10 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
      Use 'xz' for compressing or decompressing the archives.  *Note
      gzip::.
 
+'--zstd'
+     Use 'zstd' for compressing or decompressing the archives.  *Note
+     gzip::.
+
    ---------- Footnotes ----------
 
    (1) Earlier versions of GNU 'tar' understood '-l' as a synonym for
@@ -3365,8 +3377,8 @@ Short Option   Reference
                
 -m             *note --touch::.
                
--o             When creating, *note --no-same-owner::, when extracting
-               -- *note --portability::.
+-o             When extracting, same as *note --no-same-owner::.  When
+               creating, - *note --old-archive::.
                
                The latter usage is deprecated.  It is retained for
                compatibility with the earlier versions of GNU 'tar'.
@@ -3530,8 +3542,8 @@ about its name, version, origin and legal status, all on standard
 output, and then exit successfully.  For example, 'tar --version' might
 print:
 
-     tar (GNU tar) 1.30
-     Copyright (C) 2013-2017 Free Software Foundation, Inc.
+     tar (GNU tar) 1.32
+     Copyright (C) 2013-2019 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.
@@ -3912,6 +3924,21 @@ checkpoint:
 
      $ tar -c --checkpoint=1000 --checkpoint-action=sleep=30
 
+   The 'wait=SIGNO' action stops further execution until the signal
+SIGNO is delivered.  Valid values for SIGNO are: 'SIGHUP', 'SIGQUIT',
+'SIGINT', 'SIGUSR1' and 'SIGUSR2'.  The 'SIG' prefix is optional.  For
+example:
+
+     $ tar -c -f arc --checkpoint=1000 --checkpoint-action wait=USR1 .
+
+   In this example, GNU 'tar' will stop archivation at each 1000th
+checkpoint.  wait until the 'SIGUSR1' signal is delivered, and resume
+processing.
+
+   This action is used by the 'genfile' utility to perform modifications
+on the input files upon hitting certain checkpoints (*note genfile: Exec
+Mode.).
+
    Finally, the 'exec' action executes a given external command.  For
 example:
 
@@ -6929,7 +6956,7 @@ options provide such possibility:
      systems: 'CVS', 'RCS', 'SCCS', 'SVN', 'Arch', 'Bazaar',
      'Mercurial', and 'Darcs'.
 
-     As of version 1.30, the following files are excluded:
+     As of version 1.32, the following files are excluded:
 
         * 'CVS/', and everything under it
         * 'RCS/', and everything under it
@@ -7058,7 +7085,7 @@ entirely:
 
    (1) According to the Bazaar docs, globbing-patterns are Korn-shell
 style and regular expressions are perl-style.  As of GNU 'tar' version
-1.30, these are treated as shell-style globs and posix extended regexps.
+1.32, these are treated as shell-style globs and posix extended regexps.
 This will be fixed in future releases.
 
    (2) Support for perl-style regexps will appear in future releases.
diff --git a/doc/tar.info-2 b/doc/tar.info-2
index e8494b81..c35abc4c 100644
--- a/doc/tar.info-2
+++ b/doc/tar.info-2
@@ -1,6 +1,6 @@
-This is tar.info, produced by makeinfo version 5.2 from tar.texi.
+This is tar.info, produced by makeinfo version 5.9.93 from tar.texi.
 
-This manual is for GNU 'tar' (version 1.30, 16 December 2017), which
+This manual is for GNU 'tar' (version 1.32, 4 February 2019), which
 creates and extracts files from archives.
 
    Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2017 Free Software
@@ -750,7 +750,7 @@ v7
      This format has traditionally been used by Automake when producing
      Makefiles.  This practice will change in the future, in the
      meantime, however this means that projects containing file names
-     more than 99 characters long will not be able to use GNU 'tar' 1.30
+     more than 99 characters long will not be able to use GNU 'tar' 1.32
      and Automake prior to 1.9.
 
 ustar
@@ -832,19 +832,27 @@ File: tar.info,  Node: gzip,  Next: sparse,  Up: Compression
 
 GNU 'tar' is able to create and read compressed archives.  It supports a
 wide variety of compression programs, namely: 'gzip', 'bzip2', 'lzip',
-'lzma', 'lzop', 'xz' and traditional 'compress'.  The latter is
+'lzma', 'lzop', 'zstd', 'xz' and traditional 'compress'.  The latter is
 supported mostly for backward compatibility, and we recommend against
 using it, because it is by far less effective than the other compression
 programs(1).
 
    Creating a compressed archive is simple: you just specify a
 "compression option" along with the usual archive creation commands.
-The compression option is '-z' ('--gzip') to create a 'gzip' compressed
-archive, '-j' ('--bzip2') to create a 'bzip2' compressed archive,
-'--lzip' to create an lzip compressed archive, '-J' ('--xz') to create
-an XZ archive, '--lzma' to create an LZMA compressed archive, '--lzop'
-to create an LZOP archive, and '-Z' ('--compress') to use 'compress'
-program.  For example:
+Available compression options are summarized in the table below:
+
+Long                          Short          Archive format
+---------------------------------------------------------------------------
+'--gzip'                      '-z'           'gzip'
+'--bzip2'                     '-j'           'bzip2'
+'--xz'                        '-J'           'xz'
+'--lzip'                                     'lzip'
+'--lzma'                                     'lzma'
+'--lzop'                                     'lzop'
+'--zstd'                                     'zstd'
+'--compress'                  '-Z'           'compress'
+
+   For example:
 
      $ tar czf archive.tar.gz .
 
@@ -881,7 +889,7 @@ a list of recognized suffixes).
    Some compression programs are able to handle different compression
 formats.  GNU 'tar' uses this, if the principal decompressor for the
 given format is not available.  For example, if 'compress' is not
-installed, 'tar' will try to use 'gzip'.  As of version 1.30 the
+installed, 'tar' will try to use 'gzip'.  As of version 1.32 the
 following alternatives are tried(2):
 
 Format                 Main decompressor      Alternatives
@@ -937,6 +945,9 @@ program:
 '--lzop'
      Filter the archive through 'lzop'.
 
+'--zstd'
+     Filter the archive through 'zstd'.
+
 '-Z'
 '--compress'
 '--uncompress'
@@ -995,6 +1006,8 @@ compressed archives.  These are:
      '.tlz'                 'lzma'
      '.lzo'                 'lzop'
      '.xz'                  'xz'
+     '.zst'                 'zstd'
+     '.tzst'                'zstd'
 
 '--use-compress-program=COMMAND'
 '-I=COMMAND'
@@ -4936,9 +4949,9 @@ constructed using the following pattern:
 'GNU.sparse.realsize'.
 
    The sparse map itself is stored in the file data block, preceding the
-actual file data.  It consists of a series of octal numbers of arbitrary
-length, delimited by newlines.  The map is padded with nulls to the
-nearest block boundary.
+actual file data.  It consists of a series of decimal numbers delimited
+by newlines.  The map is padded with nulls to the nearest block
+boundary.
 
    The first number gives the number of entries in the map.  Following
 are map entries, each one consisting of two numbers giving the offset
@@ -4963,13 +4976,13 @@ backups (*note Incremental Dumps::).  It contains the status of the file
 system at the time of the dump and is used to determine which files were
 modified since the last backup.
 
-   GNU 'tar' version 1.30 supports three snapshot file formats.  The
+   GNU 'tar' version 1.32 supports three snapshot file formats.  The
 first format, called "format 0", is the one used by GNU 'tar' versions
 up to and including 1.15.1.  The second format, called "format 1" is an
 extended version of this format, that contains more metadata and allows
 for further extensions.  It was used by alpha release version 1.15.90.
 For alpha version 1.15.91 and stable releases version 1.16 up through
-1.30, the "format 2" is used.
+1.32, the "format 2" is used.
 
    GNU 'tar' is able to read all three formats, but will create
 snapshots only in format 2.
@@ -5028,7 +5041,7 @@ snapshots only in format 2.
   2. 'Format 2' snapshot file begins with a format identifier, as
      described for version 1, e.g.:
 
-          GNU tar-1.30-2
+          GNU tar-1.32-2
 
      This line is followed by newline.  Rest of file consists of
      records, separated by null (ASCII 0) characters.  Thus, in contrast
@@ -5056,8 +5069,8 @@ snapshots only in format 2.
      ino                Number      I-node number;
      name               String      Directory name; in contrast to the
                                     previous versions it is not quoted;
-     contents           Dumpdir     Contents of the directory; *Note
-                                    Dumpdir::, for a description of its
+     contents           Dumpdir     Contents of the directory;
+                                    *Note Dumpdir::, for a description of its
                                     format.
 
      Dumpdirs stored in snapshot files contain only records of types
@@ -5069,7 +5082,7 @@ snapshots only in format 2.
      'tar' binary, you can use the '--show-snapshot-field-ranges'
      option:
 
-          $ tar --show-shapshot-field-ranges
+          $ tar --show-snapshot-field-ranges
           This tar's snapshot file field ranges are
              (field name      => [ min, max ]):
 
@@ -5439,13 +5452,35 @@ F.3 Exec Mode
 =============
 
 This mode is designed for testing the behavior of 'paxutils' commands
-when some of the files change during archiving.  It is an experimental
-mode.
+when some of the files change during archiving.  It supposes that the
+command being executed supports '--checkpoint' and '--checkpoint-action'
+options (*note Checkpoints: (tar)checkpoints.).
+
+   The 'Exec Mode' is enabled by '--run' command line option (or its
+alias '-r').  The non-optional arguments supply the command line to be
+executed.  'Genfile' modifies this command line by inserting the
+following options between the command name and first argument:
+
+     --checkpoint=N
+     --checkpoint-action "echo=genfile checkpoint %u"
+     --checkpoint-action "wait=SIGUSR1"
+
+   Here, N stands for the checkpoint granularity (for GNU 'tar', it is
+the number of archive records read or written between each pair of
+checkpoints).  The default value is 1.  This value can be changed using
+the optional argument to the '--run' option.  For example, to run
+actions on each 10th checkpoint:
+
+     genfile --run=10 ...
+
+   If the command line contains options, it must be preceded by a
+double-dash ('--'), which will prevent these options from being
+interpreted by 'genfile' itself.  For example:
 
-   The 'Exec Mode' is toggled by '--run' command line option (or its
-alias '-r').  The non-optional arguments to 'getopt' give the command
-line to be executed.  Normally, it should contain at least the
-'--checkpoint' option.
+     genfile --run --checkpoint=2 --truncate foo -- tar -c -f a.tar .
+
+   Notice also, that when running 'tar', its command line may not
+contain traditional options (cluster of letters without dash).
 
    A set of options is provided for defining checkpoint values and
 actions to be executed upon reaching them.  Checkpoint values are
@@ -5487,30 +5522,8 @@ exit status of the command.
 connected to descriptor 1.  All messages it prints to file descriptor 2,
 except checkpoint notifications, are forwarded to standard error.
 
-   'Genfile' exits with the exit status of the executed command.
-
-   For compatibility with previous 'genfile' versions, the '--run'
-option takes an optional argument.  If used this way, its argument
-supplies the command line to be executed.  There should be no
-non-optional arguments in the 'genfile' command line.
-
-   The actual command line is constructed by inserting the
-'--checkpoint' option between the command name and its first argument
-(if any).  Due to this, the argument to '--run' may not use traditional
-'tar' option syntax, i.e., the following is wrong:
-
-     # Wrong!
-     genfile --run='tar cf foo bar'
-
-   Use the following syntax instead:
-
-     genfile --run='tar -cf foo bar' ACTIONS...
-
-   The above command line is equivalent to
-
-     genfile ACTIONS... -- tar -cf foo bar
-
-   Notice, that the use of compatibility mode is deprecated.
+   In exec mode, 'genfile' exits with the exit status of the executed
+command.
 
 
 File: tar.info,  Node: Free Software Needs Free Documentation,  Next: GNU Free Documentation License,  Prev: Genfile,  Up: Top
@@ -5612,8 +5625,7 @@ Appendix H GNU Free Documentation License
 
                      Version 1.3, 3 November 2008
 
-     Copyright (C) 2000-2002, 2007-2008, 2014, 2016-2017 Free
-     Software Foundation, Inc.
+     Copyright (C) 2000-2019 Free Software Foundation, Inc.
      <http://fsf.org/>
 
      Everyone is permitted to copy and distribute verbatim copies
@@ -6115,7 +6127,7 @@ Summary::.
 * append, summary:                       Operation Summary.  (line    6)
 * atime-preserve:                        Attributes.         (line   10)
 * atime-preserve, summary:               Option Summary.     (line   25)
-* auto-compress:                         gzip.               (line  150)
+* auto-compress:                         gzip.               (line  161)
 * auto-compress, summary:                Option Summary.     (line   71)
 * backup:                                backup.             (line   41)
 * backup, summary:                       Option Summary.     (line   78)
@@ -6129,21 +6141,21 @@ Summary::.
 * check-device, described:               Incremental Dumps.  (line  107)
 * check-device, summary:                 Option Summary.     (line  103)
 * check-links, described:                hard links.         (line   31)
-* check-links, summary:                  Option Summary.     (line  155)
+* check-links, summary:                  Option Summary.     (line  161)
 * checkpoint:                            checkpoints.        (line    6)
 * checkpoint, defined:                   checkpoints.        (line   13)
 * checkpoint, summary:                   Option Summary.     (line  108)
 * checkpoint-action:                     checkpoints.        (line    6)
 * checkpoint-action, defined:            checkpoints.        (line   22)
 * checkpoint-action, summary:            Option Summary.     (line  117)
-* clamp-mtime, summary:                  Option Summary.     (line  172)
+* clamp-mtime, summary:                  Option Summary.     (line  178)
 * compare:                               compare.            (line    6)
 * compare, summary:                      Operation Summary.  (line   16)
-* compress:                              gzip.               (line  113)
-* compress, summary:                     Option Summary.     (line  164)
+* compress:                              gzip.               (line  124)
+* compress, summary:                     Option Summary.     (line  170)
 * concatenate:                           concatenate.        (line    6)
 * concatenate, summary:                  Operation Summary.  (line   23)
-* confirmation, summary:                 Option Summary.     (line  176)
+* confirmation, summary:                 Option Summary.     (line  182)
 * create, additional options:            create options.     (line    6)
 * create, complementary notes:           Basic tar.          (line   11)
 * create, introduced:                    Creating the archive.
@@ -6153,45 +6165,45 @@ Summary::.
 * create, using with '--verify':         verify.             (line   24)
 * delay-directory-restore:               Directory Modification Times and Permissions.
                                                              (line   62)
-* delay-directory-restore, summary:      Option Summary.     (line  180)
+* delay-directory-restore, summary:      Option Summary.     (line  186)
 * delete:                                delete.             (line    6)
 * delete, summary:                       Operation Summary.  (line   34)
 * delete, using before -append:          append.             (line   47)
 * dereference:                           dereference.        (line    6)
-* dereference, summary:                  Option Summary.     (line  186)
+* dereference, summary:                  Option Summary.     (line  192)
 * diff, summary:                         Operation Summary.  (line   39)
 * directory:                             directory.          (line   11)
-* directory, summary:                    Option Summary.     (line  193)
+* directory, summary:                    Option Summary.     (line  199)
 * exclude:                               exclude.            (line    6)
 * exclude <1>:                           exclude.            (line    9)
 * exclude, potential problems with:      problems with exclude.
                                                              (line    6)
-* exclude, summary:                      Option Summary.     (line  201)
+* exclude, summary:                      Option Summary.     (line  207)
 * exclude-backups:                       exclude.            (line  114)
-* exclude-backups, summary:              Option Summary.     (line  206)
+* exclude-backups, summary:              Option Summary.     (line  212)
 * exclude-caches:                        exclude.            (line  134)
-* exclude-caches, summary:               Option Summary.     (line  215)
+* exclude-caches, summary:               Option Summary.     (line  221)
 * exclude-caches-all:                    exclude.            (line  142)
-* exclude-caches-all, summary:           Option Summary.     (line  230)
+* exclude-caches-all, summary:           Option Summary.     (line  236)
 * exclude-caches-under:                  exclude.            (line  138)
-* exclude-caches-under, summary:         Option Summary.     (line  223)
+* exclude-caches-under, summary:         Option Summary.     (line  229)
 * exclude-from:                          exclude.            (line    6)
 * exclude-from <1>:                      exclude.            (line   20)
-* exclude-from, summary:                 Option Summary.     (line  209)
+* exclude-from, summary:                 Option Summary.     (line  215)
 * exclude-ignore:                        exclude.            (line   76)
-* exclude-ignore, summary:               Option Summary.     (line  235)
+* exclude-ignore, summary:               Option Summary.     (line  241)
 * exclude-ignore-recursive:              exclude.            (line   81)
-* exclude-ignore-recursive, summary:     Option Summary.     (line  240)
+* exclude-ignore-recursive, summary:     Option Summary.     (line  246)
 * exclude-tag:                           exclude.            (line  151)
-* exclude-tag, summary:                  Option Summary.     (line  245)
+* exclude-tag, summary:                  Option Summary.     (line  251)
 * exclude-tag-all:                       exclude.            (line  159)
-* exclude-tag-all, summary:              Option Summary.     (line  257)
+* exclude-tag-all, summary:              Option Summary.     (line  263)
 * exclude-tag-under:                     exclude.            (line  155)
-* exclude-tag-under, summary:            Option Summary.     (line  251)
+* exclude-tag-under, summary:            Option Summary.     (line  257)
 * exclude-vcs:                           exclude.            (line   85)
-* exclude-vcs, summary:                  Option Summary.     (line  262)
+* exclude-vcs, summary:                  Option Summary.     (line  268)
 * exclude-vcs-ignores:                   exclude.            (line   42)
-* exclude-vcs-ignores, summary:          Option Summary.     (line  269)
+* exclude-vcs-ignores, summary:          Option Summary.     (line  275)
 * extract:                               extract.            (line    6)
 * extract, additional options:           extract options.    (line    6)
 * extract, complementary notes:          Basic tar.          (line   49)
@@ -6200,60 +6212,60 @@ Summary::.
                                                              (line  120)
 * file:                                  file.               (line    6)
 * file, short description:               file.               (line   15)
-* file, summary:                         Option Summary.     (line  277)
+* file, summary:                         Option Summary.     (line  283)
 * file, tutorial:                        file tutorial.      (line    6)
 * files-from:                            files.              (line   14)
-* files-from, summary:                   Option Summary.     (line  284)
+* files-from, summary:                   Option Summary.     (line  290)
 * force-local, short description:        Device.             (line   70)
-* force-local, summary:                  Option Summary.     (line  291)
-* format, summary:                       Option Summary.     (line  297)
-* full-time, summary:                    Option Summary.     (line  322)
+* force-local, summary:                  Option Summary.     (line  297)
+* format, summary:                       Option Summary.     (line  303)
+* full-time, summary:                    Option Summary.     (line  328)
 * get, summary:                          Operation Summary.  (line   50)
 * group:                                 override.           (line   99)
-* group, summary:                        Option Summary.     (line  340)
-* group-map, summary:                    Option Summary.     (line  350)
-* gunzip, summary:                       Option Summary.     (line  360)
-* gzip:                                  gzip.               (line   91)
-* gzip, summary:                         Option Summary.     (line  360)
+* group, summary:                        Option Summary.     (line  346)
+* group-map, summary:                    Option Summary.     (line  356)
+* gunzip, summary:                       Option Summary.     (line  366)
+* gzip:                                  gzip.               (line   99)
+* gzip, summary:                         Option Summary.     (line  366)
 * hard-dereference, described:           hard links.         (line   59)
-* hard-dereference, summary:             Option Summary.     (line  369)
+* hard-dereference, summary:             Option Summary.     (line  375)
 * help:                                  help tutorial.      (line    6)
 * help, introduction:                    help.               (line   26)
-* help, summary:                         Option Summary.     (line  375)
+* help, summary:                         Option Summary.     (line  381)
 * hole-detection:                        sparse.             (line   66)
-* hole-detection, summary:               Option Summary.     (line  381)
+* hole-detection, summary:               Option Summary.     (line  387)
 * ignore-case:                           controlling pattern-matching.
                                                              (line   85)
-* ignore-case, summary:                  Option Summary.     (line  386)
+* ignore-case, summary:                  Option Summary.     (line  392)
 * ignore-command-error:                  Writing to an External Program.
                                                              (line  111)
-* ignore-command-error, summary:         Option Summary.     (line  390)
+* ignore-command-error, summary:         Option Summary.     (line  396)
 * ignore-failed-read:                    Ignore Failed Read. (line    7)
-* ignore-failed-read, summary:           Option Summary.     (line  394)
+* ignore-failed-read, summary:           Option Summary.     (line  400)
 * ignore-zeros:                          Ignore Zeros.       (line    6)
 * ignore-zeros, short description:       Blocking Factor.    (line  152)
-* ignore-zeros, summary:                 Option Summary.     (line  399)
-* incremental, summary:                  Option Summary.     (line  405)
+* ignore-zeros, summary:                 Option Summary.     (line  405)
+* incremental, summary:                  Option Summary.     (line  411)
 * incremental, using with '--list':      Incremental Dumps.  (line  185)
-* index-file, summary:                   Option Summary.     (line  413)
+* index-file, summary:                   Option Summary.     (line  419)
 * info-script:                           Multi-Volume Archives.
                                                              (line   83)
 * info-script, short description:        Device.             (line  121)
-* info-script, summary:                  Option Summary.     (line  417)
+* info-script, summary:                  Option Summary.     (line  423)
 * interactive:                           interactive.        (line   14)
-* interactive, summary:                  Option Summary.     (line  426)
-* keep-directory-symlink, summary:       Option Summary.     (line  434)
+* interactive, summary:                  Option Summary.     (line  432)
+* keep-directory-symlink, summary:       Option Summary.     (line  440)
 * keep-newer-files:                      Keep Newer Files.   (line    6)
-* keep-newer-files, summary:             Option Summary.     (line  448)
+* keep-newer-files, summary:             Option Summary.     (line  454)
 * keep-old-files:                        Keep Old Files.     (line    9)
 * keep-old-files, introduced:            Dealing with Old Files.
                                                              (line   16)
-* keep-old-files, summary:               Option Summary.     (line  453)
+* keep-old-files, summary:               Option Summary.     (line  459)
 * label:                                 Tape Files.         (line    6)
 * label <1>:                             label.              (line    6)
-* label, summary:                        Option Summary.     (line  462)
+* label, summary:                        Option Summary.     (line  468)
 * level, described:                      Incremental Dumps.  (line   75)
-* level, summary:                        Option Summary.     (line  470)
+* level, summary:                        Option Summary.     (line  476)
 * list:                                  list.               (line    6)
 * list, summary:                         Operation Summary.  (line   55)
 * list, using with '--incremental':      Incremental Dumps.  (line  185)
@@ -6262,228 +6274,229 @@ Summary::.
 * list, using with '--verbose':          list.               (line   34)
 * list, using with file name arguments:  list.               (line   25)
 * listed-incremental, described:         Incremental Dumps.  (line   14)
-* listed-incremental, summary:           Option Summary.     (line  480)
+* listed-incremental, summary:           Option Summary.     (line  486)
 * listed-incremental, using with '--extract': Incremental Dumps.
                                                              (line  120)
 * listed-incremental, using with '--list': Incremental Dumps.
                                                              (line  185)
-* lzip:                                  gzip.               (line  104)
-* lzip, summary:                         Option Summary.     (line  489)
-* lzma:                                  gzip.               (line  107)
-* lzma, summary:                         Option Summary.     (line  494)
-* lzop:                                  gzip.               (line  110)
+* lzip:                                  gzip.               (line  112)
+* lzip, summary:                         Option Summary.     (line  495)
+* lzma:                                  gzip.               (line  115)
+* lzma, summary:                         Option Summary.     (line  500)
+* lzop:                                  gzip.               (line  118)
 * mode:                                  override.           (line   14)
-* mode, summary:                         Option Summary.     (line  504)
+* mode, summary:                         Option Summary.     (line  510)
 * mtime:                                 override.           (line   30)
-* mtime, summary:                        Option Summary.     (line  511)
+* mtime, summary:                        Option Summary.     (line  517)
 * multi-volume:                          Multi-Volume Archives.
                                                              (line    6)
 * multi-volume, short description:       Device.             (line   88)
-* multi-volume, summary:                 Option Summary.     (line  526)
+* multi-volume, summary:                 Option Summary.     (line  532)
 * new-volume-script:                     Multi-Volume Archives.
                                                              (line   83)
 * new-volume-script, short description:  Device.             (line  121)
-* new-volume-script, summary:            Option Summary.     (line  417)
-* new-volume-script, summary <1>:        Option Summary.     (line  532)
+* new-volume-script, summary:            Option Summary.     (line  423)
+* new-volume-script, summary <1>:        Option Summary.     (line  538)
 * newer:                                 after.              (line   24)
-* newer, summary:                        Option Summary.     (line  536)
+* newer, summary:                        Option Summary.     (line  542)
 * newer-mtime:                           after.              (line   35)
-* newer-mtime, summary:                  Option Summary.     (line  545)
-* no-acls, summary:                      Option Summary.     (line  551)
+* newer-mtime, summary:                  Option Summary.     (line  551)
+* no-acls, summary:                      Option Summary.     (line  557)
 * no-anchored:                           controlling pattern-matching.
                                                              (line   78)
-* no-anchored, summary:                  Option Summary.     (line  555)
-* no-auto-compress, summary:             Option Summary.     (line  559)
+* no-anchored, summary:                  Option Summary.     (line  561)
+* no-auto-compress, summary:             Option Summary.     (line  565)
 * no-check-device, described:            Incremental Dumps.  (line  103)
-* no-check-device, summary:              Option Summary.     (line  564)
+* no-check-device, summary:              Option Summary.     (line  570)
 * no-delay-directory-restore:            Directory Modification Times and Permissions.
                                                              (line   68)
-* no-delay-directory-restore, summary:   Option Summary.     (line  569)
+* no-delay-directory-restore, summary:   Option Summary.     (line  575)
 * no-ignore-case:                        controlling pattern-matching.
                                                              (line   85)
-* no-ignore-case, summary:               Option Summary.     (line  575)
+* no-ignore-case, summary:               Option Summary.     (line  581)
 * no-ignore-command-error:               Writing to an External Program.
                                                              (line  116)
-* no-ignore-command-error, summary:      Option Summary.     (line  578)
+* no-ignore-command-error, summary:      Option Summary.     (line  584)
 * no-null, described:                    nul.                (line   15)
-* no-null, summary:                      Option Summary.     (line  582)
-* no-overwrite-dir, summary:             Option Summary.     (line  588)
-* no-quote-chars, summary:               Option Summary.     (line  593)
+* no-null, summary:                      Option Summary.     (line  588)
+* no-overwrite-dir, summary:             Option Summary.     (line  594)
+* no-quote-chars, summary:               Option Summary.     (line  599)
 * no-recursion:                          recurse.            (line   11)
-* no-recursion, summary:                 Option Summary.     (line  598)
+* no-recursion, summary:                 Option Summary.     (line  604)
 * no-same-owner:                         Attributes.         (line   63)
-* no-same-owner, summary:                Option Summary.     (line  603)
-* no-same-permissions, summary:          Option Summary.     (line  610)
-* no-seek, summary:                      Option Summary.     (line  616)
-* no-selinux, summary:                   Option Summary.     (line  622)
+* no-same-owner, summary:                Option Summary.     (line  609)
+* no-same-permissions, summary:          Option Summary.     (line  616)
+* no-seek, summary:                      Option Summary.     (line  622)
+* no-selinux, summary:                   Option Summary.     (line  628)
 * no-unquote:                            Selecting Archive Members.
                                                              (line   42)
-* no-unquote, summary:                   Option Summary.     (line  626)
+* no-unquote, summary:                   Option Summary.     (line  632)
 * no-verbatim-files-from:                files.              (line   75)
-* no-verbatim-files-from, summary:       Option Summary.     (line  630)
+* no-verbatim-files-from, summary:       Option Summary.     (line  636)
 * no-wildcards:                          controlling pattern-matching.
                                                              (line   41)
-* no-wildcards, summary:                 Option Summary.     (line  644)
+* no-wildcards, summary:                 Option Summary.     (line  650)
 * no-wildcards-match-slash:              controlling pattern-matching.
                                                              (line   91)
-* no-wildcards-match-slash, summary:     Option Summary.     (line  647)
-* no-xattrs, summary:                    Option Summary.     (line  650)
+* no-wildcards-match-slash, summary:     Option Summary.     (line  653)
+* no-xattrs, summary:                    Option Summary.     (line  656)
 * null, described:                       nul.                (line   11)
-* null, summary:                         Option Summary.     (line  654)
+* null, summary:                         Option Summary.     (line  660)
 * numeric-owner:                         Attributes.         (line   69)
-* numeric-owner, summary:                Option Summary.     (line  667)
+* numeric-owner, summary:                Option Summary.     (line  673)
 * occurrence, described:                 append.             (line   34)
-* occurrence, summary:                   Option Summary.     (line  685)
-* old-archive, summary:                  Option Summary.     (line  700)
+* occurrence, summary:                   Option Summary.     (line  691)
+* old-archive, summary:                  Option Summary.     (line  706)
 * one-file-system:                       one.                (line   14)
-* one-file-system, summary:              Option Summary.     (line  703)
-* one-top-level, summary:                Option Summary.     (line  708)
+* one-file-system, summary:              Option Summary.     (line  709)
+* one-top-level, summary:                Option Summary.     (line  714)
 * overwrite:                             Overwrite Old Files.
                                                              (line    6)
 * overwrite, introduced:                 Dealing with Old Files.
                                                              (line   32)
-* overwrite, summary:                    Option Summary.     (line  719)
+* overwrite, summary:                    Option Summary.     (line  725)
 * overwrite-dir:                         Overwrite Old Files.
                                                              (line   28)
 * overwrite-dir, introduced:             Dealing with Old Files.
                                                              (line    6)
-* overwrite-dir, summary:                Option Summary.     (line  724)
+* overwrite-dir, summary:                Option Summary.     (line  730)
 * owner:                                 override.           (line   67)
-* owner, summary:                        Option Summary.     (line  729)
-* owner-map, summary:                    Option Summary.     (line  739)
+* owner, summary:                        Option Summary.     (line  735)
+* owner-map, summary:                    Option Summary.     (line  745)
 * pax-option:                            PAX keywords.       (line    6)
-* pax-option, summary:                   Option Summary.     (line  749)
-* portability, summary:                  Option Summary.     (line  755)
-* posix, summary:                        Option Summary.     (line  759)
+* pax-option, summary:                   Option Summary.     (line  755)
+* portability, summary:                  Option Summary.     (line  761)
+* posix, summary:                        Option Summary.     (line  765)
 * preserve-order:                        Same Order.         (line    6)
-* preserve-order, summary:               Option Summary.     (line  762)
+* preserve-order, summary:               Option Summary.     (line  768)
 * preserve-permissions:                  Setting Access Permissions.
                                                              (line   10)
 * preserve-permissions, short description: Attributes.       (line  109)
-* preserve-permissions, summary:         Option Summary.     (line  766)
-* quote-chars, summary:                  Option Summary.     (line  777)
+* preserve-permissions, summary:         Option Summary.     (line  772)
+* quote-chars, summary:                  Option Summary.     (line  783)
 * quoting-style:                         quoting styles.     (line   36)
-* quoting-style, summary:                Option Summary.     (line  781)
+* quoting-style, summary:                Option Summary.     (line  787)
 * read-full-records:                     Reading.            (line    6)
 * read-full-records <1>:                 read full records.  (line    6)
 * read-full-records, short description:  Blocking Factor.    (line  168)
-* read-full-records, summary:            Option Summary.     (line  788)
-* record-size, summary:                  Option Summary.     (line  794)
+* read-full-records, summary:            Option Summary.     (line  794)
+* record-size, summary:                  Option Summary.     (line  800)
 * recursion:                             recurse.            (line   22)
-* recursion, summary:                    Option Summary.     (line  802)
+* recursion, summary:                    Option Summary.     (line  808)
 * recursive-unlink:                      Recursive Unlink.   (line    6)
-* recursive-unlink, summary:             Option Summary.     (line  807)
+* recursive-unlink, summary:             Option Summary.     (line  813)
 * remove-files:                          remove files.       (line    6)
-* remove-files, summary:                 Option Summary.     (line  812)
-* restrict, summary:                     Option Summary.     (line  817)
-* rmt-command, summary:                  Option Summary.     (line  823)
+* remove-files, summary:                 Option Summary.     (line  818)
+* restrict, summary:                     Option Summary.     (line  823)
+* rmt-command, summary:                  Option Summary.     (line  829)
 * rsh-command:                           Device.             (line   73)
-* rsh-command, summary:                  Option Summary.     (line  828)
+* rsh-command, summary:                  Option Summary.     (line  834)
 * same-order:                            Same Order.         (line    6)
-* same-order, summary:                   Option Summary.     (line  833)
+* same-order, summary:                   Option Summary.     (line  839)
 * same-owner:                            Attributes.         (line   44)
-* same-owner, summary:                   Option Summary.     (line  842)
+* same-owner, summary:                   Option Summary.     (line  848)
 * same-permissions:                      Setting Access Permissions.
                                                              (line   10)
 * same-permissions, short description:   Attributes.         (line  109)
-* same-permissions, summary:             Option Summary.     (line  766)
-* same-permissions, summary <1>:         Option Summary.     (line  849)
-* seek, summary:                         Option Summary.     (line  853)
-* selinux, summary:                      Option Summary.     (line  863)
+* same-permissions, summary:             Option Summary.     (line  772)
+* same-permissions, summary <1>:         Option Summary.     (line  855)
+* seek, summary:                         Option Summary.     (line  859)
+* selinux, summary:                      Option Summary.     (line  869)
 * show-defaults:                         defaults.           (line    6)
-* show-defaults, summary:                Option Summary.     (line  867)
+* show-defaults, summary:                Option Summary.     (line  873)
 * show-omitted-dirs:                     verbose.            (line  105)
-* show-omitted-dirs, summary:            Option Summary.     (line  880)
+* show-omitted-dirs, summary:            Option Summary.     (line  886)
 * show-snapshot-field-ranges:            Snapshot Files.     (line  111)
-* show-snapshot-field-ranges, summary:   Option Summary.     (line  885)
+* show-snapshot-field-ranges, summary:   Option Summary.     (line  891)
 * show-stored-names:                     list.               (line   68)
-* show-stored-names, summary:            Option Summary.     (line  891)
+* show-stored-names, summary:            Option Summary.     (line  897)
 * show-transformed-names:                transform.          (line   45)
-* show-transformed-names, summary:       Option Summary.     (line  891)
+* show-transformed-names, summary:       Option Summary.     (line  897)
 * skip-old-files, introduced:            Dealing with Old Files.
                                                              (line   28)
-* skip-old-files, summary:               Option Summary.     (line  900)
-* sort, summary:                         Option Summary.     (line  913)
+* skip-old-files, summary:               Option Summary.     (line  906)
+* sort, summary:                         Option Summary.     (line  919)
 * sparse:                                sparse.             (line   24)
-* sparse, summary:                       Option Summary.     (line  930)
+* sparse, summary:                       Option Summary.     (line  936)
 * sparse-version:                        sparse.             (line   59)
-* sparse-version, summary:               Option Summary.     (line  936)
+* sparse-version, summary:               Option Summary.     (line  942)
 * starting-file:                         Starting File.      (line    6)
-* starting-file, summary:                Option Summary.     (line  942)
+* starting-file, summary:                Option Summary.     (line  948)
 * strip-components:                      transform.          (line   25)
-* strip-components, summary:             Option Summary.     (line  949)
+* strip-components, summary:             Option Summary.     (line  955)
 * suffix:                                backup.             (line   67)
-* suffix, summary:                       Option Summary.     (line  960)
+* suffix, summary:                       Option Summary.     (line  966)
 * tape-length:                           Multi-Volume Archives.
                                                              (line   33)
 * tape-length, short description:        Device.             (line   96)
-* tape-length, summary:                  Option Summary.     (line  965)
+* tape-length, summary:                  Option Summary.     (line  971)
 * test-label:                            label.              (line   35)
-* test-label, summary:                   Option Summary.     (line  975)
+* test-label, summary:                   Option Summary.     (line  982)
 * to-command:                            Writing to an External Program.
                                                              (line    9)
-* to-command, summary:                   Option Summary.     (line  980)
+* to-command, summary:                   Option Summary.     (line  987)
 * to-stdout:                             Writing to Standard Output.
                                                              (line   14)
-* to-stdout, summary:                    Option Summary.     (line  985)
+* to-stdout, summary:                    Option Summary.     (line  992)
 * totals:                                verbose.            (line   45)
-* totals, summary:                       Option Summary.     (line  991)
+* totals, summary:                       Option Summary.     (line  998)
 * touch:                                 Data Modification Times.
                                                              (line   15)
 * touch <1>:                             Attributes.         (line   33)
-* touch, summary:                        Option Summary.     (line  997)
+* touch, summary:                        Option Summary.     (line 1004)
 * transform:                             transform.          (line   74)
-* transform, summary:                    Option Summary.     (line 1004)
-* uncompress:                            gzip.               (line  113)
-* uncompress, summary:                   Option Summary.     (line  164)
-* uncompress, summary <1>:               Option Summary.     (line 1018)
-* ungzip:                                gzip.               (line   91)
-* ungzip, summary:                       Option Summary.     (line  360)
-* ungzip, summary <1>:                   Option Summary.     (line 1022)
+* transform, summary:                    Option Summary.     (line 1011)
+* uncompress:                            gzip.               (line  124)
+* uncompress, summary:                   Option Summary.     (line  170)
+* uncompress, summary <1>:               Option Summary.     (line 1025)
+* ungzip:                                gzip.               (line   99)
+* ungzip, summary:                       Option Summary.     (line  366)
+* ungzip, summary <1>:                   Option Summary.     (line 1029)
 * unlink-first:                          Unlink First.       (line    6)
 * unlink-first, introduced:              Dealing with Old Files.
                                                              (line   51)
-* unlink-first, summary:                 Option Summary.     (line 1026)
+* unlink-first, summary:                 Option Summary.     (line 1033)
 * unquote:                               Selecting Archive Members.
                                                              (line   39)
-* unquote, summary:                      Option Summary.     (line 1032)
+* unquote, summary:                      Option Summary.     (line 1039)
 * update:                                update.             (line    6)
 * update <1>:                            how to update.      (line    6)
 * update, summary:                       Operation Summary.  (line   60)
 * usage:                                 help.               (line   53)
-* use-compress-program:                  gzip.               (line  172)
-* use-compress-program, summary:         Option Summary.     (line 1036)
-* utc, summary:                          Option Summary.     (line 1042)
+* use-compress-program:                  gzip.               (line  185)
+* use-compress-program, summary:         Option Summary.     (line 1043)
+* utc, summary:                          Option Summary.     (line 1049)
 * verbatim-files-from:                   files.              (line   70)
-* verbatim-files-from, summary:          Option Summary.     (line 1047)
+* verbatim-files-from, summary:          Option Summary.     (line 1054)
 * verbose:                               verbose.            (line   18)
 * verbose, introduced:                   verbose tutorial.   (line    6)
-* verbose, summary:                      Option Summary.     (line 1069)
+* verbose, summary:                      Option Summary.     (line 1076)
 * verbose, using with '--create':        create verbose.     (line    6)
 * verbose, using with '--list':          list.               (line   34)
 * verify, short description:             verify.             (line    8)
-* verify, summary:                       Option Summary.     (line 1077)
+* verify, summary:                       Option Summary.     (line 1084)
 * verify, using with '--create':         verify.             (line   24)
 * version:                               help.               (line    6)
-* version, summary:                      Option Summary.     (line 1083)
+* version, summary:                      Option Summary.     (line 1090)
 * volno-file:                            Multi-Volume Archives.
                                                              (line   74)
-* volno-file, summary:                   Option Summary.     (line 1089)
+* volno-file, summary:                   Option Summary.     (line 1096)
 * warning, explained:                    warnings.           (line   12)
-* warning, summary:                      Option Summary.     (line 1095)
+* warning, summary:                      Option Summary.     (line 1102)
 * wildcards:                             controlling pattern-matching.
                                                              (line   38)
-* wildcards, summary:                    Option Summary.     (line 1101)
+* wildcards, summary:                    Option Summary.     (line 1108)
 * wildcards-match-slash:                 controlling pattern-matching.
                                                              (line   91)
-* wildcards-match-slash, summary:        Option Summary.     (line 1105)
-* xattrs, summary:                       Option Summary.     (line 1108)
-* xattrs-exclude, summary:               Option Summary.     (line 1112)
-* xattrs-include, summary:               Option Summary.     (line 1116)
+* wildcards-match-slash, summary:        Option Summary.     (line 1112)
+* xattrs, summary:                       Option Summary.     (line 1115)
+* xattrs-exclude, summary:               Option Summary.     (line 1119)
+* xattrs-include, summary:               Option Summary.     (line 1123)
 * xform:                                 transform.          (line   74)
-* xform, summary:                        Option Summary.     (line 1004)
-* xz:                                    gzip.               (line   96)
-* xz, summary:                           Option Summary.     (line 1122)
+* xform, summary:                        Option Summary.     (line 1011)
+* xz:                                    gzip.               (line  104)
+* xz, summary:                           Option Summary.     (line 1129)
+* zstd:                                  gzip.               (line  121)
 
 
 File: tar.info,  Node: Index,  Prev: Index of Command Line Options,  Up: Top
@@ -6522,7 +6535,7 @@ Appendix J Index
                                                               (line  23)
 * all:                                   warnings.            (line  28)
 * alone-zero-block:                      warnings.            (line  33)
-* alternative decompression programs:    gzip.                (line  54)
+* alternative decompression programs:    gzip.                (line  62)
 * am in date strings:                    Time of day items.   (line  21)
 * Appending files to an Archive:         appending files.     (line   6)
 * appending files to existing archive:   append.              (line   6)
@@ -6600,7 +6613,7 @@ Appendix J Index
                                                               (line  40)
 * contiguous-cast:                       warnings.            (line  70)
 * corrupted archives:                    Full Dumps.          (line   8)
-* corrupted archives <1>:                gzip.                (line 140)
+* corrupted archives <1>:                gzip.                (line 151)
 * Creation of the archive:               create.              (line   6)
 * 'Current %s is newer or same age', warning message: warnings.
                                                               (line  76)
@@ -6670,7 +6683,7 @@ Appendix J Index
 * Excluding files by file system:        exclude.             (line   6)
 * Excluding files by name and pattern:   exclude.             (line   6)
 * Exec Mode, 'genfile':                  Exec Mode.           (line   6)
-* 'exec', checkpoint action:             checkpoints.         (line 151)
+* 'exec', checkpoint action:             checkpoints.         (line 166)
 * existing backup method:                backup.              (line  59)
 * existing-file:                         warnings.            (line  66)
 * exit status:                           Synopsis.            (line  67)
@@ -6750,8 +6763,8 @@ Appendix J Index
 * GNU.sparse.offset, extended header variable: PAX 0.         (line  17)
 * GNU.sparse.realsize, extended header variable: PAX 1.       (line  24)
 * GNU.sparse.size, extended header variable: PAX 0.           (line  10)
-* gnupg, using with tar:                 gzip.                (line 196)
-* gpg, using with tar:                   gzip.                (line 196)
+* gnupg, using with tar:                 gzip.                (line 209)
+* gpg, using with tar:                   gzip.                (line 209)
 * gzip:                                  gzip.                (line   6)
 * hard links, dereferencing:             hard links.          (line   6)
 * header-col:                            Configuring Help Summary.
@@ -6875,7 +6888,7 @@ Appendix J Index
                                                               (line 127)
 * option syntax, traditional:            Old Options.         (line   6)
 * optional arguments to long options:    Long Options.        (line  39)
-* optional arguments to short options:   Short Options.       (line  21)
+* optional arguments to short options:   Short Options.       (line  22)
 * options for use with '--extract':      extract options.     (line   6)
 * Options when reading archives:         Reading.             (line   6)
 * Options, archive format specifying:    Format Variations.   (line   6)
@@ -6939,7 +6952,7 @@ Appendix J Index
 * SCCS, excluding files:                 exclude.             (line  85)
 * short options:                         Short Options.       (line   6)
 * short options with mandatory arguments: Short Options.      (line  13)
-* short options with optional arguments: Short Options.       (line  21)
+* short options with optional arguments: Short Options.       (line  22)
 * short-opt-col:                         Configuring Help Summary.
                                                               (line  79)
 * simple backup method:                  backup.              (line  64)
@@ -7006,7 +7019,7 @@ Appendix J Index
 * tar-snapshot-edit:                     Fixing Snapshot Files.
                                                               (line  17)
 * tarcat:                                Tarcat.              (line   6)
-* TAR_ARCHIVE, checkpoint script environment: checkpoints.    (line 167)
+* TAR_ARCHIVE, checkpoint script environment: checkpoints.    (line 182)
 * TAR_ARCHIVE, info script environment variable: Multi-Volume Archives.
                                                               (line 105)
 * TAR_ARCHIVE, to-command environment:   Writing to an External Program.
@@ -7014,12 +7027,12 @@ Appendix J Index
 * TAR_ATIME, to-command environment:     Writing to an External Program.
                                                               (line  52)
 * TAR_BLOCKING_FACTOR, checkpoint script environment: checkpoints.
-                                                              (line 170)
+                                                              (line 185)
 * TAR_BLOCKING_FACTOR, info script environment variable: Multi-Volume Archives.
                                                               (line 108)
 * TAR_BLOCKING_FACTOR, to-command environment: Writing to an External Program.
                                                               (line  82)
-* TAR_CHECKPOINT, checkpoint script environment: checkpoints. (line 173)
+* TAR_CHECKPOINT, checkpoint script environment: checkpoints. (line 188)
 * TAR_CTIME, to-command environment:     Writing to an External Program.
                                                               (line  61)
 * TAR_FD, info script environment variable: Multi-Volume Archives.
@@ -7028,7 +7041,7 @@ Appendix J Index
                                                               (line  40)
 * TAR_FILETYPE, to-command environment:  Writing to an External Program.
                                                               (line  24)
-* TAR_FORMAT, checkpoint script environment: checkpoints.     (line 180)
+* TAR_FORMAT, checkpoint script environment: checkpoints.     (line 195)
 * TAR_FORMAT, info script environment variable: Multi-Volume Archives.
                                                               (line 118)
 * TAR_FORMAT, to-command environment:    Writing to an External Program.
@@ -7046,14 +7059,14 @@ Appendix J Index
                                                               (line  43)
 * TAR_SIZE, to-command environment:      Writing to an External Program.
                                                               (line  64)
-* TAR_SUBCOMMAND, checkpoint script environment: checkpoints. (line 176)
+* TAR_SUBCOMMAND, checkpoint script environment: checkpoints. (line 191)
 * TAR_SUBCOMMAND, info script environment variable: Multi-Volume Archives.
                                                               (line 114)
 * TAR_UID, to-command environment:       Writing to an External Program.
                                                               (line  67)
 * TAR_UNAME, to-command environment:     Writing to an External Program.
                                                               (line  46)
-* TAR_VERSION, checkpoint script environment: checkpoints.    (line 164)
+* TAR_VERSION, checkpoint script environment: checkpoints.    (line 179)
 * TAR_VERSION, info script environment variable: Multi-Volume Archives.
                                                               (line 102)
 * TAR_VERSION, to-command environment:   Writing to an External Program.
@@ -7090,7 +7103,7 @@ Appendix J Index
 * Updating an archive:                   update.              (line   6)
 * usage-indent:                          Configuring Help Summary.
                                                               (line 155)
-* Using encrypted archives:              gzip.                (line 196)
+* Using encrypted archives:              gzip.                (line 209)
 * ustar archive format:                  ustar.               (line   6)
 * v7 archive format:                     old.                 (line   6)
 * VCS, excluding files:                  exclude.             (line  85)
@@ -7110,6 +7123,7 @@ Appendix J Index
 * Volume label, listing:                 label.               (line  27)
 * Volume number file:                    Multi-Volume Archives.
                                                               (line  74)
+* 'wait', checkpoint action:             checkpoints.         (line 151)
 * week in date strings:                  Relative items in date strings.
                                                               (line  15)
 * Where is the archive?:                 file.                (line   6)
@@ -7126,4 +7140,5 @@ Appendix J Index
                                                               (line  15)
 * yesterday in date strings:             Relative items in date strings.
                                                               (line  29)
+* zstd:                                  gzip.                (line   6)
 
diff --git a/doc/tar.texi b/doc/tar.texi
index ce8508f5..71318f3e 100644
--- a/doc/tar.texi
+++ b/doc/tar.texi
@@ -1464,7 +1464,7 @@ tar: Removing leading '/' from member names
 /home/myself/practice/folk
 /home/myself/practice/jazz
 /home/myself/practice/collection.tar
-$ @kbd{tar --test --file practice.tar}
+$ @kbd{tar --list --file practice.tar}
 home/myself/practice/
 home/myself/practice/blues
 home/myself/practice/folk
@@ -1495,7 +1495,7 @@ home/myself/practice/blues
 home/myself/practice/folk
 home/myself/practice/jazz
 home/myself/practice/collection.tar
-$ @kbd{tar --test --file practice.tar}
+$ @kbd{tar --list --file practice.tar}
 home/myself/practice/
 home/myself/practice/blues
 home/myself/practice/folk
@@ -2553,6 +2553,12 @@ Wait for @var{time} seconds.
 
 @item ttyout=@var{string}
 Output @var{string} on the current console (@file{/dev/tty}).
+
+@item totals
+Print statistics (see @pxref{totals}).
+
+@item wait=@var{signo}
+Wait for signal @var{signo}.
 @end table
 
 Several @option{--checkpoint-action} options can be specified.  The
@@ -3713,6 +3719,9 @@ only attributes from the user namespace.
 @itemx -J
 Use @command{xz} for compressing or decompressing the archives.  @xref{gzip}.
 
+@item --zstd
+Use @command{zstd} for compressing or decompressing the archives.  @xref{gzip}.
+
 @end table
 
 @node Short Option Summary
@@ -3786,8 +3795,8 @@ them with the equivalent long option.
 
 @item -m @tab @ref{--touch}.
 
-@item -o @tab When creating, @ref{--no-same-owner}, when extracting ---
-@ref{--portability}.
+@item -o @tab When extracting, same as @ref{--no-same-owner}. When creating,
+-- @ref{--old-archive}.
 
 The latter usage is deprecated.  It is retained for compatibility with
 the earlier versions of @GNUTAR{}.  In future releases
@@ -3968,7 +3977,7 @@ successfully.  For example, @w{@samp{tar --version}} might print:
 
 @smallexample
 tar (GNU tar) @value{VERSION}
-Copyright (C) 2013-2017 Free Software Foundation, Inc.
+Copyright (C) 2013-2019 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.
@@ -4449,6 +4458,25 @@ checkpoint:
 $ @kbd{tar -c --checkpoint=1000 --checkpoint-action=sleep=30}
 @end smallexample
 
+@anchor{checkpoint wait}
+@cindex @code{wait}, checkpoint action
+The @code{wait=@var{signo}} action stops further execution until the
+signal @var{signo} is delivered.  Valid values for @var{signo} are:
+@code{SIGHUP}, @code{SIGQUIT}, @code{SIGINT}, @code{SIGUSR1} and
+@code{SIGUSR2}.  The @samp{SIG} prefix is optional.  For example:
+
+@example
+$ @kbd{tar -c -f arc --checkpoint=1000 --checkpoint-action wait=USR1 .}
+@end example
+
+In this example, @GNUTAR{} will stop archivation at each 1000th
+checkpoint. wait until the @samp{SIGUSR1} signal is delivered,
+and resume processing.
+
+This action is used by the @command{genfile} utility to perform
+modifications on the input files upon hitting certain checkpoints
+(@pxref{Exec Mode, genfile}).
+
 @anchor{checkpoint exec}
 @cindex @code{exec}, checkpoint action
 Finally, the @code{exec} action executes a given external command.
@@ -5477,7 +5505,7 @@ reproducible archives given a common timestamp for generated files
 while still retaining the original timestamps of untouched files.
 
 @smallexample
-$ @kbd{tar -c -f archive.tar --clamp-mtime --mtime=@atchar{}$SOURCE_DATE_EPOCH .}
+$ @kbd{tar -c -f archive.tar --clamp-mtime --mtime=@@$SOURCE_DATE_EPOCH .}
 @end smallexample
 
 @item --owner=@var{user}
@@ -9520,24 +9548,32 @@ switch to @samp{posix}.
 @cindex lzma
 @cindex lzop
 @cindex compress
+@cindex zstd
 @GNUTAR{} is able to create and read compressed archives.  It supports
 a wide variety of compression programs, namely: @command{gzip},
 @command{bzip2}, @command{lzip}, @command{lzma}, @command{lzop},
-@command{xz} and traditional @command{compress}. The latter is
-supported mostly for backward compatibility, and we recommend
+@command{zstd}, @command{xz} and traditional @command{compress}. The
+latter is supported mostly for backward compatibility, and we recommend
 against using it, because it is by far less effective than the other
 compression programs@footnote{It also had patent problems in the past.}.
 
 Creating a compressed archive is simple: you just specify a
 @dfn{compression option} along with the usual archive creation
-commands.  The compression option is @option{-z} (@option{--gzip}) to
-create a @command{gzip} compressed archive, @option{-j}
-(@option{--bzip2}) to create a @command{bzip2} compressed archive,
-@option{--lzip} to create an @asis{lzip} compressed archive,
-@option{-J} (@option{--xz}) to create an @asis{XZ} archive,
-@option{--lzma} to create an @asis{LZMA} compressed
-archive, @option{--lzop} to create an @asis{LZOP} archive, and
-@option{-Z} (@option{--compress}) to use @command{compress} program.
+commands.  Available compression options are summarized in the
+table below:
+
+@multitable @columnfractions 0.4 0.2 0.4
+@headitem Long            @tab Short       @tab Archive format
+@item @option{--gzip}     @tab @option{-z} @tab @command{gzip}
+@item @option{--bzip2}    @tab @option{-j} @tab @command{bzip2}
+@item @option{--xz}       @tab @option{-J} @tab @command{xz}
+@item @option{--lzip}     @tab             @tab @command{lzip}
+@item @option{--lzma}     @tab             @tab @command{lzma}
+@item @option{--lzop}     @tab             @tab @command{lzop}
+@item @option{--zstd}     @tab             @tab @command{zstd}
+@item @option{--compress} @tab @option{-Z} @tab @command{compress}
+@end multitable
+
 For example:
 
 @smallexample
@@ -9658,6 +9694,10 @@ Filter the archive through @command{lzma}.
 @item --lzop
 Filter the archive through @command{lzop}.
 
+@opindex zstd
+@item --zstd
+Filter the archive through @command{zstd}.
+
 @opindex compress
 @opindex uncompress
 @item -Z
@@ -9730,6 +9770,8 @@ suffix.  The following suffixes are recognized:
 @item @samp{.tlz} @tab @command{lzma}
 @item @samp{.lzo} @tab @command{lzop}
 @item @samp{.xz} @tab @command{xz}
+@item @samp{.zst} @tab @command{zstd}
+@item @samp{.tzst} @tab @command{zstd}
 @end multitable
 
 @anchor{use-compress-program}
diff --git a/doc/texify.sed b/doc/texify.sed
index f48f2051..b67c018c 100644
--- a/doc/texify.sed
+++ b/doc/texify.sed
@@ -1,5 +1,4 @@
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/doc/value.texi b/doc/value.texi
index 790b1999..b2e14485 100644
--- a/doc/value.texi
+++ b/doc/value.texi
@@ -1,6 +1,5 @@
 @c This is part of GNU tar manual.
-@c Copyright 1992, 1994-1997, 1999-2006, 2013-2014, 2016-2017 Free
-@c Software Foundation, Inc.
+@c Copyright 1992-2019 Free Software Foundation, Inc.
 @c See file tar.texi for copying conditions.
 
 @macro GNUTAR
diff --git a/doc/version.texi b/doc/version.texi
index 0b311612..1b3ab5e4 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 16 December 2017
-@set UPDATED-MONTH December 2017
-@set EDITION 1.30
-@set VERSION 1.30
+@set UPDATED 4 February 2019
+@set UPDATED-MONTH February 2019
+@set EDITION 1.32
+@set VERSION 1.32
diff --git a/gnu/Makefile.am b/gnu/Makefile.am
index 276b528e..acbf88d3 100644
--- a/gnu/Makefile.am
+++ b/gnu/Makefile.am
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+# Copyright (C) 2002-2019 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
@@ -21,9 +21,105 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl alloca areadlinkat-with-size argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat file-has-acl fileblocks fnmatch-gnu fprintftime fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtoimax strtol strtoul strtoumax symlinkat timespec timespec-sub unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
-
-AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects
+# Reproduce by:
+# gnulib-tool --import --local-dir=gl \
+#  --lib=libgnu \
+#  --source-base=gnu \
+#  --m4-base=m4 \
+#  --doc-base=doc \
+#  --tests-base=tests \
+#  --aux-dir=build-aux \
+#  --no-conditional-dependencies \
+#  --no-libtool \
+#  --macro-prefix=gl \
+#  --avoid=lock \
+#  alloca \
+#  areadlinkat-with-size \
+#  argmatch \
+#  argp \
+#  argp-version-etc \
+#  backupfile \
+#  closeout \
+#  configmake \
+#  dirname \
+#  error \
+#  exclude \
+#  exitfail \
+#  extern-inline \
+#  faccessat \
+#  fchmodat \
+#  fchownat \
+#  fcntl-h \
+#  fdopendir \
+#  fdutimensat \
+#  file-has-acl \
+#  fileblocks \
+#  fnmatch-gnu \
+#  fprintftime \
+#  fseeko \
+#  fstatat \
+#  full-write \
+#  futimens \
+#  getline \
+#  getopt-gnu \
+#  getpagesize \
+#  gettext \
+#  gettime \
+#  gitlog-to-changelog \
+#  hash \
+#  human \
+#  inttostr \
+#  inttypes \
+#  lchown \
+#  linkat \
+#  localcharset \
+#  manywarnings \
+#  mkdirat \
+#  mkdtemp \
+#  mkfifoat \
+#  modechange \
+#  obstack \
+#  openat \
+#  parse-datetime \
+#  priv-set \
+#  progname \
+#  quote \
+#  quotearg \
+#  readlinkat \
+#  renameat \
+#  root-uid \
+#  rpmatch \
+#  safe-read \
+#  savedir \
+#  selinux-at \
+#  setenv \
+#  snprintf \
+#  stat-time \
+#  stdbool \
+#  stdint \
+#  stpcpy \
+#  strdup-posix \
+#  strerror \
+#  strnlen \
+#  strtoimax \
+#  strtol \
+#  strtoul \
+#  strtoumax \
+#  symlinkat \
+#  timespec \
+#  timespec-sub \
+#  unlinkat \
+#  unlinkdir \
+#  unlocked-io \
+#  utimensat \
+#  version-etc-fsf \
+#  xalloc \
+#  xalloc-die \
+#  xgetcwd \
+#  xstrtoumax \
+#  xvasprintf
+
+AUTOMAKE_OPTIONS = 1.11 gnits subdir-objects
 
 SUBDIRS =
 noinst_HEADERS =
@@ -611,6 +707,14 @@ EXTRA_DIST += fcntl.in.h
 
 ## end   gnulib module fcntl-h
 
+## begin gnulib module fcntl-safer
+
+libgnu_a_SOURCES += creat-safer.c open-safer.c
+
+EXTRA_DIST += fcntl--.h fcntl-safer.h
+
+## end   gnulib module fcntl-safer
+
 ## begin gnulib module fd-hook
 
 libgnu_a_SOURCES += fd-hook.c
@@ -712,29 +816,46 @@ EXTRA_libgnu_a_SOURCES += float.c itold.c
 
 ## begin gnulib module fnmatch
 
+
+EXTRA_DIST += fnmatch.c fnmatch_loop.c
+
+EXTRA_libgnu_a_SOURCES += fnmatch.c fnmatch_loop.c
+
+## end   gnulib module fnmatch
+
+## begin gnulib module fnmatch-h
+
 BUILT_SOURCES += $(FNMATCH_H)
 
-# We need the following in order to create <fnmatch.h> when the system
-# doesn't have one that supports the required API.
+# We need the following in order to create <fnmatch.h>.
 if GL_GENERATE_FNMATCH_H
-fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
+fnmatch.h: fnmatch.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 '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+	      -e 's|@''HAVE_FNMATCH_H''@|$(HAVE_FNMATCH_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' \
+	      -e 's|@''NEXT_FNMATCH_H''@|$(NEXT_FNMATCH_H)|g' \
+	      -e 's/@''GNULIB_FNMATCH''@/$(GNULIB_FNMATCH)/g' \
+	      -e 's|@''HAVE_FNMATCH''@|$(HAVE_FNMATCH)|g' \
+	      -e 's|@''REPLACE_FNMATCH''@|$(REPLACE_FNMATCH)|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)/fnmatch.in.h; \
 	} > $@-t && \
-	mv -f $@-t $@
+	mv $@-t $@
 else
 fnmatch.h: $(top_builddir)/config.status
 	rm -f $@
 endif
 MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t
 
-EXTRA_DIST += fnmatch.c fnmatch.in.h fnmatch_loop.c
-
-EXTRA_libgnu_a_SOURCES += fnmatch.c fnmatch_loop.c
+EXTRA_DIST += fnmatch.in.h
 
-## end   gnulib module fnmatch
+## end   gnulib module fnmatch-h
 
 ## begin gnulib module fpending
 
@@ -864,7 +985,7 @@ BUILT_SOURCES += $(GETOPT_H) $(GETOPT_CDEFS_H)
 
 # We need the following in order to create <getopt.h> when the system
 # doesn't have one that works with the given compiler.
-getopt.h: getopt.in.h $(top_builddir)/config.status
+getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
@@ -1038,6 +1159,7 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
 	      -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/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
 	      -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
 	      -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
 	      -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
@@ -1083,6 +1205,7 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
 	      -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \
 	      -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
 	      -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
+	      -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \
 	      -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
 	      -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
 	      -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
@@ -1107,6 +1230,13 @@ EXTRA_libgnu_a_SOURCES += lchown.c
 
 ## end   gnulib module lchown
 
+## begin gnulib module libc-config
+
+
+EXTRA_DIST += cdefs.h libc-config.h
+
+## end   gnulib module libc-config
+
 ## begin gnulib module limits-h
 
 BUILT_SOURCES += $(LIMITS_H)
@@ -1155,75 +1285,9 @@ EXTRA_libgnu_a_SOURCES += at-func2.c linkat.c
 
 ## begin gnulib module localcharset
 
-libgnu_a_SOURCES += localcharset.h localcharset.c
-
-# We need the following in order to install a simple file in $(libdir)
-# which is shared with other installed packages. We use a list of referencing
-# packages so that "make uninstall" will remove the file if and only if it
-# is not used by another installed package.
-# On systems with glibc-2.1 or newer, the file is redundant, therefore we
-# avoid installing it.
-
-all-local: charset.alias ref-add.sed ref-del.sed
-
-charset_alias = $(DESTDIR)$(libdir)/charset.alias
-charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
-install-exec-local: install-exec-localcharset
-install-exec-localcharset: all-local
-	if test $(GLIBC21) = no; then \
-	  case '$(host_os)' in \
-	    darwin[56]*) \
-	      need_charset_alias=true ;; \
-	    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-	      need_charset_alias=false ;; \
-	    *) \
-	      need_charset_alias=true ;; \
-	  esac ; \
-	else \
-	  need_charset_alias=false ; \
-	fi ; \
-	if $$need_charset_alias; then \
-	  $(mkinstalldirs) $(DESTDIR)$(libdir) ; \
-	fi ; \
-	if test -f $(charset_alias); then \
-	  sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
-	  $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-	  rm -f $(charset_tmp) ; \
-	else \
-	  if $$need_charset_alias; then \
-	    sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
-	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-	    rm -f $(charset_tmp) ; \
-	  fi ; \
-	fi
-
-uninstall-local: uninstall-localcharset
-uninstall-localcharset: all-local
-	if test -f $(charset_alias); then \
-	  sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
-	  if grep '^# Packages using this file: $$' $(charset_tmp) \
-	      > /dev/null; then \
-	    rm -f $(charset_alias); \
-	  else \
-	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
-	  fi; \
-	  rm -f $(charset_tmp); \
-	fi
-
-charset.alias: config.charset
-	$(AM_V_GEN)rm -f t-$@ $@ && \
-	$(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \
-	mv t-$@ $@
+libgnu_a_SOURCES += localcharset.c
 
-SUFFIXES += .sed .sin
-.sin.sed:
-	$(AM_V_GEN)rm -f t-$@ $@ && \
-	sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \
-	mv t-$@ $@
-
-CLEANFILES += charset.alias ref-add.sed ref-del.sed
-
-EXTRA_DIST += config.charset ref-add.sin ref-del.sin
+EXTRA_DIST += localcharset.h
 
 ## end   gnulib module localcharset
 
@@ -1244,11 +1308,16 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
 	      -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
 	      -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
+	      -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \
+	      -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \
 	      -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
+	      -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|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_NEWLOCALE''@|$(REPLACE_NEWLOCALE)|g' \
 	      -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+	      -e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|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)' \
@@ -1320,7 +1389,7 @@ EXTRA_libgnu_a_SOURCES += malloc.c
 
 libgnu_a_SOURCES += malloca.c
 
-EXTRA_DIST += malloca.h malloca.valgrind
+EXTRA_DIST += malloca.h
 
 ## end   gnulib module malloca
 
@@ -1568,6 +1637,14 @@ EXTRA_DIST += openat.h
 
 ## end   gnulib module openat-h
 
+## begin gnulib module openat-safer
+
+libgnu_a_SOURCES += openat-safer.c
+
+EXTRA_DIST += fcntl--.h fcntl-safer.h
+
+## end   gnulib module openat-safer
+
 ## begin gnulib module opendir
 
 
@@ -1577,6 +1654,14 @@ EXTRA_libgnu_a_SOURCES += opendir.c
 
 ## end   gnulib module opendir
 
+## begin gnulib module opendirat
+
+libgnu_a_SOURCES += opendirat.c
+
+EXTRA_DIST += opendirat.h
+
+## end   gnulib module opendirat
+
 ## begin gnulib module parse-datetime
 
 # This rule overrides the Automake generated .y.c rule, to ensure that the
@@ -1728,15 +1813,15 @@ EXTRA_libgnu_a_SOURCES += renameat.c
 
 ## end   gnulib module renameat
 
-## begin gnulib module renameat2
+## begin gnulib module renameatu
 
-libgnu_a_SOURCES += renameat2.c
+libgnu_a_SOURCES += renameatu.c
 
-EXTRA_DIST += at-func2.c renameat2.h
+EXTRA_DIST += at-func2.c renameatu.h
 
 EXTRA_libgnu_a_SOURCES += at-func2.c
 
-## end   gnulib module renameat2
+## end   gnulib module renameatu
 
 ## begin gnulib module rewinddir
 
@@ -1776,7 +1861,7 @@ EXTRA_libgnu_a_SOURCES += rpmatch.c
 
 libgnu_a_SOURCES += safe-read.c
 
-EXTRA_DIST += safe-read.h
+EXTRA_DIST += safe-read.h sys-limits.h
 
 ## end   gnulib module safe-read
 
@@ -1784,7 +1869,7 @@ EXTRA_DIST += safe-read.h
 
 libgnu_a_SOURCES += safe-write.c
 
-EXTRA_DIST += safe-read.c safe-write.h
+EXTRA_DIST += safe-read.c safe-write.h sys-limits.h
 
 EXTRA_libgnu_a_SOURCES += safe-read.c
 
@@ -1890,8 +1975,8 @@ signal.h: signal.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_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_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' \
@@ -2605,7 +2690,7 @@ strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 	      -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \
-	      -e 's|@''GNULIB_FFS''@|$(GNULIB_FFS)|g' \
+	      -e 's/@''GNULIB_FFS''@/$(GNULIB_FFS)/g' \
 	      -e 's|@''HAVE_FFS''@|$(HAVE_FFS)|g' \
 	      -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \
 	      -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
@@ -3022,6 +3107,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
 	      -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
 	      -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+	      -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \
 	      -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
 	      -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
 	      -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
@@ -3065,6 +3151,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
 	      -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
 	      -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+	      -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
 	      -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
 	      -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
 	      -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
@@ -3079,7 +3166,6 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
 	      -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
 	      -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
-	      -e 's|@''HAVE_TRUNCATE''@|$(HAVE_TRUNCATE)|g' \
 	      -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
 	      -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
 	      -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
@@ -3091,6 +3177,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -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_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|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' \
@@ -3108,6 +3195,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -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_GETPASS''@|$(REPLACE_GETPASS)|g' \
 	      -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
 	      -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
 	      -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
@@ -3249,7 +3337,7 @@ BUILT_SOURCES += $(UTIME_H)
 # We need the following in order to create <utime.h> when the system
 # doesn't have one that works with the given compiler.
 if GL_GENERATE_UTIME_H
-utime.h: utime.in.h $(top_builddir)/config.status
+utime.h: utime.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' \
diff --git a/gnu/Makefile.in b/gnu/Makefile.in
index 28471b7e..7668e95d 100644
--- a/gnu/Makefile.in
+++ b/gnu/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+# Copyright (C) 2002-2019 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
@@ -35,12 +35,118 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl alloca areadlinkat-with-size argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat file-has-acl fileblocks fnmatch-gnu fprintftime fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtoimax strtol strtoul strtoumax symlinkat timespec timespec-sub unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
+# Reproduce by:
+# gnulib-tool --import --local-dir=gl \
+#  --lib=libgnu \
+#  --source-base=gnu \
+#  --m4-base=m4 \
+#  --doc-base=doc \
+#  --tests-base=tests \
+#  --aux-dir=build-aux \
+#  --no-conditional-dependencies \
+#  --no-libtool \
+#  --macro-prefix=gl \
+#  --avoid=lock \
+#  alloca \
+#  areadlinkat-with-size \
+#  argmatch \
+#  argp \
+#  argp-version-etc \
+#  backupfile \
+#  closeout \
+#  configmake \
+#  dirname \
+#  error \
+#  exclude \
+#  exitfail \
+#  extern-inline \
+#  faccessat \
+#  fchmodat \
+#  fchownat \
+#  fcntl-h \
+#  fdopendir \
+#  fdutimensat \
+#  file-has-acl \
+#  fileblocks \
+#  fnmatch-gnu \
+#  fprintftime \
+#  fseeko \
+#  fstatat \
+#  full-write \
+#  futimens \
+#  getline \
+#  getopt-gnu \
+#  getpagesize \
+#  gettext \
+#  gettime \
+#  gitlog-to-changelog \
+#  hash \
+#  human \
+#  inttostr \
+#  inttypes \
+#  lchown \
+#  linkat \
+#  localcharset \
+#  manywarnings \
+#  mkdirat \
+#  mkdtemp \
+#  mkfifoat \
+#  modechange \
+#  obstack \
+#  openat \
+#  parse-datetime \
+#  priv-set \
+#  progname \
+#  quote \
+#  quotearg \
+#  readlinkat \
+#  renameat \
+#  root-uid \
+#  rpmatch \
+#  safe-read \
+#  savedir \
+#  selinux-at \
+#  setenv \
+#  snprintf \
+#  stat-time \
+#  stdbool \
+#  stdint \
+#  stpcpy \
+#  strdup-posix \
+#  strerror \
+#  strnlen \
+#  strtoimax \
+#  strtol \
+#  strtoul \
+#  strtoumax \
+#  symlinkat \
+#  timespec \
+#  timespec-sub \
+#  unlinkat \
+#  unlinkdir \
+#  unlocked-io \
+#  utimensat \
+#  version-etc-fsf \
+#  xalloc \
+#  xalloc-die \
+#  xgetcwd \
+#  xstrtoumax \
+#  xvasprintf
 
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -104,14 +210,11 @@ build_triplet = @build@
 host_triplet = @host@
 @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_1 = uniwidth/width.c
 subdir = gnu
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am alloca.c \
-	parse-datetime.c $(top_srcdir)/build-aux/depcomp \
-	$(top_srcdir)/build-aux/ylwrap $(noinst_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+	$(top_srcdir)/m4/__inline.m4 \
 	$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
 	$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
-	$(top_srcdir)/m4/asm-underscore.m4 \
 	$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
 	$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
 	$(top_srcdir)/m4/canonicalize.m4 \
@@ -131,11 +234,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/extern-inline.m4 \
 	$(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
 	$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
-	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
-	$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
-	$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
-	$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
-	$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
+	$(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+	$(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fileblocks.m4 \
+	$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
+	$(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+	$(top_srcdir)/m4/fnmatch_h.m4 $(top_srcdir)/m4/fpending.m4 \
 	$(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \
 	$(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \
 	$(top_srcdir)/m4/futimens.m4 \
@@ -149,7 +253,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
 	$(top_srcdir)/m4/gnulib-comp.m4 \
 	$(top_srcdir)/m4/group-member.m4 \
-	$(top_srcdir)/m4/hard-locale.m4 \
 	$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/human.m4 \
 	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
 	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
@@ -244,6 +347,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -266,24 +371,25 @@ am__libgnu_a_SOURCES_DIST = acl-errno-valid.c acl-internal.c \
 	c-strcase.h c-strcasecmp.c c-strncasecmp.c careadlinkat.c \
 	cloexec.c close-stream.c closeout.c opendir-safer.c dirname.c \
 	basename.c dirname-lgpl.c basename-lgpl.c stripslash.c \
-	exclude.c exitfail.c chmodat.c chownat.c fd-hook.c \
-	fd-safer-flag.c dup-safer-flag.c fdutimensat.c file-has-acl.c \
-	filenamecat-lgpl.c fprintftime.c full-write.h full-write.c \
-	getprogname.h getprogname.c gettext.h gettime.c hard-locale.c \
-	hash.c human.c imaxtostr.c inttostr.c offtostr.c uinttostr.c \
-	umaxtostr.c localcharset.h localcharset.c malloca.c mbchar.c \
-	mbscasecmp.c mbuiter.h mbuiter.c minmax.h modechange.c \
-	nstrftime.c openat-die.c parse-datetime.y priv-set.c \
-	progname.h progname.c quotearg.c renameat2.c safe-read.c \
-	safe-write.c save-cwd.c savedir.c se-context.in.h \
-	se-selinux.in.h se-context.c se-selinux.c size_max.h \
-	stat-time.c statat.c strnlen1.h strnlen1.c tempname.c \
-	timespec.c timespec-sub.c unistd.c dup-safer.c fd-safer.c \
-	pipe-safer.c uniwidth/width.c unlinkdir.c utimens.c \
-	version-etc.h version-etc.c version-etc-fsf.c wctype-h.c \
-	xmalloc.c xalloc-die.c xgetcwd.c xsize.h xsize.c xstrndup.h \
-	xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c \
-	xvasprintf.h xvasprintf.c xasprintf.c
+	exclude.c exitfail.c chmodat.c chownat.c creat-safer.c \
+	open-safer.c fd-hook.c fd-safer-flag.c dup-safer-flag.c \
+	fdutimensat.c file-has-acl.c filenamecat-lgpl.c fprintftime.c \
+	full-write.h full-write.c getprogname.h getprogname.c \
+	gettext.h gettime.c hard-locale.c hash.c human.c imaxtostr.c \
+	inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.c \
+	malloca.c mbchar.c mbscasecmp.c mbuiter.h mbuiter.c minmax.h \
+	modechange.c nstrftime.c openat-die.c openat-safer.c \
+	opendirat.c parse-datetime.y priv-set.c progname.h progname.c \
+	quotearg.c renameatu.c safe-read.c safe-write.c save-cwd.c \
+	savedir.c se-context.in.h se-selinux.in.h se-context.c \
+	se-selinux.c size_max.h stat-time.c statat.c strnlen1.h \
+	strnlen1.c tempname.c timespec.c timespec-sub.c unistd.c \
+	dup-safer.c fd-safer.c pipe-safer.c uniwidth/width.c \
+	unlinkdir.c utimens.c version-etc.h version-etc.c \
+	version-etc-fsf.c wctype-h.c xmalloc.c xalloc-die.c xgetcwd.c \
+	xsize.h xsize.c xstrndup.h xstrndup.c xstrtol.c xstrtoul.c \
+	xstrtol-error.c xstrtoumax.c xvasprintf.h xvasprintf.c \
+	xasprintf.c
 am__dirstamp = $(am__leading_dot)dirstamp
 @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_1 = uniwidth/width.$(OBJEXT)
 am_libgnu_a_OBJECTS = acl-errno-valid.$(OBJEXT) acl-internal.$(OBJEXT) \
@@ -303,30 +409,31 @@ am_libgnu_a_OBJECTS = acl-errno-valid.$(OBJEXT) acl-internal.$(OBJEXT) \
 	opendir-safer.$(OBJEXT) dirname.$(OBJEXT) basename.$(OBJEXT) \
 	dirname-lgpl.$(OBJEXT) basename-lgpl.$(OBJEXT) \
 	stripslash.$(OBJEXT) exclude.$(OBJEXT) exitfail.$(OBJEXT) \
-	chmodat.$(OBJEXT) chownat.$(OBJEXT) fd-hook.$(OBJEXT) \
-	fd-safer-flag.$(OBJEXT) dup-safer-flag.$(OBJEXT) \
-	fdutimensat.$(OBJEXT) file-has-acl.$(OBJEXT) \
-	filenamecat-lgpl.$(OBJEXT) fprintftime.$(OBJEXT) \
-	full-write.$(OBJEXT) getprogname.$(OBJEXT) gettime.$(OBJEXT) \
-	hard-locale.$(OBJEXT) hash.$(OBJEXT) human.$(OBJEXT) \
-	imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) offtostr.$(OBJEXT) \
-	uinttostr.$(OBJEXT) umaxtostr.$(OBJEXT) localcharset.$(OBJEXT) \
-	malloca.$(OBJEXT) mbchar.$(OBJEXT) mbscasecmp.$(OBJEXT) \
-	mbuiter.$(OBJEXT) modechange.$(OBJEXT) nstrftime.$(OBJEXT) \
-	openat-die.$(OBJEXT) parse-datetime.$(OBJEXT) \
-	priv-set.$(OBJEXT) progname.$(OBJEXT) quotearg.$(OBJEXT) \
-	renameat2.$(OBJEXT) safe-read.$(OBJEXT) safe-write.$(OBJEXT) \
-	save-cwd.$(OBJEXT) savedir.$(OBJEXT) se-context.$(OBJEXT) \
-	se-selinux.$(OBJEXT) stat-time.$(OBJEXT) statat.$(OBJEXT) \
-	strnlen1.$(OBJEXT) tempname.$(OBJEXT) timespec.$(OBJEXT) \
-	timespec-sub.$(OBJEXT) unistd.$(OBJEXT) dup-safer.$(OBJEXT) \
-	fd-safer.$(OBJEXT) pipe-safer.$(OBJEXT) $(am__objects_1) \
-	unlinkdir.$(OBJEXT) utimens.$(OBJEXT) version-etc.$(OBJEXT) \
-	version-etc-fsf.$(OBJEXT) wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) \
-	xalloc-die.$(OBJEXT) xgetcwd.$(OBJEXT) xsize.$(OBJEXT) \
-	xstrndup.$(OBJEXT) xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) \
-	xstrtol-error.$(OBJEXT) xstrtoumax.$(OBJEXT) \
-	xvasprintf.$(OBJEXT) xasprintf.$(OBJEXT)
+	chmodat.$(OBJEXT) chownat.$(OBJEXT) creat-safer.$(OBJEXT) \
+	open-safer.$(OBJEXT) fd-hook.$(OBJEXT) fd-safer-flag.$(OBJEXT) \
+	dup-safer-flag.$(OBJEXT) fdutimensat.$(OBJEXT) \
+	file-has-acl.$(OBJEXT) filenamecat-lgpl.$(OBJEXT) \
+	fprintftime.$(OBJEXT) full-write.$(OBJEXT) \
+	getprogname.$(OBJEXT) gettime.$(OBJEXT) hard-locale.$(OBJEXT) \
+	hash.$(OBJEXT) human.$(OBJEXT) imaxtostr.$(OBJEXT) \
+	inttostr.$(OBJEXT) offtostr.$(OBJEXT) uinttostr.$(OBJEXT) \
+	umaxtostr.$(OBJEXT) localcharset.$(OBJEXT) malloca.$(OBJEXT) \
+	mbchar.$(OBJEXT) mbscasecmp.$(OBJEXT) mbuiter.$(OBJEXT) \
+	modechange.$(OBJEXT) nstrftime.$(OBJEXT) openat-die.$(OBJEXT) \
+	openat-safer.$(OBJEXT) opendirat.$(OBJEXT) \
+	parse-datetime.$(OBJEXT) priv-set.$(OBJEXT) progname.$(OBJEXT) \
+	quotearg.$(OBJEXT) renameatu.$(OBJEXT) safe-read.$(OBJEXT) \
+	safe-write.$(OBJEXT) save-cwd.$(OBJEXT) savedir.$(OBJEXT) \
+	se-context.$(OBJEXT) se-selinux.$(OBJEXT) stat-time.$(OBJEXT) \
+	statat.$(OBJEXT) strnlen1.$(OBJEXT) tempname.$(OBJEXT) \
+	timespec.$(OBJEXT) timespec-sub.$(OBJEXT) unistd.$(OBJEXT) \
+	dup-safer.$(OBJEXT) fd-safer.$(OBJEXT) pipe-safer.$(OBJEXT) \
+	$(am__objects_1) unlinkdir.$(OBJEXT) utimens.$(OBJEXT) \
+	version-etc.$(OBJEXT) version-etc-fsf.$(OBJEXT) \
+	wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) xalloc-die.$(OBJEXT) \
+	xgetcwd.$(OBJEXT) xsize.$(OBJEXT) xstrndup.$(OBJEXT) \
+	xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) xstrtol-error.$(OBJEXT) \
+	xstrtoumax.$(OBJEXT) xvasprintf.$(OBJEXT) xasprintf.$(OBJEXT)
 libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 AM_V_P = $(am__v_P_@AM_V@)
@@ -409,6 +516,9 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap \
+	alloca.c parse-datetime.c
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -525,6 +635,7 @@ GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
 GNULIB_FGETC = @GNULIB_FGETC@
 GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FNMATCH = @GNULIB_FNMATCH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
 GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -557,6 +668,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -573,6 +685,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
 GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -811,6 +924,7 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -834,6 +948,9 @@ HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FNMATCH = @HAVE_FNMATCH@
+HAVE_FNMATCH_H = @HAVE_FNMATCH_H@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -846,13 +963,16 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -885,6 +1005,7 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OPENDIR = @HAVE_OPENDIR@
@@ -955,7 +1076,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_TRUNCATE = @HAVE_TRUNCATE@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
@@ -1010,8 +1130,6 @@ HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
-HOST_CPU = @HOST_CPU@
-HOST_CPU_C_ABI = @HOST_CPU_C_ABI@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -1056,6 +1174,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 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_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_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@
@@ -1083,6 +1202,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_FNMATCH_H = @NEXT_FNMATCH_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
@@ -1143,9 +1263,11 @@ REPLACE_FCNTL = @REPLACE_FCNTL@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FNMATCH = @REPLACE_FNMATCH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1163,6 +1285,7 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ISATTY = @REPLACE_ISATTY@
@@ -1193,6 +1316,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1372,7 +1496,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects
+AUTOMAKE_OPTIONS = 1.11 gnits subdir-objects
 SUBDIRS = 
 noinst_HEADERS = 
 noinst_LIBRARIES = libgnu.a
@@ -1399,39 +1523,40 @@ EXTRA_DIST = acl-internal.h acl.h acl_entries.c alignof.h alloca.c \
 	dirname.h dosname.h dup.c dup2.c errno.in.h error.c error.h \
 	euidaccess.c exclude.h exitfail.h at-func.c faccessat.c \
 	fchdir.c at-func.c fchmodat.c at-func.c fchownat.c fcntl.c \
-	fcntl.in.h fd-hook.h fdopendir.c utimens.h fileblocks.c \
-	filename.h filenamecat.h flexmember.h float.c float.in.h \
-	itold.c fnmatch.c fnmatch.in.h fnmatch_loop.c fpending.c \
-	fpending.h stdio-impl.h fprintftime.h fseek.c fseeko.c \
-	stdio-impl.h fstat.c stat-w32.c stat-w32.h at-func.c fstatat.c \
-	futimens.c getcwd.c getcwd-lgpl.c getdelim.c getdtablesize.c \
-	getgroups.c getline.c getopt-cdefs.in.h getopt-core.h \
-	getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.c \
-	getopt.in.h getopt1.c getopt_int.h getpagesize.c \
-	$(top_srcdir)/build-aux/config.rpath gettimeofday.c \
-	$(top_srcdir)/build-aux/gitlog-to-changelog group-member.c \
-	hard-locale.h hash.h $(top_srcdir)/build-aux/config.rpath \
-	human.h intprops.h anytostr.c inttostr.h inttypes.in.h \
-	iswblank.c langinfo.in.h lchown.c limits.in.h link.c \
-	at-func2.c linkat.c config.charset ref-add.sin ref-del.sin \
-	locale.in.h localeconv.c localtime-buffer.c localtime-buffer.h \
-	lseek.c lstat.c malloc.c malloc.c malloca.h malloca.valgrind \
-	mbchar.h mbrtowc.c mbsinit.c mbsrtowcs-impl.h \
-	mbsrtowcs-state.c mbsrtowcs.c mbtowc-impl.h mbtowc.c memchr.c \
-	memchr.valgrind mempcpy.c memrchr.c mkdir.c at-func.c \
-	mkdirat.c mkdtemp.c mkfifo.c at-func.c mkfifoat.c mknodat.c \
-	mknod.c mktime-internal.h mktime.c mktime-internal.h mktime.c \
-	modechange.h msvc-inval.c msvc-inval.h msvc-nothrow.c \
+	fcntl.in.h fcntl--.h fcntl-safer.h fd-hook.h fdopendir.c \
+	utimens.h fileblocks.c filename.h filenamecat.h flexmember.h \
+	float.c float.in.h itold.c fnmatch.c fnmatch_loop.c \
+	fnmatch.in.h fpending.c fpending.h stdio-impl.h fprintftime.h \
+	fseek.c fseeko.c stdio-impl.h fstat.c stat-w32.c stat-w32.h \
+	at-func.c fstatat.c futimens.c getcwd.c getcwd-lgpl.c \
+	getdelim.c getdtablesize.c getgroups.c getline.c \
+	getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h \
+	getopt-pfx-ext.h getopt.c getopt.in.h getopt1.c getopt_int.h \
+	getpagesize.c $(top_srcdir)/build-aux/config.rpath \
+	gettimeofday.c $(top_srcdir)/build-aux/gitlog-to-changelog \
+	group-member.c hard-locale.h hash.h \
+	$(top_srcdir)/build-aux/config.rpath human.h intprops.h \
+	anytostr.c inttostr.h inttypes.in.h iswblank.c langinfo.in.h \
+	lchown.c cdefs.h libc-config.h limits.in.h link.c at-func2.c \
+	linkat.c localcharset.h locale.in.h localeconv.c \
+	localtime-buffer.c localtime-buffer.h lseek.c lstat.c malloc.c \
+	malloc.c malloca.h mbchar.h mbrtowc.c mbsinit.c \
+	mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c mbtowc-impl.h \
+	mbtowc.c memchr.c memchr.valgrind mempcpy.c memrchr.c mkdir.c \
+	at-func.c mkdirat.c mkdtemp.c mkfifo.c at-func.c mkfifoat.c \
+	mknodat.c mknod.c mktime-internal.h mktime.c mktime-internal.h \
+	mktime.c modechange.h msvc-inval.c msvc-inval.h msvc-nothrow.c \
 	msvc-nothrow.h nl_langinfo.c strftime.h obstack.c obstack.h \
-	open.c openat.c openat.h dirent-private.h opendir.c \
-	parse-datetime.c parse-datetime.h pathmax.h priv-set.h quote.h \
-	quote.h quotearg.h raise.c rawmemchr.c rawmemchr.valgrind \
-	read.c dirent-private.h readdir.c readlink.c at-func.c \
-	readlinkat.c realloc.c regcomp.c regex.c regex.h \
-	regex_internal.c regex_internal.h regexec.c rename.c \
-	renameat.c at-func2.c renameat2.h dirent-private.h rewinddir.c \
-	rmdir.c root-uid.h rpmatch.c safe-read.h safe-read.c \
-	safe-write.h same-inode.h save-cwd.h savedir.h at-func.c \
+	open.c openat.c openat.h fcntl--.h fcntl-safer.h \
+	dirent-private.h opendir.c opendirat.h parse-datetime.c \
+	parse-datetime.h pathmax.h priv-set.h quote.h quote.h \
+	quotearg.h raise.c rawmemchr.c rawmemchr.valgrind read.c \
+	dirent-private.h readdir.c readlink.c at-func.c readlinkat.c \
+	realloc.c regcomp.c regex.c regex.h regex_internal.c \
+	regex_internal.h regexec.c rename.c renameat.c at-func2.c \
+	renameatu.h dirent-private.h rewinddir.c rmdir.c root-uid.h \
+	rpmatch.c safe-read.h sys-limits.h safe-read.c safe-write.h \
+	sys-limits.h same-inode.h save-cwd.h savedir.h at-func.c \
 	selinux-at.c selinux-at.h getfilecon.c setenv.c signal.in.h \
 	sleep.c _Noreturn.h arg-nonnull.h c++defs.h unused-parameter.h \
 	warn-on-use.h snprintf.c stat-w32.c stat-w32.h stat.c \
@@ -1462,7 +1587,7 @@ BUILT_SOURCES = $(ALLOCA_H) configmake.h dirent.h $(ERRNO_H) fcntl.h \
 	stdlib.h string.h strings.h sys/stat.h sys/time.h sys/types.h \
 	$(SYSEXITS_H) time.h unistd.h $(LIBUNISTRING_UNITYPES_H) \
 	$(LIBUNISTRING_UNIWIDTH_H) $(UTIME_H) wchar.h wctype.h
-SUFFIXES = .sed .sin
+SUFFIXES = 
 MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t dirent.h \
 	dirent.h-t errno.h errno.h-t fcntl.h fcntl.h-t float.h \
 	float.h-t fnmatch.h fnmatch.h-t getopt.h getopt.h-t \
@@ -1479,8 +1604,7 @@ MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t dirent.h \
 	unitypes.h-t uniwidth.h uniwidth.h-t utime.h utime.h-t wchar.h \
 	wchar.h-t wctype.h wctype.h-t
 MOSTLYCLEANDIRS = selinux sys
-CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
-	ref-del.sed
+CLEANFILES = configmake.h configmake.h-t
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = parse-datetime.c
 # No GNU Make output.
@@ -1497,24 +1621,25 @@ libgnu_a_SOURCES = acl-errno-valid.c acl-internal.c get-permissions.c \
 	c-strcase.h c-strcasecmp.c c-strncasecmp.c careadlinkat.c \
 	cloexec.c close-stream.c closeout.c opendir-safer.c dirname.c \
 	basename.c dirname-lgpl.c basename-lgpl.c stripslash.c \
-	exclude.c exitfail.c chmodat.c chownat.c fd-hook.c \
-	fd-safer-flag.c dup-safer-flag.c fdutimensat.c file-has-acl.c \
-	filenamecat-lgpl.c fprintftime.c full-write.h full-write.c \
-	getprogname.h getprogname.c gettext.h gettime.c hard-locale.c \
-	hash.c human.c imaxtostr.c inttostr.c offtostr.c uinttostr.c \
-	umaxtostr.c localcharset.h localcharset.c malloca.c mbchar.c \
-	mbscasecmp.c mbuiter.h mbuiter.c minmax.h modechange.c \
-	nstrftime.c openat-die.c parse-datetime.y priv-set.c \
-	progname.h progname.c quotearg.c renameat2.c safe-read.c \
-	safe-write.c save-cwd.c savedir.c se-context.in.h \
-	se-selinux.in.h se-context.c se-selinux.c size_max.h \
-	stat-time.c statat.c strnlen1.h strnlen1.c tempname.c \
-	timespec.c timespec-sub.c unistd.c dup-safer.c fd-safer.c \
-	pipe-safer.c $(am__append_1) unlinkdir.c utimens.c \
-	version-etc.h version-etc.c version-etc-fsf.c wctype-h.c \
-	xmalloc.c xalloc-die.c xgetcwd.c xsize.h xsize.c xstrndup.h \
-	xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c \
-	xvasprintf.h xvasprintf.c xasprintf.c
+	exclude.c exitfail.c chmodat.c chownat.c creat-safer.c \
+	open-safer.c fd-hook.c fd-safer-flag.c dup-safer-flag.c \
+	fdutimensat.c file-has-acl.c filenamecat-lgpl.c fprintftime.c \
+	full-write.h full-write.c getprogname.h getprogname.c \
+	gettext.h gettime.c hard-locale.c hash.c human.c imaxtostr.c \
+	inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.c \
+	malloca.c mbchar.c mbscasecmp.c mbuiter.h mbuiter.c minmax.h \
+	modechange.c nstrftime.c openat-die.c openat-safer.c \
+	opendirat.c parse-datetime.y priv-set.c progname.h progname.c \
+	quotearg.c renameatu.c safe-read.c safe-write.c save-cwd.c \
+	savedir.c se-context.in.h se-selinux.in.h se-context.c \
+	se-selinux.c size_max.h stat-time.c statat.c strnlen1.h \
+	strnlen1.c tempname.c timespec.c timespec-sub.c unistd.c \
+	dup-safer.c fd-safer.c pipe-safer.c $(am__append_1) \
+	unlinkdir.c utimens.c version-etc.h version-etc.c \
+	version-etc-fsf.c wctype-h.c xmalloc.c xalloc-die.c xgetcwd.c \
+	xsize.h xsize.c xstrndup.h xstrndup.c xstrtol.c xstrtoul.c \
+	xstrtol-error.c xstrtoumax.c xvasprintf.h xvasprintf.c \
+	xasprintf.c
 libgnu_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@
 libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@
 EXTRA_libgnu_a_SOURCES = acl_entries.c alloca.c at-func.c at-func.c \
@@ -1552,8 +1677,6 @@ EXTRA_libgnu_a_SOURCES = acl_entries.c alloca.c at-func.c at-func.c \
 # Do not rely on a 'configure'-time test for this, since the expression
 # might appear in an installed header, which is used by some other compiler.
 HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
-charset_alias = $(DESTDIR)$(libdir)/charset.alias
-charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
 
 # Because this Makefile snippet defines a variable used by other
 # gnulib Makefile snippets, it must be present in all makefiles that
@@ -1583,7 +1706,7 @@ all: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .sed .sin .c .o .obj .y
+.SUFFIXES: .c .o .obj .y
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -1596,7 +1719,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits gnu/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits gnu/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1696,6 +1818,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closedir.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/creat-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirfd.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@
@@ -1790,12 +1913,15 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nstrftime.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obstack.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/offtostr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-die.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-proc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendir-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendirat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse-datetime.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Po@am__quote@
@@ -1816,7 +1942,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renameat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renameat2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renameatu.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rewinddir.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmatch.Po@am__quote@
@@ -2069,7 +2195,7 @@ distdir: $(DISTFILES)
 check-am: all-am
 check: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) all-local
+all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS)
 installdirs: installdirs-recursive
 installdirs-am:
 install: $(BUILT_SOURCES)
@@ -2140,7 +2266,7 @@ install-dvi: install-dvi-recursive
 
 install-dvi-am:
 
-install-exec-am: install-exec-local
+install-exec-am:
 
 install-html: install-html-recursive
 
@@ -2180,25 +2306,26 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-local
+uninstall-am:
 
 .MAKE: $(am__recursive_targets) all check install install-am \
 	install-strip
 
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
-	check check-am clean clean-generic clean-noinstLIBRARIES \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-noinstLIBRARIES \
 	clean-noinstLTLIBRARIES 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-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-am uninstall \
-	uninstall-am uninstall-local
+	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 tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
 
 
 # We need the following in order to create <alloca.h> when the system
@@ -2354,21 +2481,31 @@ fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
 @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)
+# We need the following in order to create <fnmatch.h>.
+@GL_GENERATE_FNMATCH_H_TRUE@fnmatch.h: fnmatch.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
 @GL_GENERATE_FNMATCH_H_TRUE@	$(AM_V_GEN)rm -f $@-t $@ && \
-@GL_GENERATE_FNMATCH_H_TRUE@	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-@GL_GENERATE_FNMATCH_H_TRUE@	  sed -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+@GL_GENERATE_FNMATCH_H_TRUE@	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_FNMATCH_H_TRUE@	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e 's|@''HAVE_FNMATCH_H''@|$(HAVE_FNMATCH_H)|g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e 's|@''NEXT_FNMATCH_H''@|$(NEXT_FNMATCH_H)|g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e 's/@''GNULIB_FNMATCH''@/$(GNULIB_FNMATCH)/g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e 's|@''HAVE_FNMATCH''@|$(HAVE_FNMATCH)|g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e 's|@''REPLACE_FNMATCH''@|$(REPLACE_FNMATCH)|g' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+@GL_GENERATE_FNMATCH_H_TRUE@	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
 @GL_GENERATE_FNMATCH_H_TRUE@	      < $(srcdir)/fnmatch.in.h; \
 @GL_GENERATE_FNMATCH_H_TRUE@	} > $@-t && \
-@GL_GENERATE_FNMATCH_H_TRUE@	mv -f $@-t $@
+@GL_GENERATE_FNMATCH_H_TRUE@	mv $@-t $@
 @GL_GENERATE_FNMATCH_H_FALSE@fnmatch.h: $(top_builddir)/config.status
 @GL_GENERATE_FNMATCH_H_FALSE@	rm -f $@
 
 # We need the following in order to create <getopt.h> when the system
 # doesn't have one that works with the given compiler.
-getopt.h: getopt.in.h $(top_builddir)/config.status
+getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
 	$(AM_V_GEN)rm -f $@-t $@ && \
 	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
 	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
@@ -2413,6 +2550,7 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
 	      -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/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \
 	      -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
 	      -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
 	      -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
@@ -2440,6 +2578,7 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
 	      -e 's/@''GNULIB_NL_LANGINFO''@/$(GNULIB_NL_LANGINFO)/g' \
 	      -e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
 	      -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
+	      -e 's|@''HAVE_LANGINFO_ALTMON''@|$(HAVE_LANGINFO_ALTMON)|g' \
 	      -e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
 	      -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
 	      -e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
@@ -2466,65 +2605,6 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
 @GL_GENERATE_LIMITS_H_FALSE@limits.h: $(top_builddir)/config.status
 @GL_GENERATE_LIMITS_H_FALSE@	rm -f $@
 
-# We need the following in order to install a simple file in $(libdir)
-# which is shared with other installed packages. We use a list of referencing
-# packages so that "make uninstall" will remove the file if and only if it
-# is not used by another installed package.
-# On systems with glibc-2.1 or newer, the file is redundant, therefore we
-# avoid installing it.
-
-all-local: charset.alias ref-add.sed ref-del.sed
-install-exec-local: install-exec-localcharset
-install-exec-localcharset: all-local
-	if test $(GLIBC21) = no; then \
-	  case '$(host_os)' in \
-	    darwin[56]*) \
-	      need_charset_alias=true ;; \
-	    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-	      need_charset_alias=false ;; \
-	    *) \
-	      need_charset_alias=true ;; \
-	  esac ; \
-	else \
-	  need_charset_alias=false ; \
-	fi ; \
-	if $$need_charset_alias; then \
-	  $(mkinstalldirs) $(DESTDIR)$(libdir) ; \
-	fi ; \
-	if test -f $(charset_alias); then \
-	  sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
-	  $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-	  rm -f $(charset_tmp) ; \
-	else \
-	  if $$need_charset_alias; then \
-	    sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
-	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
-	    rm -f $(charset_tmp) ; \
-	  fi ; \
-	fi
-
-uninstall-local: uninstall-localcharset
-uninstall-localcharset: all-local
-	if test -f $(charset_alias); then \
-	  sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
-	  if grep '^# Packages using this file: $$' $(charset_tmp) \
-	      > /dev/null; then \
-	    rm -f $(charset_alias); \
-	  else \
-	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
-	  fi; \
-	  rm -f $(charset_tmp); \
-	fi
-
-charset.alias: config.charset
-	$(AM_V_GEN)rm -f t-$@ $@ && \
-	$(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \
-	mv t-$@ $@
-.sin.sed:
-	$(AM_V_GEN)rm -f t-$@ $@ && \
-	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)
@@ -2538,11 +2618,16 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
 	      -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
 	      -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
+	      -e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \
+	      -e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \
 	      -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
+	      -e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|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_NEWLOCALE''@|$(REPLACE_NEWLOCALE)|g' \
 	      -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+	      -e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|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)' \
@@ -2600,8 +2685,8 @@ signal.h: signal.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_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_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' \
@@ -3044,7 +3129,7 @@ strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 	      -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \
-	      -e 's|@''GNULIB_FFS''@|$(GNULIB_FFS)|g' \
+	      -e 's/@''GNULIB_FFS''@/$(GNULIB_FFS)/g' \
 	      -e 's|@''HAVE_FFS''@|$(HAVE_FFS)|g' \
 	      -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \
 	      -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
@@ -3248,6 +3333,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
 	      -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
 	      -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+	      -e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \
 	      -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
 	      -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
 	      -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
@@ -3291,6 +3377,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
 	      -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
 	      -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+	      -e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
 	      -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
 	      -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
 	      -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
@@ -3305,7 +3392,6 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
 	      -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
 	      -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
-	      -e 's|@''HAVE_TRUNCATE''@|$(HAVE_TRUNCATE)|g' \
 	      -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
 	      -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
 	      -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
@@ -3317,6 +3403,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -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_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|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' \
@@ -3334,6 +3421,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
 	      -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_GETPASS''@|$(REPLACE_GETPASS)|g' \
 	      -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
 	      -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
 	      -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
@@ -3378,7 +3466,7 @@ uniwidth.h: uniwidth.in.h
 
 # We need the following in order to create <utime.h> when the system
 # doesn't have one that works with the given compiler.
-@GL_GENERATE_UTIME_H_TRUE@utime.h: utime.in.h $(top_builddir)/config.status
+@GL_GENERATE_UTIME_H_TRUE@utime.h: utime.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
 @GL_GENERATE_UTIME_H_TRUE@	$(AM_V_GEN)rm -f $@-t $@ && \
 @GL_GENERATE_UTIME_H_TRUE@	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
 @GL_GENERATE_UTIME_H_TRUE@	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
diff --git a/gnu/_Noreturn.h b/gnu/_Noreturn.h
index c44ad89b..94fdfaf0 100644
--- a/gnu/_Noreturn.h
+++ b/gnu/_Noreturn.h
@@ -1,8 +1,12 @@
-#if !defined _Noreturn && __STDC_VERSION__ < 201112
-# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
-      || 0x5110 <= __SUNPRO_C)
+#ifndef _Noreturn
+# if 201103 <= (defined __cplusplus ? __cplusplus : 0)
+#  define _Noreturn [[noreturn]]
+# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+        || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))
+   /* _Noreturn works as-is.  */
+# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
 #  define _Noreturn __attribute__ ((__noreturn__))
-# elif 1200 <= _MSC_VER
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
diff --git a/gnu/acl-errno-valid.c b/gnu/acl-errno-valid.c
index 1e96974d..99ddf3bb 100644
--- a/gnu/acl-errno-valid.c
+++ b/gnu/acl-errno-valid.c
@@ -1,6 +1,6 @@
 /* Test whether ACLs are well supported on this system.
 
-   Copyright 2013-2017 Free Software Foundation, Inc.
+   Copyright 2013-2019 Free Software Foundation, Inc.
 
    This 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/gnu/acl-internal.c b/gnu/acl-internal.c
index 63e6b6b9..cc42183f 100644
--- a/gnu/acl-internal.c
+++ b/gnu/acl-internal.c
@@ -1,6 +1,6 @@
 /* Test whether a file has a nontrivial ACL.  -*- coding: utf-8 -*-
 
-   Copyright (C) 2002-2003, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2019 Free Software Foundation, Inc.
 
    This 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 "acl-internal.h"
 
-#if USE_ACL && HAVE_ACL_GET_FILE
+#if USE_ACL && HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */
 
 # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */
 
@@ -37,7 +37,7 @@ acl_extended_nontrivial (acl_t acl)
   return (acl_entries (acl) > 0);
 }
 
-# else /* Linux, FreeBSD, IRIX, Tru64 */
+# else /* Linux, FreeBSD, IRIX, Tru64, Cygwin >= 2.5 */
 
 /* ACL is an ACL, from a file, stored as type ACL_TYPE_ACCESS.
    Return 1 if the given ACL is non-trivial.
@@ -51,7 +51,7 @@ acl_access_nontrivial (acl_t acl)
      at least, allowing us to write
         return (3 < acl_entries (acl));
      but the following code is more robust.  */
-#  if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD */
+#  if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, Cygwin >= 2.5 */
 
   acl_entry_t ace;
   int got_one;
@@ -124,7 +124,7 @@ acl_default_nontrivial (acl_t acl)
 
 # endif
 
-#elif USE_ACL && HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
+#elif USE_ACL && HAVE_FACL && defined GETACL /* Solaris, Cygwin < 2.5, not HP-UX */
 
 /* Test an ACL retrieved with GETACL.
    Return 1 if the given ACL, consisting of COUNT entries, is non-trivial.
@@ -355,7 +355,7 @@ acl_nontrivial (int count, struct acl_entry *entries)
       struct acl_entry *ace = &entries[i];
 
       if (ace->uid != ACL_NSUSER && ace->gid != ACL_NSGROUP)
-	return 1;
+        return 1;
     }
   return 0;
 }
@@ -479,7 +479,7 @@ void
 free_permission_context (struct permission_context *ctx)
 {
 #if USE_ACL
-# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */
   if (ctx->acl)
     acl_free (ctx->acl);
 #  if !HAVE_ACL_TYPE_EXTENDED
@@ -487,7 +487,7 @@ free_permission_context (struct permission_context *ctx)
     acl_free (ctx->default_acl);
 #  endif
 
-# elif defined GETACL /* Solaris, Cygwin */
+# elif defined GETACL /* Solaris, Cygwin < 2.5 */
   free (ctx->entries);
 #  ifdef ACE_GETACL
   free (ctx->ace_entries);
diff --git a/gnu/acl-internal.h b/gnu/acl-internal.h
index ebd24217..05833efa 100644
--- a/gnu/acl-internal.h
+++ b/gnu/acl-internal.h
@@ -1,6 +1,6 @@
 /* Internal implementation of access control lists.  -*- coding: utf-8 -*-
 
-   Copyright (C) 2002-2003, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2019 Free Software Foundation, Inc.
 
    This 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,8 @@
 # define GETACLCNT ACL_CNT
 #endif
 
-/* On Linux, additional ACL related API is available in <acl/libacl.h>.  */
+/* On Linux and Cygwin >= 2.5, additional ACL related API is available in
+   <acl/libacl.h>.  */
 #ifdef HAVE_ACL_LIBACL_H
 # include <acl/libacl.h>
 #endif
@@ -72,7 +73,7 @@ _GL_INLINE_HEADER_BEGIN
 
 # if HAVE_ACL_GET_FILE
 /* POSIX 1003.1e (draft 17 -- abandoned) specific version.  */
-/* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+/* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */
 
 #  ifndef MIN_ACL_ENTRIES
 #   define MIN_ACL_ENTRIES 4
@@ -122,7 +123,10 @@ rpl_acl_set_fd (int fd, acl_t acl)
 #  endif
 
 /* Linux-specific */
-#  ifndef HAVE_ACL_EXTENDED_FILE
+/* Cygwin >= 2.5 implements this function, but it returns 1 for all
+   directories, thus is unusable.  */
+#  if !defined HAVE_ACL_EXTENDED_FILE || defined __CYGWIN__
+#   undef HAVE_ACL_EXTENDED_FILE
 #   define HAVE_ACL_EXTENDED_FILE false
 #   define acl_extended_file(name) (-1)
 #  endif
@@ -163,7 +167,7 @@ extern int acl_access_nontrivial (acl_t);
 extern int acl_default_nontrivial (acl_t);
 #  endif
 
-# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
+# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin < 2.5, not HP-UX */
 
 /* Set to 0 if a file's mode is stored independently from the ACL.  */
 #  if defined __CYGWIN__ /* Cygwin */
@@ -256,14 +260,14 @@ extern int acl_nontrivial (int count, struct acl *entries);
 struct permission_context {
   mode_t mode;
 #if USE_ACL
-# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+# if HAVE_ACL_GET_FILE /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */
   acl_t acl;
 #  if !HAVE_ACL_TYPE_EXTENDED
   acl_t default_acl;
 #  endif
   bool acls_not_supported;
 
-# elif defined GETACL /* Solaris, Cygwin */
+# elif defined GETACL /* Solaris, Cygwin < 2.5 */
   int count;
   aclent_t *entries;
 #  ifdef ACE_GETACL
@@ -293,10 +297,6 @@ struct permission_context {
 
 int get_permissions (const char *, int, mode_t, struct permission_context *);
 int set_permissions (struct permission_context *, const char *, int);
-void free_permission_context (struct permission_context *)
-#if ! (defined USE_ACL && (HAVE_ACL_GET_FILE || defined GETACL))
-    _GL_ATTRIBUTE_CONST
-#endif
-  ;
+void free_permission_context (struct permission_context *);
 
 _GL_INLINE_HEADER_END
diff --git a/gnu/acl.h b/gnu/acl.h
index d3b04802..904606df 100644
--- a/gnu/acl.h
+++ b/gnu/acl.h
@@ -1,6 +1,6 @@
 /* acl.c - access control lists
 
-   Copyright (C) 2002, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/acl_entries.c b/gnu/acl_entries.c
index c7efaefd..19ac3c3b 100644
--- a/gnu/acl_entries.c
+++ b/gnu/acl_entries.c
@@ -1,6 +1,6 @@
 /* Return the number of entries in an ACL.
 
-   Copyright (C) 2002-2003, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2019 Free Software Foundation, Inc.
 
    This 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 "acl-internal.h"
 
 /* This file assumes POSIX-draft like ACLs
-   (Linux, FreeBSD, Mac OS X, IRIX, Tru64).  */
+   (Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5).  */
 
 /* Return the number of entries in ACL.
    Return -1 and set errno upon failure to determine it.  */
@@ -34,7 +34,7 @@ acl_entries (acl_t acl)
 
   if (acl != NULL)
     {
-#if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, Mac OS X */
+#if HAVE_ACL_FIRST_ENTRY /* Linux, FreeBSD, Mac OS X, Cygwin >= 2.5 */
 # if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */
       /* acl_get_entry returns 0 when it successfully fetches an entry,
          and -1/EINVAL at the end.  */
@@ -45,7 +45,7 @@ acl_entries (acl_t acl)
            got_one >= 0;
            got_one = acl_get_entry (acl, ACL_NEXT_ENTRY, &ace))
         count++;
-# else /* Linux, FreeBSD */
+# else /* Linux, FreeBSD, Cygwin >= 2.5 */
       /* acl_get_entry returns 1 when it successfully fetches an entry,
          and 0 at the end.  */
       acl_entry_t ace;
diff --git a/gnu/alignof.h b/gnu/alignof.h
index 21761d7b..46f4ad09 100644
--- a/gnu/alignof.h
+++ b/gnu/alignof.h
@@ -1,5 +1,5 @@
 /* Determine alignment of types.
-   Copyright (C) 2003-2004, 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2004, 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/alloca.in.h b/gnu/alloca.in.h
index 1881e74f..ec81e119 100644
--- a/gnu/alloca.in.h
+++ b/gnu/alloca.in.h
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2017 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2019 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/gnu/allocator.h b/gnu/allocator.h
index fc3d646a..5a632ba6 100644
--- a/gnu/allocator.h
+++ b/gnu/allocator.h
@@ -1,6 +1,6 @@
 /* Memory allocators such as malloc+free.
 
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/anytostr.c b/gnu/anytostr.c
index 9bf9e15f..18902885 100644
--- a/gnu/anytostr.c
+++ b/gnu/anytostr.c
@@ -1,6 +1,6 @@
 /* anytostr.c -- convert integers to printable strings
 
-   Copyright (C) 2001, 2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/areadlink-with-size.c b/gnu/areadlink-with-size.c
index dbca6fcd..eacad3f6 100644
--- a/gnu/areadlink-with-size.c
+++ b/gnu/areadlink-with-size.c
@@ -1,7 +1,7 @@
 /* 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-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/areadlink.c b/gnu/areadlink.c
index f7609b1c..05943562 100644
--- a/gnu/areadlink.c
+++ b/gnu/areadlink.c
@@ -1,7 +1,7 @@
 /* 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-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/areadlink.h b/gnu/areadlink.h
index 87efd508..ddcd06d7 100644
--- a/gnu/areadlink.h
+++ b/gnu/areadlink.h
@@ -1,6 +1,6 @@
 /* Read symbolic links without size limitation.
 
-   Copyright (C) 2001, 2003-2004, 2007, 2009-2017 Free Software Foundation,
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/areadlinkat-with-size.c b/gnu/areadlinkat-with-size.c
index fa3773fc..ed00b98e 100644
--- a/gnu/areadlinkat-with-size.c
+++ b/gnu/areadlinkat-with-size.c
@@ -1,7 +1,7 @@
 /* readlinkat wrapper to return the link name in malloc'd storage.
    Unlike xreadlinkat, only call exit on failure to change directory.
 
-   Copyright (C) 2001, 2003-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/areadlinkat.c b/gnu/areadlinkat.c
index 65e7334a..6dfbb610 100644
--- a/gnu/areadlinkat.c
+++ b/gnu/areadlinkat.c
@@ -1,7 +1,7 @@
 /* areadlinkat.c -- readlinkat wrapper to return malloc'd link name
    Unlike xreadlinkat, only call exit on failure to change directory.
 
-   Copyright (C) 2001, 2003-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/arg-nonnull.h b/gnu/arg-nonnull.h
index 61ee0712..ad8c26c2 100644
--- a/gnu/arg-nonnull.h
+++ b/gnu/arg-nonnull.h
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gnu/argmatch.c b/gnu/argmatch.c
index 59858ec6..b9a3e400 100644
--- a/gnu/argmatch.c
+++ b/gnu/argmatch.c
@@ -1,6 +1,6 @@
 /* argmatch.c -- find a match for a string in an array
 
-   Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2017 Free Software
+   Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/argmatch.h b/gnu/argmatch.h
index 84508545..51d28858 100644
--- a/gnu/argmatch.h
+++ b/gnu/argmatch.h
@@ -1,6 +1,6 @@
 /* argmatch.h -- definitions and prototypes for argmatch.c
 
-   Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2017 Free Software
+   Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/argp-ba.c b/gnu/argp-ba.c
index c2aadf00..fcf60c82 100644
--- a/gnu/argp-ba.c
+++ b/gnu/argp-ba.c
@@ -1,5 +1,5 @@
 /* Default definition for ARGP_PROGRAM_BUG_ADDRESS.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-eexst.c b/gnu/argp-eexst.c
index 823e3077..06b025d4 100644
--- a/gnu/argp-eexst.c
+++ b/gnu/argp-eexst.c
@@ -1,5 +1,5 @@
 /* Default definition for ARGP_ERR_EXIT_STATUS
-   Copyright (C) 1997, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2009-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-fmtstream.c b/gnu/argp-fmtstream.c
index 92333fe7..ba6a407f 100644
--- a/gnu/argp-fmtstream.c
+++ b/gnu/argp-fmtstream.c
@@ -1,5 +1,5 @@
 /* Word-wrapping and line-truncating streams
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-fmtstream.h b/gnu/argp-fmtstream.h
index f6deebdc..0cc88525 100644
--- a/gnu/argp-fmtstream.h
+++ b/gnu/argp-fmtstream.h
@@ -1,5 +1,5 @@
 /* Word-wrapping and line-truncating streams.
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-fs-xinl.c b/gnu/argp-fs-xinl.c
index c88fd165..a2e843c8 100644
--- a/gnu/argp-fs-xinl.c
+++ b/gnu/argp-fs-xinl.c
@@ -1,5 +1,5 @@
 /* Real definitions for extern inline functions in argp-fmtstream.h
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-help.c b/gnu/argp-help.c
index 0a98c682..e5375a0f 100644
--- a/gnu/argp-help.c
+++ b/gnu/argp-help.c
@@ -1,5 +1,5 @@
 /* Hierarchical argument parsing help output
-   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-namefrob.h b/gnu/argp-namefrob.h
index a1c9a01a..2fb9ac49 100644
--- a/gnu/argp-namefrob.h
+++ b/gnu/argp-namefrob.h
@@ -1,5 +1,5 @@
 /* Name frobnication for compiling argp outside of glibc
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-parse.c b/gnu/argp-parse.c
index 9a86044c..6dec5731 100644
--- a/gnu/argp-parse.c
+++ b/gnu/argp-parse.c
@@ -1,5 +1,5 @@
 /* Hierarchical argument parsing, layered over getopt
-   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-pin.c b/gnu/argp-pin.c
index 7c05d1dd..ece7423e 100644
--- a/gnu/argp-pin.c
+++ b/gnu/argp-pin.c
@@ -1,5 +1,5 @@
 /* Full and short program names for argp module
-   Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/argp-pv.c b/gnu/argp-pv.c
index 000bbb21..f76b365a 100644
--- a/gnu/argp-pv.c
+++ b/gnu/argp-pv.c
@@ -1,5 +1,5 @@
 /* Default definition for ARGP_PROGRAM_VERSION.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-pvh.c b/gnu/argp-pvh.c
index c25d5c4b..be73e335 100644
--- a/gnu/argp-pvh.c
+++ b/gnu/argp-pvh.c
@@ -1,5 +1,5 @@
 /* Default definition for ARGP_PROGRAM_VERSION_HOOK.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp-version-etc.c b/gnu/argp-version-etc.c
index 7562fb96..0c7e0af7 100644
--- a/gnu/argp-version-etc.c
+++ b/gnu/argp-version-etc.c
@@ -1,5 +1,5 @@
 /* Version hook for Argp.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/argp-version-etc.h b/gnu/argp-version-etc.h
index 0b8969d3..b9a1d2eb 100644
--- a/gnu/argp-version-etc.h
+++ b/gnu/argp-version-etc.h
@@ -1,5 +1,5 @@
 /* Version hook for Argp.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/argp-xinl.c b/gnu/argp-xinl.c
index cfaf996b..ebc032f6 100644
--- a/gnu/argp-xinl.c
+++ b/gnu/argp-xinl.c
@@ -1,5 +1,5 @@
 /* Real definitions for extern inline functions in argp.h
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/argp.h b/gnu/argp.h
index 19813c85..317ac034 100644
--- a/gnu/argp.h
+++ b/gnu/argp.h
@@ -1,5 +1,5 @@
 /* Hierarchical argument parsing, layered over getopt.
-   Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
diff --git a/gnu/asnprintf.c b/gnu/asnprintf.c
index b0a01fcb..d2a8c097 100644
--- a/gnu/asnprintf.c
+++ b/gnu/asnprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/asprintf.c b/gnu/asprintf.c
index 00bb9d74..6cbd0629 100644
--- a/gnu/asprintf.c
+++ b/gnu/asprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006-2007, 2009-2017 Free Software Foundation,
+   Copyright (C) 1999, 2002, 2006-2007, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/assure.h b/gnu/assure.h
index 342b126c..c21b6a6b 100644
--- a/gnu/assure.h
+++ b/gnu/assure.h
@@ -1,6 +1,6 @@
 /* Run-time assert-like macros.
 
-   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   Copyright (C) 2014-2019 Free Software Foundation, Inc.
 
    This 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 <assert.h>
 
 /* Check E's value at runtime, and report an error and abort if not.
-   However, do nothng if NDEBUG is defined.
+   However, do nothing if NDEBUG is defined.
 
    Unlike standard 'assert', this macro always compiles E even when NDEBUG
    is defined, so as to catch typos and avoid some GCC warnings.  */
diff --git a/gnu/at-func.c b/gnu/at-func.c
index 2a3e375e..d2e63191 100644
--- a/gnu/at-func.c
+++ b/gnu/at-func.c
@@ -1,5 +1,5 @@
 /* Define at-style functions like fstatat, unlinkat, fchownat, etc.
-   Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/at-func2.c b/gnu/at-func2.c
index fbf3f6cb..eaa256cb 100644
--- a/gnu/at-func2.c
+++ b/gnu/at-func2.c
@@ -1,5 +1,5 @@
 /* Define 2-FD at-style functions like linkat or renameat.
-   Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/backup-find.c b/gnu/backup-find.c
index 4c087414..c038ae6d 100644
--- a/gnu/backup-find.c
+++ b/gnu/backup-find.c
@@ -1,6 +1,6 @@
 /* backupfile.c -- make Emacs style backup file names
 
-   Copyright 2017 Free Software Foundation, Inc.
+   Copyright 2017-2019 Free Software Foundation, Inc.
 
    This 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,14 +24,16 @@
 
 #include <stdlib.h>
 
-/* Return the name of a backup file for the existing file FILE,
-   allocated with malloc.  Report an error and exit if out of memory.
-   Do not call this function if backup_type == no_backups.  */
+/* Relative to DIR_FD, return the name of a backup file for the
+   existing file FILE, allocated with malloc.  Report an error and
+   exit if out of memory.  Do not call this function if
+   backup_type == no_backups.  */
 
 char *
-find_backup_file_name (char const *file, enum backup_type backup_type)
+find_backup_file_name (int dir_fd, char const *file,
+                       enum backup_type backup_type)
 {
-  char *result = backupfile_internal (file, backup_type, false);
+  char *result = backupfile_internal (dir_fd, file, backup_type, false);
   if (!result)
     xalloc_die ();
   return result;
diff --git a/gnu/backup-internal.h b/gnu/backup-internal.h
index 2401c07b..17714b2d 100644
--- a/gnu/backup-internal.h
+++ b/gnu/backup-internal.h
@@ -1,3 +1,3 @@
 #include "backupfile.h"
 #include <stdbool.h>
-extern char *backupfile_internal (char const *, enum backup_type, bool);
+extern char *backupfile_internal (int, char const *, enum backup_type, bool);
diff --git a/gnu/backupfile.c b/gnu/backupfile.c
index 22f54d33..254c0861 100644
--- a/gnu/backupfile.c
+++ b/gnu/backupfile.c
@@ -1,6 +1,6 @@
 /* backupfile.c -- make Emacs style backup file names
 
-   Copyright (C) 1990-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1990-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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,20 +23,26 @@
 #include "backup-internal.h"
 
 #include "dirname.h"
-#include "renameat2.h"
+#include "opendirat.h"
+#include "renameatu.h"
 #include "xalloc-oversized.h"
 
-#include <fcntl.h>
 #include <errno.h>
+#include <fcntl.h>
 #include <stdbool.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
-
-#include <limits.h>
-
 #include <unistd.h>
 
-#include "dirent--.h"
+#ifndef FALLTHROUGH
+# if __GNUC__ < 7
+#  define FALLTHROUGH ((void) 0)
+# else
+#  define FALLTHROUGH __attribute__ ((__fallthrough__))
+# endif
+#endif
+
 #ifndef _D_EXACT_NAMLEN
 # define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name)
 #endif
@@ -48,9 +54,6 @@
 #ifndef _POSIX_NAME_MAX
 # define _POSIX_NAME_MAX 14
 #endif
-#ifndef SIZE_MAX
-# define SIZE_MAX ((size_t) -1)
-#endif
 
 #if defined _XOPEN_NAME_MAX
 # define NAME_MAX_MINIMUM _XOPEN_NAME_MAX
@@ -92,10 +95,15 @@ set_simple_backup_suffix (char const *s)
 /* If FILE (which was of length FILELEN before an extension was
    appended to it) is too long, replace the extension with the single
    char E.  If the result is still too long, remove the char just
-   before E.  */
+   before E.
+
+   If DIR_FD is nonnegative, it is a file descriptor for FILE's parent.
+   *NAME_MAX is either 0, or the cached result of a previous call for
+   FILE's parent's _PC_NAME_MAX.  */
 
 static void
-check_extension (char *file, size_t filelen, char e)
+check_extension (char *file, size_t filelen, char e,
+                 int dir_fd, size_t *base_max)
 {
   char *base = last_component (file);
   size_t baselen = base_len (base);
@@ -104,22 +112,34 @@ check_extension (char *file, size_t filelen, char e)
   if (HAVE_DOS_FILE_NAMES || NAME_MAX_MINIMUM < baselen)
     {
       /* The new base name is long enough to require a pathconf check.  */
-      long name_max;
-
-      /* Temporarily modify the buffer into its parent directory name,
-         invoke pathconf on the directory, and then restore the buffer.  */
-      char tmp[sizeof "."];
-      memcpy (tmp, base, sizeof ".");
-      strcpy (base, ".");
-      errno = 0;
-      name_max = pathconf (file, _PC_NAME_MAX);
-      if (0 <= name_max || errno == 0)
+      if (*base_max == 0)
         {
-          long size = baselen_max = name_max;
-          if (name_max != size)
-            baselen_max = SIZE_MAX;
+          long name_max;
+          if (dir_fd < 0)
+            {
+              /* Temporarily modify the buffer into its parent
+                 directory name, invoke pathconf on the directory, and
+                 then restore the buffer.  */
+              char tmp[sizeof "."];
+              memcpy (tmp, base, sizeof ".");
+              strcpy (base, ".");
+              errno = 0;
+              name_max = pathconf (file, _PC_NAME_MAX);
+              name_max -= !errno;
+              memcpy (base, tmp, sizeof ".");
+            }
+          else
+            {
+              errno = 0;
+              name_max = fpathconf (dir_fd, _PC_NAME_MAX);
+              name_max -= !errno;
+            }
+
+          *base_max = (0 <= name_max && name_max <= SIZE_MAX ? name_max
+                       : name_max < -1 ? NAME_MAX_MINIMUM : SIZE_MAX);
         }
-      memcpy (base, tmp, sizeof ".");
+
+      baselen_max = *base_max;
     }
 
   if (HAVE_DOS_FILE_NAMES && baselen_max <= 12)
@@ -167,8 +187,9 @@ enum numbered_backup_result
     BACKUP_NOMEM
   };
 
-/* *BUFFER contains a file name.  Store into *BUFFER the next backup
-   name for the named file, with a version number greater than all the
+/* Relative to DIR_FD, *BUFFER contains a file name.
+   Store into *BUFFER the next backup name for the named file,
+   with a version number greater than all the
    existing numbered backups.  Reallocate *BUFFER as necessary; its
    initial allocated size is BUFFER_SIZE, which must be at least 4
    bytes longer than the file name to make room for the initially
@@ -180,11 +201,11 @@ enum numbered_backup_result
 
    *DIRPP is the destination directory.  If *DIRPP is null, open the
    destination directory and store the resulting stream into *DIRPP
-   without closing the stream.  */
+   and its file descriptor into *PNEW_FD without closing the stream.  */
 
 static enum numbered_backup_result
-numbered_backup (char **buffer, size_t buffer_size, size_t filelen,
-                 ptrdiff_t base_offset, DIR **dirpp)
+numbered_backup (int dir_fd, char **buffer, size_t buffer_size, size_t filelen,
+                 ptrdiff_t base_offset, DIR **dirpp, int *pnew_fd)
 {
   enum numbered_backup_result result = BACKUP_IS_NEW;
   DIR *dirp = *dirpp;
@@ -203,7 +224,7 @@ numbered_backup (char **buffer, size_t buffer_size, size_t filelen,
       char tmp[sizeof "."];
       memcpy (tmp, base, sizeof ".");
       strcpy (base, ".");
-      dirp = opendir (buf);
+      dirp = opendirat (dir_fd, buf, 0, pnew_fd);
       if (!dirp && errno == ENOMEM)
         result = BACKUP_NOMEM;
       memcpy (base, tmp, sizeof ".");
@@ -283,13 +304,15 @@ numbered_backup (char **buffer, size_t buffer_size, size_t filelen,
   return result;
 }
 
-/* Return the name of the new backup file for the existing file FILE,
-   allocated with malloc.  If RENAME, also rename FILE to the new name.
+/* Relative to DIR_FD, return the name of the new backup file for the
+   existing file FILE, allocated with malloc.
+   If RENAME, also rename FILE to the new name.
    On failure, return NULL and set errno.
    Do not call this function if backup_type == no_backups.  */
 
 char *
-backupfile_internal (char const *file, enum backup_type backup_type, bool rename)
+backupfile_internal (int dir_fd, char const *file,
+                     enum backup_type backup_type, bool rename)
 {
   ptrdiff_t base_offset = last_component (file) - file;
   size_t filelen = base_offset + strlen (file + base_offset);
@@ -311,6 +334,8 @@ backupfile_internal (char const *file, enum backup_type backup_type, bool rename
     return s;
 
   DIR *dirp = NULL;
+  int sdir = -1;
+  size_t base_max = 0;
   while (true)
     {
       memcpy (s, file, filelen + 1);
@@ -318,7 +343,8 @@ backupfile_internal (char const *file, enum backup_type backup_type, bool rename
       if (backup_type == simple_backups)
         memcpy (s + filelen, simple_backup_suffix, simple_backup_suffix_size);
       else
-        switch (numbered_backup (&s, ssize, filelen, base_offset, &dirp))
+        switch (numbered_backup (dir_fd, &s, ssize, filelen, base_offset,
+                                 &dirp, &sdir))
           {
           case BACKUP_IS_SAME_LENGTH:
             break;
@@ -330,11 +356,9 @@ backupfile_internal (char const *file, enum backup_type backup_type, bool rename
                 memcpy (s + filelen, simple_backup_suffix,
                         simple_backup_suffix_size);
               }
-            check_extension (s, filelen, '~');
-            break;
-
+            FALLTHROUGH;
           case BACKUP_IS_LONGER:
-            check_extension (s, filelen, '~');
+            check_extension (s, filelen, '~', sdir, &base_max);
             break;
 
           case BACKUP_NOMEM:
@@ -346,14 +370,13 @@ backupfile_internal (char const *file, enum backup_type backup_type, bool rename
       if (! rename)
         break;
 
-      int sdir = dirp ? dirfd (dirp) : -1;
       if (sdir < 0)
         {
           sdir = AT_FDCWD;
           base_offset = 0;
         }
       unsigned flags = backup_type == simple_backups ? 0 : RENAME_NOREPLACE;
-      if (renameat2 (AT_FDCWD, file, sdir, s + base_offset, flags) == 0)
+      if (renameatu (AT_FDCWD, file, sdir, s + base_offset, flags) == 0)
         break;
       int e = errno;
       if (e != EEXIST)
diff --git a/gnu/backupfile.h b/gnu/backupfile.h
index c1c51c16..beb96854 100644
--- a/gnu/backupfile.h
+++ b/gnu/backupfile.h
@@ -1,6 +1,6 @@
 /* backupfile.h -- declarations for making Emacs style backup file names
 
-   Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2017 Free Software
+   Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -17,11 +17,13 @@
    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #ifndef BACKUPFILE_H_
-# define BACKUPFILE_H_
+#define BACKUPFILE_H_
 
-# ifdef __cplusplus
+#include <fcntl.h>
+
+#ifdef __cplusplus
 extern "C" {
-# endif
+#endif
 
 
 /* When to make backup files. */
@@ -41,21 +43,20 @@ enum backup_type
   numbered_backups
 };
 
-# define VALID_BACKUP_TYPE(Type)        \
+#define VALID_BACKUP_TYPE(Type) \
   ((unsigned int) (Type) <= numbered_backups)
 
 extern char const *simple_backup_suffix;
 
 void set_simple_backup_suffix (char const *);
-char *backup_file_rename (char const *, enum backup_type);
-char *find_backup_file_name (char const *, enum backup_type);
+char *backup_file_rename (int, char const *, enum backup_type);
+char *find_backup_file_name (int, char const *, enum backup_type);
 enum backup_type get_version (char const *context, char const *arg);
 enum backup_type xget_version (char const *context, char const *arg);
-void addext (char *, char const *, int);
 
 
-# ifdef __cplusplus
+#ifdef __cplusplus
 }
-# endif
+#endif
 
 #endif /* ! BACKUPFILE_H_ */
diff --git a/gnu/basename-lgpl.c b/gnu/basename-lgpl.c
index e760df00..0ae04ee5 100644
--- a/gnu/basename-lgpl.c
+++ b/gnu/basename-lgpl.c
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2017 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/basename.c b/gnu/basename.c
index 8ed46f23..1b6e0ea5 100644
--- a/gnu/basename.c
+++ b/gnu/basename.c
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2017 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/bitrotate.h b/gnu/bitrotate.h
index 1e25f753..862331e2 100644
--- a/gnu/bitrotate.h
+++ b/gnu/bitrotate.h
@@ -1,5 +1,5 @@
 /* bitrotate.h - Rotate bits in integers
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/btowc.c b/gnu/btowc.c
index fa908b41..9e2496d4 100644
--- a/gnu/btowc.c
+++ b/gnu/btowc.c
@@ -1,5 +1,5 @@
 /* Convert unibyte character to wide character.
-   Copyright (C) 2008, 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2010-2019 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/gnu/c++defs.h b/gnu/c++defs.h
index 09dcd3e0..87d07167 100644
--- a/gnu/c++defs.h
+++ b/gnu/c++defs.h
@@ -1,5 +1,5 @@
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gnu/c-ctype.h b/gnu/c-ctype.h
index 9ad3c18d..4d521763 100644
--- a/gnu/c-ctype.h
+++ b/gnu/c-ctype.h
@@ -5,7 +5,7 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008-2019 Free Software Foundation, Inc.
 
 This 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/gnu/c-strcase.h b/gnu/c-strcase.h
index 220d21d3..b67c9b5d 100644
--- a/gnu/c-strcase.h
+++ b/gnu/c-strcase.h
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison functions in C locale.
-   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2017 Free Software
+   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/c-strcasecmp.c b/gnu/c-strcasecmp.c
index b2880a2e..ec50f1ab 100644
--- a/gnu/c-strcasecmp.c
+++ b/gnu/c-strcasecmp.c
@@ -1,5 +1,5 @@
 /* c-strcasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/c-strcaseeq.h b/gnu/c-strcaseeq.h
index 1f70e265..bcc81fc3 100644
--- a/gnu/c-strcaseeq.h
+++ b/gnu/c-strcaseeq.h
@@ -1,5 +1,5 @@
 /* Optimized case-insensitive string comparison in C locale.
-   Copyright (C) 2001-2002, 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gnu/c-strncasecmp.c b/gnu/c-strncasecmp.c
index 982e1791..513c353f 100644
--- a/gnu/c-strncasecmp.c
+++ b/gnu/c-strncasecmp.c
@@ -1,5 +1,5 @@
 /* c-strncasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/canonicalize-lgpl.c b/gnu/canonicalize-lgpl.c
index cd3396db..4d1be6dc 100644
--- a/gnu/canonicalize-lgpl.c
+++ b/gnu/canonicalize-lgpl.c
@@ -1,5 +1,5 @@
 /* Return the canonical absolute name of a given file.
-   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2019 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
@@ -95,7 +95,7 @@
 static void
 alloc_failed (void)
 {
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
   /* Avoid errno problem without using the malloc or realloc modules; see:
      https://lists.gnu.org/r/bug-gnulib/2016-08/msg00025.html  */
   errno = ENOMEM;
diff --git a/gnu/careadlinkat.c b/gnu/careadlinkat.c
index e2af54f0..e56d5030 100644
--- a/gnu/careadlinkat.c
+++ b/gnu/careadlinkat.c
@@ -1,6 +1,6 @@
 /* Read symbolic links into a buffer without size limitation, relative to fd.
 
-   Copyright (C) 2001, 2003-2004, 2007, 2009-2017 Free Software Foundation,
+   Copyright (C) 2001, 2003-2004, 2007, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/careadlinkat.h b/gnu/careadlinkat.h
index d436c691..68b69aa8 100644
--- a/gnu/careadlinkat.h
+++ b/gnu/careadlinkat.h
@@ -1,6 +1,6 @@
 /* Read symbolic links into a buffer without size limitation, relative to fd.
 
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/cdefs.h b/gnu/cdefs.h
new file mode 100644
index 00000000..f7a10644
--- /dev/null
+++ b/gnu/cdefs.h
@@ -0,0 +1,514 @@
+/* Copyright (C) 1992-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   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.
+
+   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.
+
+   You should have received a copy of the GNU General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef	_SYS_CDEFS_H
+#define	_SYS_CDEFS_H	1
+
+/* We are almost always included from features.h. */
+#ifndef _FEATURES_H
+# include <features.h>
+#endif
+
+/* The GNU libc does not support any K&R compilers or the traditional mode
+   of ISO C compilers anymore.  Check for some of the combinations not
+   anymore supported.  */
+#if defined __GNUC__ && !defined __STDC__
+# error "You need a ISO C conforming compiler to use the glibc headers"
+#endif
+
+/* Some user header file might have defined this before.  */
+#undef	__P
+#undef	__PMT
+
+#ifdef __GNUC__
+
+/* All functions, except those with callbacks or those that
+   synchronize memory, are leaf functions.  */
+# if __GNUC_PREREQ (4, 6) && !defined _LIBC
+#  define __LEAF , __leaf__
+#  define __LEAF_ATTR __attribute__ ((__leaf__))
+# else
+#  define __LEAF
+#  define __LEAF_ATTR
+# endif
+
+/* GCC can always grok prototypes.  For C++ programs we add throw()
+   to help it optimize the function calls.  But this works only with
+   gcc 2.8.x and egcs.  For gcc 3.2 and up we even mark C functions
+   as non-throwing using a function attribute since programs can use
+   the -fexceptions options for C code as well.  */
+# if !defined __cplusplus && __GNUC_PREREQ (3, 3)
+#  define __THROW	__attribute__ ((__nothrow__ __LEAF))
+#  define __THROWNL	__attribute__ ((__nothrow__))
+#  define __NTH(fct)	__attribute__ ((__nothrow__ __LEAF)) fct
+#  define __NTHNL(fct)  __attribute__ ((__nothrow__)) fct
+# else
+#  if defined __cplusplus && __GNUC_PREREQ (2,8)
+#   define __THROW	throw ()
+#   define __THROWNL	throw ()
+#   define __NTH(fct)	__LEAF_ATTR fct throw ()
+#   define __NTHNL(fct) fct throw ()
+#  else
+#   define __THROW
+#   define __THROWNL
+#   define __NTH(fct)	fct
+#   define __NTHNL(fct) fct
+#  endif
+# endif
+
+#else	/* Not GCC.  */
+
+# if (defined __cplusplus						\
+      || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
+#  define __inline	inline
+# else
+#  define __inline		/* No inline functions.  */
+# endif
+
+# define __THROW
+# define __THROWNL
+# define __NTH(fct)	fct
+
+#endif	/* GCC.  */
+
+/* Compilers that are not clang may object to
+       #if defined __clang__ && __has_extension(...)
+   even though they do not need to evaluate the right-hand side of the &&.  */
+#if defined __clang__ && defined __has_extension
+# define __glibc_clang_has_extension(ext) __has_extension (ext)
+#else
+# define __glibc_clang_has_extension(ext) 0
+#endif
+
+/* These two macros are not used in glibc anymore.  They are kept here
+   only because some other projects expect the macros to be defined.  */
+#define __P(args)	args
+#define __PMT(args)	args
+
+/* For these things, GCC behaves the ANSI way normally,
+   and the non-ANSI way under -traditional.  */
+
+#define __CONCAT(x,y)	x ## y
+#define __STRING(x)	#x
+
+/* This is not a typedef so `const __ptr_t' does the right thing.  */
+#define __ptr_t void *
+
+
+/* C++ needs to know that types and declarations are C, not C++.  */
+#ifdef	__cplusplus
+# define __BEGIN_DECLS	extern "C" {
+# define __END_DECLS	}
+#else
+# define __BEGIN_DECLS
+# define __END_DECLS
+#endif
+
+
+/* Fortify support.  */
+#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
+#define __bos0(ptr) __builtin_object_size (ptr, 0)
+
+#if __GNUC_PREREQ (4,3)
+# define __warndecl(name, msg) \
+  extern void name (void) __attribute__((__warning__ (msg)))
+# define __warnattr(msg) __attribute__((__warning__ (msg)))
+# define __errordecl(name, msg) \
+  extern void name (void) __attribute__((__error__ (msg)))
+#else
+# define __warndecl(name, msg) extern void name (void)
+# define __warnattr(msg)
+# define __errordecl(name, msg) extern void name (void)
+#endif
+
+/* Support for flexible arrays.
+   Headers that should use flexible arrays only if they're "real"
+   (e.g. only if they won't affect sizeof()) should test
+   #if __glibc_c99_flexarr_available.  */
+#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc
+# define __flexarr	[]
+# define __glibc_c99_flexarr_available 1
+#elif __GNUC_PREREQ (2,97)
+/* GCC 2.97 supports C99 flexible array members as an extension,
+   even when in C89 mode or compiling C++ (any version).  */
+# define __flexarr	[]
+# define __glibc_c99_flexarr_available 1
+#elif defined __GNUC__
+/* Pre-2.97 GCC did not support C99 flexible arrays but did have
+   an equivalent extension with slightly different notation.  */
+# define __flexarr	[0]
+# define __glibc_c99_flexarr_available 1
+#else
+/* Some other non-C99 compiler.  Approximate with [1].  */
+# define __flexarr	[1]
+# define __glibc_c99_flexarr_available 0
+#endif
+
+
+/* __asm__ ("xyz") is used throughout the headers to rename functions
+   at the assembly language level.  This is wrapped by the __REDIRECT
+   macro, in order to support compilers that can do this some other
+   way.  When compilers don't support asm-names at all, we have to do
+   preprocessor tricks instead (which don't have exactly the right
+   semantics, but it's the best we can do).
+
+   Example:
+   int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
+# ifdef __cplusplus
+#  define __REDIRECT_NTH(name, proto, alias) \
+     name proto __THROW __asm__ (__ASMNAME (#alias))
+#  define __REDIRECT_NTHNL(name, proto, alias) \
+     name proto __THROWNL __asm__ (__ASMNAME (#alias))
+# else
+#  define __REDIRECT_NTH(name, proto, alias) \
+     name proto __asm__ (__ASMNAME (#alias)) __THROW
+#  define __REDIRECT_NTHNL(name, proto, alias) \
+     name proto __asm__ (__ASMNAME (#alias)) __THROWNL
+# endif
+# define __ASMNAME(cname)  __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
+
+/*
+#elif __SOME_OTHER_COMPILER__
+
+# define __REDIRECT(name, proto, alias) name proto; \
+	_Pragma("let " #name " = " #alias)
+*/
+#endif
+
+/* GCC has various useful declarations that can be made with the
+   `__attribute__' syntax.  All of the ways we use this do fine if
+   they are omitted for compilers that don't understand it. */
+#if !defined __GNUC__ || __GNUC__ < 2
+# define __attribute__(xyz)	/* Ignore */
+#endif
+
+/* At some point during the gcc 2.96 development the `malloc' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (2,96)
+# define __attribute_malloc__ __attribute__ ((__malloc__))
+#else
+# define __attribute_malloc__ /* Ignore */
+#endif
+
+/* Tell the compiler which arguments to an allocation function
+   indicate the size of the allocation.  */
+#if __GNUC_PREREQ (4, 3)
+# define __attribute_alloc_size__(params) \
+  __attribute__ ((__alloc_size__ params))
+#else
+# define __attribute_alloc_size__(params) /* Ignore.  */
+#endif
+
+/* At some point during the gcc 2.96 development the `pure' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (2,96)
+# define __attribute_pure__ __attribute__ ((__pure__))
+#else
+# define __attribute_pure__ /* Ignore */
+#endif
+
+/* This declaration tells the compiler that the value is constant.  */
+#if __GNUC_PREREQ (2,5)
+# define __attribute_const__ __attribute__ ((__const__))
+#else
+# define __attribute_const__ /* Ignore */
+#endif
+
+/* At some point during the gcc 3.1 development the `used' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.  */
+#if __GNUC_PREREQ (3,1)
+# define __attribute_used__ __attribute__ ((__used__))
+# define __attribute_noinline__ __attribute__ ((__noinline__))
+#else
+# define __attribute_used__ __attribute__ ((__unused__))
+# define __attribute_noinline__ /* Ignore */
+#endif
+
+/* Since version 3.2, gcc allows marking deprecated functions.  */
+#if __GNUC_PREREQ (3,2)
+# define __attribute_deprecated__ __attribute__ ((__deprecated__))
+#else
+# define __attribute_deprecated__ /* Ignore */
+#endif
+
+/* Since version 4.5, gcc also allows one to specify the message printed
+   when a deprecated function is used.  clang claims to be gcc 4.2, but
+   may also support this feature.  */
+#if __GNUC_PREREQ (4,5) || \
+    __glibc_clang_has_extension (__attribute_deprecated_with_message__)
+# define __attribute_deprecated_msg__(msg) \
+	 __attribute__ ((__deprecated__ (msg)))
+#else
+# define __attribute_deprecated_msg__(msg) __attribute_deprecated__
+#endif
+
+/* At some point during the gcc 2.8 development the `format_arg' attribute
+   for functions was introduced.  We don't want to use it unconditionally
+   (although this would be possible) since it generates warnings.
+   If several `format_arg' attributes are given for the same function, in
+   gcc-3.0 and older, all but the last one are ignored.  In newer gccs,
+   all designated arguments are considered.  */
+#if __GNUC_PREREQ (2,8)
+# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
+#else
+# define __attribute_format_arg__(x) /* Ignore */
+#endif
+
+/* At some point during the gcc 2.97 development the `strfmon' format
+   attribute for functions was introduced.  We don't want to use it
+   unconditionally (although this would be possible) since it
+   generates warnings.  */
+#if __GNUC_PREREQ (2,97)
+# define __attribute_format_strfmon__(a,b) \
+  __attribute__ ((__format__ (__strfmon__, a, b)))
+#else
+# define __attribute_format_strfmon__(a,b) /* Ignore */
+#endif
+
+/* The nonnull function attribute marks pointer parameters that
+   must not be NULL.  Do not define __nonnull if it is already defined,
+   for portability when this file is used in Gnulib.  */
+#ifndef __nonnull
+# if __GNUC_PREREQ (3,3)
+#  define __nonnull(params) __attribute__ ((__nonnull__ params))
+# else
+#  define __nonnull(params)
+# endif
+#endif
+
+/* If fortification mode, we warn about unused results of certain
+   function calls which can lead to problems.  */
+#if __GNUC_PREREQ (3,4)
+# define __attribute_warn_unused_result__ \
+   __attribute__ ((__warn_unused_result__))
+# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0
+#  define __wur __attribute_warn_unused_result__
+# endif
+#else
+# define __attribute_warn_unused_result__ /* empty */
+#endif
+#ifndef __wur
+# define __wur /* Ignore */
+#endif
+
+/* Forces a function to be always inlined.  */
+#if __GNUC_PREREQ (3,2)
+/* The Linux kernel defines __always_inline in stddef.h (283d7573), and
+   it conflicts with this definition.  Therefore undefine it first to
+   allow either header to be included first.  */
+# undef __always_inline
+# define __always_inline __inline __attribute__ ((__always_inline__))
+#else
+# undef __always_inline
+# define __always_inline __inline
+#endif
+
+/* Associate error messages with the source location of the call site rather
+   than with the source location inside the function.  */
+#if __GNUC_PREREQ (4,3)
+# define __attribute_artificial__ __attribute__ ((__artificial__))
+#else
+# define __attribute_artificial__ /* Ignore */
+#endif
+
+/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  Using __GNUC_STDC_INLINE__
+   or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
+   older than 4.3 may define these macros and still not guarantee GNU inlining
+   semantics.
+
+   clang++ identifies itself as gcc-4.2, but has support for GNU inlining
+   semantics, that can be checked fot by using the __GNUC_STDC_INLINE_ and
+   __GNUC_GNU_INLINE__ macro definitions.  */
+#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \
+     || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \
+			       || defined __GNUC_GNU_INLINE__)))
+# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
+#  define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
+#  define __extern_always_inline \
+  extern __always_inline __attribute__ ((__gnu_inline__))
+# else
+#  define __extern_inline extern __inline
+#  define __extern_always_inline extern __always_inline
+# endif
+#endif
+
+#ifdef __extern_always_inline
+# define __fortify_function __extern_always_inline __attribute_artificial__
+#endif
+
+/* GCC 4.3 and above allow passing all anonymous arguments of an
+   __extern_always_inline function to some other vararg function.  */
+#if __GNUC_PREREQ (4,3)
+# define __va_arg_pack() __builtin_va_arg_pack ()
+# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
+#endif
+
+/* It is possible to compile containing GCC extensions even if GCC is
+   run in pedantic mode if the uses are carefully marked using the
+   `__extension__' keyword.  But this is not generally available before
+   version 2.8.  */
+#if !__GNUC_PREREQ (2,8)
+# define __extension__		/* Ignore */
+#endif
+
+/* __restrict is known in EGCS 1.2 and above. */
+#if !__GNUC_PREREQ (2,92)
+# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#  define __restrict	restrict
+# else
+#  define __restrict	/* Ignore */
+# endif
+#endif
+
+/* ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
+     array_name[restrict]
+   GCC 3.1 supports this.  */
+#if __GNUC_PREREQ (3,1) && !defined __GNUG__
+# define __restrict_arr	__restrict
+#else
+# ifdef __GNUC__
+#  define __restrict_arr	/* Not supported in old GCC.  */
+# else
+#  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#   define __restrict_arr	restrict
+#  else
+/* Some other non-C99 compiler.  */
+#   define __restrict_arr	/* Not supported.  */
+#  endif
+# endif
+#endif
+
+#if __GNUC__ >= 3
+# define __glibc_unlikely(cond)	__builtin_expect ((cond), 0)
+# define __glibc_likely(cond)	__builtin_expect ((cond), 1)
+#else
+# define __glibc_unlikely(cond)	(cond)
+# define __glibc_likely(cond)	(cond)
+#endif
+
+#ifdef __has_attribute
+# define __glibc_has_attribute(attr)	__has_attribute (attr)
+#else
+# define __glibc_has_attribute(attr)	0
+#endif
+
+#if (!defined _Noreturn \
+     && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
+     &&  !__GNUC_PREREQ (4,7))
+# if __GNUC_PREREQ (2,8)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# else
+#  define _Noreturn
+# endif
+#endif
+
+#if __GNUC_PREREQ (8, 0)
+/* Describes a char array whose address can safely be passed as the first
+   argument to strncpy and strncat, as the char array is not necessarily
+   a NUL-terminated string.  */
+# define __attribute_nonstring__ __attribute__ ((__nonstring__))
+#else
+# define __attribute_nonstring__
+#endif
+
+#if (!defined _Static_assert && !defined __cplusplus \
+     && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \
+     && (!__GNUC_PREREQ (4, 6) || defined __STRICT_ANSI__))
+# define _Static_assert(expr, diagnostic) \
+    extern int (*__Static_assert_function (void)) \
+      [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })]
+#endif
+
+/* The #ifndef lets Gnulib avoid including these on non-glibc
+   platforms, where the includes typically do not exist.  */
+#ifndef __WORDSIZE
+# include <bits/wordsize.h>
+# include <bits/long-double.h>
+#endif
+
+#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
+# define __LDBL_COMPAT 1
+# ifdef __REDIRECT
+#  define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
+#  define __LDBL_REDIR(name, proto) \
+  __LDBL_REDIR1 (name, proto, __nldbl_##name)
+#  define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
+#  define __LDBL_REDIR_NTH(name, proto) \
+  __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
+#  define __LDBL_REDIR1_DECL(name, alias) \
+  extern __typeof (name) name __asm (__ASMNAME (#alias));
+#  define __LDBL_REDIR_DECL(name) \
+  extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
+#  define __REDIRECT_LDBL(name, proto, alias) \
+  __LDBL_REDIR1 (name, proto, __nldbl_##alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
+# endif
+#endif
+#if !defined __LDBL_COMPAT || !defined __REDIRECT
+# define __LDBL_REDIR1(name, proto, alias) name proto
+# define __LDBL_REDIR(name, proto) name proto
+# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
+# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
+# define __LDBL_REDIR_DECL(name)
+# ifdef __REDIRECT
+#  define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __REDIRECT_NTH (name, proto, alias)
+# endif
+#endif
+
+/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE.  This is
+   intended for use in preprocessor macros.
+
+   Note: MESSAGE must be a _single_ string; concatenation of string
+   literals is not supported.  */
+#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5)
+# define __glibc_macro_warning1(message) _Pragma (#message)
+# define __glibc_macro_warning(message) \
+  __glibc_macro_warning1 (GCC warning message)
+#else
+# define __glibc_macro_warning(msg)
+#endif
+
+/* Generic selection (ISO C11) is a C-only feature, available in GCC
+   since version 4.9.  Previous versions do not provide generic
+   selection, even though they might set __STDC_VERSION__ to 201112L,
+   when in -std=c11 mode.  Thus, we must check for !defined __GNUC__
+   when testing __STDC_VERSION__ for generic selection support.
+   On the other hand, Clang also defines __GNUC__, so a clang-specific
+   check is required to enable the use of generic selection.  */
+#if !defined __cplusplus \
+    && (__GNUC_PREREQ (4, 9) \
+	|| __glibc_clang_has_extension (c_generic_selections) \
+	|| (!defined __GNUC__ && defined __STDC_VERSION__ \
+	    && __STDC_VERSION__ >= 201112L))
+# define __HAVE_GENERIC_SELECTION 1
+#else
+# define __HAVE_GENERIC_SELECTION 0
+#endif
+
+#endif	 /* sys/cdefs.h */
diff --git a/gnu/chdir-long.c b/gnu/chdir-long.c
index 7e2e63c9..febdf59d 100644
--- a/gnu/chdir-long.c
+++ b/gnu/chdir-long.c
@@ -1,5 +1,5 @@
 /* provide a chdir function that tries not to fail due to ENAMETOOLONG
-   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2019 Free Software Foundation, Inc.
 
    This 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/gnu/chdir-long.h b/gnu/chdir-long.h
index 3acd70db..43259d1b 100644
--- a/gnu/chdir-long.h
+++ b/gnu/chdir-long.h
@@ -1,5 +1,5 @@
 /* provide a chdir function that tries not to fail due to ENAMETOOLONG
-   Copyright (C) 2004-2005, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2005, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/chown.c b/gnu/chown.c
index 37d1a1fb..fc73e778 100644
--- a/gnu/chown.c
+++ b/gnu/chown.c
@@ -1,7 +1,7 @@
 /* provide consistent interface to chown for systems that don't interpret
    an ID of -1 as meaning "don't change the corresponding ID".
 
-   Copyright (C) 1997, 2004-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2004-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/cloexec.c b/gnu/cloexec.c
index 2b67a010..db425766 100644
--- a/gnu/cloexec.c
+++ b/gnu/cloexec.c
@@ -1,6 +1,6 @@
 /* cloexec.c - set or clear the close-on-exec descriptor flag
 
-   Copyright (C) 1991, 2004-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991, 2004-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/cloexec.h b/gnu/cloexec.h
index d937a406..06ad945d 100644
--- a/gnu/cloexec.h
+++ b/gnu/cloexec.h
@@ -1,6 +1,6 @@
 /* cloexec.c - set or clear the close-on-exec descriptor flag
 
-   Copyright (C) 2004, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/close-stream.c b/gnu/close-stream.c
index 19707626..5458c4f2 100644
--- a/gnu/close-stream.c
+++ b/gnu/close-stream.c
@@ -1,6 +1,6 @@
 /* Close a stream, with nicer error checking than fclose's.
 
-   Copyright (C) 1998-2002, 2004, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2004, 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/close.c b/gnu/close.c
index 5b6bd3c7..40ce845b 100644
--- a/gnu/close.c
+++ b/gnu/close.c
@@ -1,5 +1,5 @@
 /* close replacement.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/closedir.c b/gnu/closedir.c
index 6b5e78c6..017fb682 100644
--- a/gnu/closedir.c
+++ b/gnu/closedir.c
@@ -1,5 +1,5 @@
 /* Stop reading the entries of a directory.
-   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/closeout.c b/gnu/closeout.c
index 82cba4cd..4a604ec3 100644
--- a/gnu/closeout.c
+++ b/gnu/closeout.c
@@ -1,6 +1,6 @@
 /* Close standard output and standard error, exiting with a diagnostic on error.
 
-   Copyright (C) 1998-2002, 2004, 2006, 2008-2017 Free Software Foundation,
+   Copyright (C) 1998-2002, 2004, 2006, 2008-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/closeout.h b/gnu/closeout.h
index fff76f11..ac89f760 100644
--- a/gnu/closeout.h
+++ b/gnu/closeout.h
@@ -1,6 +1,6 @@
 /* Close standard output and standard error.
 
-   Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2017 Free Software
+   Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/config.charset b/gnu/config.charset
deleted file mode 100644
index e017fed4..00000000
--- a/gnu/config.charset
+++ /dev/null
@@ -1,682 +0,0 @@
-#! /bin/sh
-# Output a system dependent table of character encoding aliases.
-#
-#   Copyright (C) 2000-2004, 2006-2017 Free Software Foundation, Inc.
-#
-#   This 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 <https://www.gnu.org/licenses/>.
-#
-# The table consists of lines of the form
-#    ALIAS  CANONICAL
-#
-# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
-# ALIAS is compared in a case sensitive way.
-#
-# CANONICAL is the GNU canonical name for this character encoding.
-# It must be an encoding supported by libiconv. Support by GNU libc is
-# also desirable. CANONICAL is case insensitive. Usually an upper case
-# MIME charset name is preferred.
-# 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
-#   ISO-8859-3              Y   glibc solaris cygwin
-#   ISO-8859-4              Y   osf solaris freebsd netbsd openbsd darwin
-#   ISO-8859-5              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
-#   ISO-8859-6              Y   glibc aix hpux solaris cygwin
-#   ISO-8859-7              Y   glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin
-#   ISO-8859-8              Y   glibc aix hpux osf solaris cygwin
-#   ISO-8859-9              Y   glibc aix hpux irix osf solaris darwin cygwin
-#   ISO-8859-13                 glibc netbsd openbsd darwin cygwin
-#   ISO-8859-14                 glibc cygwin
-#   ISO-8859-15                 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin
-#   KOI8-R                  Y   glibc solaris freebsd netbsd openbsd darwin
-#   KOI8-U                  Y   glibc freebsd netbsd openbsd darwin cygwin
-#   KOI8-T                      glibc
-#   CP437                       dos
-#   CP775                       dos
-#   CP850                       aix osf dos
-#   CP852                       dos
-#   CP855                       dos
-#   CP856                       aix
-#   CP857                       dos
-#   CP861                       dos
-#   CP862                       dos
-#   CP864                       dos
-#   CP865                       dos
-#   CP866                       freebsd netbsd openbsd darwin dos
-#   CP869                       dos
-#   CP874                       woe32 dos
-#   CP922                       aix
-#   CP932                       aix cygwin woe32 dos
-#   CP943                       aix
-#   CP949                       osf darwin woe32 dos
-#   CP950                       woe32 dos
-#   CP1046                      aix
-#   CP1124                      aix
-#   CP1125                      dos
-#   CP1129                      aix
-#   CP1131                      darwin
-#   CP1250                      woe32
-#   CP1251                      glibc solaris netbsd openbsd darwin cygwin woe32
-#   CP1252                      aix woe32
-#   CP1253                      woe32
-#   CP1254                      woe32
-#   CP1255                      glibc woe32
-#   CP1256                      woe32
-#   CP1257                      woe32
-#   GB2312                  Y   glibc aix hpux irix solaris freebsd netbsd darwin
-#   EUC-JP                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin
-#   EUC-KR                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
-#   EUC-TW                      glibc aix hpux irix osf solaris netbsd
-#   BIG5                    Y   glibc aix hpux osf solaris freebsd netbsd darwin cygwin
-#   BIG5-HKSCS                  glibc solaris darwin
-#   GBK                         glibc aix osf solaris darwin cygwin woe32 dos
-#   GB18030                     glibc solaris netbsd darwin
-#   SHIFT_JIS               Y   hpux osf solaris freebsd netbsd darwin
-#   JOHAB                       glibc solaris woe32
-#   TIS-620                     glibc aix hpux osf solaris cygwin
-#   VISCII                  Y   glibc
-#   TCVN5712-1                  glibc
-#   ARMSCII-8                   glibc darwin
-#   GEORGIAN-PS                 glibc cygwin
-#   PT154                       glibc
-#   HP-ROMAN8                   hpux
-#   HP-ARABIC8                  hpux
-#   HP-GREEK8                   hpux
-#   HP-HEBREW8                  hpux
-#   HP-TURKISH8                 hpux
-#   HP-KANA8                    hpux
-#   DEC-KANJI                   osf
-#   DEC-HANYU                   osf
-#   UTF-8                   Y   glibc aix hpux osf solaris netbsd darwin cygwin
-#
-# Note: Names which are not marked as being a MIME name should not be used in
-# Internet protocols for information interchange (mail, news, etc.).
-#
-# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
-# must understand both names and treat them as equivalent.
-#
-# The first argument passed to this file is the canonical host specification,
-#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-
-host="$1"
-os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
-echo "# This file contains a table of character encoding aliases,"
-echo "# suitable for operating system '${os}'."
-echo "# It was automatically generated from config.charset."
-# List of references, updated during installation:
-echo "# Packages using this file: "
-case "$os" in
-  linux-gnulibc1*)
-    # Linux libc5 doesn't have nl_langinfo(CODESET); therefore
-    # localcharset.c falls back to using the full locale name
-    # from the environment variables.
-    echo "C ASCII"
-    echo "POSIX ASCII"
-    for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \
-             en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \
-             en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \
-             es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \
-             et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \
-             fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \
-             it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \
-             sv_FI sv_SE; do
-      echo "$l ISO-8859-1"
-      echo "$l.iso-8859-1 ISO-8859-1"
-      echo "$l.iso-8859-15 ISO-8859-15"
-      echo "$l.iso-8859-15@euro ISO-8859-15"
-      echo "$l@euro ISO-8859-15"
-      echo "$l.cp-437 CP437"
-      echo "$l.cp-850 CP850"
-      echo "$l.cp-1252 CP1252"
-      echo "$l.cp-1252@euro CP1252"
-      #echo "$l.atari-st ATARI-ST" # not a commonly used encoding
-      echo "$l.utf-8 UTF-8"
-      echo "$l.utf-8@euro UTF-8"
-    done
-    for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \
-             sl_SI sr sr_CS sr_YU; do
-      echo "$l ISO-8859-2"
-      echo "$l.iso-8859-2 ISO-8859-2"
-      echo "$l.cp-852 CP852"
-      echo "$l.cp-1250 CP1250"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in mk mk_MK ru ru_RU; do
-      echo "$l ISO-8859-5"
-      echo "$l.iso-8859-5 ISO-8859-5"
-      echo "$l.koi8-r KOI8-R"
-      echo "$l.cp-866 CP866"
-      echo "$l.cp-1251 CP1251"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in ar ar_SA; do
-      echo "$l ISO-8859-6"
-      echo "$l.iso-8859-6 ISO-8859-6"
-      echo "$l.cp-864 CP864"
-      #echo "$l.cp-868 CP868" # not a commonly used encoding
-      echo "$l.cp-1256 CP1256"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in el el_GR gr gr_GR; do
-      echo "$l ISO-8859-7"
-      echo "$l.iso-8859-7 ISO-8859-7"
-      echo "$l.cp-869 CP869"
-      echo "$l.cp-1253 CP1253"
-      echo "$l.cp-1253@euro CP1253"
-      echo "$l.utf-8 UTF-8"
-      echo "$l.utf-8@euro UTF-8"
-    done
-    for l in he he_IL iw iw_IL; do
-      echo "$l ISO-8859-8"
-      echo "$l.iso-8859-8 ISO-8859-8"
-      echo "$l.cp-862 CP862"
-      echo "$l.cp-1255 CP1255"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in tr tr_TR; do
-      echo "$l ISO-8859-9"
-      echo "$l.iso-8859-9 ISO-8859-9"
-      echo "$l.cp-857 CP857"
-      echo "$l.cp-1254 CP1254"
-      echo "$l.utf-8 UTF-8"
-    done
-    for l in lt lt_LT lv lv_LV; do
-      #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
-      echo "$l ISO-8859-13"
-    done
-    for l in ru_UA uk uk_UA; do
-      echo "$l KOI8-U"
-    done
-    for l in zh zh_CN; do
-      #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
-      echo "$l GB2312"
-    done
-    for l in ja ja_JP ja_JP.EUC; do
-      echo "$l EUC-JP"
-    done
-    for l in ko ko_KR; do
-      echo "$l EUC-KR"
-    done
-    for l in th th_TH; do
-      echo "$l TIS-620"
-    done
-    for l in fa fa_IR; do
-      #echo "$l ISIRI-3342" # a broken encoding
-      echo "$l.utf-8 UTF-8"
-    done
-    ;;
-  linux* | *-gnu*)
-    # With glibc-2.1 or newer, we don't need any canonicalization,
-    # because glibc has iconv and both glibc and libiconv support all
-    # GNU canonical names directly. Therefore, the Makefile does not
-    # need to install the alias file at all.
-    # The following applies only to glibc-2.0.x and older libcs.
-    echo "ISO_646.IRV:1983 ASCII"
-    ;;
-  aix*)
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-6 ISO-8859-6"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-8 ISO-8859-8"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "IBM-850 CP850"
-    echo "IBM-856 CP856"
-    echo "IBM-921 ISO-8859-13"
-    echo "IBM-922 CP922"
-    echo "IBM-932 CP932"
-    echo "IBM-943 CP943"
-    echo "IBM-1046 CP1046"
-    echo "IBM-1124 CP1124"
-    echo "IBM-1129 CP1129"
-    echo "IBM-1252 CP1252"
-    echo "IBM-eucCN GB2312"
-    echo "IBM-eucJP EUC-JP"
-    echo "IBM-eucKR EUC-KR"
-    echo "IBM-eucTW EUC-TW"
-    echo "big5 BIG5"
-    echo "GBK GBK"
-    echo "TIS-620 TIS-620"
-    echo "UTF-8 UTF-8"
-    ;;
-  hpux*)
-    echo "iso88591 ISO-8859-1"
-    echo "iso88592 ISO-8859-2"
-    echo "iso88595 ISO-8859-5"
-    echo "iso88596 ISO-8859-6"
-    echo "iso88597 ISO-8859-7"
-    echo "iso88598 ISO-8859-8"
-    echo "iso88599 ISO-8859-9"
-    echo "iso885915 ISO-8859-15"
-    echo "roman8 HP-ROMAN8"
-    echo "arabic8 HP-ARABIC8"
-    echo "greek8 HP-GREEK8"
-    echo "hebrew8 HP-HEBREW8"
-    echo "turkish8 HP-TURKISH8"
-    echo "kana8 HP-KANA8"
-    echo "tis620 TIS-620"
-    echo "big5 BIG5"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "eucTW EUC-TW"
-    echo "hp15CN GB2312"
-    #echo "ccdc ?" # what is this?
-    echo "SJIS SHIFT_JIS"
-    echo "utf8 UTF-8"
-    ;;
-  irix*)
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "eucCN GB2312"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "eucTW EUC-TW"
-    ;;
-  osf*)
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-8 ISO-8859-8"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "cp850 CP850"
-    echo "big5 BIG5"
-    echo "dechanyu DEC-HANYU"
-    echo "dechanzi GB2312"
-    echo "deckanji DEC-KANJI"
-    echo "deckorean EUC-KR"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "eucTW EUC-TW"
-    echo "GBK GBK"
-    echo "KSC5601 CP949"
-    echo "sdeckanji EUC-JP"
-    echo "SJIS SHIFT_JIS"
-    echo "TACTIS TIS-620"
-    echo "UTF-8 UTF-8"
-    ;;
-  solaris*)
-    echo "646 ASCII"
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-3 ISO-8859-3"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-6 ISO-8859-6"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-8 ISO-8859-8"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "koi8-r KOI8-R"
-    echo "ansi-1251 CP1251"
-    echo "BIG5 BIG5"
-    echo "Big5-HKSCS BIG5-HKSCS"
-    echo "gb2312 GB2312"
-    echo "GBK GBK"
-    echo "GB18030 GB18030"
-    echo "cns11643 EUC-TW"
-    echo "5601 EUC-KR"
-    echo "ko_KR.johap92 JOHAB"
-    echo "eucJP EUC-JP"
-    echo "PCK SHIFT_JIS"
-    echo "TIS620.2533 TIS-620"
-    #echo "sun_eu_greek ?" # what is this?
-    echo "UTF-8 UTF-8"
-    ;;
-  freebsd*)
-    # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
-    # localcharset.c falls back to using the full locale name
-    # from the environment variables.
-    echo "C ASCII"
-    echo "US-ASCII ASCII"
-    for l in la_LN lt_LN; do
-      echo "$l.ASCII ASCII"
-    done
-    for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
-             fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
-             lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
-      echo "$l.ISO_8859-1 ISO-8859-1"
-      echo "$l.DIS_8859-15 ISO-8859-15"
-    done
-    for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
-      echo "$l.ISO_8859-2 ISO-8859-2"
-    done
-    for l in la_LN lt_LT; do
-      echo "$l.ISO_8859-4 ISO-8859-4"
-    done
-    for l in ru_RU ru_SU; do
-      echo "$l.KOI8-R KOI8-R"
-      echo "$l.ISO_8859-5 ISO-8859-5"
-      echo "$l.CP866 CP866"
-    done
-    echo "uk_UA.KOI8-U KOI8-U"
-    echo "zh_TW.BIG5 BIG5"
-    echo "zh_TW.Big5 BIG5"
-    echo "zh_CN.EUC GB2312"
-    echo "ja_JP.EUC EUC-JP"
-    echo "ja_JP.SJIS SHIFT_JIS"
-    echo "ja_JP.Shift_JIS SHIFT_JIS"
-    echo "ko_KR.EUC EUC-KR"
-    ;;
-  netbsd*)
-    echo "646 ASCII"
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-13 ISO-8859-13"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "eucCN GB2312"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "eucTW EUC-TW"
-    echo "BIG5 BIG5"
-    echo "SJIS SHIFT_JIS"
-    ;;
-  openbsd*)
-    echo "646 ASCII"
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-13 ISO-8859-13"
-    echo "ISO8859-15 ISO-8859-15"
-    ;;
-  darwin[56]*)
-    # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
-    # localcharset.c falls back to using the full locale name
-    # from the environment variables.
-    echo "C ASCII"
-    for l in en_AU en_CA en_GB en_US la_LN; do
-      echo "$l.US-ASCII ASCII"
-    done
-    for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
-             fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \
-             nl_NL no_NO pt_PT sv_SE; do
-      echo "$l ISO-8859-1"
-      echo "$l.ISO8859-1 ISO-8859-1"
-      echo "$l.ISO8859-15 ISO-8859-15"
-    done
-    for l in la_LN; do
-      echo "$l.ISO8859-1 ISO-8859-1"
-      echo "$l.ISO8859-15 ISO-8859-15"
-    done
-    for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
-      echo "$l.ISO8859-2 ISO-8859-2"
-    done
-    for l in la_LN lt_LT; do
-      echo "$l.ISO8859-4 ISO-8859-4"
-    done
-    for l in ru_RU; do
-      echo "$l.KOI8-R KOI8-R"
-      echo "$l.ISO8859-5 ISO-8859-5"
-      echo "$l.CP866 CP866"
-    done
-    for l in bg_BG; do
-      echo "$l.CP1251 CP1251"
-    done
-    echo "uk_UA.KOI8-U KOI8-U"
-    echo "zh_TW.BIG5 BIG5"
-    echo "zh_TW.Big5 BIG5"
-    echo "zh_CN.EUC GB2312"
-    echo "ja_JP.EUC EUC-JP"
-    echo "ja_JP.SJIS SHIFT_JIS"
-    echo "ko_KR.EUC EUC-KR"
-    ;;
-  darwin*)
-    # Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is
-    # useless:
-    # - It returns the empty string when LANG is set to a locale of the
-    #   form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
-    #   LC_CTYPE file.
-    # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
-    #   the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
-    # - The documentation says:
-    #     "... all code that calls BSD system routines should ensure
-    #      that the const *char parameters of these routines are in UTF-8
-    #      encoding. All BSD system functions expect their string
-    #      parameters to be in UTF-8 encoding and nothing else."
-    #   It also says
-    #     "An additional caveat is that string parameters for files,
-    #      paths, and other file-system entities must be in canonical
-    #      UTF-8. In a canonical UTF-8 Unicode string, all decomposable
-    #      characters are decomposed ..."
-    #   but this is not true: You can pass non-decomposed UTF-8 strings
-    #   to file system functions, and it is the OS which will convert
-    #   them to decomposed UTF-8 before accessing the file system.
-    # - The Apple Terminal application displays UTF-8 by default.
-    # - However, other applications are free to use different encodings:
-    #   - xterm uses ISO-8859-1 by default.
-    #   - TextEdit uses MacRoman by default.
-    # We prefer UTF-8 over decomposed UTF-8-MAC because one should
-    # minimize the use of decomposed Unicode. Unfortunately, through the
-    # Darwin file system, decomposed UTF-8 strings are leaked into user
-    # space nevertheless.
-    # Then there are also the locales with encodings other than US-ASCII
-    # and UTF-8. These locales can be occasionally useful to users (e.g.
-    # when grepping through ISO-8859-1 encoded text files), when all their
-    # file names are in US-ASCII.
-    echo "ISO8859-1 ISO-8859-1"
-    echo "ISO8859-2 ISO-8859-2"
-    echo "ISO8859-4 ISO-8859-4"
-    echo "ISO8859-5 ISO-8859-5"
-    echo "ISO8859-7 ISO-8859-7"
-    echo "ISO8859-9 ISO-8859-9"
-    echo "ISO8859-13 ISO-8859-13"
-    echo "ISO8859-15 ISO-8859-15"
-    echo "KOI8-R KOI8-R"
-    echo "KOI8-U KOI8-U"
-    echo "CP866 CP866"
-    echo "CP949 CP949"
-    echo "CP1131 CP1131"
-    echo "CP1251 CP1251"
-    echo "eucCN GB2312"
-    echo "GB2312 GB2312"
-    echo "eucJP EUC-JP"
-    echo "eucKR EUC-KR"
-    echo "Big5 BIG5"
-    echo "Big5HKSCS BIG5-HKSCS"
-    echo "GBK GBK"
-    echo "GB18030 GB18030"
-    echo "SJIS SHIFT_JIS"
-    echo "ARMSCII-8 ARMSCII-8"
-    echo "PT154 PT154"
-    #echo "ISCII-DEV ?"
-    echo "* UTF-8"
-    ;;
-  beos* | haiku*)
-    # BeOS and Haiku have a single locale, and it has UTF-8 encoding.
-    echo "* UTF-8"
-    ;;
-  msdosdjgpp*)
-    # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
-    # localcharset.c falls back to using the full locale name
-    # from the environment variables.
-    echo "#"
-    echo "# The encodings given here may not all be correct."
-    echo "# If you find that the encoding given for your language and"
-    echo "# country is not the one your DOS machine actually uses, just"
-    echo "# correct it in this file, and send a mail to"
-    echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
-    echo "# and Bruno Haible <bruno@clisp.org>."
-    echo "#"
-    echo "C ASCII"
-    # ISO-8859-1 languages
-    echo "ca CP850"
-    echo "ca_ES CP850"
-    echo "da CP865"    # not CP850 ??
-    echo "da_DK CP865" # not CP850 ??
-    echo "de CP850"
-    echo "de_AT CP850"
-    echo "de_CH CP850"
-    echo "de_DE CP850"
-    echo "en CP850"
-    echo "en_AU CP850" # not CP437 ??
-    echo "en_CA CP850"
-    echo "en_GB CP850"
-    echo "en_NZ CP437"
-    echo "en_US CP437"
-    echo "en_ZA CP850" # not CP437 ??
-    echo "es CP850"
-    echo "es_AR CP850"
-    echo "es_BO CP850"
-    echo "es_CL CP850"
-    echo "es_CO CP850"
-    echo "es_CR CP850"
-    echo "es_CU CP850"
-    echo "es_DO CP850"
-    echo "es_EC CP850"
-    echo "es_ES CP850"
-    echo "es_GT CP850"
-    echo "es_HN CP850"
-    echo "es_MX CP850"
-    echo "es_NI CP850"
-    echo "es_PA CP850"
-    echo "es_PY CP850"
-    echo "es_PE CP850"
-    echo "es_SV CP850"
-    echo "es_UY CP850"
-    echo "es_VE CP850"
-    echo "et CP850"
-    echo "et_EE CP850"
-    echo "eu CP850"
-    echo "eu_ES CP850"
-    echo "fi CP850"
-    echo "fi_FI CP850"
-    echo "fr CP850"
-    echo "fr_BE CP850"
-    echo "fr_CA CP850"
-    echo "fr_CH CP850"
-    echo "fr_FR CP850"
-    echo "ga CP850"
-    echo "ga_IE CP850"
-    echo "gd CP850"
-    echo "gd_GB CP850"
-    echo "gl CP850"
-    echo "gl_ES CP850"
-    echo "id CP850"    # not CP437 ??
-    echo "id_ID CP850" # not CP437 ??
-    echo "is CP861"    # not CP850 ??
-    echo "is_IS CP861" # not CP850 ??
-    echo "it CP850"
-    echo "it_CH CP850"
-    echo "it_IT CP850"
-    echo "lt CP775"
-    echo "lt_LT CP775"
-    echo "lv CP775"
-    echo "lv_LV CP775"
-    echo "nb CP865"    # not CP850 ??
-    echo "nb_NO CP865" # not CP850 ??
-    echo "nl CP850"
-    echo "nl_BE CP850"
-    echo "nl_NL CP850"
-    echo "nn CP865"    # not CP850 ??
-    echo "nn_NO CP865" # not CP850 ??
-    echo "no CP865"    # not CP850 ??
-    echo "no_NO CP865" # not CP850 ??
-    echo "pt CP850"
-    echo "pt_BR CP850"
-    echo "pt_PT CP850"
-    echo "sv CP850"
-    echo "sv_SE CP850"
-    # ISO-8859-2 languages
-    echo "cs CP852"
-    echo "cs_CZ CP852"
-    echo "hr CP852"
-    echo "hr_HR CP852"
-    echo "hu CP852"
-    echo "hu_HU CP852"
-    echo "pl CP852"
-    echo "pl_PL CP852"
-    echo "ro CP852"
-    echo "ro_RO CP852"
-    echo "sk CP852"
-    echo "sk_SK CP852"
-    echo "sl CP852"
-    echo "sl_SI CP852"
-    echo "sq CP852"
-    echo "sq_AL CP852"
-    echo "sr CP852"    # CP852 or CP866 or CP855 ??
-    echo "sr_CS CP852" # CP852 or CP866 or CP855 ??
-    echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
-    # ISO-8859-3 languages
-    echo "mt CP850"
-    echo "mt_MT CP850"
-    # ISO-8859-5 languages
-    echo "be CP866"
-    echo "be_BE CP866"
-    echo "bg CP866"    # not CP855 ??
-    echo "bg_BG CP866" # not CP855 ??
-    echo "mk CP866"    # not CP855 ??
-    echo "mk_MK CP866" # not CP855 ??
-    echo "ru CP866"
-    echo "ru_RU CP866"
-    echo "uk CP1125"
-    echo "uk_UA CP1125"
-    # ISO-8859-6 languages
-    echo "ar CP864"
-    echo "ar_AE CP864"
-    echo "ar_DZ CP864"
-    echo "ar_EG CP864"
-    echo "ar_IQ CP864"
-    echo "ar_IR CP864"
-    echo "ar_JO CP864"
-    echo "ar_KW CP864"
-    echo "ar_MA CP864"
-    echo "ar_OM CP864"
-    echo "ar_QA CP864"
-    echo "ar_SA CP864"
-    echo "ar_SY CP864"
-    # ISO-8859-7 languages
-    echo "el CP869"
-    echo "el_GR CP869"
-    # ISO-8859-8 languages
-    echo "he CP862"
-    echo "he_IL CP862"
-    # ISO-8859-9 languages
-    echo "tr CP857"
-    echo "tr_TR CP857"
-    # Japanese
-    echo "ja CP932"
-    echo "ja_JP CP932"
-    # Chinese
-    echo "zh_CN GBK"
-    echo "zh_TW CP950" # not CP938 ??
-    # Korean
-    echo "kr CP949"    # not CP934 ??
-    echo "kr_KR CP949" # not CP934 ??
-    # Thai
-    echo "th CP874"
-    echo "th_TH CP874"
-    # Other
-    echo "eo CP850"
-    echo "eo_EO CP850"
-    ;;
-esac
diff --git a/gnu/creat-safer.c b/gnu/creat-safer.c
new file mode 100644
index 00000000..243831d1
--- /dev/null
+++ b/gnu/creat-safer.c
@@ -0,0 +1,31 @@
+/* Invoke creat, but avoid some glitches.
+
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
+
+   This 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 <https://www.gnu.org/licenses/>.  */
+
+/* Written by Jim Meyering.  */
+
+#include <config.h>
+
+#include "fcntl-safer.h"
+
+#include <fcntl.h>
+#include "unistd-safer.h"
+
+int
+creat_safer (char const *file, mode_t mode)
+{
+  return fd_safer (creat (file, mode));
+}
diff --git a/gnu/dirent--.h b/gnu/dirent--.h
index a033f555..167d210b 100644
--- a/gnu/dirent--.h
+++ b/gnu/dirent--.h
@@ -1,6 +1,6 @@
 /* Like dirent.h, but redefine some names to avoid glitches.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/dirent-private.h b/gnu/dirent-private.h
index c9bf3b29..1eb1b357 100644
--- a/gnu/dirent-private.h
+++ b/gnu/dirent-private.h
@@ -1,5 +1,5 @@
 /* Private details of the DIR type.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/dirent-safer.h b/gnu/dirent-safer.h
index 35ff95e2..4d8e5ee9 100644
--- a/gnu/dirent-safer.h
+++ b/gnu/dirent-safer.h
@@ -1,6 +1,6 @@
 /* Invoke dirent-like functions, but avoid some glitches.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/dirent.in.h b/gnu/dirent.in.h
index 5b235731..a3c8eb34 100644
--- a/gnu/dirent.in.h
+++ b/gnu/dirent.in.h
@@ -1,5 +1,5 @@
 /* A GNU-like <dirent.h>.
-   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/dirfd.c b/gnu/dirfd.c
index 7e38fabd..bc858fd0 100644
--- a/gnu/dirfd.c
+++ b/gnu/dirfd.c
@@ -1,6 +1,6 @@
 /* dirfd.c -- return the file descriptor associated with an open DIR*
 
-   Copyright (C) 2001, 2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/dirname-lgpl.c b/gnu/dirname-lgpl.c
index 6791185d..7cf89d8c 100644
--- a/gnu/dirname-lgpl.c
+++ b/gnu/dirname-lgpl.c
@@ -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-2017 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/dirname.c b/gnu/dirname.c
index 4b475ce9..1e042a5c 100644
--- a/gnu/dirname.c
+++ b/gnu/dirname.c
@@ -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-2017 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/dirname.h b/gnu/dirname.h
index 05cab41f..57916594 100644
--- a/gnu/dirname.h
+++ b/gnu/dirname.h
@@ -1,6 +1,6 @@
 /*  Take file names apart into directory and base names.
 
-    Copyright (C) 1998, 2001, 2003-2006, 2009-2017 Free Software Foundation,
+    Copyright (C) 1998, 2001, 2003-2006, 2009-2019 Free Software Foundation,
     Inc.
 
     This program is free software: you can redistribute it and/or modify
@@ -36,7 +36,7 @@ extern "C" {
 #endif
 
 # if GNULIB_DIRNAME
-char *base_name (char const *file);
+char *base_name (char const *file) _GL_ATTRIBUTE_MALLOC;
 char *dir_name (char const *file);
 # endif
 
diff --git a/gnu/dosname.h b/gnu/dosname.h
index 255d57e4..c0ab6848 100644
--- a/gnu/dosname.h
+++ b/gnu/dosname.h
@@ -1,6 +1,6 @@
 /* File names on MS-DOS/Windows systems.
 
-   Copyright (C) 2000-2001, 2004-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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 +20,8 @@
 #ifndef _DOSNAME_H
 #define _DOSNAME_H
 
-#if (defined _WIN32 || defined __WIN32__ ||     \
-     defined __MSDOS__ || defined __CYGWIN__ || \
-     defined __EMX__ || defined __DJGPP__)
+#if (defined _WIN32 || defined __CYGWIN__ \
+     || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__)
    /* This internal macro assumes ASCII, but all hosts that support drive
       letters use ASCII.  */
 # define _IS_DRIVE_LETTER(C) (((unsigned int) (C) | ('a' - 'A')) - 'a'  \
diff --git a/gnu/dup-safer-flag.c b/gnu/dup-safer-flag.c
index 5e286271..485f7411 100644
--- a/gnu/dup-safer-flag.c
+++ b/gnu/dup-safer-flag.c
@@ -1,7 +1,7 @@
 /* Duplicate a file descriptor result, avoiding clobbering
    STD{IN,OUT,ERR}_FILENO, with specific flags.
 
-   Copyright (C) 2001, 2004-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2004-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/dup-safer.c b/gnu/dup-safer.c
index a063e973..c0c5f2a9 100644
--- a/gnu/dup-safer.c
+++ b/gnu/dup-safer.c
@@ -1,6 +1,6 @@
 /* Invoke dup, but avoid some glitches.
 
-   Copyright (C) 2001, 2004-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2004-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/dup.c b/gnu/dup.c
index 098e25f7..d37f920d 100644
--- a/gnu/dup.c
+++ b/gnu/dup.c
@@ -1,6 +1,6 @@
 /* Duplicate an open file descriptor.
 
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/dup2.c b/gnu/dup2.c
index 85c1a444..d3aafa45 100644
--- a/gnu/dup2.c
+++ b/gnu/dup2.c
@@ -1,6 +1,6 @@
 /* Duplicate an open file descriptor to a specified file descriptor.
 
-   Copyright (C) 1999, 2004-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2004-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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 @@
 
 # undef dup2
 
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 
 /* Get declarations of the native Windows API functions.  */
 #  define WIN32_LEAN_AND_MEAN
diff --git a/gnu/errno.in.h b/gnu/errno.in.h
index aaf5fecd..3bd27f1c 100644
--- a/gnu/errno.in.h
+++ b/gnu/errno.in.h
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This 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 @@
 
 
 /* On native Windows platforms, many macros are not defined.  */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 
 /* These are the same values as defined by MSVC 10, for interoperability.  */
 
@@ -248,7 +248,7 @@
        interoperability.  */
 #   define EOWNERDEAD      58
 #   define ENOTRECOVERABLE 59
-#  elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#  elif 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
diff --git a/gnu/error.c b/gnu/error.c
index ce81a1ee..7e532f0e 100644
--- a/gnu/error.c
+++ b/gnu/error.c
@@ -1,5 +1,5 @@
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-1998, 2000-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2007, 2009-2019 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
@@ -93,7 +93,7 @@ extern void __error_at_line (int status, int errnum, const char *file_name,
 # include <fcntl.h>
 # include <unistd.h>
 
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 /* Get declarations of the native Windows API functions.  */
 #  define WIN32_LEAN_AND_MEAN
 #  include <windows.h>
@@ -131,7 +131,7 @@ int strerror_r (int errnum, char *buf, size_t buflen);
 static int
 is_open (int fd)
 {
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
   /* 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
diff --git a/gnu/error.h b/gnu/error.h
index dc004ef6..3759f8ad 100644
--- a/gnu/error.h
+++ b/gnu/error.h
@@ -1,5 +1,5 @@
 /* Declaration for error-reporting function
-   Copyright (C) 1995-1997, 2003, 2006, 2008-2017 Free Software Foundation,
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2019 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
diff --git a/gnu/euidaccess.c b/gnu/euidaccess.c
index 298c4459..fece4cfc 100644
--- a/gnu/euidaccess.c
+++ b/gnu/euidaccess.c
@@ -1,6 +1,6 @@
 /* euidaccess -- check if effective user id can access file
 
-   Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2017 Free
+   Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2019 Free
    Software Foundation, Inc.
 
    This file is part of the GNU C Library.
@@ -29,8 +29,11 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
-
-#include "root-uid.h"
+#if defined _WIN32 && ! defined __CYGWIN__
+# include <io.h>
+#else
+# include "root-uid.h"
+#endif
 
 #if HAVE_LIBGEN_H
 # include <libgen.h>
@@ -84,7 +87,9 @@ euidaccess (const char *file, int mode)
   return accessx (file, mode, ACC_SELF);
 #elif HAVE_EACCESS                      /* FreeBSD */
   return eaccess (file, mode);
-#else       /* Mac OS X, NetBSD, OpenBSD, HP-UX, Solaris, Cygwin, mingw, BeOS */
+#elif defined _WIN32 && ! defined __CYGWIN__  /* mingw */
+  return _access (file, mode);
+#else              /* Mac OS X, NetBSD, OpenBSD, HP-UX, Solaris, Cygwin, BeOS */
 
   uid_t uid = getuid ();
   gid_t gid = getgid ();
diff --git a/gnu/exclude.c b/gnu/exclude.c
index 50ecb360..21403865 100644
--- a/gnu/exclude.c
+++ b/gnu/exclude.c
@@ -1,6 +1,6 @@
 /* exclude.c -- exclude file names
 
-   Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2017 Free Software
+   Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -146,20 +146,20 @@ fnmatch_pattern_has_wildcards (const char *str, int options)
     {
       switch (*str++)
         {
-	case '.':
-	case '{':
-	case '}':
-	case '(':
-	case ')':
-	  if (options & EXCLUDE_REGEX)
-	    return true;
-	  break;
+        case '.':
+        case '{':
+        case '}':
+        case '(':
+        case ')':
+          if (options & EXCLUDE_REGEX)
+            return true;
+          break;
 
         case '\\':
-	  if (options & EXCLUDE_REGEX)
-	    continue;
-	  else
-	    str += ! (options & FNM_NOESCAPE) && *str;
+          if (options & EXCLUDE_REGEX)
+            continue;
+          else
+            str += ! (options & FNM_NOESCAPE) && *str;
           break;
 
         case '+': case '@': case '!':
@@ -287,10 +287,10 @@ free_exclude_segment (struct exclude_segment *seg)
     {
     case exclude_pattern:
       for (i = 0; i < seg->v.pat.exclude_count; i++)
-	{
-	  if (seg->v.pat.exclude[i].options & EXCLUDE_REGEX)
-	    regfree (&seg->v.pat.exclude[i].v.re);
-	}
+        {
+          if (seg->v.pat.exclude[i].options & EXCLUDE_REGEX)
+            regfree (&seg->v.pat.exclude[i].v.re);
+        }
       free (seg->v.pat.exclude);
       break;
 
@@ -387,7 +387,7 @@ exclude_fnmatch (char const *pattern, char const *f, int options)
   if (! (options & EXCLUDE_ANCHORED))
     for (p = f; *p && ! matched; p++)
       if (*p == '/' && p[1] != '/')
-	matched = ((*matcher) (pattern, p + 1, options) == 0);
+        matched = ((*matcher) (pattern, p + 1, options) == 0);
 
   return matched;
 }
@@ -525,9 +525,9 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
       && fnmatch_pattern_has_wildcards (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);
+             && ((ex->head->options & EXCLUDE_INCLUDE)
+                 == (options & EXCLUDE_INCLUDE))))
+        new_exclude_segment (ex, exclude_pattern, options);
 
       seg = ex->head;
 
@@ -539,48 +539,48 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
 
       patopts->options = options;
       if (options & EXCLUDE_REGEX)
-	{
-	  int rc;
-	  int cflags = REG_NOSUB|REG_EXTENDED|
-	               ((options & FNM_CASEFOLD) ? REG_ICASE : 0);
-
-	  if (options & FNM_LEADING_DIR)
-	    {
-	      char *tmp;
-	      size_t len = strlen (pattern);
-
-	      while (len > 0 && ISSLASH (pattern[len-1]))
-		--len;
-
-	      if (len == 0)
-		rc = 1;
-	      else
-		{
-		  tmp = xmalloc (len + 7);
-		  memcpy (tmp, pattern, len);
-		  strcpy (tmp + len, "(/.*)?");
-		  rc = regcomp (&patopts->v.re, tmp, cflags);
-		  free (tmp);
-		}
-	    }
-	  else
-	    rc = regcomp (&patopts->v.re, pattern, cflags);
-
-	  if (rc)
-	    {
-	      pat->exclude_count--;
-	      return;
-	    }
-	}
+        {
+          int rc;
+          int cflags = REG_NOSUB|REG_EXTENDED|
+                       ((options & FNM_CASEFOLD) ? REG_ICASE : 0);
+
+          if (options & FNM_LEADING_DIR)
+            {
+              char *tmp;
+              size_t len = strlen (pattern);
+
+              while (len > 0 && ISSLASH (pattern[len-1]))
+                --len;
+
+              if (len == 0)
+                rc = 1;
+              else
+                {
+                  tmp = xmalloc (len + 7);
+                  memcpy (tmp, pattern, len);
+                  strcpy (tmp + len, "(/.*)?");
+                  rc = regcomp (&patopts->v.re, tmp, cflags);
+                  free (tmp);
+                }
+            }
+          else
+            rc = regcomp (&patopts->v.re, pattern, cflags);
+
+          if (rc)
+            {
+              pat->exclude_count--;
+              return;
+            }
+        }
       else
-	{
-	  if (options & EXCLUDE_ALLOC)
-	    {
-	      pattern = xstrdup (pattern);
-	      exclude_add_pattern_buffer (ex, (char*) pattern);
-	    }
-	  patopts->v.pattern = pattern;
-	}
+        {
+          if (options & EXCLUDE_ALLOC)
+            {
+              pattern = xstrdup (pattern);
+              exclude_add_pattern_buffer (ex, (char*) pattern);
+            }
+          patopts->v.pattern = pattern;
+        }
     }
   else
     {
@@ -609,9 +609,9 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
 
 int
 add_exclude_fp (void (*add_func) (struct exclude *, char const *, int, void *),
-		struct exclude *ex, FILE *fp, int options,
-		char line_end,
-		void *data)
+                struct exclude *ex, FILE *fp, int options,
+                char line_end,
+                void *data)
 {
   char *buf = NULL;
   char *p;
@@ -674,8 +674,8 @@ call_addfn (struct exclude *ex, char const *pattern, int options, void *data)
 
 int
 add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
-		  struct exclude *ex, char const *file_name, int options,
-		  char line_end)
+                  struct exclude *ex, char const *file_name, int options,
+                  char line_end)
 {
   bool use_stdin = file_name[0] == '-' && !file_name[1];
   FILE *in;
diff --git a/gnu/exclude.h b/gnu/exclude.h
index 62cab710..4ab00e3b 100644
--- a/gnu/exclude.h
+++ b/gnu/exclude.h
@@ -1,6 +1,6 @@
 /* exclude.h -- declarations for excluding file names
 
-   Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2017 Free
+   Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2019 Free
    Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -48,13 +48,13 @@ struct exclude;
 
 bool fnmatch_pattern_has_wildcards (const char *, int) _GL_ATTRIBUTE_PURE;
 
-struct exclude *new_exclude (void);
+struct exclude *new_exclude (void) _GL_ATTRIBUTE_MALLOC;
 void free_exclude (struct exclude *);
 void add_exclude (struct exclude *, char const *, int);
 int add_exclude_file (void (*) (struct exclude *, char const *, int),
                       struct exclude *, char const *, int, char);
 int add_exclude_fp (void (*) (struct exclude *, char const *, int, void *),
-		    struct exclude *, FILE *, int, char, void *);
+                    struct exclude *, FILE *, int, char, void *);
 bool excluded_file_name (struct exclude const *, char const *);
 void exclude_add_pattern_buffer (struct exclude *ex, char *buf);
 bool exclude_fnmatch (char const *, char const *, int);
diff --git a/gnu/exitfail.c b/gnu/exitfail.c
index b2d60121..69b35137 100644
--- a/gnu/exitfail.c
+++ b/gnu/exitfail.c
@@ -1,6 +1,6 @@
 /* Failure exit status
 
-   Copyright (C) 2002-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/exitfail.h b/gnu/exitfail.h
index 819919a7..480ad1a1 100644
--- a/gnu/exitfail.h
+++ b/gnu/exitfail.h
@@ -1,6 +1,6 @@
 /* Failure exit status
 
-   Copyright (C) 2002, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/faccessat.c b/gnu/faccessat.c
index fa923582..6c63e61d 100644
--- a/gnu/faccessat.c
+++ b/gnu/faccessat.c
@@ -1,5 +1,5 @@
 /* Check the access rights of a file relative to an open directory.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fchdir.c b/gnu/fchdir.c
index 1ce5d3f9..38ab802e 100644
--- a/gnu/fchdir.c
+++ b/gnu/fchdir.c
@@ -1,5 +1,5 @@
 /* fchdir replacement.
-   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fchmodat.c b/gnu/fchmodat.c
index 639831e7..088d3c02 100644
--- a/gnu/fchmodat.c
+++ b/gnu/fchmodat.c
@@ -1,5 +1,5 @@
 /* Change the protections of file relative to an open directory.
-   Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fchownat.c b/gnu/fchownat.c
index ff58216c..538d86d6 100644
--- a/gnu/fchownat.c
+++ b/gnu/fchownat.c
@@ -4,7 +4,7 @@
    when the buggy fchownat-with-AT_SYMLINK_NOFOLLOW operates on a symlink, it
    mistakenly affects the symlink referent, rather than the symlink itself.
 
-   Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fcntl--.h b/gnu/fcntl--.h
new file mode 100644
index 00000000..9f22e683
--- /dev/null
+++ b/gnu/fcntl--.h
@@ -0,0 +1,32 @@
+/* Like fcntl.h, but redefine some names to avoid glitches.
+
+   Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
+
+   This 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 <https://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+#include <fcntl.h>
+#include "fcntl-safer.h"
+
+#undef open
+#define open open_safer
+
+#undef creat
+#define creat creat_safer
+
+#if GNULIB_OPENAT_SAFER
+# undef openat
+# define openat openat_safer
+#endif
diff --git a/gnu/fcntl-safer.h b/gnu/fcntl-safer.h
new file mode 100644
index 00000000..4a7734ee
--- /dev/null
+++ b/gnu/fcntl-safer.h
@@ -0,0 +1,27 @@
+/* Invoke fcntl-like functions, but avoid some glitches.
+
+   Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
+
+   This 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 <https://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+#include <sys/types.h>
+
+int open_safer (char const *, int, ...);
+int creat_safer (char const *, mode_t);
+
+#if GNULIB_OPENAT_SAFER
+int openat_safer (int, char const *, int, ...);
+#endif
diff --git a/gnu/fcntl.c b/gnu/fcntl.c
index 91efd12c..f602fad6 100644
--- a/gnu/fcntl.c
+++ b/gnu/fcntl.c
@@ -1,6 +1,6 @@
 /* Provide file descriptor control.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -27,12 +27,12 @@
 #include <stdarg.h>
 #include <unistd.h>
 
-#if !HAVE_FCNTL
-# define rpl_fcntl fcntl
+#ifdef __KLIBC__
+# define INCL_DOS
+# include <os2.h>
 #endif
-#undef fcntl
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 /* Get declarations of the native Windows API functions.  */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
@@ -166,93 +166,18 @@ dupfd (int oldfd, int newfd, int flags)
 }
 #endif /* W32 */
 
+/* Forward declarations, because we '#undef fcntl' in the middle of this
+   compilation unit.  */
+/* Our implementation of fcntl (fd, F_DUPFD, target).  */
+static int rpl_fcntl_DUPFD (int fd, int target);
+/* Our implementation of fcntl (fd, F_DUPFD_CLOEXEC, target).  */
+static int rpl_fcntl_DUPFD_CLOEXEC (int fd, int target);
 #ifdef __KLIBC__
-
-# define INCL_DOS
-# include <os2.h>
-
-static int
-klibc_fcntl (int fd, int action, /* arg */...)
-{
-  va_list arg_ptr;
-  int arg;
-  struct stat sbuf;
-  int result = -1;
-
-  va_start (arg_ptr, action);
-  arg = va_arg (arg_ptr, int);
-  result = fcntl (fd, action, arg);
-  /* EPERM for F_DUPFD, ENOTSUP for others */
-  if (result == -1 && (errno == EPERM || errno == ENOTSUP)
-      && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode))
-  {
-    ULONG ulMode;
-
-    switch (action)
-      {
-      case F_DUPFD:
-        /* Find available fd */
-        while (fcntl (arg, F_GETFL) != -1 || errno != EBADF)
-          arg++;
-
-        result = dup2 (fd, arg);
-        break;
-
-      /* Using underlying APIs is right ? */
-      case F_GETFD:
-        if (DosQueryFHState (fd, &ulMode))
-          break;
-
-        result = (ulMode & OPEN_FLAGS_NOINHERIT) ? FD_CLOEXEC : 0;
-        break;
-
-      case F_SETFD:
-        if (arg & ~FD_CLOEXEC)
-          break;
-
-        if (DosQueryFHState (fd, &ulMode))
-          break;
-
-        if (arg & FD_CLOEXEC)
-          ulMode |= OPEN_FLAGS_NOINHERIT;
-        else
-          ulMode &= ~OPEN_FLAGS_NOINHERIT;
-
-        /* Filter supported flags.  */
-        ulMode &= (OPEN_FLAGS_WRITE_THROUGH | OPEN_FLAGS_FAIL_ON_ERROR
-                   | OPEN_FLAGS_NO_CACHE | OPEN_FLAGS_NOINHERIT);
-
-        if (DosSetFHState (fd, ulMode))
-          break;
-
-        result = 0;
-        break;
-
-      case F_GETFL:
-        result = 0;
-        break;
-
-      case F_SETFL:
-        if (arg != 0)
-          break;
-
-        result = 0;
-        break;
-
-      default :
-        errno = EINVAL;
-        break;
-      }
-  }
-
-  va_end (arg_ptr);
-
-  return result;
-}
-
-# define fcntl klibc_fcntl
+/* Adds support for fcntl on directories.  */
+static int klibc_fcntl (int fd, int action, /* arg */...);
 #endif
 
+
 /* Perform the specified ACTION on the file descriptor FD, possibly
    using the argument ARG further described below.  This replacement
    handles the following actions, and forwards all others on to the
@@ -273,110 +198,35 @@ klibc_fcntl (int fd, int action, /* arg */...)
    return -1 and set errno.  */
 
 int
-rpl_fcntl (int fd, int action, /* arg */...)
+fcntl (int fd, int action, /* arg */...)
+#undef fcntl
+#ifdef __KLIBC__
+# define fcntl klibc_fcntl
+#endif
 {
   va_list arg;
   int result = -1;
   va_start (arg, action);
   switch (action)
     {
-
-#if !HAVE_FCNTL
     case F_DUPFD:
       {
         int target = va_arg (arg, int);
-        result = dupfd (fd, target, 0);
+        result = rpl_fcntl_DUPFD (fd, target);
         break;
       }
-#elif FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR
-    case F_DUPFD:
-      {
-        int target = va_arg (arg, int);
-        /* Detect invalid target; needed for cygwin 1.5.x.  */
-        if (target < 0 || getdtablesize () <= target)
-          errno = EINVAL;
-        else
-          {
-            /* Haiku alpha 2 loses fd flags on original.  */
-            int flags = fcntl (fd, F_GETFD);
-            if (flags < 0)
-              {
-                result = -1;
-                break;
-              }
-            result = fcntl (fd, action, target);
-            if (0 <= result && fcntl (fd, F_SETFD, flags) == -1)
-              {
-                int saved_errno = errno;
-                close (result);
-                result = -1;
-                errno = saved_errno;
-              }
-# if REPLACE_FCHDIR
-            if (0 <= result)
-              result = _gl_register_dup (fd, result);
-# endif
-          }
-        break;
-      } /* F_DUPFD */
-#endif /* FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR */
 
     case F_DUPFD_CLOEXEC:
       {
         int target = va_arg (arg, int);
-
-#if !HAVE_FCNTL
-        result = dupfd (fd, target, O_CLOEXEC);
-        break;
-#else /* HAVE_FCNTL */
-        /* Try the system call first, if the headers claim it exists
-           (that is, if GNULIB_defined_F_DUPFD_CLOEXEC is 0), since we
-           may be running with a glibc that has the macro but with an
-           older kernel that does not support it.  Cache the
-           information on whether the system call really works, but
-           avoid caching failure if the corresponding F_DUPFD fails
-           for any reason.  0 = unknown, 1 = yes, -1 = no.  */
-        static int have_dupfd_cloexec = GNULIB_defined_F_DUPFD_CLOEXEC ? -1 : 0;
-        if (0 <= have_dupfd_cloexec)
-          {
-            result = fcntl (fd, action, target);
-            if (0 <= result || errno != EINVAL)
-              {
-                have_dupfd_cloexec = 1;
-# if REPLACE_FCHDIR
-                if (0 <= result)
-                  result = _gl_register_dup (fd, result);
-# endif
-              }
-            else
-              {
-                result = rpl_fcntl (fd, F_DUPFD, target);
-                if (result < 0)
-                  break;
-                have_dupfd_cloexec = -1;
-              }
-          }
-        else
-          result = rpl_fcntl (fd, F_DUPFD, target);
-        if (0 <= result && have_dupfd_cloexec == -1)
-          {
-            int flags = fcntl (result, F_GETFD);
-            if (flags < 0 || fcntl (result, F_SETFD, flags | FD_CLOEXEC) == -1)
-              {
-                int saved_errno = errno;
-                close (result);
-                errno = saved_errno;
-                result = -1;
-              }
-          }
+        result = rpl_fcntl_DUPFD_CLOEXEC (fd, target);
         break;
-#endif /* HAVE_FCNTL */
-      } /* F_DUPFD_CLOEXEC */
+      }
 
 #if !HAVE_FCNTL
     case F_GETFD:
       {
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
         HANDLE handle = (HANDLE) _get_osfhandle (fd);
         DWORD flags;
         if (handle == INVALID_HANDLE_VALUE
@@ -405,8 +255,183 @@ rpl_fcntl (int fd, int action, /* arg */...)
     default:
       {
 #if HAVE_FCNTL
-        void *p = va_arg (arg, void *);
-        result = fcntl (fd, action, p);
+        switch (action)
+          {
+          #ifdef F_BARRIERFSYNC                  /* macOS */
+          case F_BARRIERFSYNC:
+          #endif
+          #ifdef F_CHKCLEAN                      /* macOS */
+          case F_CHKCLEAN:
+          #endif
+          #ifdef F_CLOSEM                        /* NetBSD, HP-UX */
+          case F_CLOSEM:
+          #endif
+          #ifdef F_FLUSH_DATA                    /* macOS */
+          case F_FLUSH_DATA:
+          #endif
+          #ifdef F_FREEZE_FS                     /* macOS */
+          case F_FREEZE_FS:
+          #endif
+          #ifdef F_FULLFSYNC                     /* macOS */
+          case F_FULLFSYNC:
+          #endif
+          #ifdef F_GETCONFINED                   /* macOS */
+          case F_GETCONFINED:
+          #endif
+          #ifdef F_GETDEFAULTPROTLEVEL           /* macOS */
+          case F_GETDEFAULTPROTLEVEL:
+          #endif
+          #ifdef F_GETFD                         /* POSIX */
+          case F_GETFD:
+          #endif
+          #ifdef F_GETFL                         /* POSIX */
+          case F_GETFL:
+          #endif
+          #ifdef F_GETLEASE                      /* Linux */
+          case F_GETLEASE:
+          #endif
+          #ifdef F_GETNOSIGPIPE                  /* macOS */
+          case F_GETNOSIGPIPE:
+          #endif
+          #ifdef F_GETOWN                        /* POSIX */
+          case F_GETOWN:
+          #endif
+          #ifdef F_GETPIPE_SZ                    /* Linux */
+          case F_GETPIPE_SZ:
+          #endif
+          #ifdef F_GETPROTECTIONCLASS            /* macOS */
+          case F_GETPROTECTIONCLASS:
+          #endif
+          #ifdef F_GETPROTECTIONLEVEL            /* macOS */
+          case F_GETPROTECTIONLEVEL:
+          #endif
+          #ifdef F_GET_SEALS                     /* Linux */
+          case F_GET_SEALS:
+          #endif
+          #ifdef F_GETSIG                        /* Linux */
+          case F_GETSIG:
+          #endif
+          #ifdef F_MAXFD                         /* NetBSD */
+          case F_MAXFD:
+          #endif
+          #ifdef F_RECYCLE                       /* macOS */
+          case F_RECYCLE:
+          #endif
+          #ifdef F_SETFIFOENH                    /* HP-UX */
+          case F_SETFIFOENH:
+          #endif
+          #ifdef F_THAW_FS                       /* macOS */
+          case F_THAW_FS:
+          #endif
+            /* These actions take no argument.  */
+            result = fcntl (fd, action);
+            break;
+
+          #ifdef F_ADD_SEALS                     /* Linux */
+          case F_ADD_SEALS:
+          #endif
+          #ifdef F_BADFD                         /* Solaris */
+          case F_BADFD:
+          #endif
+          #ifdef F_CHECK_OPENEVT                 /* macOS */
+          case F_CHECK_OPENEVT:
+          #endif
+          #ifdef F_DUP2FD                        /* FreeBSD, AIX, Solaris */
+          case F_DUP2FD:
+          #endif
+          #ifdef F_DUP2FD_CLOEXEC                /* FreeBSD, Solaris */
+          case F_DUP2FD_CLOEXEC:
+          #endif
+          #ifdef F_DUP2FD_CLOFORK                /* Solaris */
+          case F_DUP2FD_CLOFORK:
+          #endif
+          #ifdef F_DUPFD                         /* POSIX */
+          case F_DUPFD:
+          #endif
+          #ifdef F_DUPFD_CLOEXEC                 /* POSIX */
+          case F_DUPFD_CLOEXEC:
+          #endif
+          #ifdef F_DUPFD_CLOFORK                 /* Solaris */
+          case F_DUPFD_CLOFORK:
+          #endif
+          #ifdef F_GETXFL                        /* Solaris */
+          case F_GETXFL:
+          #endif
+          #ifdef F_GLOBAL_NOCACHE                /* macOS */
+          case F_GLOBAL_NOCACHE:
+          #endif
+          #ifdef F_MAKECOMPRESSED                /* macOS */
+          case F_MAKECOMPRESSED:
+          #endif
+          #ifdef F_MOVEDATAEXTENTS               /* macOS */
+          case F_MOVEDATAEXTENTS:
+          #endif
+          #ifdef F_NOCACHE                       /* macOS */
+          case F_NOCACHE:
+          #endif
+          #ifdef F_NODIRECT                      /* macOS */
+          case F_NODIRECT:
+          #endif
+          #ifdef F_NOTIFY                        /* Linux */
+          case F_NOTIFY:
+          #endif
+          #ifdef F_OPLKACK                       /* IRIX */
+          case F_OPLKACK:
+          #endif
+          #ifdef F_OPLKREG                       /* IRIX */
+          case F_OPLKREG:
+          #endif
+          #ifdef F_RDAHEAD                       /* macOS */
+          case F_RDAHEAD:
+          #endif
+          #ifdef F_SETBACKINGSTORE               /* macOS */
+          case F_SETBACKINGSTORE:
+          #endif
+          #ifdef F_SETCONFINED                   /* macOS */
+          case F_SETCONFINED:
+          #endif
+          #ifdef F_SETFD                         /* POSIX */
+          case F_SETFD:
+          #endif
+          #ifdef F_SETFL                         /* POSIX */
+          case F_SETFL:
+          #endif
+          #ifdef F_SETLEASE                      /* Linux */
+          case F_SETLEASE:
+          #endif
+          #ifdef F_SETNOSIGPIPE                  /* macOS */
+          case F_SETNOSIGPIPE:
+          #endif
+          #ifdef F_SETOWN                        /* POSIX */
+          case F_SETOWN:
+          #endif
+          #ifdef F_SETPIPE_SZ                    /* Linux */
+          case F_SETPIPE_SZ:
+          #endif
+          #ifdef F_SETPROTECTIONCLASS            /* macOS */
+          case F_SETPROTECTIONCLASS:
+          #endif
+          #ifdef F_SETSIG                        /* Linux */
+          case F_SETSIG:
+          #endif
+          #ifdef F_SINGLE_WRITER                 /* macOS */
+          case F_SINGLE_WRITER:
+          #endif
+            /* These actions take an 'int' argument.  */
+            {
+              int x = va_arg (arg, int);
+              result = fcntl (fd, action, x);
+            }
+            break;
+
+          default:
+            /* Other actions take a pointer argument.  */
+            {
+              void *p = va_arg (arg, void *);
+              result = fcntl (fd, action, p);
+            }
+            break;
+          }
 #else
         errno = EINVAL;
 #endif
@@ -416,3 +441,186 @@ rpl_fcntl (int fd, int action, /* arg */...)
   va_end (arg);
   return result;
 }
+
+static int
+rpl_fcntl_DUPFD (int fd, int target)
+{
+  int result;
+#if !HAVE_FCNTL
+  result = dupfd (fd, target, 0);
+#elif FCNTL_DUPFD_BUGGY || REPLACE_FCHDIR
+  /* Detect invalid target; needed for cygwin 1.5.x.  */
+  if (target < 0 || getdtablesize () <= target)
+    {
+      result = -1;
+      errno = EINVAL;
+    }
+  else
+    {
+      /* Haiku alpha 2 loses fd flags on original.  */
+      int flags = fcntl (fd, F_GETFD);
+      if (flags < 0)
+        result = -1;
+      else
+        {
+          result = fcntl (fd, F_DUPFD, target);
+          if (0 <= result && fcntl (fd, F_SETFD, flags) == -1)
+            {
+              int saved_errno = errno;
+              close (result);
+              result = -1;
+              errno = saved_errno;
+            }
+# if REPLACE_FCHDIR
+          if (0 <= result)
+            result = _gl_register_dup (fd, result);
+# endif
+        }
+    }
+#else
+  result = fcntl (fd, F_DUPFD, target);
+#endif
+  return result;
+}
+
+static int
+rpl_fcntl_DUPFD_CLOEXEC (int fd, int target)
+{
+  int result;
+#if !HAVE_FCNTL
+  result = dupfd (fd, target, O_CLOEXEC);
+#else /* HAVE_FCNTL */
+# if defined __HAIKU__
+  /* On Haiku, the system fcntl (fd, F_DUPFD_CLOEXEC, target) sets
+     the FD_CLOEXEC flag on fd, not on target.  Therefore avoid the
+     system fcntl in this case.  */
+#  define have_dupfd_cloexec -1
+# else
+  /* Try the system call first, if the headers claim it exists
+     (that is, if GNULIB_defined_F_DUPFD_CLOEXEC is 0), since we
+     may be running with a glibc that has the macro but with an
+     older kernel that does not support it.  Cache the
+     information on whether the system call really works, but
+     avoid caching failure if the corresponding F_DUPFD fails
+     for any reason.  0 = unknown, 1 = yes, -1 = no.  */
+  static int have_dupfd_cloexec = GNULIB_defined_F_DUPFD_CLOEXEC ? -1 : 0;
+  if (0 <= have_dupfd_cloexec)
+    {
+      result = fcntl (fd, F_DUPFD_CLOEXEC, target);
+      if (0 <= result || errno != EINVAL)
+        {
+          have_dupfd_cloexec = 1;
+#  if REPLACE_FCHDIR
+          if (0 <= result)
+            result = _gl_register_dup (fd, result);
+#  endif
+        }
+      else
+        {
+          result = rpl_fcntl_DUPFD (fd, target);
+          if (result >= 0)
+            have_dupfd_cloexec = -1;
+        }
+    }
+  else
+# endif
+    result = rpl_fcntl_DUPFD (fd, target);
+  if (0 <= result && have_dupfd_cloexec == -1)
+    {
+      int flags = fcntl (result, F_GETFD);
+      if (flags < 0 || fcntl (result, F_SETFD, flags | FD_CLOEXEC) == -1)
+        {
+          int saved_errno = errno;
+          close (result);
+          errno = saved_errno;
+          result = -1;
+        }
+    }
+#endif /* HAVE_FCNTL */
+  return result;
+}
+
+#undef fcntl
+
+#ifdef __KLIBC__
+
+static int
+klibc_fcntl (int fd, int action, /* arg */...);
+{
+  va_list arg_ptr;
+  int arg;
+  struct stat sbuf;
+  int result;
+
+  va_start (arg_ptr, action);
+  arg = va_arg (arg_ptr, int);
+  result = fcntl (fd, action, arg);
+  /* EPERM for F_DUPFD, ENOTSUP for others */
+  if (result == -1 && (errno == EPERM || errno == ENOTSUP)
+      && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode))
+    {
+      ULONG ulMode;
+
+      switch (action)
+        {
+        case F_DUPFD:
+          /* Find available fd */
+          while (fcntl (arg, F_GETFL) != -1 || errno != EBADF)
+            arg++;
+
+          result = dup2 (fd, arg);
+          break;
+
+        /* Using underlying APIs is right ? */
+        case F_GETFD:
+          if (DosQueryFHState (fd, &ulMode))
+            break;
+
+          result = (ulMode & OPEN_FLAGS_NOINHERIT) ? FD_CLOEXEC : 0;
+          break;
+
+        case F_SETFD:
+          if (arg & ~FD_CLOEXEC)
+            break;
+
+          if (DosQueryFHState (fd, &ulMode))
+            break;
+
+          if (arg & FD_CLOEXEC)
+            ulMode |= OPEN_FLAGS_NOINHERIT;
+          else
+            ulMode &= ~OPEN_FLAGS_NOINHERIT;
+
+          /* Filter supported flags.  */
+          ulMode &= (OPEN_FLAGS_WRITE_THROUGH | OPEN_FLAGS_FAIL_ON_ERROR
+                     | OPEN_FLAGS_NO_CACHE | OPEN_FLAGS_NOINHERIT);
+
+          if (DosSetFHState (fd, ulMode))
+            break;
+
+          result = 0;
+          break;
+
+        case F_GETFL:
+          result = 0;
+          break;
+
+        case F_SETFL:
+          if (arg != 0)
+            break;
+
+          result = 0;
+          break;
+
+        default:
+          errno = EINVAL;
+          break;
+        }
+    }
+
+  va_end (arg_ptr);
+
+  return result;
+}
+
+#endif
diff --git a/gnu/fcntl.in.h b/gnu/fcntl.in.h
index 00b270c9..eb70dc61 100644
--- a/gnu/fcntl.in.h
+++ b/gnu/fcntl.in.h
@@ -1,6 +1,6 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This 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,7 +68,7 @@
 
 /* Native Windows platforms declare open(), creat() in <io.h>.  */
 #if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \
-    && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+    && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
diff --git a/gnu/fd-hook.c b/gnu/fd-hook.c
index 390b64a3..78791198 100644
--- a/gnu/fd-hook.c
+++ b/gnu/fd-hook.c
@@ -1,5 +1,5 @@
 /* Hook for making file descriptor functions close(), ioctl() extensible.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 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
diff --git a/gnu/fd-hook.h b/gnu/fd-hook.h
index deaa7582..bf07f006 100644
--- a/gnu/fd-hook.h
+++ b/gnu/fd-hook.h
@@ -1,5 +1,5 @@
 /* Hook for making file descriptor functions close(), ioctl() extensible.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gnu/fd-safer-flag.c b/gnu/fd-safer-flag.c
index 9bfcd292..7c026ef5 100644
--- a/gnu/fd-safer-flag.c
+++ b/gnu/fd-safer-flag.c
@@ -1,7 +1,7 @@
 /* Adjust a file descriptor result so that it avoids clobbering
    STD{IN,OUT,ERR}_FILENO, with specific flags.
 
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fd-safer.c b/gnu/fd-safer.c
index 330203b1..b5113e13 100644
--- a/gnu/fd-safer.c
+++ b/gnu/fd-safer.c
@@ -1,6 +1,6 @@
 /* Return a safer copy of a file descriptor.
 
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fdopendir.c b/gnu/fdopendir.c
index 7f722585..b65588ac 100644
--- a/gnu/fdopendir.c
+++ b/gnu/fdopendir.c
@@ -1,5 +1,5 @@
 /* provide a replacement fdopendir function
-   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fdutimensat.c b/gnu/fdutimensat.c
index 4041edd1..8b4d5e05 100644
--- a/gnu/fdutimensat.c
+++ b/gnu/fdutimensat.c
@@ -1,6 +1,6 @@
 /* Set file access and modification times.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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
diff --git a/gnu/file-has-acl.c b/gnu/file-has-acl.c
index 1ce71324..69a23ad8 100644
--- a/gnu/file-has-acl.c
+++ b/gnu/file-has-acl.c
@@ -1,6 +1,6 @@
 /* Test whether a file has a nontrivial ACL.  -*- coding: utf-8 -*-
 
-   Copyright (C) 2002-2003, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2019 Free Software Foundation, Inc.
 
    This 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 @@ file_has_acl (char const *name, struct stat const *sb)
 # elif HAVE_ACL_GET_FILE
 
       /* POSIX 1003.1e (draft 17 -- abandoned) specific version.  */
-      /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+      /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */
       int ret;
 
       if (HAVE_ACL_EXTENDED_FILE) /* Linux */
@@ -84,7 +84,7 @@ file_has_acl (char const *name, struct stat const *sb)
              ACL_TYPE_DEFAULT.  */
           ret = acl_extended_file (name);
         }
-      else /* FreeBSD, Mac OS X, IRIX, Tru64 */
+      else /* FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */
         {
 #  if HAVE_ACL_TYPE_EXTENDED /* Mac OS X */
           /* On Mac OS X, acl_get_file (name, ACL_TYPE_ACCESS)
@@ -100,7 +100,7 @@ file_has_acl (char const *name, struct stat const *sb)
             }
           else
             ret = -1;
-#  else /* FreeBSD, IRIX, Tru64 */
+#  else /* FreeBSD, IRIX, Tru64, Cygwin >= 2.5 */
           acl_t acl = acl_get_file (name, ACL_TYPE_ACCESS);
           if (acl)
             {
@@ -114,7 +114,7 @@ file_has_acl (char const *name, struct stat const *sb)
               /* On OSF/1, acl_get_file (name, ACL_TYPE_DEFAULT) always
                  returns NULL with errno not set.  There is no point in
                  making this call.  */
-#   else /* FreeBSD, IRIX */
+#   else /* FreeBSD, IRIX, Cygwin >= 2.5 */
               /* On Linux, FreeBSD, IRIX, acl_get_file (name, ACL_TYPE_ACCESS)
                  and acl_get_file (name, ACL_TYPE_DEFAULT) on a directory
                  either both succeed or both fail; it depends on the
@@ -125,8 +125,15 @@ file_has_acl (char const *name, struct stat const *sb)
                   acl = acl_get_file (name, ACL_TYPE_DEFAULT);
                   if (acl)
                     {
+#    ifdef __CYGWIN__ /* Cygwin >= 2.5 */
+                      ret = acl_access_nontrivial (acl);
+                      saved_errno = errno;
+                      acl_free (acl);
+                      errno = saved_errno;
+#    else
                       ret = (0 < acl_entries (acl));
                       acl_free (acl);
+#    endif
                     }
                   else
                     ret = -1;
@@ -141,7 +148,7 @@ file_has_acl (char const *name, struct stat const *sb)
         return - acl_errno_valid (errno);
       return ret;
 
-# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
+# elif HAVE_FACL && defined GETACL /* Solaris, Cygwin < 2.5, not HP-UX */
 
 #  if defined ACL_NO_TRIVIAL
 
diff --git a/gnu/fileblocks.c b/gnu/fileblocks.c
index 4a6eb332..758e7609 100644
--- a/gnu/fileblocks.c
+++ b/gnu/fileblocks.c
@@ -1,6 +1,6 @@
 /* Convert file size to number of blocks on System V-like machines.
 
-   Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2017 Free Software
+   Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/filename.h b/gnu/filename.h
index ae4d409c..3ba31059 100644
--- a/gnu/filename.h
+++ b/gnu/filename.h
@@ -1,5 +1,5 @@
 /* Basic filename support macros.
-   Copyright (C) 2001-2004, 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2007-2019 Free Software Foundation, Inc.
 
    This 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,7 @@ extern "C" {
                         it may be concatenated to a directory pathname.
    IS_PATH_WITH_DIR(P)  tests whether P contains a directory specification.
  */
-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+#if defined _WIN32 || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
   /* Native Windows, Cygwin, OS/2, DOS */
 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
 # define HAS_DEVICE(P) \
diff --git a/gnu/filenamecat-lgpl.c b/gnu/filenamecat-lgpl.c
index 2bd43c05..98b105a1 100644
--- a/gnu/filenamecat-lgpl.c
+++ b/gnu/filenamecat-lgpl.c
@@ -1,6 +1,6 @@
 /* Concatenate two arbitrary file names.
 
-   Copyright (C) 1996-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,55 +31,54 @@
 # define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N)))
 #endif
 
-/* 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 * _GL_ATTRIBUTE_PURE
-longest_relative_suffix (char const *f)
-{
-  for (f += FILE_SYSTEM_PREFIX_LEN (f); ISSLASH (*f); f++)
-    continue;
-  return f;
-}
-
-/* Concatenate two file name components, DIR and ABASE, in
+/* Concatenate two file name components, DIR and BASE, in
    newly-allocated storage and return the result.
    The resulting file name F is such that the commands "ls F" and "(cd
-   DIR; ls BASE)" refer to the same file, where BASE is ABASE with any
-   file system prefixes and leading separators removed.
-   Arrange for a directory separator if necessary between DIR and BASE
-   in the result, removing any redundant separators.
+   DIR; ls ./BASE)" refer to the same file.  If necessary, put
+   a separator between DIR and BASE in the result.  Typically this
+   separator is "/", but in rare cases it might be ".".
    In any case, if BASE_IN_RESULT is non-NULL, set
-   *BASE_IN_RESULT to point to the copy of ABASE in the returned
-   concatenation.  However, if ABASE begins with more than one slash,
-   set *BASE_IN_RESULT to point to the sole corresponding slash that
-   is copied into the result buffer.
+   *BASE_IN_RESULT to point to the copy of BASE at the end of the
+   returned concatenation.
 
    Return NULL if malloc fails.  */
 
 char *
-mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
+mfile_name_concat (char const *dir, char const *base, char **base_in_result)
 {
   char const *dirbase = last_component (dir);
   size_t dirbaselen = base_len (dirbase);
   size_t dirlen = dirbase - dir + dirbaselen;
-  size_t needs_separator = (dirbaselen && ! ISSLASH (dirbase[dirbaselen - 1]));
-
-  char const *base = longest_relative_suffix (abase);
   size_t baselen = strlen (base);
-
-  char *p_concat = malloc (dirlen + needs_separator + baselen + 1);
+  char sep = '\0';
+  if (dirbaselen)
+    {
+      /* DIR is not a file system root, so separate with / if needed.  */
+      if (! ISSLASH (dir[dirlen - 1]) && ! ISSLASH (*base))
+        sep = '/';
+    }
+  else if (ISSLASH (*base))
+    {
+      /* DIR is a file system root and BASE begins with a slash, so
+         separate with ".".  For example, if DIR is "/" and BASE is
+         "/foo" then return "/./foo", as "//foo" would be wrong on
+         some POSIX systems.  A fancier algorithm could omit "." in
+         some cases but is not worth the trouble.  */
+      sep = '.';
+    }
+
+  char *p_concat = malloc (dirlen + (sep != '\0')  + baselen + 1);
   char *p;
 
   if (p_concat == NULL)
     return NULL;
 
   p = mempcpy (p_concat, dir, dirlen);
-  *p = DIRECTORY_SEPARATOR;
-  p += needs_separator;
+  *p = sep;
+  p += sep != '\0';
 
   if (base_in_result)
-    *base_in_result = p - IS_ABSOLUTE_FILE_NAME (abase);
+    *base_in_result = p;
 
   p = mempcpy (p, base, baselen);
   *p = '\0';
diff --git a/gnu/filenamecat.h b/gnu/filenamecat.h
index aa996c18..67b46b0a 100644
--- a/gnu/filenamecat.h
+++ b/gnu/filenamecat.h
@@ -1,6 +1,6 @@
 /* Concatenate two arbitrary file names.
 
-   Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2017 Free Software
+   Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/flexmember.h b/gnu/flexmember.h
index 7e4f95d3..0d65f6da 100644
--- a/gnu/flexmember.h
+++ b/gnu/flexmember.h
@@ -1,6 +1,6 @@
 /* Sizes of structs with flexible array members.
 
-   Copyright 2016-2017 Free Software Foundation, Inc.
+   Copyright 2016-2019 Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.
 
diff --git a/gnu/float+.h b/gnu/float+.h
index fb999b97..5af861f7 100644
--- a/gnu/float+.h
+++ b/gnu/float+.h
@@ -1,5 +1,5 @@
 /* Supplemental information about the floating-point formats.
-   Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/float.c b/gnu/float.c
index c4b059fe..8872deb5 100644
--- a/gnu/float.c
+++ b/gnu/float.c
@@ -1,5 +1,5 @@
 /* Auxiliary definitions for <float.h>.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 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/gnu/float.in.h b/gnu/float.in.h
index e7028e48..ba094a8e 100644
--- a/gnu/float.in.h
+++ b/gnu/float.in.h
@@ -1,6 +1,6 @@
 /* A correct <float.h>.
 
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fnmatch.c b/gnu/fnmatch.c
index 0a7e8879..dbcd2906 100644
--- a/gnu/fnmatch.c
+++ b/gnu/fnmatch.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1996-2007, 2009-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fnmatch.in.h b/gnu/fnmatch.in.h
index 7e9636b9..2ead7828 100644
--- a/gnu/fnmatch.in.h
+++ b/gnu/fnmatch.in.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2017 Free
+/* Substitute for and wrapper around <fnmatch.h>.
+   Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2019 Free
    Software Foundation, Inc.
 
    This file is part of the GNU C Library.
@@ -16,15 +17,29 @@
    You should have received a copy of the GNU General Public License
    along with this program; if not, see <https://www.gnu.org/licenses/>.  */
 
-#ifndef _FNMATCH_H
-#define _FNMATCH_H      1
+#ifndef _@GUARD_PREFIX@_FNMATCH_H
 
-/* The definition of _GL_ARG_NONNULL is copied here.  */
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
 
-#ifdef __cplusplus
-extern "C" {
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_FNMATCH_H@ && !@REPLACE_FNMATCH@
+# @INCLUDE_NEXT@ @NEXT_FNMATCH_H@
 #endif
 
+#ifndef _@GUARD_PREFIX@_FNMATCH_H
+#define _@GUARD_PREFIX@_FNMATCH_H
+
+/* 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.  */
+
+#if !@HAVE_FNMATCH_H@ || @REPLACE_FNMATCH@
+
 /* We #undef these before defining them because some losing systems
    (HP-UX A.08.07 for example) define these in <unistd.h>.  */
 #undef  FNM_PATHNAME
@@ -54,14 +69,42 @@ extern "C" {
 # define FNM_NOSYS      (-1)
 #endif
 
+#endif
+
+
+#if @GNULIB_FNMATCH@
 /* Match NAME against the file name pattern PATTERN,
    returning zero if it matches, FNM_NOMATCH if not.  */
-extern int fnmatch (const char *__pattern, const char *__name,
-                    int __flags)
-     _GL_ARG_NONNULL ((1, 2));
-
-#ifdef __cplusplus
-}
+# if @REPLACE_FNMATCH@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define fnmatch rpl_fnmatch
+#  endif
+_GL_FUNCDECL_RPL (fnmatch, int,
+                  (const char *pattern, const char *name, int flags)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fnmatch, int,
+                  (const char *pattern, const char *name, int flags));
+# else
+#  if !@HAVE_FNMATCH@
+_GL_FUNCDECL_SYS (fnmatch, int,
+                  (const char *pattern, const char *name, int flags)
+                  _GL_ARG_NONNULL ((1, 2)));
+#  endif
+_GL_CXXALIAS_SYS (fnmatch, int,
+                  (const char *pattern, const char *name, int flags));
+# endif
+# if !GNULIB_FNMATCH_GNU
+_GL_CXXALIASWARN (fnmatch);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef fnmatch
+# if HAVE_RAW_DECL_FNMATCH
+_GL_WARN_ON_USE (fnmatch,
+                 "fnmatch does not portably work - "
+                 "use gnulib module fnmatch for portability or gnulib module fnmatch-gnu for a glibc compatible implementation");
+# endif
 #endif
 
-#endif /* fnmatch.h */
+
+#endif /* _@GUARD_PREFIX@_FNMATCH_H */
+#endif /* _@GUARD_PREFIX@_FNMATCH_H */
diff --git a/gnu/fnmatch_loop.c b/gnu/fnmatch_loop.c
index e2292904..82a7ceed 100644
--- a/gnu/fnmatch_loop.c
+++ b/gnu/fnmatch_loop.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1996-2006, 2009-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2006, 2009-2019 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
diff --git a/gnu/fpending.c b/gnu/fpending.c
index 5811a4a7..3c01285b 100644
--- a/gnu/fpending.c
+++ b/gnu/fpending.c
@@ -1,5 +1,5 @@
 /* fpending.c -- return the number of pending output bytes on a stream
-   Copyright (C) 2000, 2004, 2006-2007, 2009-2017 Free Software Foundation,
+   Copyright (C) 2000, 2004, 2006-2007, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -24,6 +24,9 @@
 
 #include "stdio-impl.h"
 
+/* This file is not used on systems that already have the __fpending function,
+   namely glibc >= 2.2, Solaris >= 7, Android API >= 23.  */
+
 /* Return the number of pending (aka buffered, unflushed)
    bytes on the stream, FP, that is open for writing.  */
 size_t
@@ -32,7 +35,8 @@ __fpending (FILE *fp)
   /* Most systems provide FILE as a struct and the necessary bitmask in
      <stdio.h>, because they need it for implementing getc() and putc() as
      fast macros.  */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+  /* GNU libc, BeOS, Haiku, Linux libc5 */
   return fp->_IO_write_ptr - fp->_IO_write_base;
 #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
   /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
diff --git a/gnu/fpending.h b/gnu/fpending.h
index 73c7d795..097a3ef0 100644
--- a/gnu/fpending.h
+++ b/gnu/fpending.h
@@ -1,6 +1,6 @@
 /* Declare __fpending.
 
-   Copyright (C) 2000, 2003, 2005-2006, 2009-2017 Free Software Foundation,
+   Copyright (C) 2000, 2003, 2005-2006, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/fprintftime.h b/gnu/fprintftime.h
index 88f1d242..d598d1e0 100644
--- a/gnu/fprintftime.h
+++ b/gnu/fprintftime.h
@@ -1,6 +1,6 @@
 /* Generate time strings directly to the output.  */
 
-/* Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fseek.c b/gnu/fseek.c
index 21dbd53f..bb22fe08 100644
--- a/gnu/fseek.c
+++ b/gnu/fseek.c
@@ -1,5 +1,5 @@
 /* An fseek() function that, together with fflush(), is POSIX compliant.
-   Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/fseeko.c b/gnu/fseeko.c
index d0f24d8a..859d212b 100644
--- a/gnu/fseeko.c
+++ b/gnu/fseeko.c
@@ -1,5 +1,5 @@
 /* An fseeko() function that, together with fflush(), is POSIX compliant.
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This 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 +33,9 @@ fseeko (FILE *fp, off_t offset, int whence)
 #endif
 #if _GL_WINDOWS_64_BIT_OFF_T
 # undef fseeko
-# if HAVE__FSEEKI64 /* msvc, mingw64 */
+# if HAVE__FSEEKI64 && HAVE_DECL__FSEEKI64 /* msvc, mingw since msvcrt8.0, mingw64 */
 #  define fseeko _fseeki64
-# else /* mingw */
+# else /* mingw before msvcrt8.0 */
 #  define fseeko fseeko64
 # endif
 #endif
@@ -47,7 +47,8 @@ fseeko (FILE *fp, off_t offset, int whence)
 #endif
 
   /* These tests are based on fpurge.c.  */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+  /* GNU libc, BeOS, Haiku, Linux libc5 */
   if (fp->_IO_read_end == fp->_IO_read_ptr
       && fp->_IO_write_ptr == fp->_IO_write_base
       && fp->_IO_save_base == NULL)
@@ -123,7 +124,8 @@ fseeko (FILE *fp, off_t offset, int whence)
           return -1;
         }
 
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+      /* GNU libc, BeOS, Haiku, Linux libc5 */
       fp->_flags &= ~_IO_EOF_SEEN;
       fp->_offset = pos;
 #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
diff --git a/gnu/fstat.c b/gnu/fstat.c
index 7ab2cdcb..4f0e6188 100644
--- a/gnu/fstat.c
+++ b/gnu/fstat.c
@@ -1,5 +1,5 @@
 /* fstat() replacement.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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,7 +25,7 @@
 #include <sys/stat.h>
 #undef __need_system_sys_stat_h
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # define WINDOWS_NATIVE
 #endif
 
@@ -45,6 +45,8 @@ orig_fstat (int fd, struct stat *buf)
    above.  */
 #include "sys/stat.h"
 
+#include "stat-time.h"
+
 #include <errno.h>
 #include <unistd.h>
 #ifdef WINDOWS_NATIVE
@@ -83,6 +85,6 @@ rpl_fstat (int fd, struct stat *buf)
     }
   return _gl_fstat_by_handle (h, NULL, buf);
 #else
-  return orig_fstat (fd, buf);
+  return stat_time_normalize (orig_fstat (fd, buf), buf);
 #endif
 }
diff --git a/gnu/fstatat.c b/gnu/fstatat.c
index 294861f5..515b5693 100644
--- a/gnu/fstatat.c
+++ b/gnu/fstatat.c
@@ -1,6 +1,6 @@
 /* Work around an fstatat bug on Solaris 9.
 
-   Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -41,6 +41,8 @@ orig_fstatat (int fd, char const *filename, struct stat *buf, int flags)
    above.  */
 #include "sys/stat.h"
 
+#include "stat-time.h"
+
 #include <errno.h>
 #include <fcntl.h>
 #include <string.h>
@@ -51,6 +53,12 @@ orig_fstatat (int fd, char const *filename, struct stat *buf, int flags)
 #  define LSTAT_FOLLOWS_SLASHED_SYMLINK 0
 # endif
 
+static int
+normal_fstatat (int fd, char const *file, struct stat *st, int flag)
+{
+  return stat_time_normalize (orig_fstatat (fd, file, st, flag), st);
+}
+
 /* fstatat should always follow symbolic links that end in /, but on
    Solaris 9 it doesn't if AT_SYMLINK_NOFOLLOW is specified.
    Likewise, trailing slash on a non-directory should be an error.
@@ -63,7 +71,7 @@ orig_fstatat (int fd, char const *filename, struct stat *buf, int flags)
 int
 rpl_fstatat (int fd, char const *file, struct stat *st, int flag)
 {
-  int result = orig_fstatat (fd, file, st, flag);
+  int result = normal_fstatat (fd, file, st, flag);
   size_t len;
 
   if (LSTAT_FOLLOWS_SLASHED_SYMLINK || result != 0)
@@ -79,7 +87,7 @@ rpl_fstatat (int fd, char const *file, struct stat *st, int flag)
           errno = ENOTDIR;
           return -1;
         }
-      result = orig_fstatat (fd, file, st, flag & ~AT_SYMLINK_NOFOLLOW);
+      result = normal_fstatat (fd, file, st, flag & ~AT_SYMLINK_NOFOLLOW);
     }
   /* Fix stat behavior.  */
   if (result == 0 && !S_ISDIR (st->st_mode) && file[len - 1] == '/')
diff --git a/gnu/full-write.c b/gnu/full-write.c
index 338b9424..ec6f8104 100644
--- a/gnu/full-write.c
+++ b/gnu/full-write.c
@@ -1,6 +1,6 @@
 /* An interface to read and write that retries (if necessary) until complete.
 
-   Copyright (C) 1993-1994, 1997-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 1997-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/full-write.h b/gnu/full-write.h
index bc0f162f..0e0be3a3 100644
--- a/gnu/full-write.h
+++ b/gnu/full-write.h
@@ -1,6 +1,6 @@
 /* An interface to write() that writes all it is asked to write.
 
-   Copyright (C) 2002-2003, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/futimens.c b/gnu/futimens.c
index 6c303926..cc03796c 100644
--- a/gnu/futimens.c
+++ b/gnu/futimens.c
@@ -1,5 +1,5 @@
 /* Set the access and modification time of an open fd.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/get-permissions.c b/gnu/get-permissions.c
index c54d71c1..99b4664a 100644
--- a/gnu/get-permissions.c
+++ b/gnu/get-permissions.c
@@ -1,6 +1,6 @@
 /* Get permissions of a file.  -*- coding: utf-8 -*-
 
-   Copyright (C) 2002-2003, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,16 +31,16 @@
 
 int
 get_permissions (const char *name, int desc, mode_t mode,
-		 struct permission_context *ctx)
+                 struct permission_context *ctx)
 {
   memset (ctx, 0, sizeof *ctx);
   ctx->mode = mode;
 
 #if USE_ACL && HAVE_ACL_GET_FILE
   /* POSIX 1003.1e (draft 17 -- abandoned) specific version.  */
-  /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+  /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */
 # if !HAVE_ACL_TYPE_EXTENDED
-  /* Linux, FreeBSD, IRIX, Tru64 */
+  /* Linux, FreeBSD, IRIX, Tru64, Cygwin >= 2.5 */
 
   if (HAVE_ACL_GET_FD && desc != -1)
     ctx->acl = acl_get_fd (desc);
@@ -57,16 +57,16 @@ get_permissions (const char *name, int desc, mode_t mode,
     {
       ctx->default_acl = acl_get_file (name, ACL_TYPE_DEFAULT);
       if (ctx->default_acl == NULL)
-	return -1;
+        return -1;
     }
 
-# if HAVE_ACL_TYPE_NFS4  /* FreeBSD */
+#  if HAVE_ACL_TYPE_NFS4  /* FreeBSD */
 
   /* TODO (see set_permissions). */
 
-# endif
+#  endif
 
-#  else /* HAVE_ACL_TYPE_EXTENDED */
+# else /* HAVE_ACL_TYPE_EXTENDED */
   /* Mac OS X */
 
   /* On Mac OS X,  acl_get_file (name, ACL_TYPE_ACCESS)
@@ -115,16 +115,16 @@ get_permissions (const char *name, int desc, mode_t mode,
       int ret;
 
       if (desc != -1)
-	ret = facl (desc, ACE_GETACLCNT, 0, NULL);
+        ret = facl (desc, ACE_GETACLCNT, 0, NULL);
       else
-	ret = acl (name, ACE_GETACLCNT, 0, NULL);
+        ret = acl (name, ACE_GETACLCNT, 0, NULL);
       if (ret < 0)
-	{
-	  if (errno == ENOSYS || errno == EINVAL)
-	    ret = 0;
-	  else
-	    return -1;
-	}
+        {
+          if (errno == ENOSYS || errno == EINVAL)
+            ret = 0;
+          else
+            return -1;
+        }
       ctx->ace_count = ret;
 
       if (ctx->ace_count == 0)
@@ -138,15 +138,15 @@ get_permissions (const char *name, int desc, mode_t mode,
         }
 
       if (desc != -1)
-	ret = facl (desc, ACE_GETACL, ctx->ace_count, ctx->ace_entries);
+        ret = facl (desc, ACE_GETACL, ctx->ace_count, ctx->ace_entries);
       else
-	ret = acl (name, ACE_GETACL, ctx->ace_count, ctx->ace_entries);
+        ret = acl (name, ACE_GETACL, ctx->ace_count, ctx->ace_entries);
       if (ret < 0)
         {
           if (errno == ENOSYS || errno == EINVAL)
             {
-	      free (ctx->ace_entries);
-	      ctx->ace_entries = NULL;
+              free (ctx->ace_entries);
+              ctx->ace_entries = NULL;
               ctx->ace_count = 0;
               break;
             }
@@ -154,10 +154,10 @@ get_permissions (const char *name, int desc, mode_t mode,
             return -1;
         }
       if (ret <= ctx->ace_count)
-	{
-	  ctx->ace_count = ret;
-	  break;
-	}
+        {
+          ctx->ace_count = ret;
+          break;
+        }
       /* Huh? The number of ACL entries has increased since the last call.
          Repeat.  */
       free (ctx->ace_entries);
@@ -170,20 +170,20 @@ get_permissions (const char *name, int desc, mode_t mode,
       int ret;
 
       if (desc != -1)
-	ret = facl (desc, GETACLCNT, 0, NULL);
+        ret = facl (desc, GETACLCNT, 0, NULL);
       else
-	ret = acl (name, GETACLCNT, 0, NULL);
+        ret = acl (name, GETACLCNT, 0, NULL);
       if (ret < 0)
-	{
-	  if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
-	    ret = 0;
-	  else
-	    return -1;
-	}
+        {
+          if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
+            ret = 0;
+          else
+            return -1;
+        }
       ctx->count = ret;
 
       if (ctx->count == 0)
-	break;
+        break;
 
       ctx->entries = (aclent_t *) malloc (ctx->count * sizeof (aclent_t));
       if (ctx->entries == NULL)
@@ -193,26 +193,26 @@ get_permissions (const char *name, int desc, mode_t mode,
         }
 
       if (desc != -1)
-	ret = facl (desc, GETACL, ctx->count, ctx->entries);
+        ret = facl (desc, GETACL, ctx->count, ctx->entries);
       else
-	ret = acl (name, GETACL, ctx->count, ctx->entries);
+        ret = acl (name, GETACL, ctx->count, ctx->entries);
       if (ret < 0)
-	{
-	  if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
-	    {
-	      free (ctx->entries);
-	      ctx->entries = NULL;
-	      ctx->count = 0;
-	      break;
-	    }
-	  else
-	    return -1;
-	}
+        {
+          if (errno == ENOSYS || errno == ENOTSUP || errno == EOPNOTSUPP)
+            {
+              free (ctx->entries);
+              ctx->entries = NULL;
+              ctx->count = 0;
+              break;
+            }
+          else
+            return -1;
+        }
       if (ret <= ctx->count)
-	{
-	  ctx->count = ret;
-	  break;
-	}
+        {
+          ctx->count = ret;
+          break;
+        }
       /* Huh? The number of ACL entries has increased since the last call.
          Repeat.  */
       free (ctx->entries);
diff --git a/gnu/getcwd-lgpl.c b/gnu/getcwd-lgpl.c
index 3aaab32b..b224cfc9 100644
--- a/gnu/getcwd-lgpl.c
+++ b/gnu/getcwd-lgpl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2019 Free Software Foundation, Inc.
    This file is part of gnulib.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/getcwd.c b/gnu/getcwd.c
index bb13dded..41eedb70 100644
--- a/gnu/getcwd.c
+++ b/gnu/getcwd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1999, 2004-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1999, 2004-2019 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
diff --git a/gnu/getdelim.c b/gnu/getdelim.c
index 83cc2b08..528678c2 100644
--- a/gnu/getdelim.c
+++ b/gnu/getdelim.c
@@ -1,5 +1,5 @@
 /* getdelim.c --- Implementation of replacement getdelim function.
-   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2017 Free Software
+   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
@@ -50,7 +50,7 @@
 static void
 alloc_failed (void)
 {
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
   /* Avoid errno problem without using the realloc module; see:
      https://lists.gnu.org/r/bug-gnulib/2016-08/msg00025.html  */
   errno = ENOMEM;
diff --git a/gnu/getdtablesize.c b/gnu/getdtablesize.c
index d0a5ecaf..03a92435 100644
--- a/gnu/getdtablesize.c
+++ b/gnu/getdtablesize.c
@@ -1,5 +1,5 @@
 /* getdtablesize() function: Return maximum possible file descriptor value + 1.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,7 @@
 /* Specification.  */
 #include <unistd.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 # include <stdio.h>
 
diff --git a/gnu/getfilecon.c b/gnu/getfilecon.c
index 0067dbd2..713896de 100644
--- a/gnu/getfilecon.c
+++ b/gnu/getfilecon.c
@@ -1,5 +1,5 @@
 /* wrap getfilecon, lgetfilecon, and fgetfilecon
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/getgroups.c b/gnu/getgroups.c
index 52473a5a..d8c77e9a 100644
--- a/gnu/getgroups.c
+++ b/gnu/getgroups.c
@@ -1,6 +1,6 @@
 /* provide consistent interface to getgroups for systems that don't allow N==0
 
-   Copyright (C) 1996, 1999, 2003, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1999, 2003, 2006-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -58,8 +58,8 @@ int posix_getgroups (int, gid_t []) __asm ("_getgroups");
 #  define getgroups posix_getgroups
 # endif
 
-/* On at least Ultrix 4.3 and NextStep 3.2, getgroups (0, NULL) always
-   fails.  On other systems, it returns the number of supplemental
+/* On at least NeXTstep 3.2, getgroups (0, NULL) always fails.
+   On other systems, it returns the number of supplemental
    groups for the process.  This function handles that special case
    and lets the system-provided function handle all others.  However,
    it can fail with ENOMEM if memory is tight.  It is unspecified
diff --git a/gnu/getline.c b/gnu/getline.c
index 92a25438..40882fb2 100644
--- a/gnu/getline.c
+++ b/gnu/getline.c
@@ -1,5 +1,5 @@
 /* getline.c --- Implementation of replacement getline function.
-   Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/gnu/getopt-cdefs.in.h b/gnu/getopt-cdefs.in.h
index 83a18f9a..049145b3 100644
--- a/gnu/getopt-cdefs.in.h
+++ b/gnu/getopt-cdefs.in.h
@@ -1,5 +1,5 @@
 /* getopt-on-non-glibc compatibility macros.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
    This file is part of gnulib.
    Unlike most of the getopt implementation, it is NOT shared
    with the GNU C Library.
diff --git a/gnu/getopt-core.h b/gnu/getopt-core.h
index ec0734c7..6360ad69 100644
--- a/gnu/getopt-core.h
+++ b/gnu/getopt-core.h
@@ -1,5 +1,5 @@
 /* Declarations for getopt (basic, portable features only).
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library and is also part of gnulib.
    Patches to this file should be submitted to both projects.
 
diff --git a/gnu/getopt-ext.h b/gnu/getopt-ext.h
index 4cdbfb0e..13cb0077 100644
--- a/gnu/getopt-ext.h
+++ b/gnu/getopt-ext.h
@@ -1,5 +1,5 @@
 /* Declarations for getopt (GNU extensions).
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library and is also part of gnulib.
    Patches to this file should be submitted to both projects.
 
diff --git a/gnu/getopt-pfx-core.h b/gnu/getopt-pfx-core.h
index 02b2b506..8fac2691 100644
--- a/gnu/getopt-pfx-core.h
+++ b/gnu/getopt-pfx-core.h
@@ -1,5 +1,5 @@
 /* getopt (basic, portable features) gnulib wrapper header.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
    This file is part of gnulib.
    Unlike most of the getopt implementation, it is NOT shared
    with the GNU C Library.
diff --git a/gnu/getopt-pfx-ext.h b/gnu/getopt-pfx-ext.h
index 75e6fd32..0e21aefb 100644
--- a/gnu/getopt-pfx-ext.h
+++ b/gnu/getopt-pfx-ext.h
@@ -1,5 +1,5 @@
 /* getopt (GNU extensions) gnulib wrapper header.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
    This file is part of gnulib.
    Unlike most of the getopt implementation, it is NOT shared
    with the GNU C Library.
diff --git a/gnu/getopt.c b/gnu/getopt.c
index b0cc35bf..8ee075a8 100644
--- a/gnu/getopt.c
+++ b/gnu/getopt.c
@@ -1,5 +1,5 @@
 /* Getopt for GNU.
-   Copyright (C) 1987-2017 Free Software Foundation, Inc.
+   Copyright (C) 1987-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library and is also part of gnulib.
    Patches to this file should be submitted to both projects.
 
@@ -46,7 +46,7 @@
 /* When used standalone, flockfile and funlockfile might not be
    available.  */
 # if (!defined _POSIX_THREAD_SAFE_FUNCTIONS \
-      || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+      || (defined _WIN32 && ! defined __CYGWIN__))
 #  define flockfile(fp) /* nop */
 #  define funlockfile(fp) /* nop */
 # endif
diff --git a/gnu/getopt.in.h b/gnu/getopt.in.h
index 594ed809..c77f34ce 100644
--- a/gnu/getopt.in.h
+++ b/gnu/getopt.in.h
@@ -1,5 +1,5 @@
 /* Declarations for getopt.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
    This file is part of gnulib.
    Unlike most of the getopt implementation, it is NOT shared
    with the GNU C Library, which supplies a different version of
diff --git a/gnu/getopt1.c b/gnu/getopt1.c
index d689f4ce..883aa6bb 100644
--- a/gnu/getopt1.c
+++ b/gnu/getopt1.c
@@ -1,5 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987-2017 Free Software Foundation, Inc.
+   Copyright (C) 1987-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library and is also part of gnulib.
    Patches to this file should be submitted to both projects.
 
diff --git a/gnu/getopt_int.h b/gnu/getopt_int.h
index e33856ce..e63706f6 100644
--- a/gnu/getopt_int.h
+++ b/gnu/getopt_int.h
@@ -1,5 +1,5 @@
 /* Internal declarations for getopt.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library and is also part of gnulib.
    Patches to this file should be submitted to both projects.
 
diff --git a/gnu/getpagesize.c b/gnu/getpagesize.c
index 4594a4a8..3a698292 100644
--- a/gnu/getpagesize.c
+++ b/gnu/getpagesize.c
@@ -1,6 +1,6 @@
 /* getpagesize emulation for systems where it cannot be done in a C macro.
 
-   Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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 <unistd.h>
 
 /* This implementation is only for native Windows systems.  */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
diff --git a/gnu/getprogname.c b/gnu/getprogname.c
index a2b23362..96fa7596 100644
--- a/gnu/getprogname.c
+++ b/gnu/getprogname.c
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   Copyright (C) 2016-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -110,9 +110,73 @@ getprogname (void)
       first = 0;
       pid_t pid = getpid ();
       struct pst_status status;
-      p = (0 < pstat_getproc (&status, sizeof status, 0, pid)
-           ? strdup (status.pst_ucomm)
-           : NULL);
+      if (pstat_getproc (&status, sizeof status, 0, pid) > 0)
+        {
+          char *ucomm = status.pst_ucomm;
+          char *cmd = status.pst_cmd;
+          if (strlen (ucomm) < PST_UCOMMLEN - 1)
+            p = ucomm;
+          else
+            {
+              /* ucomm is truncated to length PST_UCOMMLEN - 1.
+                 Look at cmd instead.  */
+              char *space = strchr (cmd, ' ');
+              if (space != NULL)
+                *space = '\0';
+              p = strrchr (cmd, '/');
+              if (p != NULL)
+                p++;
+              else
+                p = cmd;
+              if (strlen (p) > PST_UCOMMLEN - 1
+                  && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0)
+                /* p is less truncated than ucomm.  */
+                ;
+              else
+                p = ucomm;
+            }
+          p = strdup (p);
+        }
+      else
+        {
+#  if !defined __LP64__
+          /* Support for 32-bit programs running in 64-bit HP-UX.
+             The documented way to do this is to use the same source code
+             as above, but in a compilation unit where '#define _PSTAT64 1'
+             is in effect.  I prefer a single compilation unit; the struct
+             size and the offsets are not going to change.  */
+          char status64[1216];
+          if (__pstat_getproc64 (status64, sizeof status64, 0, pid) > 0)
+            {
+              char *ucomm = status64 + 288;
+              char *cmd = status64 + 168;
+              if (strlen (ucomm) < PST_UCOMMLEN - 1)
+                p = ucomm;
+              else
+                {
+                  /* ucomm is truncated to length PST_UCOMMLEN - 1.
+                     Look at cmd instead.  */
+                  char *space = strchr (cmd, ' ');
+                  if (space != NULL)
+                    *space = '\0';
+                  p = strrchr (cmd, '/');
+                  if (p != NULL)
+                    p++;
+                  else
+                    p = cmd;
+                  if (strlen (p) > PST_UCOMMLEN - 1
+                      && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0)
+                    /* p is less truncated than ucomm.  */
+                    ;
+                  else
+                    p = ucomm;
+                }
+              p = strdup (p);
+            }
+          else
+#  endif
+            p = NULL;
+        }
       if (!p)
         p = "?";
     }
@@ -182,3 +246,10 @@ getprogname (void)
 }
 
 #endif
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
diff --git a/gnu/getprogname.h b/gnu/getprogname.h
index dd5fac84..1590b38d 100644
--- a/gnu/getprogname.h
+++ b/gnu/getprogname.h
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   Copyright (C) 2016-2019 Free Software Foundation, Inc.
 
    This 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/gnu/gettext.h b/gnu/gettext.h
index f6150be6..89f53d91 100644
--- a/gnu/gettext.h
+++ b/gnu/gettext.h
@@ -1,5 +1,5 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2017 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -185,7 +185,7 @@ npgettext_aux (const char *domain,
 #include <string.h>
 
 #if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
-     /* || __STDC_VERSION__ == 199901L
+     /* || (__STDC_VERSION__ == 199901L && !defined __HP_cc)
         || (__STDC_VERSION__ >= 201112L && !defined __STDC_NO_VLA__) */ )
 # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
 #else
diff --git a/gnu/gettime.c b/gnu/gettime.c
index e5af26c9..1fd153f6 100644
--- a/gnu/gettime.c
+++ b/gnu/gettime.c
@@ -1,6 +1,6 @@
 /* gettime -- get the system clock
 
-   Copyright (C) 2002, 2004-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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,21 +28,22 @@
 void
 gettime (struct timespec *ts)
 {
-#if HAVE_NANOTIME
-  nanotime (ts);
+#if defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME
+  clock_gettime (CLOCK_REALTIME, ts);
 #else
+  struct timeval tv;
+  gettimeofday (&tv, NULL);
+  ts->tv_sec = tv.tv_sec;
+  ts->tv_nsec = tv.tv_usec * 1000;
+#endif
+}
 
-# if defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME
-  if (clock_gettime (CLOCK_REALTIME, ts) == 0)
-    return;
-# endif
-
-  {
-    struct timeval tv;
-    gettimeofday (&tv, NULL);
-    ts->tv_sec = tv.tv_sec;
-    ts->tv_nsec = tv.tv_usec * 1000;
-  }
+/* Return the current system time as a struct timespec.  */
 
-#endif
+struct timespec
+current_timespec (void)
+{
+  struct timespec ts;
+  gettime (&ts);
+  return ts;
 }
diff --git a/gnu/gettimeofday.c b/gnu/gettimeofday.c
index a11b1830..360cdc4d 100644
--- a/gnu/gettimeofday.c
+++ b/gnu/gettimeofday.c
@@ -1,6 +1,6 @@
 /* Provide gettimeofday for systems that don't have it or for which it's broken.
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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 @@
 
 #include <time.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # define WINDOWS_NATIVE
 # include <windows.h>
 #endif
@@ -33,6 +33,10 @@
 
 #ifdef WINDOWS_NATIVE
 
+/* Avoid warnings from gcc -Wcast-function-type.  */
+# define GetProcAddress \
+   (void *) GetProcAddress
+
 /* GetSystemTimePreciseAsFileTime was introduced only in Windows 8.  */
 typedef void (WINAPI * GetSystemTimePreciseAsFileTimeFuncType) (FILETIME *lpTime);
 static GetSystemTimePreciseAsFileTimeFuncType GetSystemTimePreciseAsFileTimeFunc = NULL;
@@ -45,7 +49,7 @@ initialize (void)
   if (kernel32 != NULL)
     {
       GetSystemTimePreciseAsFileTimeFunc =
-	(GetSystemTimePreciseAsFileTimeFuncType) GetProcAddress (kernel32, "GetSystemTimePreciseAsFileTime");
+        (GetSystemTimePreciseAsFileTimeFuncType) GetProcAddress (kernel32, "GetSystemTimePreciseAsFileTime");
     }
   initialized = TRUE;
 }
diff --git a/gnu/group-member.c b/gnu/group-member.c
index 7c4ce496..ad61cf0b 100644
--- a/gnu/group-member.c
+++ b/gnu/group-member.c
@@ -1,6 +1,6 @@
 /* group-member.c -- determine whether group id is in calling user's group list
 
-   Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2017 Free Software
+   Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/hard-locale.c b/gnu/hard-locale.c
index 12a3512e..dcfcad62 100644
--- a/gnu/hard-locale.c
+++ b/gnu/hard-locale.c
@@ -1,6 +1,6 @@
 /* hard-locale.c -- Determine whether a locale is hard.
 
-   Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2017 Free Software
+   Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/hard-locale.h b/gnu/hard-locale.h
index 7f8533d7..8f1da96e 100644
--- a/gnu/hard-locale.h
+++ b/gnu/hard-locale.h
@@ -1,6 +1,6 @@
 /* Determine whether a locale is hard.
 
-   Copyright (C) 1999, 2003-2004, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003-2004, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/hash.c b/gnu/hash.c
index 6e7a4af3..9e1f8e84 100644
--- a/gnu/hash.c
+++ b/gnu/hash.c
@@ -1,6 +1,6 @@
 /* hash - hashing table processing.
 
-   Copyright (C) 1998-2004, 2006-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2004, 2006-2007, 2009-2019 Free Software Foundation, Inc.
 
    Written by Jim Meyering, 1992.
 
diff --git a/gnu/hash.h b/gnu/hash.h
index faac4685..a1a483a3 100644
--- a/gnu/hash.h
+++ b/gnu/hash.h
@@ -1,5 +1,5 @@
 /* hash - hashing table processing.
-   Copyright (C) 1998-1999, 2001, 2003, 2009-2017 Free Software Foundation,
+   Copyright (C) 1998-1999, 2001, 2003, 2009-2019 Free Software Foundation,
    Inc.
    Written by Jim Meyering <meyering@ascend.com>, 1998.
 
diff --git a/gnu/human.c b/gnu/human.c
index e4725019..fbfa2060 100644
--- a/gnu/human.c
+++ b/gnu/human.c
@@ -1,6 +1,6 @@
 /* human.c -- print human readable file size
 
-   Copyright (C) 1996-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/human.h b/gnu/human.h
index a87b6f2f..31a47377 100644
--- a/gnu/human.h
+++ b/gnu/human.h
@@ -1,6 +1,6 @@
 /* human.h -- print human readable file size
 
-   Copyright (C) 1996-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1996-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/intprops.h b/gnu/intprops.h
index 2df7b1f9..1a44ae55 100644
--- a/gnu/intprops.h
+++ b/gnu/intprops.h
@@ -1,6 +1,6 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
@@ -22,12 +22,13 @@
 
 #include <limits.h>
 
-/* Return a value with the common real type of E and V and the value of V.  */
-#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
+/* Return a value with the common real type of E and V and the value of V.
+   Do not evaluate E.  */
+#define _GL_INT_CONVERT(e, v) ((1 ? 0 : (e)) + (v))
 
 /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
    <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.  */
-#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v))
+#define _GL_INT_NEGATE_CONVERT(e, v) ((1 ? 0 : (e)) - (v))
 
 /* The extra casts in the following macros work around compiler bugs,
    e.g., in Cray C 5.0.3.0.  */
@@ -40,13 +41,14 @@
 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
 
 /* Return 1 if the real expression E, after promotion, has a
-   signed or floating type.  */
+   signed or floating type.  Do not evaluate E.  */
 #define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
 
 
 /* Minimum and maximum values for integer types and expressions.  */
 
 /* The width in bits of the integer type or expression T.
+   Do not evaluate T.
    Padding bits are not supported; this is checked at compile-time below.  */
 #define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
 
@@ -58,7 +60,7 @@
         : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
 
 /* The maximum and minimum values for the type of the expression E,
-   after integer promotion.  E should not have side effects.  */
+   after integer promotion.  E is not evaluated.  */
 #define _GL_INT_MINIMUM(e)                                              \
   (EXPR_SIGNED (e)                                                      \
    ? ~ _GL_SIGNED_INT_MAXIMUM (e)                                       \
@@ -340,8 +342,8 @@
    Arguments should be free of side effects.  */
 #define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow)        \
   op_result_overflow (a, b,                                     \
-                      _GL_INT_MINIMUM (0 * (b) + (a)),          \
-                      _GL_INT_MAXIMUM (0 * (b) + (a)))
+                      _GL_INT_MINIMUM (_GL_INT_CONVERT (a, b)), \
+                      _GL_INT_MAXIMUM (_GL_INT_CONVERT (a, b)))
 
 /* Store the low-order bits of A + B, A - B, A * B, respectively, into *R.
    Return 1 if the result overflows.  See above for restrictions.  */
diff --git a/gnu/inttostr.h b/gnu/inttostr.h
index 680b84b1..7cb67748 100644
--- a/gnu/inttostr.h
+++ b/gnu/inttostr.h
@@ -1,6 +1,6 @@
 /* inttostr.h -- convert integers to printable strings
 
-   Copyright (C) 2001-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/inttypes.in.h b/gnu/inttypes.in.h
index e7357e96..d3c735c1 100644
--- a/gnu/inttypes.in.h
+++ b/gnu/inttypes.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2017 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2019 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
@@ -52,7 +52,7 @@
 /* Get CHAR_BIT.  */
 #include <limits.h>
 /* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # include <stdio.h>
 #endif
 
@@ -1067,11 +1067,13 @@ _GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
 #endif
 
 #if @GNULIB_IMAXDIV@
-# if !@HAVE_DECL_IMAXDIV@
+# if !@HAVE_IMAXDIV_T@
 #  if !GNULIB_defined_imaxdiv_t
 typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
 #   define GNULIB_defined_imaxdiv_t 1
 #  endif
+# endif
+# if !@HAVE_DECL_IMAXDIV@
 extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
 # endif
 #elif defined GNULIB_POSIXCHECK
diff --git a/gnu/iswblank.c b/gnu/iswblank.c
index c3b5b072..6d7a6dfd 100644
--- a/gnu/iswblank.c
+++ b/gnu/iswblank.c
@@ -1,5 +1,5 @@
 /* Test wide character for being blank.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/itold.c b/gnu/itold.c
index f787f676..bca01eb5 100644
--- a/gnu/itold.c
+++ b/gnu/itold.c
@@ -1,5 +1,5 @@
 /* Replacement for 'int' to 'long double' conversion routine.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 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/gnu/langinfo.in.h b/gnu/langinfo.in.h
index 394737ec..6d406350 100644
--- a/gnu/langinfo.in.h
+++ b/gnu/langinfo.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <langinfo.h>.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -86,6 +86,18 @@ typedef int nl_item;
 # define MON_10      (MON_1 + 9)
 # define MON_11      (MON_1 + 10)
 # define MON_12      (MON_1 + 11)
+# define ALTMON_1    10200
+# define ALTMON_2    (ALTMON_1 + 1)
+# define ALTMON_3    (ALTMON_1 + 2)
+# define ALTMON_4    (ALTMON_1 + 3)
+# define ALTMON_5    (ALTMON_1 + 4)
+# define ALTMON_6    (ALTMON_1 + 5)
+# define ALTMON_7    (ALTMON_1 + 6)
+# define ALTMON_8    (ALTMON_1 + 7)
+# define ALTMON_9    (ALTMON_1 + 8)
+# define ALTMON_10   (ALTMON_1 + 9)
+# define ALTMON_11   (ALTMON_1 + 10)
+# define ALTMON_12   (ALTMON_1 + 11)
 # define ABMON_1     10035
 # define ABMON_2     (ABMON_1 + 1)
 # define ABMON_3     (ABMON_1 + 2)
@@ -138,6 +150,22 @@ typedef int nl_item;
 #  define GNULIB_defined_T_FMT_AMPM 1
 # endif
 
+# if !@HAVE_LANGINFO_ALTMON@
+#  define ALTMON_1    10200
+#  define ALTMON_2    (ALTMON_1 + 1)
+#  define ALTMON_3    (ALTMON_1 + 2)
+#  define ALTMON_4    (ALTMON_1 + 3)
+#  define ALTMON_5    (ALTMON_1 + 4)
+#  define ALTMON_6    (ALTMON_1 + 5)
+#  define ALTMON_7    (ALTMON_1 + 6)
+#  define ALTMON_8    (ALTMON_1 + 7)
+#  define ALTMON_9    (ALTMON_1 + 8)
+#  define ALTMON_10   (ALTMON_1 + 9)
+#  define ALTMON_11   (ALTMON_1 + 10)
+#  define ALTMON_12   (ALTMON_1 + 11)
+#  define GNULIB_defined_ALTMON 1
+# endif
+
 # if !@HAVE_LANGINFO_ERA@
 #  define ERA         10047
 #  define ERA_D_FMT   10048
diff --git a/gnu/lchown.c b/gnu/lchown.c
index fff81e0b..03138c29 100644
--- a/gnu/lchown.c
+++ b/gnu/lchown.c
@@ -1,6 +1,6 @@
 /* Provide a stub lchown function for systems that lack it.
 
-   Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2017 Free Software
+   Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/libc-config.h b/gnu/libc-config.h
new file mode 100644
index 00000000..57c69661
--- /dev/null
+++ b/gnu/libc-config.h
@@ -0,0 +1,174 @@
+/* System definitions for code taken from the GNU C Library
+
+   Copyright 2017-2019 Free Software Foundation, Inc.
+
+   This 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
+   <https://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+/* This is intended to be a good-enough substitute for glibc system
+   macros like those defined in <sys/cdefs.h>, so that Gnulib code
+   shared with glibc can do this as the first #include:
+
+     #ifndef _LIBC
+     # include <libc-config.h>
+     #endif
+
+   When compiled as part of glibc this is a no-op; when compiled as
+   part of Gnulib this includes Gnulib's <config.h> and defines macros
+   that glibc library code would normally assume.  */
+
+#include <config.h>
+
+/* On glibc this includes <features.h> and <sys/cdefs.h> and #defines
+   _FEATURES_H, __WORDSIZE, and __set_errno.  On FreeBSD 11 it
+   includes <sys/cdefs.h> which defines __nonnull.  Elsewhere it
+   is harmless.  */
+#include <errno.h>
+
+/* From glibc <errno.h>.  */
+#ifndef __set_errno
+# define __set_errno(val) (errno = (val))
+#endif
+
+/* From glibc <features.h>.  */
+
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+#  define __GNUC_PREREQ(maj, min) ((maj) < __GNUC__ + ((min) <= __GNUC_MINOR__))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifndef __glibc_clang_prereq
+# if defined __clang_major__ && defined __clang_minor__
+#  define __glibc_clang_prereq(maj, min) \
+     ((maj) < __clang_major__ + ((min) <= __clang_minor__))
+# else
+#  define __glibc_clang_prereq(maj, min) 0
+# endif
+#endif
+
+
+/* Prepare to include <cdefs.h>, which is our copy of glibc
+   <sys/cdefs.h>.  */
+
+/* Define _FEATURES_H so that <cdefs.h> does not include <features.h>.  */
+#ifndef _FEATURES_H
+# define _FEATURES_H 1
+#endif
+/* Define __WORDSIZE so that <cdefs.h> does not attempt to include
+   nonexistent files.  Make it a syntax error, since Gnulib does not
+   use __WORDSIZE now, and if Gnulib uses it later the syntax error
+   will let us know that __WORDSIZE needs configuring.  */
+#ifndef __WORDSIZE
+# define __WORDSIZE %%%
+#endif
+/* Undef the macros unconditionally defined by our copy of glibc
+   <sys/cdefs.h>, so that they do not clash with any system-defined
+   versions.  */
+#undef _SYS_CDEFS_H
+#undef __ASMNAME
+#undef __ASMNAME2
+#undef __BEGIN_DECLS
+#undef __CONCAT
+#undef __END_DECLS
+#undef __HAVE_GENERIC_SELECTION
+#undef __LDBL_COMPAT
+#undef __LDBL_REDIR
+#undef __LDBL_REDIR1
+#undef __LDBL_REDIR1_DECL
+#undef __LDBL_REDIR1_NTH
+#undef __LDBL_REDIR_DECL
+#undef __LDBL_REDIR_NTH
+#undef __LEAF
+#undef __LEAF_ATTR
+#undef __NTH
+#undef __NTHNL
+#undef __P
+#undef __PMT
+#undef __REDIRECT
+#undef __REDIRECT_LDBL
+#undef __REDIRECT_NTH
+#undef __REDIRECT_NTHNL
+#undef __REDIRECT_NTH_LDBL
+#undef __STRING
+#undef __THROW
+#undef __THROWNL
+#undef __always_inline
+#undef __attribute__
+#undef __attribute_alloc_size__
+#undef __attribute_artificial__
+#undef __attribute_const__
+#undef __attribute_deprecated__
+#undef __attribute_deprecated_msg__
+#undef __attribute_format_arg__
+#undef __attribute_format_strfmon__
+#undef __attribute_malloc__
+#undef __attribute_noinline__
+#undef __attribute_nonstring__
+#undef __attribute_pure__
+#undef __attribute_used__
+#undef __attribute_warn_unused_result__
+#undef __bos
+#undef __bos0
+#undef __errordecl
+#undef __extension__
+#undef __extern_always_inline
+#undef __extern_inline
+#undef __flexarr
+#undef __fortify_function
+#undef __glibc_c99_flexarr_available
+#undef __glibc_clang_has_extension
+#undef __glibc_likely
+#undef __glibc_macro_warning
+#undef __glibc_macro_warning1
+#undef __glibc_unlikely
+#undef __inline
+#undef __ptr_t
+#undef __restrict
+#undef __restrict_arr
+#undef __va_arg_pack
+#undef __va_arg_pack_len
+#undef __warnattr
+#undef __warndecl
+
+/* Include our copy of glibc <sys/cdefs.h>.  */
+#include <cdefs.h>
+
+/* <cdefs.h> __inline is too pessimistic for non-GCC.  */
+#undef __inline
+#ifndef HAVE___INLINE
+# if 199901 <= __STDC_VERSION__ || defined inline
+#  define __inline inline
+# else
+#  define __inline
+# endif
+#endif
+
+
+/* A substitute for glibc <libc-symbols.h>, good enough for Gnulib.  */
+#define attribute_hidden
+#define libc_hidden_proto(name, ...)
+#define libc_hidden_def(name)
+#define libc_hidden_weak(name)
+#define libc_hidden_ver(local, name)
+#define strong_alias(name, aliasname)
+#define weak_alias(name, aliasname)
+
+/* A substitute for glibc <shlib-compat.h>, good enough for Gnulib.  */
+#define SHLIB_COMPAT(lib, introduced, obsoleted) 0
+#define versioned_symbol(lib, local, symbol, version)
diff --git a/gnu/limits.in.h b/gnu/limits.in.h
index 78dcf310..39750b38 100644
--- a/gnu/limits.in.h
+++ b/gnu/limits.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <limits.h>.
 
-   Copyright 2016-2017 Free Software Foundation, Inc.
+   Copyright 2016-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
@@ -28,15 +28,32 @@
 #ifndef _@GUARD_PREFIX@_LIMITS_H
 #define _@GUARD_PREFIX@_LIMITS_H
 
-/* For HP-UX 11.31.  */
-#if defined LONG_LONG_MIN && !defined LLONG_MIN
-# define LLONG_MIN LONG_LONG_MIN
+#ifndef LLONG_MIN
+# if defined LONG_LONG_MIN /* HP-UX 11.31 */
+#  define LLONG_MIN LONG_LONG_MIN
+# elif defined LONGLONG_MIN /* IRIX 6.5 */
+#  define LLONG_MIN LONGLONG_MIN
+# elif defined __GNUC__
+#  define LLONG_MIN (- __LONG_LONG_MAX__ - 1LL)
+# endif
 #endif
-#if defined LONG_LONG_MAX && !defined LLONG_MAX
-# define LLONG_MAX LONG_LONG_MAX
+#ifndef LLONG_MAX
+# if defined LONG_LONG_MAX /* HP-UX 11.31 */
+#  define LLONG_MAX LONG_LONG_MAX
+# elif defined LONGLONG_MAX /* IRIX 6.5 */
+#  define LLONG_MAX LONGLONG_MAX
+# elif defined __GNUC__
+#  define LLONG_MAX __LONG_LONG_MAX__
+# endif
 #endif
-#if defined ULONG_LONG_MAX && !defined ULLONG_MAX
-# define ULLONG_MAX ULONG_LONG_MAX
+#ifndef ULLONG_MAX
+# if defined ULONG_LONG_MAX /* HP-UX 11.31 */
+#  define ULLONG_MAX ULONG_LONG_MAX
+# elif defined ULONGLONG_MAX /* IRIX 6.5 */
+#  define ULLONG_MAX ULONGLONG_MAX
+# elif defined __GNUC__
+#  define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL)
+# endif
 #endif
 
 /* The number of usable bits in an unsigned or signed integer type
@@ -53,6 +70,19 @@
 #define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n))
 #define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1))
 
+#ifndef WORD_BIT
+/* Assume 'int' is 32 bits wide.  */
+# define WORD_BIT 32
+#endif
+#ifndef LONG_BIT
+/* Assume 'long' is 32 or 64 bits wide.  */
+# if LONG_MAX == INT_MAX
+#  define LONG_BIT 32
+# else
+#  define LONG_BIT 64
+# endif
+#endif
+
 /* Macros specified by ISO/IEC TS 18661-1:2014.  */
 
 #if (! defined ULLONG_WIDTH                                             \
diff --git a/gnu/link.c b/gnu/link.c
index 70ad9ffa..2074b62b 100644
--- a/gnu/link.c
+++ b/gnu/link.c
@@ -1,6 +1,6 @@
 /* Emulate link on platforms that lack it, namely native Windows platforms.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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,11 +25,15 @@
 #include <sys/stat.h>
 
 #if !HAVE_LINK
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 
 #  define WIN32_LEAN_AND_MEAN
 #  include <windows.h>
 
+/* Avoid warnings from gcc -Wcast-function-type.  */
+#  define GetProcAddress \
+    (void *) GetProcAddress
+
 /* CreateHardLink was introduced only in Windows 2000.  */
 typedef BOOL (WINAPI * CreateHardLinkFuncType) (LPCTSTR lpFileName,
                                                 LPCTSTR lpExistingFileName,
diff --git a/gnu/linkat.c b/gnu/linkat.c
index 48171777..6a4f1a61 100644
--- a/gnu/linkat.c
+++ b/gnu/linkat.c
@@ -1,5 +1,5 @@
 /* Create a hard link relative to open directories.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/localcharset.c b/gnu/localcharset.c
index f16a1a1c..38e27e6f 100644
--- a/gnu/localcharset.c
+++ b/gnu/localcharset.c
@@ -1,6 +1,6 @@
 /* Determine a canonical name for the current locale's character encoding.
 
-   Copyright (C) 2000-2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2006, 2008-2019 Free Software Foundation, Inc.
 
    This 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,6 @@
 /* Specification.  */
 #include "localcharset.h"
 
-#include <fcntl.h>
 #include <stddef.h>
 #include <stdio.h>
 #include <string.h>
@@ -32,7 +31,7 @@
 # define DARWIN7 /* Darwin 7 or newer, i.e. Mac OS X 10.3 or newer */
 #endif
 
-#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+#if defined _WIN32 && !defined __CYGWIN__
 # define WINDOWS_NATIVE
 # include <locale.h>
 #endif
@@ -45,11 +44,10 @@
 #endif
 
 #if !defined WINDOWS_NATIVE
-# include <unistd.h>
 # if HAVE_LANGINFO_CODESET
 #  include <langinfo.h>
 # else
-#  if 0 /* see comment below */
+#  if 0 /* see comment regarding use of setlocale(), below */
 #   include <locale.h>
 #  endif
 # endif
@@ -71,321 +69,613 @@
 # include <xlocale.h>
 #endif
 
-#if ENABLE_RELOCATABLE
-# include "relocatable.h"
-#else
-# define relocate(pathname) (pathname)
-# define relocate2(pathname,allocatedp) (*(allocatedp) = NULL, (pathname))
-#endif
-
-/* Get LIBDIR.  */
-#ifndef LIBDIR
-# include "configmake.h"
-#endif
-
-/* Define O_NOFOLLOW to 0 on platforms where it does not exist.  */
-#ifndef O_NOFOLLOW
-# define O_NOFOLLOW 0
-#endif
-
-#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
-  /* Native Windows, Cygwin, OS/2, DOS */
-# define ISSLASH(C) ((C) == '/' || (C) == '\\')
-#endif
 
-#ifndef DIRECTORY_SEPARATOR
-# define DIRECTORY_SEPARATOR '/'
-#endif
+#if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2
 
-#ifndef ISSLASH
-# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
-#endif
+/* On these platforms, we use a mapping from non-canonical encoding name
+   to GNU canonical encoding name.  */
 
-#if HAVE_DECL_GETC_UNLOCKED
-# undef getc
-# define getc getc_unlocked
-#endif
+/* With glibc-2.1 or newer, we don't need any canonicalization,
+   because glibc has iconv and both glibc and libiconv support all
+   GNU canonical names directly.  */
+# if !((defined __GNU_LIBRARY__ && __GLIBC__ >= 2) || defined __UCLIBC__)
 
-/* The following static variable is declared 'volatile' to avoid a
-   possible multithread problem in the function get_charset_aliases. If we
-   are running in a threaded environment, and if two threads initialize
-   'charset_aliases' simultaneously, both will produce the same value,
-   and everything will be ok if the two assignments to 'charset_aliases'
-   are atomic. But I don't know what will happen if the two assignments mix.  */
-#if __STDC__ != 1
-# define volatile /* empty */
-#endif
-/* Pointer to the contents of the charset.alias file, if it has already been
-   read, else NULL.  Its format is:
-   ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0'  */
-static const char * volatile charset_aliases;
-
-/* Return a pointer to the contents of the charset.alias file.  */
-static const char *
-get_charset_aliases (void)
+struct table_entry
 {
-  const char *cp;
-
-  cp = charset_aliases;
-  if (cp == NULL)
-    {
-#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined __CYGWIN__ || defined OS2)
-      char *malloc_dir = NULL;
-      const char *dir;
-      const char *base = "charset.alias";
-      char *file_name;
-
-      /* Make it possible to override the charset.alias location.  This is
-         necessary for running the testsuite before "make install".  */
-      dir = getenv ("CHARSETALIASDIR");
-      if (dir == NULL || dir[0] == '\0')
-        dir = relocate2 (LIBDIR, &malloc_dir);
-
-      /* Concatenate dir and base into freshly allocated file_name.  */
-      {
-        size_t dir_len = strlen (dir);
-        size_t base_len = strlen (base);
-        int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
-        file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
-        if (file_name != NULL)
-          {
-            memcpy (file_name, dir, dir_len);
-            if (add_slash)
-              file_name[dir_len] = DIRECTORY_SEPARATOR;
-            memcpy (file_name + dir_len + add_slash, base, base_len + 1);
-          }
-      }
-
-      free (malloc_dir);
-
-      if (file_name == NULL)
-        /* Out of memory.  Treat the file as empty.  */
-        cp = "";
-      else
-        {
-          int fd;
-
-          /* Open the file.  Reject symbolic links on platforms that support
-             O_NOFOLLOW.  This is a security feature.  Without it, an attacker
-             could retrieve parts of the contents (namely, the tail of the
-             first line that starts with "* ") of an arbitrary file by placing
-             a symbolic link to that file under the name "charset.alias" in
-             some writable directory and defining the environment variable
-             CHARSETALIASDIR to point to that directory.  */
-          fd = open (file_name,
-                     O_RDONLY | (HAVE_WORKING_O_NOFOLLOW ? O_NOFOLLOW : 0));
-          if (fd < 0)
-            /* File not found.  Treat it as empty.  */
-            cp = "";
-          else
-            {
-              FILE *fp;
-
-              fp = fdopen (fd, "r");
-              if (fp == NULL)
-                {
-                  /* Out of memory.  Treat the file as empty.  */
-                  close (fd);
-                  cp = "";
-                }
-              else
-                {
-                  /* Parse the file's contents.  */
-                  char *res_ptr = NULL;
-                  size_t res_size = 0;
-
-                  for (;;)
-                    {
-                      int c;
-                      char buf1[50+1];
-                      char buf2[50+1];
-                      size_t l1, l2;
-                      char *old_res_ptr;
-
-                      c = getc (fp);
-                      if (c == EOF)
-                        break;
-                      if (c == '\n' || c == ' ' || c == '\t')
-                        continue;
-                      if (c == '#')
-                        {
-                          /* Skip comment, to end of line.  */
-                          do
-                            c = getc (fp);
-                          while (!(c == EOF || c == '\n'));
-                          if (c == EOF)
-                            break;
-                          continue;
-                        }
-                      ungetc (c, fp);
-                      if (fscanf (fp, "%50s %50s", buf1, buf2) < 2)
-                        break;
-                      l1 = strlen (buf1);
-                      l2 = strlen (buf2);
-                      old_res_ptr = res_ptr;
-                      if (res_size == 0)
-                        {
-                          res_size = l1 + 1 + l2 + 1;
-                          res_ptr = (char *) malloc (res_size + 1);
-                        }
-                      else
-                        {
-                          res_size += l1 + 1 + l2 + 1;
-                          res_ptr = (char *) realloc (res_ptr, res_size + 1);
-                        }
-                      if (res_ptr == NULL)
-                        {
-                          /* Out of memory. */
-                          res_size = 0;
-                          free (old_res_ptr);
-                          break;
-                        }
-                      strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
-                      strcpy (res_ptr + res_size - (l2 + 1), buf2);
-                    }
-                  fclose (fp);
-                  if (res_size == 0)
-                    cp = "";
-                  else
-                    {
-                      *(res_ptr + res_size) = '\0';
-                      cp = res_ptr;
-                    }
-                }
-            }
+  const char alias[11+1];
+  const char canonical[11+1];
+};
+
+/* Table of platform-dependent mappings, sorted in ascending order.  */
+static const struct table_entry alias_table[] =
+  {
+#  if defined __FreeBSD__                                   /* FreeBSD */
+  /*{ "ARMSCII-8",  "ARMSCII-8" },*/
+    { "Big5",       "BIG5" },
+    { "C",          "ASCII" },
+  /*{ "CP1131",     "CP1131" },*/
+  /*{ "CP1251",     "CP1251" },*/
+  /*{ "CP866",      "CP866" },*/
+  /*{ "GB18030",    "GB18030" },*/
+  /*{ "GB2312",     "GB2312" },*/
+  /*{ "GBK",        "GBK" },*/
+  /*{ "ISCII-DEV",  "?" },*/
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-13", "ISO-8859-13" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-9",  "ISO-8859-9" },
+  /*{ "KOI8-R",     "KOI8-R" },*/
+  /*{ "KOI8-U",     "KOI8-U" },*/
+    { "SJIS",       "SHIFT_JIS" },
+    { "US-ASCII",   "ASCII" },
+    { "eucCN",      "GB2312" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" }
+#   define alias_table_defined
+#  endif
+#  if defined __NetBSD__                                    /* NetBSD */
+    { "646",        "ASCII" },
+  /*{ "ARMSCII-8",  "ARMSCII-8" },*/
+  /*{ "BIG5",       "BIG5" },*/
+    { "Big5-HKSCS", "BIG5-HKSCS" },
+  /*{ "CP1251",     "CP1251" },*/
+  /*{ "CP866",      "CP866" },*/
+  /*{ "GB18030",    "GB18030" },*/
+  /*{ "GB2312",     "GB2312" },*/
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-13", "ISO-8859-13" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-4",  "ISO-8859-4" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+  /*{ "KOI8-R",     "KOI8-R" },*/
+  /*{ "KOI8-U",     "KOI8-U" },*/
+  /*{ "PT154",      "PT154" },*/
+    { "SJIS",       "SHIFT_JIS" },
+    { "eucCN",      "GB2312" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" },
+    { "eucTW",      "EUC-TW" }
+#   define alias_table_defined
+#  endif
+#  if defined __OpenBSD__                                   /* OpenBSD */
+    { "646",        "ASCII" },
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-13", "ISO-8859-13" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-4",  "ISO-8859-4" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" }
+#   define alias_table_defined
+#  endif
+#  if defined __APPLE__ && defined __MACH__                 /* Mac OS X */
+    /* Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is
+       useless:
+       - It returns the empty string when LANG is set to a locale of the
+         form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
+         LC_CTYPE file.
+       - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
+         the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
+       - The documentation says:
+           "... all code that calls BSD system routines should ensure
+            that the const *char parameters of these routines are in UTF-8
+            encoding. All BSD system functions expect their string
+            parameters to be in UTF-8 encoding and nothing else."
+         It also says
+           "An additional caveat is that string parameters for files,
+            paths, and other file-system entities must be in canonical
+            UTF-8. In a canonical UTF-8 Unicode string, all decomposable
+            characters are decomposed ..."
+         but this is not true: You can pass non-decomposed UTF-8 strings
+         to file system functions, and it is the OS which will convert
+         them to decomposed UTF-8 before accessing the file system.
+       - The Apple Terminal application displays UTF-8 by default.
+       - However, other applications are free to use different encodings:
+         - xterm uses ISO-8859-1 by default.
+         - TextEdit uses MacRoman by default.
+       We prefer UTF-8 over decomposed UTF-8-MAC because one should
+       minimize the use of decomposed Unicode. Unfortunately, through the
+       Darwin file system, decomposed UTF-8 strings are leaked into user
+       space nevertheless.
+       Then there are also the locales with encodings other than US-ASCII
+       and UTF-8. These locales can be occasionally useful to users (e.g.
+       when grepping through ISO-8859-1 encoded text files), when all their
+       file names are in US-ASCII.
+     */
+    { "ARMSCII-8",  "ARMSCII-8" },
+    { "Big5",       "BIG5" },
+    { "Big5HKSCS",  "BIG5-HKSCS" },
+    { "CP1131",     "CP1131" },
+    { "CP1251",     "CP1251" },
+    { "CP866",      "CP866" },
+    { "CP949",      "CP949" },
+    { "GB18030",    "GB18030" },
+    { "GB2312",     "GB2312" },
+    { "GBK",        "GBK" },
+  /*{ "ISCII-DEV",  "?" },*/
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-13", "ISO-8859-13" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-4",  "ISO-8859-4" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-9",  "ISO-8859-9" },
+    { "KOI8-R",     "KOI8-R" },
+    { "KOI8-U",     "KOI8-U" },
+    { "PT154",      "PT154" },
+    { "SJIS",       "SHIFT_JIS" },
+    { "eucCN",      "GB2312" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" }
+#   define alias_table_defined
+#  endif
+#  if defined _AIX                                          /* AIX */
+  /*{ "GBK",        "GBK" },*/
+    { "IBM-1046",   "CP1046" },
+    { "IBM-1124",   "CP1124" },
+    { "IBM-1129",   "CP1129" },
+    { "IBM-1252",   "CP1252" },
+    { "IBM-850",    "CP850" },
+    { "IBM-856",    "CP856" },
+    { "IBM-921",    "ISO-8859-13" },
+    { "IBM-922",    "CP922" },
+    { "IBM-932",    "CP932" },
+    { "IBM-943",    "CP943" },
+    { "IBM-eucCN",  "GB2312" },
+    { "IBM-eucJP",  "EUC-JP" },
+    { "IBM-eucKR",  "EUC-KR" },
+    { "IBM-eucTW",  "EUC-TW" },
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-6",  "ISO-8859-6" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-8",  "ISO-8859-8" },
+    { "ISO8859-9",  "ISO-8859-9" },
+    { "TIS-620",    "TIS-620" },
+  /*{ "UTF-8",      "UTF-8" },*/
+    { "big5",       "BIG5" }
+#   define alias_table_defined
+#  endif
+#  if defined __hpux                                        /* HP-UX */
+    { "SJIS",      "SHIFT_JIS" },
+    { "arabic8",   "HP-ARABIC8" },
+    { "big5",      "BIG5" },
+    { "cp1251",    "CP1251" },
+    { "eucJP",     "EUC-JP" },
+    { "eucKR",     "EUC-KR" },
+    { "eucTW",     "EUC-TW" },
+    { "gb18030",   "GB18030" },
+    { "greek8",    "HP-GREEK8" },
+    { "hebrew8",   "HP-HEBREW8" },
+    { "hkbig5",    "BIG5-HKSCS" },
+    { "hp15CN",    "GB2312" },
+    { "iso88591",  "ISO-8859-1" },
+    { "iso885913", "ISO-8859-13" },
+    { "iso885915", "ISO-8859-15" },
+    { "iso88592",  "ISO-8859-2" },
+    { "iso88594",  "ISO-8859-4" },
+    { "iso88595",  "ISO-8859-5" },
+    { "iso88596",  "ISO-8859-6" },
+    { "iso88597",  "ISO-8859-7" },
+    { "iso88598",  "ISO-8859-8" },
+    { "iso88599",  "ISO-8859-9" },
+    { "kana8",     "HP-KANA8" },
+    { "koi8r",     "KOI8-R" },
+    { "roman8",    "HP-ROMAN8" },
+    { "tis620",    "TIS-620" },
+    { "turkish8",  "HP-TURKISH8" },
+    { "utf8",      "UTF-8" }
+#   define alias_table_defined
+#  endif
+#  if defined __sgi                                         /* IRIX */
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-9",  "ISO-8859-9" },
+    { "eucCN",      "GB2312" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" },
+    { "eucTW",      "EUC-TW" }
+#   define alias_table_defined
+#  endif
+#  if defined __osf__                                       /* OSF/1 */
+  /*{ "GBK",        "GBK" },*/
+    { "ISO8859-1",  "ISO-8859-1" },
+    { "ISO8859-15", "ISO-8859-15" },
+    { "ISO8859-2",  "ISO-8859-2" },
+    { "ISO8859-4",  "ISO-8859-4" },
+    { "ISO8859-5",  "ISO-8859-5" },
+    { "ISO8859-7",  "ISO-8859-7" },
+    { "ISO8859-8",  "ISO-8859-8" },
+    { "ISO8859-9",  "ISO-8859-9" },
+    { "KSC5601",    "CP949" },
+    { "SJIS",       "SHIFT_JIS" },
+    { "TACTIS",     "TIS-620" },
+  /*{ "UTF-8",      "UTF-8" },*/
+    { "big5",       "BIG5" },
+    { "cp850",      "CP850" },
+    { "dechanyu",   "DEC-HANYU" },
+    { "dechanzi",   "GB2312" },
+    { "deckanji",   "DEC-KANJI" },
+    { "deckorean",  "EUC-KR" },
+    { "eucJP",      "EUC-JP" },
+    { "eucKR",      "EUC-KR" },
+    { "eucTW",      "EUC-TW" },
+    { "sdeckanji",  "EUC-JP" }
+#   define alias_table_defined
+#  endif
+#  if defined __sun                                         /* Solaris */
+    { "5601",        "EUC-KR" },
+    { "646",         "ASCII" },
+  /*{ "BIG5",        "BIG5" },*/
+    { "Big5-HKSCS",  "BIG5-HKSCS" },
+    { "GB18030",     "GB18030" },
+  /*{ "GBK",         "GBK" },*/
+    { "ISO8859-1",   "ISO-8859-1" },
+    { "ISO8859-11",  "TIS-620" },
+    { "ISO8859-13",  "ISO-8859-13" },
+    { "ISO8859-15",  "ISO-8859-15" },
+    { "ISO8859-2",   "ISO-8859-2" },
+    { "ISO8859-3",   "ISO-8859-3" },
+    { "ISO8859-4",   "ISO-8859-4" },
+    { "ISO8859-5",   "ISO-8859-5" },
+    { "ISO8859-6",   "ISO-8859-6" },
+    { "ISO8859-7",   "ISO-8859-7" },
+    { "ISO8859-8",   "ISO-8859-8" },
+    { "ISO8859-9",   "ISO-8859-9" },
+    { "PCK",         "SHIFT_JIS" },
+    { "TIS620.2533", "TIS-620" },
+  /*{ "UTF-8",       "UTF-8" },*/
+    { "ansi-1251",   "CP1251" },
+    { "cns11643",    "EUC-TW" },
+    { "eucJP",       "EUC-JP" },
+    { "gb2312",      "GB2312" },
+    { "koi8-r",      "KOI8-R" }
+#   define alias_table_defined
+#  endif
+#  if defined __minix                                       /* Minix */
+    { "646", "ASCII" }
+#   define alias_table_defined
+#  endif
+#  if defined WINDOWS_NATIVE || defined __CYGWIN__          /* Windows */
+    { "CP1361",  "JOHAB" },
+    { "CP20127", "ASCII" },
+    { "CP20866", "KOI8-R" },
+    { "CP20936", "GB2312" },
+    { "CP21866", "KOI8-RU" },
+    { "CP28591", "ISO-8859-1" },
+    { "CP28592", "ISO-8859-2" },
+    { "CP28593", "ISO-8859-3" },
+    { "CP28594", "ISO-8859-4" },
+    { "CP28595", "ISO-8859-5" },
+    { "CP28596", "ISO-8859-6" },
+    { "CP28597", "ISO-8859-7" },
+    { "CP28598", "ISO-8859-8" },
+    { "CP28599", "ISO-8859-9" },
+    { "CP28605", "ISO-8859-15" },
+    { "CP38598", "ISO-8859-8" },
+    { "CP51932", "EUC-JP" },
+    { "CP51936", "GB2312" },
+    { "CP51949", "EUC-KR" },
+    { "CP51950", "EUC-TW" },
+    { "CP54936", "GB18030" },
+    { "CP65001", "UTF-8" },
+    { "CP936",   "GBK" }
+#   define alias_table_defined
+#  endif
+#  if defined OS2                                           /* OS/2 */
+    /* The list of encodings is taken from "List of OS/2 Codepages"
+       by Alex Taylor:
+       <http://altsan.org/os2/toolkits/uls/index.html#codepages>.
+       See also "IBM Globalization - Code page identifiers":
+       <https://www-01.ibm.com/software/globalization/cp/cp_cpgid.html>.  */
+    { "CP1089", "ISO-8859-6" },
+    { "CP1208", "UTF-8" },
+    { "CP1381", "GB2312" },
+    { "CP1386", "GBK" },
+    { "CP3372", "EUC-JP" },
+    { "CP813",  "ISO-8859-7" },
+    { "CP819",  "ISO-8859-1" },
+    { "CP878",  "KOI8-R" },
+    { "CP912",  "ISO-8859-2" },
+    { "CP913",  "ISO-8859-3" },
+    { "CP914",  "ISO-8859-4" },
+    { "CP915",  "ISO-8859-5" },
+    { "CP916",  "ISO-8859-8" },
+    { "CP920",  "ISO-8859-9" },
+    { "CP921",  "ISO-8859-13" },
+    { "CP923",  "ISO-8859-15" },
+    { "CP954",  "EUC-JP" },
+    { "CP964",  "EUC-TW" },
+    { "CP970",  "EUC-KR" }
+#   define alias_table_defined
+#  endif
+#  if defined VMS                                           /* OpenVMS */
+    /* The list of encodings is taken from the OpenVMS 7.3-1 documentation
+       "Compaq C Run-Time Library Reference Manual for OpenVMS systems"
+       section 10.7 "Handling Different Character Sets".  */
+    { "DECHANYU",  "DEC-HANYU" },
+    { "DECHANZI",  "GB2312" },
+    { "DECKANJI",  "DEC-KANJI" },
+    { "DECKOREAN", "EUC-KR" },
+    { "ISO8859-1", "ISO-8859-1" },
+    { "ISO8859-2", "ISO-8859-2" },
+    { "ISO8859-5", "ISO-8859-5" },
+    { "ISO8859-7", "ISO-8859-7" },
+    { "ISO8859-8", "ISO-8859-8" },
+    { "ISO8859-9", "ISO-8859-9" },
+    { "SDECKANJI", "EUC-JP" },
+    { "SJIS",      "SHIFT_JIS" },
+    { "eucJP",     "EUC-JP" },
+    { "eucTW",     "EUC-TW" }
+#   define alias_table_defined
+#  endif
+#  ifndef alias_table_defined
+    /* Just a dummy entry, to avoid a C syntax error.  */
+    { "", "" }
+#  endif
+  };
 
-          free (file_name);
-        }
+# endif
 
 #else
 
-# if defined DARWIN7
-      /* To avoid the trouble of installing a file that is shared by many
-         GNU packages -- many packaging systems have problems with this --,
-         simply inline the aliases here.  */
-      cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
-           "ISO8859-2" "\0" "ISO-8859-2" "\0"
-           "ISO8859-4" "\0" "ISO-8859-4" "\0"
-           "ISO8859-5" "\0" "ISO-8859-5" "\0"
-           "ISO8859-7" "\0" "ISO-8859-7" "\0"
-           "ISO8859-9" "\0" "ISO-8859-9" "\0"
-           "ISO8859-13" "\0" "ISO-8859-13" "\0"
-           "ISO8859-15" "\0" "ISO-8859-15" "\0"
-           "KOI8-R" "\0" "KOI8-R" "\0"
-           "KOI8-U" "\0" "KOI8-U" "\0"
-           "CP866" "\0" "CP866" "\0"
-           "CP949" "\0" "CP949" "\0"
-           "CP1131" "\0" "CP1131" "\0"
-           "CP1251" "\0" "CP1251" "\0"
-           "eucCN" "\0" "GB2312" "\0"
-           "GB2312" "\0" "GB2312" "\0"
-           "eucJP" "\0" "EUC-JP" "\0"
-           "eucKR" "\0" "EUC-KR" "\0"
-           "Big5" "\0" "BIG5" "\0"
-           "Big5HKSCS" "\0" "BIG5-HKSCS" "\0"
-           "GBK" "\0" "GBK" "\0"
-           "GB18030" "\0" "GB18030" "\0"
-           "SJIS" "\0" "SHIFT_JIS" "\0"
-           "ARMSCII-8" "\0" "ARMSCII-8" "\0"
-           "PT154" "\0" "PT154" "\0"
-         /*"ISCII-DEV" "\0" "?" "\0"*/
-           "*" "\0" "UTF-8" "\0";
-# endif
+/* On these platforms, we use a mapping from locale name to GNU canonical
+   encoding name.  */
 
-# if defined VMS
-      /* To avoid the troubles of an extra file charset.alias_vms in the
-         sources of many GNU packages, simply inline the aliases here.  */
-      /* The list of encodings is taken from the OpenVMS 7.3-1 documentation
-         "Compaq C Run-Time Library Reference Manual for OpenVMS systems"
-         section 10.7 "Handling Different Character Sets".  */
-      cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
-           "ISO8859-2" "\0" "ISO-8859-2" "\0"
-           "ISO8859-5" "\0" "ISO-8859-5" "\0"
-           "ISO8859-7" "\0" "ISO-8859-7" "\0"
-           "ISO8859-8" "\0" "ISO-8859-8" "\0"
-           "ISO8859-9" "\0" "ISO-8859-9" "\0"
-           /* Japanese */
-           "eucJP" "\0" "EUC-JP" "\0"
-           "SJIS" "\0" "SHIFT_JIS" "\0"
-           "DECKANJI" "\0" "DEC-KANJI" "\0"
-           "SDECKANJI" "\0" "EUC-JP" "\0"
-           /* Chinese */
-           "eucTW" "\0" "EUC-TW" "\0"
-           "DECHANYU" "\0" "DEC-HANYU" "\0"
-           "DECHANZI" "\0" "GB2312" "\0"
-           /* Korean */
-           "DECKOREAN" "\0" "EUC-KR" "\0";
+struct table_entry
+{
+  const char locale[17+1];
+  const char canonical[11+1];
+};
+
+/* Table of platform-dependent mappings, sorted in ascending order.  */
+static const struct table_entry locale_table[] =
+  {
+# if defined __FreeBSD__                                    /* FreeBSD 4.2 */
+    { "cs_CZ.ISO_8859-2",  "ISO-8859-2" },
+    { "da_DK.DIS_8859-15", "ISO-8859-15" },
+    { "da_DK.ISO_8859-1",  "ISO-8859-1" },
+    { "de_AT.DIS_8859-15", "ISO-8859-15" },
+    { "de_AT.ISO_8859-1",  "ISO-8859-1" },
+    { "de_CH.DIS_8859-15", "ISO-8859-15" },
+    { "de_CH.ISO_8859-1",  "ISO-8859-1" },
+    { "de_DE.DIS_8859-15", "ISO-8859-15" },
+    { "de_DE.ISO_8859-1",  "ISO-8859-1" },
+    { "en_AU.DIS_8859-15", "ISO-8859-15" },
+    { "en_AU.ISO_8859-1",  "ISO-8859-1" },
+    { "en_CA.DIS_8859-15", "ISO-8859-15" },
+    { "en_CA.ISO_8859-1",  "ISO-8859-1" },
+    { "en_GB.DIS_8859-15", "ISO-8859-15" },
+    { "en_GB.ISO_8859-1",  "ISO-8859-1" },
+    { "en_US.DIS_8859-15", "ISO-8859-15" },
+    { "en_US.ISO_8859-1",  "ISO-8859-1" },
+    { "es_ES.DIS_8859-15", "ISO-8859-15" },
+    { "es_ES.ISO_8859-1",  "ISO-8859-1" },
+    { "fi_FI.DIS_8859-15", "ISO-8859-15" },
+    { "fi_FI.ISO_8859-1",  "ISO-8859-1" },
+    { "fr_BE.DIS_8859-15", "ISO-8859-15" },
+    { "fr_BE.ISO_8859-1",  "ISO-8859-1" },
+    { "fr_CA.DIS_8859-15", "ISO-8859-15" },
+    { "fr_CA.ISO_8859-1",  "ISO-8859-1" },
+    { "fr_CH.DIS_8859-15", "ISO-8859-15" },
+    { "fr_CH.ISO_8859-1",  "ISO-8859-1" },
+    { "fr_FR.DIS_8859-15", "ISO-8859-15" },
+    { "fr_FR.ISO_8859-1",  "ISO-8859-1" },
+    { "hr_HR.ISO_8859-2",  "ISO-8859-2" },
+    { "hu_HU.ISO_8859-2",  "ISO-8859-2" },
+    { "is_IS.DIS_8859-15", "ISO-8859-15" },
+    { "is_IS.ISO_8859-1",  "ISO-8859-1" },
+    { "it_CH.DIS_8859-15", "ISO-8859-15" },
+    { "it_CH.ISO_8859-1",  "ISO-8859-1" },
+    { "it_IT.DIS_8859-15", "ISO-8859-15" },
+    { "it_IT.ISO_8859-1",  "ISO-8859-1" },
+    { "ja_JP.EUC",         "EUC-JP" },
+    { "ja_JP.SJIS",        "SHIFT_JIS" },
+    { "ja_JP.Shift_JIS",   "SHIFT_JIS" },
+    { "ko_KR.EUC",         "EUC-KR" },
+    { "la_LN.ASCII",       "ASCII" },
+    { "la_LN.DIS_8859-15", "ISO-8859-15" },
+    { "la_LN.ISO_8859-1",  "ISO-8859-1" },
+    { "la_LN.ISO_8859-2",  "ISO-8859-2" },
+    { "la_LN.ISO_8859-4",  "ISO-8859-4" },
+    { "lt_LN.ASCII",       "ASCII" },
+    { "lt_LN.DIS_8859-15", "ISO-8859-15" },
+    { "lt_LN.ISO_8859-1",  "ISO-8859-1" },
+    { "lt_LN.ISO_8859-2",  "ISO-8859-2" },
+    { "lt_LT.ISO_8859-4",  "ISO-8859-4" },
+    { "nl_BE.DIS_8859-15", "ISO-8859-15" },
+    { "nl_BE.ISO_8859-1",  "ISO-8859-1" },
+    { "nl_NL.DIS_8859-15", "ISO-8859-15" },
+    { "nl_NL.ISO_8859-1",  "ISO-8859-1" },
+    { "no_NO.DIS_8859-15", "ISO-8859-15" },
+    { "no_NO.ISO_8859-1",  "ISO-8859-1" },
+    { "pl_PL.ISO_8859-2",  "ISO-8859-2" },
+    { "pt_PT.DIS_8859-15", "ISO-8859-15" },
+    { "pt_PT.ISO_8859-1",  "ISO-8859-1" },
+    { "ru_RU.CP866",       "CP866" },
+    { "ru_RU.ISO_8859-5",  "ISO-8859-5" },
+    { "ru_RU.KOI8-R",      "KOI8-R" },
+    { "ru_SU.CP866",       "CP866" },
+    { "ru_SU.ISO_8859-5",  "ISO-8859-5" },
+    { "ru_SU.KOI8-R",      "KOI8-R" },
+    { "sl_SI.ISO_8859-2",  "ISO-8859-2" },
+    { "sv_SE.DIS_8859-15", "ISO-8859-15" },
+    { "sv_SE.ISO_8859-1",  "ISO-8859-1" },
+    { "uk_UA.KOI8-U",      "KOI8-U" },
+    { "zh_CN.EUC",         "GB2312" },
+    { "zh_TW.BIG5",        "BIG5" },
+    { "zh_TW.Big5",        "BIG5" }
+#  define locale_table_defined
 # endif
-
-# 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.  */
-
-      cp = "CP936" "\0" "GBK" "\0"
-           "CP1361" "\0" "JOHAB" "\0"
-           "CP20127" "\0" "ASCII" "\0"
-           "CP20866" "\0" "KOI8-R" "\0"
-           "CP20936" "\0" "GB2312" "\0"
-           "CP21866" "\0" "KOI8-RU" "\0"
-           "CP28591" "\0" "ISO-8859-1" "\0"
-           "CP28592" "\0" "ISO-8859-2" "\0"
-           "CP28593" "\0" "ISO-8859-3" "\0"
-           "CP28594" "\0" "ISO-8859-4" "\0"
-           "CP28595" "\0" "ISO-8859-5" "\0"
-           "CP28596" "\0" "ISO-8859-6" "\0"
-           "CP28597" "\0" "ISO-8859-7" "\0"
-           "CP28598" "\0" "ISO-8859-8" "\0"
-           "CP28599" "\0" "ISO-8859-9" "\0"
-           "CP28605" "\0" "ISO-8859-15" "\0"
-           "CP38598" "\0" "ISO-8859-8" "\0"
-           "CP51932" "\0" "EUC-JP" "\0"
-           "CP51936" "\0" "GB2312" "\0"
-           "CP51949" "\0" "EUC-KR" "\0"
-           "CP51950" "\0" "EUC-TW" "\0"
-           "CP54936" "\0" "GB18030" "\0"
-           "CP65001" "\0" "UTF-8" "\0";
+# if defined __DJGPP__                                      /* DOS / DJGPP 2.03 */
+    /* The encodings given here may not all be correct.
+       If you find that the encoding given for your language and
+       country is not the one your DOS machine actually uses, just
+       correct it in this file, and send a mail to
+       Juan Manuel Guerrero <juan.guerrero@gmx.de>
+       and <bug-gnulib@gnu.org>.  */
+    { "C",     "ASCII" },
+    { "ar",    "CP864" },
+    { "ar_AE", "CP864" },
+    { "ar_DZ", "CP864" },
+    { "ar_EG", "CP864" },
+    { "ar_IQ", "CP864" },
+    { "ar_IR", "CP864" },
+    { "ar_JO", "CP864" },
+    { "ar_KW", "CP864" },
+    { "ar_MA", "CP864" },
+    { "ar_OM", "CP864" },
+    { "ar_QA", "CP864" },
+    { "ar_SA", "CP864" },
+    { "ar_SY", "CP864" },
+    { "be",    "CP866" },
+    { "be_BE", "CP866" },
+    { "bg",    "CP866" }, /* not CP855 ?? */
+    { "bg_BG", "CP866" }, /* not CP855 ?? */
+    { "ca",    "CP850" },
+    { "ca_ES", "CP850" },
+    { "cs",    "CP852" },
+    { "cs_CZ", "CP852" },
+    { "da",    "CP865" }, /* not CP850 ?? */
+    { "da_DK", "CP865" }, /* not CP850 ?? */
+    { "de",    "CP850" },
+    { "de_AT", "CP850" },
+    { "de_CH", "CP850" },
+    { "de_DE", "CP850" },
+    { "el",    "CP869" },
+    { "el_GR", "CP869" },
+    { "en",    "CP850" },
+    { "en_AU", "CP850" }, /* not CP437 ?? */
+    { "en_CA", "CP850" },
+    { "en_GB", "CP850" },
+    { "en_NZ", "CP437" },
+    { "en_US", "CP437" },
+    { "en_ZA", "CP850" }, /* not CP437 ?? */
+    { "eo",    "CP850" },
+    { "eo_EO", "CP850" },
+    { "es",    "CP850" },
+    { "es_AR", "CP850" },
+    { "es_BO", "CP850" },
+    { "es_CL", "CP850" },
+    { "es_CO", "CP850" },
+    { "es_CR", "CP850" },
+    { "es_CU", "CP850" },
+    { "es_DO", "CP850" },
+    { "es_EC", "CP850" },
+    { "es_ES", "CP850" },
+    { "es_GT", "CP850" },
+    { "es_HN", "CP850" },
+    { "es_MX", "CP850" },
+    { "es_NI", "CP850" },
+    { "es_PA", "CP850" },
+    { "es_PE", "CP850" },
+    { "es_PY", "CP850" },
+    { "es_SV", "CP850" },
+    { "es_UY", "CP850" },
+    { "es_VE", "CP850" },
+    { "et",    "CP850" },
+    { "et_EE", "CP850" },
+    { "eu",    "CP850" },
+    { "eu_ES", "CP850" },
+    { "fi",    "CP850" },
+    { "fi_FI", "CP850" },
+    { "fr",    "CP850" },
+    { "fr_BE", "CP850" },
+    { "fr_CA", "CP850" },
+    { "fr_CH", "CP850" },
+    { "fr_FR", "CP850" },
+    { "ga",    "CP850" },
+    { "ga_IE", "CP850" },
+    { "gd",    "CP850" },
+    { "gd_GB", "CP850" },
+    { "gl",    "CP850" },
+    { "gl_ES", "CP850" },
+    { "he",    "CP862" },
+    { "he_IL", "CP862" },
+    { "hr",    "CP852" },
+    { "hr_HR", "CP852" },
+    { "hu",    "CP852" },
+    { "hu_HU", "CP852" },
+    { "id",    "CP850" }, /* not CP437 ?? */
+    { "id_ID", "CP850" }, /* not CP437 ?? */
+    { "is",    "CP861" }, /* not CP850 ?? */
+    { "is_IS", "CP861" }, /* not CP850 ?? */
+    { "it",    "CP850" },
+    { "it_CH", "CP850" },
+    { "it_IT", "CP850" },
+    { "ja",    "CP932" },
+    { "ja_JP", "CP932" },
+    { "kr",    "CP949" }, /* not CP934 ?? */
+    { "kr_KR", "CP949" }, /* not CP934 ?? */
+    { "lt",    "CP775" },
+    { "lt_LT", "CP775" },
+    { "lv",    "CP775" },
+    { "lv_LV", "CP775" },
+    { "mk",    "CP866" }, /* not CP855 ?? */
+    { "mk_MK", "CP866" }, /* not CP855 ?? */
+    { "mt",    "CP850" },
+    { "mt_MT", "CP850" },
+    { "nb",    "CP865" }, /* not CP850 ?? */
+    { "nb_NO", "CP865" }, /* not CP850 ?? */
+    { "nl",    "CP850" },
+    { "nl_BE", "CP850" },
+    { "nl_NL", "CP850" },
+    { "nn",    "CP865" }, /* not CP850 ?? */
+    { "nn_NO", "CP865" }, /* not CP850 ?? */
+    { "no",    "CP865" }, /* not CP850 ?? */
+    { "no_NO", "CP865" }, /* not CP850 ?? */
+    { "pl",    "CP852" },
+    { "pl_PL", "CP852" },
+    { "pt",    "CP850" },
+    { "pt_BR", "CP850" },
+    { "pt_PT", "CP850" },
+    { "ro",    "CP852" },
+    { "ro_RO", "CP852" },
+    { "ru",    "CP866" },
+    { "ru_RU", "CP866" },
+    { "sk",    "CP852" },
+    { "sk_SK", "CP852" },
+    { "sl",    "CP852" },
+    { "sl_SI", "CP852" },
+    { "sq",    "CP852" },
+    { "sq_AL", "CP852" },
+    { "sr",    "CP852" }, /* CP852 or CP866 or CP855 ?? */
+    { "sr_CS", "CP852" }, /* CP852 or CP866 or CP855 ?? */
+    { "sr_YU", "CP852" }, /* CP852 or CP866 or CP855 ?? */
+    { "sv",    "CP850" },
+    { "sv_SE", "CP850" },
+    { "th",    "CP874" },
+    { "th_TH", "CP874" },
+    { "tr",    "CP857" },
+    { "tr_TR", "CP857" },
+    { "uk",    "CP1125" },
+    { "uk_UA", "CP1125" },
+    { "zh_CN", "GBK" },
+    { "zh_TW", "CP950" } /* not CP938 ?? */
+#  define locale_table_defined
 # endif
-# if defined OS2
-      /* 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.  */
-
-      /* The list of encodings is taken from "List of OS/2 Codepages"
-         by Alex Taylor:
-         <http://altsan.org/os2/toolkits/uls/index.html#codepages>.
-         See also "IBM Globalization - Code page identifiers":
-         <https://www-01.ibm.com/software/globalization/cp/cp_cpgid.html>.  */
-      cp = "CP813" "\0" "ISO-8859-7" "\0"
-           "CP878" "\0" "KOI8-R" "\0"
-           "CP819" "\0" "ISO-8859-1" "\0"
-           "CP912" "\0" "ISO-8859-2" "\0"
-           "CP913" "\0" "ISO-8859-3" "\0"
-           "CP914" "\0" "ISO-8859-4" "\0"
-           "CP915" "\0" "ISO-8859-5" "\0"
-           "CP916" "\0" "ISO-8859-8" "\0"
-           "CP920" "\0" "ISO-8859-9" "\0"
-           "CP921" "\0" "ISO-8859-13" "\0"
-           "CP923" "\0" "ISO-8859-15" "\0"
-           "CP954" "\0" "EUC-JP" "\0"
-           "CP964" "\0" "EUC-TW" "\0"
-           "CP970" "\0" "EUC-KR" "\0"
-           "CP1089" "\0" "ISO-8859-6" "\0"
-           "CP1208" "\0" "UTF-8" "\0"
-           "CP1381" "\0" "GB2312" "\0"
-           "CP1386" "\0" "GBK" "\0"
-           "CP3372" "\0" "EUC-JP" "\0";
+# ifndef locale_table_defined
+    /* Just a dummy entry, to avoid a C syntax error.  */
+    { "", "" }
 # endif
-#endif
+  };
 
-      charset_aliases = cp;
-    }
+#endif
 
-  return cp;
-}
 
 /* Determine the current locale's character encoding, and canonicalize it
-   into one of the canonical names listed in config.charset.
+   into one of the canonical names listed in localcharset.h.
    The result must not be freed; it is statically allocated.
    If the canonical name cannot be determined, the result is a non-canonical
    name.  */
@@ -397,9 +687,8 @@ const char *
 locale_charset (void)
 {
   const char *codeset;
-  const char *aliases;
 
-#if !(defined WINDOWS_NATIVE || defined OS2)
+#if HAVE_LANGINFO_CODESET || defined WINDOWS_NATIVE || defined OS2
 
 # if HAVE_LANGINFO_CODESET
 
@@ -462,37 +751,11 @@ locale_charset (void)
     }
 #  endif
 
-# else
-
-  /* On old systems which lack it, use setlocale or getenv.  */
-  const char *locale = NULL;
-
-  /* But most old systems don't have a complete set of locales.  Some
-     (like SunOS 4 or DJGPP) have only the C locale.  Therefore we don't
-     use setlocale here; it would return "C" when it doesn't support the
-     locale name the user has set.  */
-#  if 0
-  locale = setlocale (LC_CTYPE, NULL);
-#  endif
-  if (locale == NULL || locale[0] == '\0')
-    {
-      locale = getenv ("LC_ALL");
-      if (locale == NULL || locale[0] == '\0')
-        {
-          locale = getenv ("LC_CTYPE");
-          if (locale == NULL || locale[0] == '\0')
-            locale = getenv ("LANG");
-        }
-    }
-
-  /* On some old systems, one used to set locale = "iso8859_1". On others,
-     you set it to "language_COUNTRY.charset". In any case, we resolve it
-     through the charset.alias file.  */
-  codeset = locale;
-
-# endif
+  if (codeset == NULL)
+    /* The canonical name cannot be determined.  */
+    codeset = "";
 
-#elif defined WINDOWS_NATIVE
+# elif defined WINDOWS_NATIVE
 
   static char buf[2 + 10 + 1];
 
@@ -526,7 +789,7 @@ locale_charset (void)
     }
   codeset = buf;
 
-#elif defined OS2
+# elif defined OS2
 
   const char *locale;
   static char buf[2 + 10 + 1];
@@ -583,28 +846,144 @@ locale_charset (void)
         }
     }
 
-#endif
+# else
 
-  if (codeset == NULL)
-    /* The canonical name cannot be determined.  */
-    codeset = "";
+#  error "Add code for other platforms here."
 
-  /* Resolve alias. */
-  for (aliases = get_charset_aliases ();
-       *aliases != '\0';
-       aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
-    if (strcmp (codeset, aliases) == 0
-        || (aliases[0] == '*' && aliases[1] == '\0'))
+# endif
+
+  /* Resolve alias.  */
+  {
+# ifdef alias_table_defined
+    /* On some platforms, UTF-8 locales are the most frequently used ones.
+       Speed up the common case and slow down the less common cases by
+       testing for this case first.  */
+#  if defined __OpenBSD__ || (defined __APPLE__ && defined __MACH__) || defined __sun || defined __CYGWIN__
+    if (strcmp (codeset, "UTF-8") == 0)
+      goto done_table_lookup;
+    else
+#  endif
       {
-        codeset = aliases + strlen (aliases) + 1;
-        break;
+        const struct table_entry * const table = alias_table;
+        size_t const table_size =
+          sizeof (alias_table) / sizeof (struct table_entry);
+        /* The table is sorted.  Perform a binary search.  */
+        size_t hi = table_size;
+        size_t lo = 0;
+        while (lo < hi)
+          {
+            /* Invariant:
+               for i < lo, strcmp (table[i].alias, codeset) < 0,
+               for i >= hi, strcmp (table[i].alias, codeset) > 0.  */
+            size_t mid = (hi + lo) >> 1; /* >= lo, < hi */
+            int cmp = strcmp (table[mid].alias, codeset);
+            if (cmp < 0)
+              lo = mid + 1;
+            else if (cmp > 0)
+              hi = mid;
+            else
+              {
+                /* Found an i with
+                     strcmp (table[i].alias, codeset) == 0.  */
+                codeset = table[mid].canonical;
+                goto done_table_lookup;
+              }
+          }
       }
+    if (0)
+      done_table_lookup: ;
+    else
+# endif
+      {
+        /* Did not find it in the table.  */
+        /* On Mac OS X, all modern locales use the UTF-8 encoding.
+           BeOS and Haiku have a single locale, and it has UTF-8 encoding.  */
+# if (defined __APPLE__ && defined __MACH__) || defined __BEOS__ || defined __HAIKU__
+        codeset = "UTF-8";
+# else
+        /* Don't return an empty string.  GNU libc and GNU libiconv interpret
+           the empty string as denoting "the locale's character encoding",
+           thus GNU libiconv would call this function a second time.  */
+        if (codeset[0] == '\0')
+          codeset = "ASCII";
+# endif
+      }
+  }
 
-  /* Don't return an empty string.  GNU libc and GNU libiconv interpret
-     the empty string as denoting "the locale's character encoding",
-     thus GNU libiconv would call this function a second time.  */
-  if (codeset[0] == '\0')
-    codeset = "ASCII";
+#else
+
+  /* On old systems which lack it, use setlocale or getenv.  */
+  const char *locale = NULL;
+
+  /* But most old systems don't have a complete set of locales.  Some
+     (like DJGPP) have only the C locale.  Therefore we don't use setlocale
+     here; it would return "C" when it doesn't support the locale name the
+     user has set.  */
+# if 0
+  locale = setlocale (LC_CTYPE, NULL);
+# endif
+  if (locale == NULL || locale[0] == '\0')
+    {
+      locale = getenv ("LC_ALL");
+      if (locale == NULL || locale[0] == '\0')
+        {
+          locale = getenv ("LC_CTYPE");
+          if (locale == NULL || locale[0] == '\0')
+            locale = getenv ("LANG");
+            if (locale == NULL)
+              locale = "";
+        }
+    }
+
+  /* Map locale name to canonical encoding name.  */
+  {
+# ifdef locale_table_defined
+    const struct table_entry * const table = locale_table;
+    size_t const table_size =
+      sizeof (locale_table) / sizeof (struct table_entry);
+    /* The table is sorted.  Perform a binary search.  */
+    size_t hi = table_size;
+    size_t lo = 0;
+    while (lo < hi)
+      {
+        /* Invariant:
+           for i < lo, strcmp (table[i].locale, locale) < 0,
+           for i >= hi, strcmp (table[i].locale, locale) > 0.  */
+        size_t mid = (hi + lo) >> 1; /* >= lo, < hi */
+        int cmp = strcmp (table[mid].locale, locale);
+        if (cmp < 0)
+          lo = mid + 1;
+        else if (cmp > 0)
+          hi = mid;
+        else
+          {
+            /* Found an i with
+                 strcmp (table[i].locale, locale) == 0.  */
+            codeset = table[mid].canonical;
+            goto done_table_lookup;
+          }
+      }
+    if (0)
+      done_table_lookup: ;
+    else
+# endif
+      {
+        /* Did not find it in the table.  */
+        /* On Mac OS X, all modern locales use the UTF-8 encoding.
+           BeOS and Haiku have a single locale, and it has UTF-8 encoding.  */
+# if (defined __APPLE__ && defined __MACH__) || defined __BEOS__ || defined __HAIKU__
+        codeset = "UTF-8";
+# else
+        /* The canonical name cannot be determined.  */
+        /* Don't return an empty string.  GNU libc and GNU libiconv interpret
+           the empty string as denoting "the locale's character encoding",
+           thus GNU libiconv would call this function a second time.  */
+        codeset = "ASCII";
+# endif
+      }
+  }
+
+#endif
 
 #ifdef DARWIN7
   /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8"
diff --git a/gnu/localcharset.h b/gnu/localcharset.h
index bca429b6..7d0d7711 100644
--- a/gnu/localcharset.h
+++ b/gnu/localcharset.h
@@ -1,5 +1,5 @@
 /* Determine a canonical name for the current locale's character encoding.
-   Copyright (C) 2000-2003, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2009-2019 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
@@ -25,12 +25,106 @@ extern "C" {
 
 
 /* Determine the current locale's character encoding, and canonicalize it
-   into one of the canonical names listed in config.charset.
+   into one of the canonical names listed below.
    The result must not be freed; it is statically allocated.
    If the canonical name cannot be determined, the result is a non-canonical
    name.  */
 extern const char * locale_charset (void);
 
+/* About GNU canonical names for character encodings:
+
+   Every canonical name must be supported by GNU libiconv.  Support by GNU libc
+   is also desirable.
+
+   The name is case insensitive.  Usually an upper case MIME charset name is
+   preferred.
+
+   The current list of these GNU canonical names is:
+
+       name              MIME?             used by which systems
+                                    (darwin = Mac OS X, windows = native Windows)
+
+   ASCII, ANSI_X3.4-1968       glibc solaris freebsd netbsd darwin minix 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
+   ISO-8859-3              Y   glibc solaris cygwin
+   ISO-8859-4              Y   hpux osf solaris freebsd netbsd openbsd darwin
+   ISO-8859-5              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+   ISO-8859-6              Y   glibc aix hpux solaris cygwin
+   ISO-8859-7              Y   glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+   ISO-8859-8              Y   glibc aix hpux osf solaris cygwin
+   ISO-8859-9              Y   glibc aix hpux irix osf solaris freebsd darwin cygwin
+   ISO-8859-13                 glibc hpux solaris freebsd netbsd openbsd darwin cygwin
+   ISO-8859-14                 glibc cygwin
+   ISO-8859-15                 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin
+   KOI8-R                  Y   glibc hpux solaris freebsd netbsd openbsd darwin
+   KOI8-U                  Y   glibc freebsd netbsd openbsd darwin cygwin
+   KOI8-T                      glibc
+   CP437                       dos
+   CP775                       dos
+   CP850                       aix osf dos
+   CP852                       dos
+   CP855                       dos
+   CP856                       aix
+   CP857                       dos
+   CP861                       dos
+   CP862                       dos
+   CP864                       dos
+   CP865                       dos
+   CP866                       freebsd netbsd openbsd darwin dos
+   CP869                       dos
+   CP874                       windows dos
+   CP922                       aix
+   CP932                       aix cygwin windows dos
+   CP943                       aix
+   CP949                       osf darwin windows dos
+   CP950                       windows dos
+   CP1046                      aix
+   CP1124                      aix
+   CP1125                      dos
+   CP1129                      aix
+   CP1131                      freebsd darwin
+   CP1250                      windows
+   CP1251                      glibc hpux solaris freebsd netbsd openbsd darwin cygwin windows
+   CP1252                      aix windows
+   CP1253                      windows
+   CP1254                      windows
+   CP1255                      glibc windows
+   CP1256                      windows
+   CP1257                      windows
+   GB2312                  Y   glibc aix hpux irix solaris freebsd netbsd darwin cygwin
+   EUC-JP                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
+   EUC-KR                  Y   glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
+   EUC-TW                      glibc aix hpux irix osf solaris netbsd
+   BIG5                    Y   glibc aix hpux osf solaris freebsd netbsd darwin cygwin
+   BIG5-HKSCS                  glibc hpux solaris netbsd darwin
+   GBK                         glibc aix osf solaris freebsd darwin cygwin windows dos
+   GB18030                     glibc hpux solaris freebsd netbsd darwin
+   SHIFT_JIS               Y   hpux osf solaris freebsd netbsd darwin
+   JOHAB                       glibc solaris windows
+   TIS-620                     glibc aix hpux osf solaris cygwin
+   VISCII                  Y   glibc
+   TCVN5712-1                  glibc
+   ARMSCII-8                   glibc freebsd netbsd darwin
+   GEORGIAN-PS                 glibc cygwin
+   PT154                       glibc netbsd cygwin
+   HP-ROMAN8                   hpux
+   HP-ARABIC8                  hpux
+   HP-GREEK8                   hpux
+   HP-HEBREW8                  hpux
+   HP-TURKISH8                 hpux
+   HP-KANA8                    hpux
+   DEC-KANJI                   osf
+   DEC-HANYU                   osf
+   UTF-8                   Y   glibc aix hpux osf solaris netbsd darwin cygwin
+
+   Note: Names which are not marked as being a MIME name should not be used in
+   Internet protocols for information interchange (mail, news, etc.).
+
+   Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names.  Applications
+   must understand both names and treat them as equivalent.
+ */
+
 
 #ifdef __cplusplus
 }
diff --git a/gnu/locale.in.h b/gnu/locale.in.h
index 7cb3f88f..5f33ed17 100644
--- a/gnu/locale.in.h
+++ b/gnu/locale.in.h
@@ -1,5 +1,5 @@
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,10 +19,13 @@
 #endif
 @PRAGMA_COLUMNS@
 
-#ifdef _GL_ALREADY_INCLUDING_LOCALE_H
+#if (defined _WIN32 && !defined __CYGWIN__ && defined __need_locale_t) \
+    || defined _GL_ALREADY_INCLUDING_LOCALE_H
 
-/* Special invocation conventions to handle Solaris header files
-   (through Solaris 10) when combined with gettext's libintl.h.  */
+/* Special invocation convention:
+   - Inside mingw header files,
+   - To handle Solaris header files (through Solaris 10) when combined
+     with gettext's libintl.h.  */
 
 #@INCLUDE_NEXT@ @NEXT_LOCALE_H@
 
@@ -187,11 +190,40 @@ _GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
 # endif
 #endif
 
-#if @GNULIB_DUPLOCALE@
+#if /*@GNULIB_NEWLOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_NEWLOCALE@)
+# if @REPLACE_NEWLOCALE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef newlocale
+#   define newlocale rpl_newlocale
+#   define GNULIB_defined_newlocale 1
+#  endif
+_GL_FUNCDECL_RPL (newlocale, locale_t,
+                  (int category_mask, const char *name, locale_t base)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (newlocale, locale_t,
+                  (int category_mask, const char *name, locale_t base));
+# else
+#  if @HAVE_NEWLOCALE@
+_GL_CXXALIAS_SYS (newlocale, locale_t,
+                  (int category_mask, const char *name, locale_t base));
+#  endif
+# endif
+# if @HAVE_NEWLOCALE@
+_GL_CXXALIASWARN (newlocale);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef newlocale
+# if HAVE_RAW_DECL_NEWLOCALE
+_GL_WARN_ON_USE (newlocale, "newlocale is not portable");
+# endif
+#endif
+
+#if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @HAVE_DUPLOCALE@)
 # if @REPLACE_DUPLOCALE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef duplocale
 #   define duplocale rpl_duplocale
+#   define GNULIB_defined_duplocale 1
 #  endif
 _GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
@@ -211,6 +243,30 @@ _GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
 # endif
 #endif
 
+#if /*@GNULIB_FREELOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_FREELOCALE@)
+# if @REPLACE_FREELOCALE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef freelocale
+#   define freelocale rpl_freelocale
+#   define GNULIB_defined_freelocale 1
+#  endif
+_GL_FUNCDECL_RPL (freelocale, void, (locale_t locale) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (freelocale, void, (locale_t locale));
+# else
+#  if @HAVE_FREELOCALE@
+_GL_CXXALIAS_SYS (freelocale, void, (locale_t locale));
+#  endif
+# endif
+# if @HAVE_FREELOCALE@
+_GL_CXXALIASWARN (freelocale);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef freelocale
+# if HAVE_RAW_DECL_FREELOCALE
+_GL_WARN_ON_USE (freelocale, "freelocale is not portable");
+# endif
+#endif
+
 #endif /* _@GUARD_PREFIX@_LOCALE_H */
-#endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */
 #endif /* _@GUARD_PREFIX@_LOCALE_H */
+#endif /* !(__need_locale_t || _GL_ALREADY_INCLUDING_LOCALE_H) */
diff --git a/gnu/localeconv.c b/gnu/localeconv.c
index 4fd3fec7..b5a965f3 100644
--- a/gnu/localeconv.c
+++ b/gnu/localeconv.c
@@ -1,5 +1,5 @@
 /* Query locale dependent information for formatting numbers.
-   Copyright (C) 2012-2017 Free Software Foundation, Inc.
+   Copyright (C) 2012-2019 Free Software Foundation, Inc.
 
    This 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/gnu/localtime-buffer.c b/gnu/localtime-buffer.c
index c96c577a..b65ea45a 100644
--- a/gnu/localtime-buffer.c
+++ b/gnu/localtime-buffer.c
@@ -1,6 +1,6 @@
 /* Provide access to the last buffer returned by localtime() or gmtime().
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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,6 +34,7 @@ struct tm *localtime_buffer_addr = &tm_zero_buffer;
 
 struct tm *
 rpl_localtime (time_t const *timep)
+#undef localtime
 {
   struct tm *tm = localtime (timep);
 
@@ -46,6 +47,7 @@ rpl_localtime (time_t const *timep)
 /* Same as above, since gmtime and localtime use the same buffer.  */
 struct tm *
 rpl_gmtime (time_t const *timep)
+#undef gmtime
 {
   struct tm *tm = gmtime (timep);
 
diff --git a/gnu/localtime-buffer.h b/gnu/localtime-buffer.h
index 0a0389da..031111a7 100644
--- a/gnu/localtime-buffer.h
+++ b/gnu/localtime-buffer.h
@@ -1,6 +1,6 @@
 /* Provide access to the last buffer returned by localtime() or gmtime().
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/lseek.c b/gnu/lseek.c
index 4c87bd5f..46f7a3fa 100644
--- a/gnu/lseek.c
+++ b/gnu/lseek.c
@@ -1,5 +1,5 @@
 /* An lseek() function that detects pipes.
-   Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
 /* Specification.  */
 #include <unistd.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 /* Windows platforms.  */
 /* Get GetFileType.  */
 # include <windows.h>
@@ -39,7 +39,7 @@
 off_t
 rpl_lseek (int fd, off_t offset, int whence)
 {
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
   /* mingw lseek mistakenly succeeds on pipes, sockets, and terminals.  */
   HANDLE h = (HANDLE) _get_osfhandle (fd);
   if (h == INVALID_HANDLE_VALUE)
diff --git a/gnu/lstat.c b/gnu/lstat.c
index c721a4e6..d57ca105 100644
--- a/gnu/lstat.c
+++ b/gnu/lstat.c
@@ -1,6 +1,6 @@
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997-2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 2008-2019 Free Software Foundation, Inc.
 
    This 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,6 +47,8 @@ orig_lstat (const char *filename, struct stat *buf)
    above.  */
 # include "sys/stat.h"
 
+# include "stat-time.h"
+
 # include <string.h>
 # include <errno.h>
 
@@ -66,32 +68,33 @@ orig_lstat (const char *filename, struct stat *buf)
 int
 rpl_lstat (const char *file, struct stat *sbuf)
 {
-  size_t len;
-  int lstat_result = orig_lstat (file, sbuf);
-
-  if (lstat_result != 0)
-    return lstat_result;
+  int result = orig_lstat (file, sbuf);
 
   /* This replacement file can blindly check against '/' rather than
      using the ISSLASH macro, because all platforms with '\\' either
      lack symlinks (mingw) or have working lstat (cygwin) and thus do
      not compile this file.  0 len should have already been filtered
      out above, with a failure return of ENOENT.  */
-  len = strlen (file);
-  if (file[len - 1] != '/' || S_ISDIR (sbuf->st_mode))
-    return 0;
-
-  /* At this point, a trailing slash is only permitted on
-     symlink-to-dir; but it should have found information on the
-     directory, not the symlink.  Call stat() to get info about the
-     link's referent.  Our replacement stat guarantees valid results,
-     even if the symlink is not pointing to a directory.  */
-  if (!S_ISLNK (sbuf->st_mode))
+  if (result == 0)
     {
-      errno = ENOTDIR;
-      return -1;
+      if (S_ISDIR (sbuf->st_mode) || file[strlen (file) - 1] != '/')
+        result = stat_time_normalize (result, sbuf);
+      else
+        {
+          /* At this point, a trailing slash is permitted only on
+             symlink-to-dir; but it should have found information on the
+             directory, not the symlink.  Call 'stat' to get info about the
+             link's referent.  Our replacement stat guarantees valid results,
+             even if the symlink is not pointing to a directory.  */
+          if (!S_ISLNK (sbuf->st_mode))
+            {
+              errno = ENOTDIR;
+              return -1;
+            }
+          result = stat (file, sbuf);
+        }
     }
-  return stat (file, sbuf);
+  return result;
 }
 
 #endif /* HAVE_LSTAT */
diff --git a/gnu/malloc.c b/gnu/malloc.c
index f13eb7b6..76e6ff76 100644
--- a/gnu/malloc.c
+++ b/gnu/malloc.c
@@ -1,6 +1,6 @@
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/malloca.c b/gnu/malloca.c
index 4b3348d3..f60c5fb5 100644
--- a/gnu/malloca.c
+++ b/gnu/malloca.c
@@ -1,6 +1,6 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2017 Free Software Foundation, Inc.
-   Written by Bruno Haible <bruno@clisp.org>, 2003.
+   Copyright (C) 2003, 2006-2007, 2009-2019 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2003, 2018.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -21,92 +21,49 @@
 /* Specification.  */
 #include "malloca.h"
 
-#include <stdint.h>
-
 #include "verify.h"
 
-/* Silence a warning from clang's MemorySanitizer.  */
-#if defined __has_feature
-# if __has_feature(memory_sanitizer)
-#  define NO_SANITIZE_MEMORY __attribute__((no_sanitize("memory")))
-# endif
-#endif
-#ifndef NO_SANITIZE_MEMORY
-# define NO_SANITIZE_MEMORY
-#endif
-
 /* The speed critical point in this file is freea() applied to an alloca()
    result: it must be fast, to match the speed of alloca().  The speed of
    mmalloca() and freea() in the other case are not critical, because they
-   are only invoked for big memory sizes.  */
-
-#if HAVE_ALLOCA
-
-/* Store the mmalloca() results in a hash table.  This is needed to reliably
-   distinguish a mmalloca() result and an alloca() result.
-
-   Although it is possible that the same pointer is returned by alloca() and
-   by mmalloca() at different times in the same application, it does not lead
-   to a bug in freea(), because:
-     - Before a pointer returned by alloca() can point into malloc()ed memory,
-       the function must return, and once this has happened the programmer must
-       not call freea() on it anyway.
-     - Before a pointer returned by mmalloca() can point into the stack, it
-       must be freed.  The only function that can free it is freea(), and
-       when freea() frees it, it also removes it from the hash table.  */
-
-#define MAGIC_NUMBER 0x1415fb4a
-#define MAGIC_SIZE sizeof (int)
-/* This is how the header info would look like without any alignment
-   considerations.  */
-struct preliminary_header { void *next; int magic; };
-/* But the header's size must be a multiple of sa_alignment_max.  */
-#define HEADER_SIZE \
-  (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
-union header {
-  void *next;
-  struct {
-    char room[HEADER_SIZE - MAGIC_SIZE];
-    int word;
-  } magic;
-};
-verify (HEADER_SIZE == sizeof (union header));
-/* We make the hash table quite big, so that during lookups the probability
-   of empty hash buckets is quite high.  There is no need to make the hash
-   table resizable, because when the hash table gets filled so much that the
-   lookup becomes slow, it means that the application has memory leaks.  */
-#define HASH_TABLE_SIZE 257
-static void * mmalloca_results[HASH_TABLE_SIZE];
-
-#endif
+   are only invoked for big memory sizes.
+   Here we use a bit in the address as an indicator, an idea by Ondřej Bílka.
+   malloca() can return three types of pointers:
+     - Pointers ≡ 0 mod 2*sa_alignment_max come from stack allocation.
+     - Pointers ≡ sa_alignment_max mod 2*sa_alignment_max come from heap
+       allocation.
+     - NULL comes from a failed heap allocation.  */
+
+/* Type for holding very small pointer differences.  */
+typedef unsigned char small_t;
+/* Verify that it is wide enough.  */
+verify (2 * sa_alignment_max - 1 <= (small_t) -1);
 
 void *
 mmalloca (size_t n)
 {
 #if HAVE_ALLOCA
-  /* Allocate one more word, that serves as an indicator for malloc()ed
-     memory, so that freea() of an alloca() result is fast.  */
-  size_t nplus = n + HEADER_SIZE;
+  /* Allocate one more word, used to determine the address to pass to freea(),
+     and room for the alignment ≡ sa_alignment_max mod 2*sa_alignment_max.  */
+  size_t nplus = n + sizeof (small_t) + 2 * sa_alignment_max - 1;
 
   if (nplus >= n)
     {
-      void *p = malloc (nplus);
+      char *mem = (char *) malloc (nplus);
 
-      if (p != NULL)
+      if (mem != NULL)
         {
-          size_t slot;
-          union header *h = p;
-
-          p = h + 1;
-
-          /* Put a magic number into the indicator word.  */
-          h->magic.word = MAGIC_NUMBER;
-
-          /* Enter p into the hash table.  */
-          slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          h->next = mmalloca_results[slot];
-          mmalloca_results[slot] = p;
-
+          char *p =
+            (char *)((((uintptr_t)mem + sizeof (small_t) + sa_alignment_max - 1)
+                      & ~(uintptr_t)(2 * sa_alignment_max - 1))
+                     + sa_alignment_max);
+          /* Here p >= mem + sizeof (small_t),
+             and p <= mem + sizeof (small_t) + 2 * sa_alignment_max - 1
+             hence p + n <= mem + nplus.
+             So, the memory range [p, p+n) lies in the allocated memory range
+             [mem, mem + nplus).  */
+          ((small_t *) p)[-1] = p - mem;
+          /* p ≡ sa_alignment_max mod 2*sa_alignment_max.  */
           return p;
         }
     }
@@ -122,38 +79,27 @@ mmalloca (size_t n)
 }
 
 #if HAVE_ALLOCA
-void NO_SANITIZE_MEMORY
+void
 freea (void *p)
 {
-  /* mmalloca() may have returned NULL.  */
-  if (p != NULL)
+  /* Check argument.  */
+  if ((uintptr_t) p & (sa_alignment_max - 1))
     {
-      /* Attempt to quickly distinguish the mmalloca() result - which has
-         a magic indicator word - and the alloca() result - which has an
-         uninitialized indicator word.  It is for this test that sa_increment
-         additional bytes are allocated in the alloca() case.  */
-      if (((int *) p)[-1] == MAGIC_NUMBER)
-        {
-          /* Looks like a mmalloca() result.  To see whether it really is one,
-             perform a lookup in the hash table.  */
-          size_t slot = (uintptr_t) p % HASH_TABLE_SIZE;
-          void **chain = &mmalloca_results[slot];
-          for (; *chain != NULL;)
-            {
-              union header *h = p;
-              if (*chain == p)
-                {
-                  /* Found it.  Remove it from the hash table and free it.  */
-                  union header *p_begin = h - 1;
-                  *chain = p_begin->next;
-                  free (p_begin);
-                  return;
-                }
-              h = *chain;
-              chain = &h[-1].next;
-            }
-        }
-      /* At this point, we know it was not a mmalloca() result.  */
+      /* p was not the result of a malloca() call.  Invalid argument.  */
+      abort ();
+    }
+  /* Determine whether p was a non-NULL pointer returned by mmalloca().  */
+  if ((uintptr_t) p & sa_alignment_max)
+    {
+      void *mem = (char *) p - ((small_t *) p)[-1];
+      free (mem);
     }
 }
 #endif
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
diff --git a/gnu/malloca.h b/gnu/malloca.h
index d5155c73..d80c316c 100644
--- a/gnu/malloca.h
+++ b/gnu/malloca.h
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
@@ -56,8 +56,10 @@ extern "C" {
    the function returns.  Upon failure, it returns NULL.  */
 #if HAVE_ALLOCA
 # define malloca(N) \
-  ((N) < 4032 - sa_increment                                        \
-   ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \
+  ((N) < 4032 - (2 * sa_alignment_max - 1)                                   \
+   ? (void *) (((uintptr_t) (char *) alloca ((N) + 2 * sa_alignment_max - 1) \
+                + (2 * sa_alignment_max - 1))                                \
+               & ~(uintptr_t)(2 * sa_alignment_max - 1))                     \
    : mmalloca (N))
 #else
 # define malloca(N) \
@@ -119,10 +121,7 @@ enum
                       | (sa_alignment_longlong - 1)
 #endif
                       | (sa_alignment_longdouble - 1)
-                     ) + 1,
-/* The increment that guarantees room for a magic word must be >= sizeof (int)
-   and a multiple of sa_alignment_max.  */
-  sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max
+                     ) + 1
 };
 
 #endif /* _MALLOCA_H */
diff --git a/gnu/malloca.valgrind b/gnu/malloca.valgrind
deleted file mode 100644
index 52f0a50f..00000000
--- a/gnu/malloca.valgrind
+++ /dev/null
@@ -1,7 +0,0 @@
-# Suppress a valgrind message about use of uninitialized memory in freea().
-# This use is OK because it provides only a speedup.
-{
-    freea
-    Memcheck:Cond
-    fun:freea
-}
diff --git a/gnu/mbchar.c b/gnu/mbchar.c
index edd6dc54..aa8012b6 100644
--- a/gnu/mbchar.c
+++ b/gnu/mbchar.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2006, 2009-2017 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/mbchar.h b/gnu/mbchar.h
index 469b8022..2d26075c 100644
--- a/gnu/mbchar.h
+++ b/gnu/mbchar.h
@@ -1,5 +1,5 @@
 /* Multibyte character data type.
-   Copyright (C) 2001, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/mbrtowc.c b/gnu/mbrtowc.c
index 28787c6e..bbe3f7a3 100644
--- a/gnu/mbrtowc.c
+++ b/gnu/mbrtowc.c
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 1999-2002, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2005-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -35,12 +35,60 @@
 # include "streq.h"
 # include "verify.h"
 
-#ifndef FALLTHROUGH
-# if __GNUC__ < 7
-#  define FALLTHROUGH ((void) 0)
-# else
-#  define FALLTHROUGH __attribute__ ((__fallthrough__))
+# ifndef FALLTHROUGH
+#  if __GNUC__ < 7
+#   define FALLTHROUGH ((void) 0)
+#  else
+#   define FALLTHROUGH __attribute__ ((__fallthrough__))
+#  endif
 # endif
+
+/* Returns a classification of special values of the encoding of the current
+   locale.  */
+typedef enum {
+  enc_other,      /* other */
+  enc_utf8,       /* UTF-8 */
+  enc_eucjp,      /* EUC-JP */
+  enc_94,         /* EUC-KR, GB2312, BIG5 */
+  enc_euctw,      /* EUC-TW */
+  enc_gb18030,    /* GB18030 */
+  enc_sjis        /* SJIS */
+} enc_t;
+static inline enc_t
+locale_enc (void)
+{
+  const char *encoding = locale_charset ();
+  if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+    return enc_utf8;
+  if (STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
+    return enc_eucjp;
+  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))
+    return enc_94;
+  if (STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
+    return enc_euctw;
+  if (STREQ_OPT (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
+    return enc_gb18030;
+  if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
+    return enc_sjis;
+  return enc_other;
+}
+
+#if GNULIB_WCHAR_SINGLE
+/* When we know that the locale does not change, provide a speedup by
+   caching the value of locale_enc.  */
+static int cached_locale_enc = -1;
+static inline enc_t
+locale_enc_cached (void)
+{
+  if (cached_locale_enc < 0)
+    cached_locale_enc = locale_enc ();
+  return cached_locale_enc;
+}
+#else
+/* By default, don't make assumptions, hence no caching.  */
+# define locale_enc_cached locale_enc
 #endif
 
 verify (sizeof (mbstate_t) >= 4);
@@ -137,10 +185,9 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
       if (m >= 4 || m >= MB_CUR_MAX)
         goto invalid;
       /* Here MB_CUR_MAX > 1 and 0 < m < 4.  */
-      {
-        const char *encoding = locale_charset ();
-
-        if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
+      switch (locale_enc_cached ())
+        {
+        case enc_utf8: /* UTF-8 */
           {
             /* Cf. unistr/u8-mblen.c.  */
             unsigned char c = (unsigned char) p[0];
@@ -197,8 +244,7 @@ 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_OPT (encoding,
-                       "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
+        case enc_eucjp: /* EUC-JP */
           {
             if (m == 1)
               {
@@ -221,12 +267,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
               }
             goto invalid;
           }
-        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))
+
+        case enc_94: /* EUC-KR, GB2312, BIG5 */
           {
             if (m == 1)
               {
@@ -237,8 +279,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
               }
             goto invalid;
           }
-        if (STREQ_OPT (encoding,
-                       "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
+
+        case enc_euctw: /* EUC-TW */
           {
             if (m == 1)
               {
@@ -256,8 +298,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
               }
             goto invalid;
           }
-        if (STREQ_OPT (encoding,
-                       "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
+
+        case enc_gb18030: /* GB18030 */
           {
             if (m == 1)
               {
@@ -290,7 +332,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
               }
             goto invalid;
           }
-        if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
+
+        case enc_sjis: /* SJIS */
           {
             if (m == 1)
               {
@@ -303,9 +346,10 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
             goto invalid;
           }
 
-        /* An unknown multibyte encoding.  */
-        goto incomplete;
-      }
+        default:
+          /* An unknown multibyte encoding.  */
+          goto incomplete;
+        }
 
      incomplete:
       {
diff --git a/gnu/mbscasecmp.c b/gnu/mbscasecmp.c
index cf00b402..86a5073b 100644
--- a/gnu/mbscasecmp.c
+++ b/gnu/mbscasecmp.c
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2005,
    based on earlier glibc code.
 
diff --git a/gnu/mbsinit.c b/gnu/mbsinit.c
index e429214f..5ecaef77 100644
--- a/gnu/mbsinit.c
+++ b/gnu/mbsinit.c
@@ -1,5 +1,5 @@
 /* Test for initial conversion state.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -54,7 +54,7 @@ mbsinit (const mbstate_t *ps)
 int
 mbsinit (const mbstate_t *ps)
 {
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* Native Windows.  */
 #  ifdef __MINGW32__
   /* On mingw, 'mbstate_t' is defined as 'int'.  */
diff --git a/gnu/mbsrtowcs-impl.h b/gnu/mbsrtowcs-impl.h
index 22b31cbe..110d692e 100644
--- a/gnu/mbsrtowcs-impl.h
+++ b/gnu/mbsrtowcs-impl.h
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 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/gnu/mbsrtowcs-state.c b/gnu/mbsrtowcs-state.c
index ae7256c0..59525e72 100644
--- a/gnu/mbsrtowcs-state.c
+++ b/gnu/mbsrtowcs-state.c
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 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/gnu/mbsrtowcs.c b/gnu/mbsrtowcs.c
index 7441c82d..14f241e3 100644
--- a/gnu/mbsrtowcs.c
+++ b/gnu/mbsrtowcs.c
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 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/gnu/mbtowc-impl.h b/gnu/mbtowc-impl.h
index 7cba7d39..f4ab9818 100644
--- a/gnu/mbtowc-impl.h
+++ b/gnu/mbtowc-impl.h
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 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/gnu/mbtowc.c b/gnu/mbtowc.c
index 4db254b9..77a84724 100644
--- a/gnu/mbtowc.c
+++ b/gnu/mbtowc.c
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 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/gnu/mbuiter.h b/gnu/mbuiter.h
index 25a13f88..dde69abc 100644
--- a/gnu/mbuiter.h
+++ b/gnu/mbuiter.h
@@ -1,5 +1,5 @@
 /* Iterating through multibyte strings: macros for multi-byte encodings.
-   Copyright (C) 2001, 2005, 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2005, 2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/memchr.c b/gnu/memchr.c
index 5f89177c..4e0c5f9d 100644
--- a/gnu/memchr.c
+++ b/gnu/memchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2017
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2019
    Free Software Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
diff --git a/gnu/mempcpy.c b/gnu/mempcpy.c
index b839a54e..d0220e10 100644
--- a/gnu/mempcpy.c
+++ b/gnu/mempcpy.c
@@ -1,5 +1,5 @@
 /* Copy memory area and return pointer after last written byte.
-   Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/memrchr.c b/gnu/memrchr.c
index 29e56984..96022835 100644
--- a/gnu/memrchr.c
+++ b/gnu/memrchr.c
@@ -1,6 +1,6 @@
 /* memrchr -- find the last occurrence of a byte in a memory block
 
-   Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2017 Free Software
+   Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2019 Free Software
    Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
@@ -68,7 +68,7 @@ __memrchr (void const *s, int c_in, size_t n)
     if (*--char_ptr == c)
       return (void *) char_ptr;
 
-  longword_ptr = (const longword *) char_ptr;
+  longword_ptr = (const void *) char_ptr;
 
   /* All these elucidatory comments refer to 4-byte longwords,
      but the theory applies equally well to any size longwords.  */
diff --git a/gnu/minmax.h b/gnu/minmax.h
index bbf14163..d7f6bea0 100644
--- a/gnu/minmax.h
+++ b/gnu/minmax.h
@@ -1,5 +1,5 @@
 /* MIN, MAX macros.
-   Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2017 Free Software
+   Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/mkdir.c b/gnu/mkdir.c
index c94c1ba8..b8320d00 100644
--- a/gnu/mkdir.c
+++ b/gnu/mkdir.c
@@ -1,7 +1,7 @@
 /* On some systems, mkdir ("foo/", 0700) fails because of the trailing
    slash.  On those systems, this wrapper removes the trailing slash.
 
-   Copyright (C) 2001, 2003, 2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2006, 2008-2019 Free Software Foundation, Inc.
 
    This 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 @@
    Additionally, it declares _mkdir (and depending on compile flags, an
    alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
    which are included in the <sys/stat.h> override.  */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # define mkdir(name,mode) _mkdir (name)
 # define maybe_unused _GL_UNUSED
 #else
diff --git a/gnu/mkdirat.c b/gnu/mkdirat.c
index eb644da9..21c09cc8 100644
--- a/gnu/mkdirat.c
+++ b/gnu/mkdirat.c
@@ -1,5 +1,5 @@
 /* fd-relative mkdir
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/mkdtemp.c b/gnu/mkdtemp.c
index 9bd4ec9a..b1dd28dd 100644
--- a/gnu/mkdtemp.c
+++ b/gnu/mkdtemp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2017 Free Software
+/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2019 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gnu/mkfifo.c b/gnu/mkfifo.c
index af13362c..1878dca4 100644
--- a/gnu/mkfifo.c
+++ b/gnu/mkfifo.c
@@ -1,5 +1,5 @@
 /* Create a named fifo.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/mkfifoat.c b/gnu/mkfifoat.c
index def4a147..8e44adeb 100644
--- a/gnu/mkfifoat.c
+++ b/gnu/mkfifoat.c
@@ -1,5 +1,5 @@
 /* Create a named fifo relative to an open directory.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/mknod.c b/gnu/mknod.c
index d12d4fe6..dbbfe29c 100644
--- a/gnu/mknod.c
+++ b/gnu/mknod.c
@@ -1,5 +1,5 @@
 /* Create a device inode.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/mknodat.c b/gnu/mknodat.c
index f9085582..0cec0d30 100644
--- a/gnu/mknodat.c
+++ b/gnu/mknodat.c
@@ -1,5 +1,5 @@
 /* Create an inode relative to an open directory.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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 @@ mknodat (int fd _GL_UNUSED, char const *path _GL_UNUSED,
   return -1;
 }
 
-#else /* HAVE_MKFIFO */
+#else
 
 /* Create a file system node FILE relative to directory FD, with
    access permissions and file type in MODE, and device type in DEV.
@@ -54,4 +54,4 @@ mknodat (int fd _GL_UNUSED, char const *path _GL_UNUSED,
 # undef AT_FUNC_POST_FILE_PARAM_DECLS
 # undef AT_FUNC_POST_FILE_ARGS
 
-#endif /* HAVE_MKFIFO */
+#endif
diff --git a/gnu/mktime-internal.h b/gnu/mktime-internal.h
index 00e58abd..d13d89cf 100644
--- a/gnu/mktime-internal.h
+++ b/gnu/mktime-internal.h
@@ -1,6 +1,6 @@
 /* mktime variant that also uses an offset guess
 
-   Copyright 2016-2017 Free Software Foundation, Inc.
+   Copyright 2016-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public
@@ -35,3 +35,19 @@ typedef int mktime_offset_t;
 time_t mktime_internal (struct tm *,
                         struct tm * (*) (time_t const *, struct tm *),
                         mktime_offset_t *);
+
+/* Although glibc source code uses leading underscores, Gnulib wants
+   ordinary names.
+
+   Portable standalone applications should supply a <time.h> that
+   declares a POSIX-compliant localtime_r, for the benefit of older
+   implementations that lack localtime_r or have a nonstandard one.
+   Similarly for gmtime_r.  See the gnulib time_r module for one way
+   to implement this.  */
+
+#undef __gmtime_r
+#undef __localtime_r
+#define __gmtime_r gmtime_r
+#define __localtime_r localtime_r
+
+#define __mktime_internal mktime_internal
diff --git a/gnu/mktime.c b/gnu/mktime.c
index dd7f0a3a..d411aa77 100644
--- a/gnu/mktime.c
+++ b/gnu/mktime.c
@@ -1,5 +1,5 @@
 /* Convert a 'struct tm' to a time_t value.
-   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+   Copyright (C) 1993-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Paul Eggert <eggert@twinsun.com>.
 
@@ -17,27 +17,21 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-/* Define this to 1 to have a standalone program to test this implementation of
-   mktime.  */
-#ifndef DEBUG_MKTIME
-# define DEBUG_MKTIME 0
-#endif
-
 /* The following macros influence what gets defined when this file is compiled:
 
    Macro/expression            Which gnulib module    This compilation unit
                                                       should define
 
+   _LIBC                       (glibc proper)         mktime
+
    NEED_MKTIME_WORKING         mktime                 rpl_mktime
    || NEED_MKTIME_WINDOWS
 
    NEED_MKTIME_INTERNAL        mktime-internal        mktime_internal
-
-   DEBUG_MKTIME                (defined manually)     my_mktime, main
  */
 
-#if !defined _LIBC && !DEBUG_MKTIME
-# include <config.h>
+#ifndef _LIBC
+# include <libc-config.h>
 #endif
 
 /* Assume that leap seconds are possible, unless told otherwise.
@@ -49,34 +43,74 @@
 
 #include <time.h>
 
+#include <errno.h>
 #include <limits.h>
 #include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
 
 #include <intprops.h>
 #include <verify.h>
 
-#if DEBUG_MKTIME
-# include <stdio.h>
-# include <stdlib.h>
-# include <string.h>
-/* Make it work even if the system's libc has its own mktime routine.  */
-# undef mktime
-# define mktime my_mktime
+#ifndef NEED_MKTIME_INTERNAL
+# define NEED_MKTIME_INTERNAL 0
+#endif
+#ifndef NEED_MKTIME_WINDOWS
+# define NEED_MKTIME_WINDOWS 0
+#endif
+#ifndef NEED_MKTIME_WORKING
+# define NEED_MKTIME_WORKING 0
 #endif
 
-#if NEED_MKTIME_WINDOWS /* on native Windows */
-# include <stdlib.h>
-# include <string.h>
+#include "mktime-internal.h"
+
+#if !defined _LIBC && (NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS)
+static void
+my_tzset (void)
+{
+# if NEED_MKTIME_WINDOWS
+  /* Rectify the value of the environment variable TZ.
+     There are four possible kinds of such values:
+       - Traditional US time zone names, e.g. "PST8PDT".  Syntax: see
+         <https://msdn.microsoft.com/en-us/library/90s5c885.aspx>
+       - Time zone names based on geography, that contain one or more
+         slashes, e.g. "Europe/Moscow".
+       - Time zone names based on geography, without slashes, e.g.
+         "Singapore".
+       - Time zone names that contain explicit DST rules.  Syntax: see
+         <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03>
+     The Microsoft CRT understands only the first kind.  It produces incorrect
+     results if the value of TZ is of the other kinds.
+     But in a Cygwin environment, /etc/profile.d/tzset.sh sets TZ to a value
+     of the second kind for most geographies, or of the first kind in a few
+     other geographies.  If it is of the second kind, neutralize it.  For the
+     Microsoft CRT, an absent or empty TZ means the time zone that the user
+     has set in the Windows Control Panel.
+     If the value of TZ is of the third or fourth kind -- Cygwin programs
+     understand these syntaxes as well --, it does not matter whether we
+     neutralize it or not, since these values occur only when a Cygwin user
+     has set TZ explicitly; this case is 1. rare and 2. under the user's
+     responsibility.  */
+  const char *tz = getenv ("TZ");
+  if (tz != NULL && strchr (tz, '/') != NULL)
+    _putenv ("TZ=");
+# elif HAVE_TZSET
+  tzset ();
+# endif
+}
+# undef __tzset
+# define __tzset() my_tzset ()
 #endif
 
-#if NEED_MKTIME_WORKING || NEED_MKTIME_INTERNAL || DEBUG_MKTIME
+#if defined _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_INTERNAL
 
 /* A signed type that can represent an integer number of years
-   multiplied by three times the number of seconds in a year.  It is
+   multiplied by four times the number of seconds in a year.  It is
    needed when converting a tm_year value times the number of seconds
-   in a year.  The factor of three comes because these products need
+   in a year.  The factor of four comes because these products need
    to be subtracted from each other, and sometimes with an offset
-   added to them, without worrying about overflow.
+   added to them, and then with another timestamp added, without
+   worrying about overflow.
 
    Much of the code uses long_int to represent time_t values, to
    lessen the hassle of dealing with platforms where time_t is
@@ -84,12 +118,12 @@
    time_t values that mktime can generate even on platforms where
    time_t is excessively wide.  */
 
-#if INT_MAX <= LONG_MAX / 3 / 366 / 24 / 60 / 60
+#if INT_MAX <= LONG_MAX / 4 / 366 / 24 / 60 / 60
 typedef long int long_int;
 #else
 typedef long long int long_int;
 #endif
-verify (INT_MAX <= TYPE_MAXIMUM (long_int) / 3 / 366 / 24 / 60 / 60);
+verify (INT_MAX <= TYPE_MAXIMUM (long_int) / 4 / 366 / 24 / 60 / 60);
 
 /* Shift A right by B bits portably, by dividing A by 2**B and
    truncating towards minus infinity.  B should be in the range 0 <= B
@@ -150,19 +184,6 @@ const unsigned short int __mon_yday[2][13] =
   };
 
 
-#ifdef _LIBC
-typedef time_t mktime_offset_t;
-#else
-/* Portable standalone applications should supply a <time.h> that
-   declares a POSIX-compliant localtime_r, for the benefit of older
-   implementations that lack localtime_r or have a nonstandard one.
-   See the gnulib time_r module for one way to implement this.  */
-# undef __localtime_r
-# define __localtime_r localtime_r
-# define __mktime_internal mktime_internal
-# include "mktime-internal.h"
-#endif
-
 /* Do the values A and B differ according to the rules for tm_isdst?
    A and B differ if one is zero and the other positive.  */
 static bool
@@ -176,9 +197,10 @@ isdst_differ (int a, int b)
    were not adjusted between the timestamps.
 
    The YEAR values uses the same numbering as TP->tm_year.  Values
-   need not be in the usual range.  However, YEAR1 must not overflow
-   when multiplied by three times the number of seconds in a year, and
-   likewise for YDAY1 and three times the number of seconds in a day.  */
+   need not be in the usual range.  However, YEAR1 - YEAR0 must not
+   overflow even when multiplied by three times the number of seconds
+   in a year, and likewise for YDAY1 - YDAY0 and three times the
+   number of seconds in a day.  */
 
 static long_int
 ydhms_diff (long_int year1, long_int yday1, int hour1, int min1, int sec1,
@@ -213,43 +235,25 @@ long_int_avg (long_int a, long_int b)
   return shr (a, 1) + shr (b, 1) + ((a | b) & 1);
 }
 
-/* Return a time_t value corresponding to (YEAR-YDAY HOUR:MIN:SEC),
-   assuming that T corresponds to *TP and that no clock adjustments
-   occurred between *TP and the desired time.
-   Although T and the returned value are of type long_int,
-   they represent time_t values and must be in time_t range.
-   If TP is null, return a value not equal to T; this avoids false matches.
+/* Return a long_int value corresponding to (YEAR-YDAY HOUR:MIN:SEC)
+   minus *TP seconds, assuming no clock adjustments occurred between
+   the two timestamps.
+
    YEAR and YDAY must not be so large that multiplying them by three times the
    number of seconds in a year (or day, respectively) would overflow long_int.
-   If the returned value would be out of range, yield the minimal or
-   maximal in-range value, except do not yield a value equal to T.  */
+   *TP should be in the usual range.  */
 static long_int
-guess_time_tm (long_int year, long_int yday, int hour, int min, int sec,
-	       long_int t, const struct tm *tp)
+tm_diff (long_int year, long_int yday, int hour, int min, int sec,
+	 struct tm const *tp)
 {
-  if (tp)
-    {
-      long_int result;
-      long_int d = ydhms_diff (year, yday, hour, min, sec,
-			       tp->tm_year, tp->tm_yday,
-			       tp->tm_hour, tp->tm_min, tp->tm_sec);
-      if (! INT_ADD_WRAPV (t, d, &result))
-	return result;
-    }
-
-  /* Overflow occurred one way or another.  Return the nearest result
-     that is actually in range, except don't report a zero difference
-     if the actual difference is nonzero, as that would cause a false
-     match; and don't oscillate between two values, as that would
-     confuse the spring-forward gap detector.  */
-  return (t < long_int_avg (mktime_min, mktime_max)
-	  ? (t <= mktime_min + 1 ? t + 1 : mktime_min)
-	  : (mktime_max - 1 <= t ? t - 1 : mktime_max));
+  return ydhms_diff (year, yday, hour, min, sec,
+		     tp->tm_year, tp->tm_yday,
+		     tp->tm_hour, tp->tm_min, tp->tm_sec);
 }
 
 /* Use CONVERT to convert T to a struct tm value in *TM.  T must be in
-   range for time_t.  Return TM if successful, NULL if T is out of
-   range for CONVERT.  */
+   range for time_t.  Return TM if successful, NULL (setting errno) on
+   failure.  */
 static struct tm *
 convert_time (struct tm *(*convert) (const time_t *, struct tm *),
 	      long_int t, struct tm *tm)
@@ -261,61 +265,64 @@ convert_time (struct tm *(*convert) (const time_t *, struct tm *),
 /* Use CONVERT to convert *T to a broken down time in *TP.
    If *T is out of range for conversion, adjust it so that
    it is the nearest in-range value and then convert that.
-   A value is in range if it fits in both time_t and long_int.  */
+   A value is in range if it fits in both time_t and long_int.
+   Return TP on success, NULL (setting errno) on failure.  */
 static struct tm *
 ranged_convert (struct tm *(*convert) (const time_t *, struct tm *),
 		long_int *t, struct tm *tp)
 {
-  struct tm *r;
-  if (*t < mktime_min)
-    *t = mktime_min;
-  else if (mktime_max < *t)
-    *t = mktime_max;
-  r = convert_time (convert, *t, tp);
-
-  if (!r && *t)
+  long_int t1 = (*t < mktime_min ? mktime_min
+		 : *t <= mktime_max ? *t : mktime_max);
+  struct tm *r = convert_time (convert, t1, tp);
+  if (r)
     {
-      long_int bad = *t;
-      long_int ok = 0;
+      *t = t1;
+      return r;
+    }
+  if (errno != EOVERFLOW)
+    return NULL;
 
-      /* BAD is a known unconvertible value, and OK is a known good one.
-	 Use binary search to narrow the range between BAD and OK until
-	 they differ by 1.  */
-      while (true)
-	{
-	  long_int mid = long_int_avg (ok, bad);
-	  if (mid != ok && mid != bad)
-	    break;
-	  r = convert_time (convert, mid, tp);
-	  if (r)
-	    ok = mid;
-	  else
-	    bad = mid;
-	}
+  long_int bad = t1;
+  long_int ok = 0;
+  struct tm oktm; oktm.tm_sec = -1;
 
-      if (!r && ok)
-	{
-	  /* The last conversion attempt failed;
-	     revert to the most recent successful attempt.  */
-	  r = convert_time (convert, ok, tp);
-	}
+  /* BAD is a known out-of-range value, and OK is a known in-range one.
+     Use binary search to narrow the range between BAD and OK until
+     they differ by 1.  */
+  while (true)
+    {
+      long_int mid = long_int_avg (ok, bad);
+      if (mid == ok || mid == bad)
+	break;
+      if (convert_time (convert, mid, tp))
+	ok = mid, oktm = *tp;
+      else if (errno != EOVERFLOW)
+	return NULL;
+      else
+	bad = mid;
     }
 
-  return r;
+  if (oktm.tm_sec < 0)
+    return NULL;
+  *t = ok;
+  *tp = oktm;
+  return tp;
 }
 
+
 /* Convert *TP to a time_t value, inverting
    the monotonic and mostly-unit-linear conversion function CONVERT.
    Use *OFFSET to keep track of a guess at the offset of the result,
    compared to what the result would be for UTC without leap seconds.
    If *OFFSET's guess is correct, only one CONVERT call is needed.
+   If successful, set *TP to the canonicalized struct tm;
+   otherwise leave *TP alone, return ((time_t) -1) and set errno.
    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 *),
 		   mktime_offset_t *offset)
 {
-  long_int t, gt, t0, t1, t2, dt;
   struct tm tm;
 
   /* The maximum number of probes (calls to CONVERT) should be enough
@@ -335,7 +342,7 @@ __mktime_internal (struct tm *tp,
   int isdst = tp->tm_isdst;
 
   /* 1 if the previous probe was DST.  */
-  int dst2;
+  int dst2 = 0;
 
   /* Ensure that mon is in range, and set year accordingly.  */
   int mon_remainder = mon % 12;
@@ -355,6 +362,7 @@ __mktime_internal (struct tm *tp,
   long_int lmday = mday;
   long_int yday = mon_yday + lmday;
 
+  mktime_offset_t off = *offset;
   int negative_offset_guess;
 
   int sec_requested = sec;
@@ -362,7 +370,7 @@ __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_diff assumes every minute has 60 seconds.  */
       if (sec < 0)
 	sec = 0;
       if (59 < sec)
@@ -372,34 +380,47 @@ __mktime_internal (struct tm *tp,
   /* Invert CONVERT by probing.  First assume the same offset as last
      time.  */
 
-  INT_SUBTRACT_WRAPV (0, *offset, &negative_offset_guess);
-  t0 = ydhms_diff (year, yday, hour, min, sec,
-		   EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, negative_offset_guess);
+  INT_SUBTRACT_WRAPV (0, off, &negative_offset_guess);
+  long_int t0 = ydhms_diff (year, yday, hour, min, sec,
+			    EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0,
+			    negative_offset_guess);
+  long_int t = t0, t1 = t0, t2 = 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);
-       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))))
-      /* 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.  */
-      goto offset_found;
-    else if (--remaining_probes == 0)
-      return -1;
+  while (true)
+    {
+      if (! ranged_convert (convert, &t, &tm))
+	return -1;
+      long_int dt = tm_diff (year, yday, hour, min, sec, &tm);
+      if (dt == 0)
+	break;
+
+      if (t == t1 && t != t2
+	  && (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 DT.  Follow the common
+	   practice in this case, which is to return a time that is DT
+	   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;
+
+      remaining_probes--;
+      if (remaining_probes == 0)
+	{
+	  __set_errno (EOVERFLOW);
+	  return -1;
+	}
+
+      t1 = t2, t2 = t, t += dt, dst2 = tm.tm_isdst != 0;
+    }
 
   /* We have a match.  Check whether tm.tm_isdst has the requested
      value, if any.  */
@@ -441,25 +462,38 @@ __mktime_internal (struct tm *tp,
 	    if (! INT_ADD_WRAPV (t, delta * direction, &ot))
 	      {
 		struct tm otm;
-		ranged_convert (convert, &ot, &otm);
+		if (! ranged_convert (convert, &ot, &otm))
+		  return -1;
 		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;
+		    long_int gt = ot + tm_diff (year, yday, hour, min, sec,
+						&otm);
+		    if (mktime_min <= gt && gt <= mktime_max)
+		      {
+			if (convert_time (convert, gt, &tm))
+			  {
+			    t = gt;
+			    goto offset_found;
+			  }
+			if (errno != EOVERFLOW)
+			  return -1;
+		      }
 		  }
 	      }
 	  }
+
+      __set_errno (EOVERFLOW);
+      return -1;
     }
 
  offset_found:
   /* Set *OFFSET to the low-order bits of T - T0 - NEGATIVE_OFFSET_GUESS.
      This is just a heuristic to speed up the next mktime call, and
      correctness is unaffected if integer overflow occurs here.  */
-  INT_SUBTRACT_WRAPV (t, t0, &dt);
-  INT_SUBTRACT_WRAPV (dt, negative_offset_guess, offset);
+  INT_SUBTRACT_WRAPV (t, t0, offset);
+  INT_SUBTRACT_WRAPV (*offset, negative_offset_guess, offset);
 
   if (LEAP_SECONDS_POSSIBLE && sec_requested != tm.tm_sec)
     {
@@ -469,8 +503,12 @@ __mktime_internal (struct tm *tp,
       sec_adjustment -= sec;
       sec_adjustment += sec_requested;
       if (INT_ADD_WRAPV (t, sec_adjustment, &t)
-	  || ! (mktime_min <= t && t <= mktime_max)
-	  || ! convert_time (convert, t, &tm))
+	  || ! (mktime_min <= t && t <= mktime_max))
+	{
+	  __set_errno (EOVERFLOW);
+	  return -1;
+	}
+      if (! convert_time (convert, t, &tm))
 	return -1;
     }
 
@@ -478,64 +516,28 @@ __mktime_internal (struct tm *tp,
   return t;
 }
 
-#endif /* NEED_MKTIME_WORKING || NEED_MKTIME_INTERNAL || DEBUG_MKTIME */
+#endif /* _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_INTERNAL */
 
-#if NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS || DEBUG_MKTIME
-
-# if NEED_MKTIME_WORKING || DEBUG_MKTIME
-static mktime_offset_t localtime_offset;
-# endif
+#if defined _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS
 
 /* Convert *TP to a time_t value.  */
 time_t
 mktime (struct tm *tp)
 {
-# if NEED_MKTIME_WINDOWS
-  /* Rectify the value of the environment variable TZ.
-     There are four possible kinds of such values:
-       - Traditional US time zone names, e.g. "PST8PDT".  Syntax: see
-         <https://msdn.microsoft.com/en-us/library/90s5c885.aspx>
-       - Time zone names based on geography, that contain one or more
-         slashes, e.g. "Europe/Moscow".
-       - Time zone names based on geography, without slashes, e.g.
-         "Singapore".
-       - Time zone names that contain explicit DST rules.  Syntax: see
-         <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03>
-     The Microsoft CRT understands only the first kind.  It produces incorrect
-     results if the value of TZ is of the other kinds.
-     But in a Cygwin environment, /etc/profile.d/tzset.sh sets TZ to a value
-     of the second kind for most geographies, or of the first kind in a few
-     other geographies.  If it is of the second kind, neutralize it.  For the
-     Microsoft CRT, an absent or empty TZ means the time zone that the user
-     has set in the Windows Control Panel.
-     If the value of TZ is of the third or fourth kind -- Cygwin programs
-     understand these syntaxes as well --, it does not matter whether we
-     neutralize it or not, since these values occur only when a Cygwin user
-     has set TZ explicitly; this case is 1. rare and 2. under the user's
-     responsibility.  */
-  const char *tz = getenv ("TZ");
-  if (tz != NULL && strchr (tz, '/') != NULL)
-    _putenv ("TZ=");
-# endif
-
-# if NEED_MKTIME_WORKING || DEBUG_MKTIME
-#  ifdef _LIBC
   /* POSIX.1 8.1.1 requires that whenever mktime() is called, the
      time zone names contained in the external variable 'tzname' shall
      be set as if the tzset() function had been called.  */
   __tzset ();
-#  elif HAVE_TZSET
-  tzset ();
-#  endif
 
+# if defined _LIBC || NEED_MKTIME_WORKING
+  static mktime_offset_t localtime_offset;
   return __mktime_internal (tp, __localtime_r, &localtime_offset);
 # else
 #  undef mktime
   return mktime (tp);
 # endif
 }
-
-#endif /* NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS || DEBUG_MKTIME */
+#endif /* _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS */
 
 #ifdef weak_alias
 weak_alias (mktime, timelocal)
@@ -545,146 +547,3 @@ weak_alias (mktime, timelocal)
 libc_hidden_def (mktime)
 libc_hidden_weak (timelocal)
 #endif
-
-#if DEBUG_MKTIME
-
-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));
-}
-
-static void
-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);
-  else
-    printf ("0");
-}
-
-static int
-check_result (time_t tk, struct tm tmk, time_t tl, const struct tm *lt)
-{
-  if (tk != tl || !lt || not_equal_tm (&tmk, lt))
-    {
-      printf ("mktime (");
-      print_tm (lt);
-      printf (")\nyields (");
-      print_tm (&tmk);
-      printf (") == %ld, should be %ld\n", (long int) tk, (long int) tl);
-      return 1;
-    }
-
-  return 0;
-}
-
-int
-main (int argc, char **argv)
-{
-  int status = 0;
-  struct tm tm, tmk, tml;
-  struct tm *lt;
-  time_t tk, tl, tl1;
-  char trailer;
-
-  /* Sanity check, plus call tzset.  */
-  tl = 0;
-  if (! localtime (&tl))
-    {
-      printf ("localtime (0) fails\n");
-      status = 1;
-    }
-
-  if ((argc == 3 || argc == 4)
-      && (sscanf (argv[1], "%d-%d-%d%c",
-		  &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_year -= TM_YEAR_BASE;
-      tm.tm_mon--;
-      tm.tm_isdst = argc == 3 ? -1 : atoi (argv[3]);
-      tmk = tm;
-      tl = mktime (&tmk);
-      lt = localtime_r (&tl, &tml);
-      printf ("mktime returns %ld == ", (long int) tl);
-      print_tm (&tmk);
-      printf ("\n");
-      status = check_result (tl, tmk, tl, lt);
-    }
-  else if (argc == 4 || (argc == 5 && strcmp (argv[4], "-") == 0))
-    {
-      time_t from = atol (argv[1]);
-      time_t by = atol (argv[2]);
-      time_t to = atol (argv[3]);
-
-      if (argc == 4)
-	for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1)
-	  {
-	    lt = localtime_r (&tl, &tml);
-	    if (lt)
-	      {
-		tmk = tml;
-		tk = mktime (&tmk);
-		status |= check_result (tk, tmk, tl, &tml);
-	      }
-	    else
-	      {
-		printf ("localtime_r (%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_r (&tl, &tml);
-	    if (lt)
-	      {
-		tmk = tml;
-		tk = tl;
-		status |= check_result (tk, tmk, tl, &tml);
-	      }
-	    else
-	      {
-		printf ("localtime_r (%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]);
-
-  return status;
-}
-
-#endif /* DEBUG_MKTIME */
-
-/*
-Local Variables:
-compile-command: "gcc -DDEBUG_MKTIME -I. -Wall -W -O2 -g mktime.c -o mktime"
-End:
-*/
diff --git a/gnu/modechange.c b/gnu/modechange.c
index c96e6d0f..29ba4872 100644
--- a/gnu/modechange.c
+++ b/gnu/modechange.c
@@ -1,6 +1,6 @@
 /* modechange.c -- file mode manipulation
 
-   Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2017 Free Software
+   Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/modechange.h b/gnu/modechange.h
index 991fa09d..a1cc2432 100644
--- a/gnu/modechange.h
+++ b/gnu/modechange.h
@@ -1,6 +1,6 @@
 /* modechange.h -- definitions for file mode manipulation
 
-   Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2017 Free Software
+   Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/msvc-inval.c b/gnu/msvc-inval.c
index fced1178..75b5a070 100644
--- a/gnu/msvc-inval.c
+++ b/gnu/msvc-inval.c
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/msvc-inval.h b/gnu/msvc-inval.h
index b544a46e..e31cf650 100644
--- a/gnu/msvc-inval.h
+++ b/gnu/msvc-inval.h
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/msvc-nothrow.c b/gnu/msvc-nothrow.c
index b74b2228..49b709ca 100644
--- a/gnu/msvc-nothrow.c
+++ b/gnu/msvc-nothrow.c
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/msvc-nothrow.h b/gnu/msvc-nothrow.h
index b0622c0b..8d3ca789 100644
--- a/gnu/msvc-nothrow.h
+++ b/gnu/msvc-nothrow.h
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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,7 +25,7 @@
    This file defines wrappers that turn such an invalid parameter notification
    into an error code.  */
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 /* Get original declaration of _get_osfhandle.  */
 # include <io.h>
diff --git a/gnu/nl_langinfo.c b/gnu/nl_langinfo.c
index 3e554e3d..e8a5595a 100644
--- a/gnu/nl_langinfo.c
+++ b/gnu/nl_langinfo.c
@@ -1,6 +1,6 @@
 /* nl_langinfo() replacement: query locale dependent information.
 
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This 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,12 +22,13 @@
 
 #include <locale.h>
 #include <string.h>
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 # include <windows.h>
 # include <stdio.h>
 #endif
 
+#if !REPLACE_NL_LANGINFO || GNULIB_defined_CODESET
 /* Return the codeset of the current locale, if this is easily deducible.
    Otherwise, return "".  */
 static char *
@@ -64,7 +65,7 @@ ctype_codeset (void)
         }
     }
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
   /* If setlocale is successful, it returns the number of the
      codepage, as a string.  Otherwise, fall back on Windows API
      GetACP, which returns the locale's codepage as a number (although
@@ -76,9 +77,10 @@ ctype_codeset (void)
   else
     sprintf (buf + 2, "%u", GetACP ());
   codeset = memcpy (buf, "CP", 2);
-#endif
+# endif
   return codeset;
 }
+#endif
 
 
 #if REPLACE_NL_LANGINFO
@@ -100,6 +102,24 @@ rpl_nl_langinfo (nl_item item)
     case T_FMT_AMPM:
       return (char *) "%I:%M:%S %p";
 # endif
+# if GNULIB_defined_ALTMON
+    case ALTMON_1:
+    case ALTMON_2:
+    case ALTMON_3:
+    case ALTMON_4:
+    case ALTMON_5:
+    case ALTMON_6:
+    case ALTMON_7:
+    case ALTMON_8:
+    case ALTMON_9:
+    case ALTMON_10:
+    case ALTMON_11:
+    case ALTMON_12:
+      /* We don't ship the appropriate localizations with gnulib.  Therefore,
+         treat ALTMON_i like MON_i.  */
+      item = item - ALTMON_1 + MON_1;
+      break;
+# endif
 # if GNULIB_defined_ERA
     case ERA:
       /* The format is not standardized.  In glibc it is a sequence of strings
@@ -171,8 +191,10 @@ nl_langinfo (nl_item item)
       return localeconv () ->decimal_point;
     case THOUSEP:
       return localeconv () ->thousands_sep;
+# ifdef GROUPING
     case GROUPING:
       return localeconv () ->grouping;
+# endif
     /* nl_langinfo items of the LC_TIME category.
        TODO: Really use the locale.  */
     case D_T_FMT:
@@ -228,28 +250,49 @@ nl_langinfo (nl_item item)
           return (char *) abdays[item - ABDAY_1];
         return nlbuf;
       }
-    case MON_1:
-    case MON_2:
-    case MON_3:
-    case MON_4:
-    case MON_5:
-    case MON_6:
-    case MON_7:
-    case MON_8:
-    case MON_9:
-    case MON_10:
-    case MON_11:
-    case MON_12:
-      {
-        static char const months[][sizeof "September"] = {
-          "January", "February", "March", "April", "May", "June", "July",
-          "September", "October", "November", "December"
-        };
+    {
+      static char const months[][sizeof "September"] = {
+        "January", "February", "March", "April", "May", "June", "July",
+        "September", "October", "November", "December"
+      };
+      case MON_1:
+      case MON_2:
+      case MON_3:
+      case MON_4:
+      case MON_5:
+      case MON_6:
+      case MON_7:
+      case MON_8:
+      case MON_9:
+      case MON_10:
+      case MON_11:
+      case MON_12:
         tmm.tm_mon = item - MON_1;
         if (!strftime (nlbuf, sizeof nlbuf, "%B", &tmm))
           return (char *) months[item - MON_1];
         return nlbuf;
-      }
+      case ALTMON_1:
+      case ALTMON_2:
+      case ALTMON_3:
+      case ALTMON_4:
+      case ALTMON_5:
+      case ALTMON_6:
+      case ALTMON_7:
+      case ALTMON_8:
+      case ALTMON_9:
+      case ALTMON_10:
+      case ALTMON_11:
+      case ALTMON_12:
+        tmm.tm_mon = item - ALTMON_1;
+        /* The platforms without nl_langinfo() don't support strftime with %OB.
+           We don't even need to try.  */
+        #if 0
+        if (!strftime (nlbuf, sizeof nlbuf, "%OB", &tmm))
+        #endif
+          if (!strftime (nlbuf, sizeof nlbuf, "%B", &tmm))
+            return (char *) months[item - ALTMON_1];
+        return nlbuf;
+    }
     case ABMON_1:
     case ABMON_2:
     case ABMON_3:
@@ -279,6 +322,7 @@ nl_langinfo (nl_item item)
     /* nl_langinfo items of the LC_MONETARY category.  */
     case CRNCYSTR:
       return localeconv () ->currency_symbol;
+# ifdef INT_CURR_SYMBOL
     case INT_CURR_SYMBOL:
       return localeconv () ->int_curr_symbol;
     case MON_DECIMAL_POINT:
@@ -307,6 +351,7 @@ nl_langinfo (nl_item item)
       return & localeconv () ->p_sign_posn;
     case N_SIGN_POSN:
       return & localeconv () ->n_sign_posn;
+# endif
     /* nl_langinfo items of the LC_MESSAGES category
        TODO: Really use the locale. */
     case YESEXPR:
diff --git a/gnu/nstrftime.c b/gnu/nstrftime.c
index 8795cd72..71f778a5 100644
--- a/gnu/nstrftime.c
+++ b/gnu/nstrftime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -91,6 +91,7 @@ extern char *tzname[];
 # define UCHAR_T unsigned char
 # define L_(Str) Str
 # define NLW(Sym) Sym
+# define ABALTMON_1 _NL_ABALTMON_1
 
 # define MEMCPY(d, s, n) memcpy (d, s, n)
 # define STRLEN(s) strlen (s)
@@ -255,7 +256,7 @@ extern char *tzname[];
 # undef _NL_CURRENT
 # define _NL_CURRENT(category, item) \
   (current->values[_NL_ITEM_INDEX (item)].string)
-# define LOCALE_PARAM , __locale_t loc
+# define LOCALE_PARAM , locale_t loc
 # define LOCALE_ARG , loc
 # define HELPER_LOCALE_ARG  , current
 #else
@@ -475,12 +476,19 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
 # define f_month \
   ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11                       \
                      ? "?" : _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon)))
+# define a_altmonth \
+  ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11                       \
+                     ? "?" : _NL_CURRENT (LC_TIME, NLW(ABALTMON_1) + tp->tm_mon)))
+# define f_altmonth \
+  ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11                       \
+                     ? "?" : _NL_CURRENT (LC_TIME, NLW(ALTMON_1) + tp->tm_mon)))
 # define ampm \
   ((const CHAR_T *) _NL_CURRENT (LC_TIME, tp->tm_hour > 11                    \
                                  ? NLW(PM_STR) : NLW(AM_STR)))
 
 # define aw_len STRLEN (a_wkday)
 # define am_len STRLEN (a_month)
+# define aam_len STRLEN (a_altmonth)
 # define ap_len STRLEN (ampm)
 #endif
 #if HAVE_TZNAME
@@ -808,17 +816,20 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
               to_uppcase = true;
               to_lowcase = false;
             }
-          if (modifier != 0)
+          if (modifier == L_('E'))
             goto bad_format;
 #ifdef _NL_CURRENT
-          cpy (am_len, a_month);
+          if (modifier == L_('O'))
+            cpy (aam_len, a_altmonth);
+          else
+            cpy (am_len, a_month);
           break;
 #else
           goto underlying_strftime;
 #endif
 
         case L_('B'):
-          if (modifier != 0)
+          if (modifier == L_('E'))
             goto bad_format;
           if (change_case)
             {
@@ -826,7 +837,10 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
               to_lowcase = false;
             }
 #ifdef _NL_CURRENT
-          cpy (STRLEN (f_month), f_month);
+          if (modifier == L_('O'))
+            cpy (STRLEN (f_altmonth), f_altmonth);
+          else
+            cpy (STRLEN (f_month), f_month);
           break;
 #else
           goto underlying_strftime;
@@ -1424,28 +1438,10 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
 # endif
 
                 ltm = *tp;
+                ltm.tm_wday = -1;
                 lt = mktime_z (tz, &ltm);
-
-                if (lt == (time_t) -1)
-                  {
-                    /* mktime returns -1 for errors, but -1 is also a
-                       valid time_t value.  Check whether an error really
-                       occurred.  */
-                    struct tm tm;
-
-                    if (! localtime_rz (tz, &lt, &tm)
-                        || ((ltm.tm_sec ^ tm.tm_sec)
-                            | (ltm.tm_min ^ tm.tm_min)
-                            | (ltm.tm_hour ^ tm.tm_hour)
-                            | (ltm.tm_mday ^ tm.tm_mday)
-                            | (ltm.tm_mon ^ tm.tm_mon)
-                            | (ltm.tm_year ^ tm.tm_year)))
-                      break;
-                  }
-
-                if (! localtime_rz (0, &lt, &gtm))
+                if (ltm.tm_wday < 0 || ! localtime_rz (0, &lt, &gtm))
                   break;
-
                 diff = tm_diff (&ltm, &gtm);
               }
 #endif
diff --git a/gnu/obstack.c b/gnu/obstack.c
index 31be3a76..abdd713d 100644
--- a/gnu/obstack.c
+++ b/gnu/obstack.c
@@ -1,5 +1,5 @@
 /* obstack.c - subroutines used implicitly by object stack macros
-   Copyright (C) 1988-2017 Free Software Foundation, Inc.
+   Copyright (C) 1988-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
diff --git a/gnu/obstack.h b/gnu/obstack.h
index 00cd25dc..9fc64552 100644
--- a/gnu/obstack.h
+++ b/gnu/obstack.h
@@ -1,5 +1,5 @@
 /* obstack.h - object stack macros
-   Copyright (C) 1988-2017 Free Software Foundation, Inc.
+   Copyright (C) 1988-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -111,7 +111,7 @@
 #include <stddef.h>             /* For size_t and ptrdiff_t.  */
 #include <string.h>             /* For __GNU_LIBRARY__, and memcpy.  */
 
-#if __STDC_VERSION__ < 199901L
+#if __STDC_VERSION__ < 199901L || defined __HP_cc
 # define __FLEXIBLE_ARRAY_MEMBER 1
 #else
 # define __FLEXIBLE_ARRAY_MEMBER
diff --git a/gnu/open-safer.c b/gnu/open-safer.c
new file mode 100644
index 00000000..040433a0
--- /dev/null
+++ b/gnu/open-safer.c
@@ -0,0 +1,46 @@
+/* Invoke open, but avoid some glitches.
+
+   Copyright (C) 2005-2006, 2008-2019 Free Software Foundation, Inc.
+
+   This 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 <https://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert.  */
+
+#include <config.h>
+
+#include "fcntl-safer.h"
+
+#include <fcntl.h>
+#include <stdarg.h>
+#include "unistd-safer.h"
+
+int
+open_safer (char const *file, int flags, ...)
+{
+  mode_t mode = 0;
+
+  if (flags & O_CREAT)
+    {
+      va_list ap;
+      va_start (ap, flags);
+
+      /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4
+         creates crashing code when 'mode_t' is smaller than 'int'.  */
+      mode = va_arg (ap, PROMOTED_MODE_T);
+
+      va_end (ap);
+    }
+
+  return fd_safer (open (file, flags, mode));
+}
diff --git a/gnu/open.c b/gnu/open.c
index b5452b56..65526057 100644
--- a/gnu/open.c
+++ b/gnu/open.c
@@ -1,5 +1,5 @@
 /* Open a descriptor to a file.
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -86,7 +86,7 @@ open (const char *filename, int flags, ...)
   flags &= ~O_NONBLOCK;
 #endif
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
   if (strcmp (filename, "/dev/null") == 0)
     filename = "NUL";
 #endif
diff --git a/gnu/openat-die.c b/gnu/openat-die.c
index b45b6b91..690c447a 100644
--- a/gnu/openat-die.c
+++ b/gnu/openat-die.c
@@ -1,6 +1,6 @@
 /* Report a save- or restore-cwd failure in our openat replacement and then exit.
 
-   Copyright (C) 2005-2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/openat-priv.h b/gnu/openat-priv.h
index b5a411b9..7b90eefa 100644
--- a/gnu/openat-priv.h
+++ b/gnu/openat-priv.h
@@ -1,6 +1,6 @@
 /* Internals for openat-like functions.
 
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/openat-proc.c b/gnu/openat-proc.c
index 6d2b598c..da76e2b3 100644
--- a/gnu/openat-proc.c
+++ b/gnu/openat-proc.c
@@ -1,6 +1,6 @@
 /* Create /proc/self/fd-related names for subfiles of open directories.
 
-   Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/openat-safer.c b/gnu/openat-safer.c
new file mode 100644
index 00000000..667beaaa
--- /dev/null
+++ b/gnu/openat-safer.c
@@ -0,0 +1,46 @@
+/* Invoke openat, but avoid some glitches.
+
+   Copyright (C) 2005-2006, 2008-2019 Free Software Foundation, Inc.
+
+   This 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 <https://www.gnu.org/licenses/>.  */
+
+/* Written by Paul Eggert for open, ported by Eric Blake for openat.  */
+
+#include <config.h>
+
+#include "fcntl-safer.h"
+
+#include <fcntl.h>
+#include <stdarg.h>
+#include "unistd-safer.h"
+
+int
+openat_safer (int fd, char const *file, int flags, ...)
+{
+  mode_t mode = 0;
+
+  if (flags & O_CREAT)
+    {
+      va_list ap;
+      va_start (ap, flags);
+
+      /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4
+         creates crashing code when 'mode_t' is smaller than 'int'.  */
+      mode = va_arg (ap, PROMOTED_MODE_T);
+
+      va_end (ap);
+    }
+
+  return fd_safer (openat (fd, file, flags, mode));
+}
diff --git a/gnu/openat.c b/gnu/openat.c
index 8b6389e2..4ab4a318 100644
--- a/gnu/openat.c
+++ b/gnu/openat.c
@@ -1,5 +1,5 @@
 /* provide a replacement openat function
-   Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2019 Free Software Foundation, Inc.
 
    This 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/gnu/openat.h b/gnu/openat.h
index 1c4f64a3..f23b371c 100644
--- a/gnu/openat.h
+++ b/gnu/openat.h
@@ -1,5 +1,5 @@
 /* provide a replacement openat function
-   Copyright (C) 2004-2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004-2006, 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/opendir-safer.c b/gnu/opendir-safer.c
index be18dc91..0bd831a7 100644
--- a/gnu/opendir-safer.c
+++ b/gnu/opendir-safer.c
@@ -1,6 +1,6 @@
 /* Invoke opendir, but avoid some glitches.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/opendir.c b/gnu/opendir.c
index ad5c0d83..2eb96c6e 100644
--- a/gnu/opendir.c
+++ b/gnu/opendir.c
@@ -1,5 +1,5 @@
 /* Start reading the entries of a directory.
-   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/opendirat.c b/gnu/opendirat.c
new file mode 100644
index 00000000..ad63131e
--- /dev/null
+++ b/gnu/opendirat.c
@@ -0,0 +1,54 @@
+/* Open a directory relative to another directory.
+
+   Copyright 2006-2019 Free Software Foundation, Inc.
+
+   This 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 <https://www.gnu.org/licenses/>.
+
+   Written by Jim Meyering and Paul Eggert.  */
+
+#include <config.h>
+
+#include <opendirat.h>
+
+#include <errno.h>
+#include <fcntl--.h>
+#include <unistd.h>
+
+/* Relative to DIR_FD, open the directory DIR, passing EXTRA_FLAGS to
+   the underlying openat call.  On success, store into *PNEW_FD the
+   underlying file descriptor of the newly opened directory and return
+   the directory stream.  On failure, return NULL and set errno.
+
+   On success, *PNEW_FD is at least 3, so this is a "safer" function.  */
+
+DIR *
+opendirat (int dir_fd, char const *dir, int extra_flags, int *pnew_fd)
+{
+  int open_flags = (O_RDONLY | O_CLOEXEC | O_DIRECTORY | O_NOCTTY
+                    | O_NONBLOCK | extra_flags);
+  int new_fd = openat (dir_fd, dir, open_flags);
+
+  if (new_fd < 0)
+    return NULL;
+  DIR *dirp = fdopendir (new_fd);
+  if (dirp)
+    *pnew_fd = new_fd;
+  else
+    {
+      int fdopendir_errno = errno;
+      close (new_fd);
+      errno = fdopendir_errno;
+    }
+  return dirp;
+}
diff --git a/gnu/opendirat.h b/gnu/opendirat.h
new file mode 100644
index 00000000..1edf5b57
--- /dev/null
+++ b/gnu/opendirat.h
@@ -0,0 +1,2 @@
+#include <dirent.h>
+DIR *opendirat (int, char const *, int, int *);
diff --git a/gnu/parse-datetime.c b/gnu/parse-datetime.c
index 600ecf63..568de6be 100644
--- a/gnu/parse-datetime.c
+++ b/gnu/parse-datetime.c
@@ -67,7 +67,7 @@
 
 /* Parse a string into an internal timestamp.
 
-   Copyright (C) 1999-2000, 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -558,7 +558,7 @@ debug_print_current_time (char const *item, parser_control *pc)
   if (pc->local_zones_seen && !pc->debug_local_zones_seen)
     {
       fprintf (stderr, &" isdst=%d%s"[!space],
-	       pc->local_isdst, pc->dsts_seen ? " DST" : "");
+               pc->local_isdst, pc->dsts_seen ? " DST" : "");
       pc->debug_local_zones_seen = true;
       space = true;
     }
@@ -3456,24 +3456,17 @@ yyerror (parser_control const *pc _GL_UNUSED,
   return 0;
 }
 
-/* In timezone TZ, if *TM0 is the old and *TM1 is the new value of a
-   struct tm after passing it to mktime_z, return true if it's OK that
-   mktime_z returned T.  It's not OK if *TM0 has out-of-range
-   members.  */
+/* If *TM0 is the old and *TM1 is the new value of a struct tm after
+   passing it to mktime_z, return true if it's OK.  It's not OK if
+   mktime failed or if *TM0 has out-of-range mainline members.
+   The caller should set TM1->tm_wday to -1 before calling mktime,
+   as a negative tm_wday is how mktime failure is inferred.  */
 
 static bool
-mktime_ok (timezone_t tz, struct tm const *tm0, struct tm const *tm1, time_t t)
+mktime_ok (struct tm const *tm0, struct tm const *tm1)
 {
-  struct tm ltm;
-  if (t == (time_t) -1)
-    {
-      /* Guard against falsely reporting an error when parsing a
-         timestamp that happens to equal (time_t) -1, on a host that
-         supports such a timestamp.  */
-      tm1 = localtime_rz (tz, &t, &ltm);
-      if (!tm1)
-        return false;
-    }
+  if (tm1->tm_wday < 0)
+    return false;
 
   return ! ((tm0->tm_sec ^ tm1->tm_sec)
             | (tm0->tm_min ^ tm1->tm_min)
@@ -3668,6 +3661,11 @@ parse_datetime2 (struct timespec *result, char const *p,
 
   timezone_t tz = tzdefault;
 
+  /* Store a local copy prior to first "goto".  Without this, a prior use
+     below of RELATIVE_TIME_0 on the RHS might translate to an assignment-
+     to-temporary, which would trigger a -Wjump-misses-init warning.  */
+  const relative_time rel_time_0 = RELATIVE_TIME_0;
+
   if (strncmp (p, "TZ=\"", 4) == 0)
     {
       char const *tzbase = p + 4;
@@ -3740,7 +3738,7 @@ parse_datetime2 (struct timespec *result, char const *p,
   tm.tm_isdst = tmp.tm_isdst;
 
   pc.meridian = MER24;
-  pc.rel = RELATIVE_TIME_0;
+  pc.rel = rel_time_0;
   pc.timespec_seen = false;
   pc.rels_seen = false;
   pc.dates_seen = 0;
@@ -3863,7 +3861,7 @@ parse_datetime2 (struct timespec *result, char const *p,
         fprintf (stderr, ", dst");
 
       if (pc.zones_seen)
-	fprintf (stderr, " (%s)", time_zone_str (pc.time_zone, time_zone_buf));
+        fprintf (stderr, " (%s)", time_zone_str (pc.time_zone, time_zone_buf));
 
       fputc ('\n', stderr);
     }
@@ -3943,10 +3941,11 @@ parse_datetime2 (struct timespec *result, char const *p,
       tm0.tm_mon = tm.tm_mon;
       tm0.tm_year = tm.tm_year;
       tm0.tm_isdst = tm.tm_isdst;
+      tm.tm_wday = -1;
 
       Start = mktime_z (tz, &tm);
 
-      if (! mktime_ok (tz, &tm0, &tm, Start))
+      if (! mktime_ok (&tm0, &tm))
         {
           bool repaired = false;
           bool time_zone_seen = pc.zones_seen != 0;
@@ -3979,8 +3978,9 @@ parse_datetime2 (struct timespec *result, char const *p,
               tm.tm_mon = tm0.tm_mon;
               tm.tm_year = tm0.tm_year;
               tm.tm_isdst = tm0.tm_isdst;
+              tm.tm_wday = -1;
               Start = mktime_z (tz2, &tm);
-              repaired = mktime_ok (tz2, &tm0, &tm, Start);
+              repaired = mktime_ok (&tm0, &tm);
               tzfree (tz2);
             }
 
diff --git a/gnu/parse-datetime.h b/gnu/parse-datetime.h
index 013be4b1..9f7aebd1 100644
--- a/gnu/parse-datetime.h
+++ b/gnu/parse-datetime.h
@@ -1,6 +1,6 @@
 /* Parse a string into an internal timestamp.
 
-   Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2017 Free Software
+   Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/parse-datetime.y b/gnu/parse-datetime.y
index f8da02d3..b264bb7f 100644
--- a/gnu/parse-datetime.y
+++ b/gnu/parse-datetime.y
@@ -1,7 +1,7 @@
 %{
 /* Parse a string into an internal timestamp.
 
-   Copyright (C) 1999-2000, 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -492,7 +492,7 @@ debug_print_current_time (char const *item, parser_control *pc)
   if (pc->local_zones_seen && !pc->debug_local_zones_seen)
     {
       fprintf (stderr, &" isdst=%d%s"[!space],
-	       pc->local_isdst, pc->dsts_seen ? " DST" : "");
+               pc->local_isdst, pc->dsts_seen ? " DST" : "");
       pc->debug_local_zones_seen = true;
       space = true;
     }
@@ -1554,24 +1554,17 @@ yyerror (parser_control const *pc _GL_UNUSED,
   return 0;
 }
 
-/* In timezone TZ, if *TM0 is the old and *TM1 is the new value of a
-   struct tm after passing it to mktime_z, return true if it's OK that
-   mktime_z returned T.  It's not OK if *TM0 has out-of-range
-   members.  */
+/* If *TM0 is the old and *TM1 is the new value of a struct tm after
+   passing it to mktime_z, return true if it's OK.  It's not OK if
+   mktime failed or if *TM0 has out-of-range mainline members.
+   The caller should set TM1->tm_wday to -1 before calling mktime,
+   as a negative tm_wday is how mktime failure is inferred.  */
 
 static bool
-mktime_ok (timezone_t tz, struct tm const *tm0, struct tm const *tm1, time_t t)
+mktime_ok (struct tm const *tm0, struct tm const *tm1)
 {
-  struct tm ltm;
-  if (t == (time_t) -1)
-    {
-      /* Guard against falsely reporting an error when parsing a
-         timestamp that happens to equal (time_t) -1, on a host that
-         supports such a timestamp.  */
-      tm1 = localtime_rz (tz, &t, &ltm);
-      if (!tm1)
-        return false;
-    }
+  if (tm1->tm_wday < 0)
+    return false;
 
   return ! ((tm0->tm_sec ^ tm1->tm_sec)
             | (tm0->tm_min ^ tm1->tm_min)
@@ -1766,6 +1759,11 @@ parse_datetime2 (struct timespec *result, char const *p,
 
   timezone_t tz = tzdefault;
 
+  /* Store a local copy prior to first "goto".  Without this, a prior use
+     below of RELATIVE_TIME_0 on the RHS might translate to an assignment-
+     to-temporary, which would trigger a -Wjump-misses-init warning.  */
+  const relative_time rel_time_0 = RELATIVE_TIME_0;
+
   if (strncmp (p, "TZ=\"", 4) == 0)
     {
       char const *tzbase = p + 4;
@@ -1838,7 +1836,7 @@ parse_datetime2 (struct timespec *result, char const *p,
   tm.tm_isdst = tmp.tm_isdst;
 
   pc.meridian = MER24;
-  pc.rel = RELATIVE_TIME_0;
+  pc.rel = rel_time_0;
   pc.timespec_seen = false;
   pc.rels_seen = false;
   pc.dates_seen = 0;
@@ -1961,7 +1959,7 @@ parse_datetime2 (struct timespec *result, char const *p,
         fprintf (stderr, ", dst");
 
       if (pc.zones_seen)
-	fprintf (stderr, " (%s)", time_zone_str (pc.time_zone, time_zone_buf));
+        fprintf (stderr, " (%s)", time_zone_str (pc.time_zone, time_zone_buf));
 
       fputc ('\n', stderr);
     }
@@ -2041,10 +2039,11 @@ parse_datetime2 (struct timespec *result, char const *p,
       tm0.tm_mon = tm.tm_mon;
       tm0.tm_year = tm.tm_year;
       tm0.tm_isdst = tm.tm_isdst;
+      tm.tm_wday = -1;
 
       Start = mktime_z (tz, &tm);
 
-      if (! mktime_ok (tz, &tm0, &tm, Start))
+      if (! mktime_ok (&tm0, &tm))
         {
           bool repaired = false;
           bool time_zone_seen = pc.zones_seen != 0;
@@ -2077,8 +2076,9 @@ parse_datetime2 (struct timespec *result, char const *p,
               tm.tm_mon = tm0.tm_mon;
               tm.tm_year = tm0.tm_year;
               tm.tm_isdst = tm0.tm_isdst;
+              tm.tm_wday = -1;
               Start = mktime_z (tz2, &tm);
-              repaired = mktime_ok (tz2, &tm0, &tm, Start);
+              repaired = mktime_ok (&tm0, &tm);
               tzfree (tz2);
             }
 
diff --git a/gnu/pathmax.h b/gnu/pathmax.h
index 191ba45e..83b9491f 100644
--- a/gnu/pathmax.h
+++ b/gnu/pathmax.h
@@ -1,5 +1,5 @@
 /* Define PATH_MAX somehow.  Requires sys/types.h.
-   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2017 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -65,7 +65,7 @@
 #  define PATH_MAX 1024
 # endif
 
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 /* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com,
    section "Maximum Path Length Limitation",
    <https://msdn.microsoft.com/en-us/library/aa365247.aspx#maxpath>
diff --git a/gnu/pipe-safer.c b/gnu/pipe-safer.c
index a3cfc10e..62017397 100644
--- a/gnu/pipe-safer.c
+++ b/gnu/pipe-safer.c
@@ -1,5 +1,5 @@
 /* Invoke pipe, but avoid some glitches.
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/printf-args.c b/gnu/printf-args.c
index 74335e49..e45cfbed 100644
--- a/gnu/printf-args.c
+++ b/gnu/printf-args.c
@@ -1,5 +1,5 @@
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2017 Free Software
+   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/printf-args.h b/gnu/printf-args.h
index 74fd26e9..866cba04 100644
--- a/gnu/printf-args.h
+++ b/gnu/printf-args.h
@@ -1,5 +1,5 @@
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2017 Free Software
+   Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/printf-parse.c b/gnu/printf-parse.c
index b56eb724..8596fd5f 100644
--- a/gnu/printf-parse.c
+++ b/gnu/printf-parse.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999-2000, 2002-2003, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2003, 2006-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -419,7 +419,7 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
                       cp++;
                     }
 #endif
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
                   /* 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.  */
diff --git a/gnu/printf-parse.h b/gnu/printf-parse.h
index e19a07dc..746bb3fe 100644
--- a/gnu/printf-parse.h
+++ b/gnu/printf-parse.h
@@ -1,5 +1,5 @@
 /* Parse printf format string.
-   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2017 Free Software
+   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/priv-set.c b/gnu/priv-set.c
index 1ba2551d..2e4ce40f 100644
--- a/gnu/priv-set.c
+++ b/gnu/priv-set.c
@@ -1,6 +1,6 @@
 /* Query, remove, or restore a Solaris privilege.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/priv-set.h b/gnu/priv-set.h
index 22463e5d..96f6428f 100644
--- a/gnu/priv-set.h
+++ b/gnu/priv-set.h
@@ -1,6 +1,6 @@
 /* Query, remove, or restore a Solaris privilege.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/progname.c b/gnu/progname.c
index fa51ca9c..a42b7fa2 100644
--- a/gnu/progname.c
+++ b/gnu/progname.c
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2003, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/progname.h b/gnu/progname.h
index 3e026246..c726e97e 100644
--- a/gnu/progname.h
+++ b/gnu/progname.h
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2004, 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/quote.h b/gnu/quote.h
index 2c2f0b74..5cef8ff1 100644
--- a/gnu/quote.h
+++ b/gnu/quote.h
@@ -1,6 +1,6 @@
 /* quote.h - prototypes for quote.c
 
-   Copyright (C) 1998-2001, 2003, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2001, 2003, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/quotearg.c b/gnu/quotearg.c
index 8e432e13..773d53f1 100644
--- a/gnu/quotearg.c
+++ b/gnu/quotearg.c
@@ -1,6 +1,6 @@
 /* quotearg.c - quote arguments for output
 
-   Copyright (C) 1998-2002, 2004-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2004-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -1080,3 +1080,10 @@ quote (char const *arg)
 {
   return quote_n (0, arg);
 }
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
diff --git a/gnu/quotearg.h b/gnu/quotearg.h
index 8d6b7f88..0f07e021 100644
--- a/gnu/quotearg.h
+++ b/gnu/quotearg.h
@@ -1,6 +1,6 @@
 /* quotearg.h - quote arguments for output
 
-   Copyright (C) 1998-2002, 2004, 2006, 2008-2017 Free Software Foundation,
+   Copyright (C) 1998-2002, 2004, 2006, 2008-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/raise.c b/gnu/raise.c
index aff5a582..e750b7a4 100644
--- a/gnu/raise.c
+++ b/gnu/raise.c
@@ -1,6 +1,6 @@
 /* Provide a non-threads replacement for the POSIX raise function.
 
-   Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,27 +31,9 @@
 #  include "msvc-inval.h"
 # endif
 
-# 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;
-}
+/* Forward declaration.  */
+static int raise_nothrow (int sig);
 # else
 #  define raise_nothrow raise
 # endif
@@ -61,12 +43,11 @@ raise_nothrow (int sig)
 
 # include <unistd.h>
 
-# define rpl_raise raise
-
 #endif
 
 int
-rpl_raise (int sig)
+raise (int sig)
+#undef raise
 {
 #if GNULIB_defined_signal_blocking && GNULIB_defined_SIGPIPE
   if (sig == SIGPIPE)
@@ -79,3 +60,24 @@ rpl_raise (int sig)
   return kill (getpid (), sig);
 #endif
 }
+
+#if HAVE_RAISE && 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;
+}
+#endif
diff --git a/gnu/rawmemchr.c b/gnu/rawmemchr.c
index f5793dd6..7df61512 100644
--- a/gnu/rawmemchr.c
+++ b/gnu/rawmemchr.c
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/read.c b/gnu/read.c
index 238e765a..52df1b06 100644
--- a/gnu/read.c
+++ b/gnu/read.c
@@ -1,5 +1,5 @@
 /* POSIX compatible read() function.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
@@ -20,7 +20,7 @@
 /* Specification.  */
 #include <unistd.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 # include <errno.h>
 # include <io.h>
diff --git a/gnu/readdir.c b/gnu/readdir.c
index 041cdbdf..2a2e1e31 100644
--- a/gnu/readdir.c
+++ b/gnu/readdir.c
@@ -1,5 +1,5 @@
 /* Read the next entry of a directory.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/readlink.c b/gnu/readlink.c
index cd9604b2..bf711093 100644
--- a/gnu/readlink.c
+++ b/gnu/readlink.c
@@ -1,5 +1,5 @@
 /* Stub for readlink().
-   Copyright (C) 2003-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/readlinkat.c b/gnu/readlinkat.c
index c9880e1c..c0f3e59f 100644
--- a/gnu/readlinkat.c
+++ b/gnu/readlinkat.c
@@ -1,5 +1,5 @@
 /* Read a symlink relative to an open directory.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/realloc.c b/gnu/realloc.c
index 4a7d390e..a81ce3b5 100644
--- a/gnu/realloc.c
+++ b/gnu/realloc.c
@@ -1,6 +1,6 @@
 /* realloc() function that is glibc compatible.
 
-   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2017 Free Software
+   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/ref-add.sin b/gnu/ref-add.sin
deleted file mode 100644
index 52df06a2..00000000
--- a/gnu/ref-add.sin
+++ /dev/null
@@ -1,29 +0,0 @@
-# Add this package to a list of references stored in a text file.
-#
-#   Copyright (C) 2000, 2009-2017 Free Software Foundation, Inc.
-#
-#   This 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 <https://www.gnu.org/licenses/>.
-#
-# Written by Bruno Haible <haible@clisp.cons.org>.
-#
-/^# Packages using this file: / {
-  s/# Packages using this file://
-  ta
-  :a
-  s/ @PACKAGE@ / @PACKAGE@ /
-  tb
-  s/ $/ @PACKAGE@ /
-  :b
-  s/^/# Packages using this file:/
-}
diff --git a/gnu/ref-del.sin b/gnu/ref-del.sin
deleted file mode 100644
index 8e9752d2..00000000
--- a/gnu/ref-del.sin
+++ /dev/null
@@ -1,24 +0,0 @@
-# Remove this package from a list of references stored in a text file.
-#
-#   Copyright (C) 2000, 2009-2017 Free Software Foundation, Inc.
-#
-#   This 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 <https://www.gnu.org/licenses/>.
-#
-# Written by Bruno Haible <haible@clisp.cons.org>.
-#
-/^# Packages using this file: / {
-  s/# Packages using this file://
-  s/ @PACKAGE@ / /
-  s/^/# Packages using this file:/
-}
diff --git a/gnu/regcomp.c b/gnu/regcomp.c
index d79c69d6..10a0a49d 100644
--- a/gnu/regcomp.c
+++ b/gnu/regcomp.c
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -59,7 +59,7 @@ static reg_errcode_t calc_inveclosure (re_dfa_t *dfa);
 static Idx fetch_number (re_string_t *input, re_token_t *token,
 			 reg_syntax_t syntax);
 static int peek_token (re_token_t *token, re_string_t *input,
-			reg_syntax_t syntax) internal_function;
+			reg_syntax_t syntax);
 static bin_tree_t *parse (re_string_t *regexp, regex_t *preg,
 			  reg_syntax_t syntax, reg_errcode_t *err);
 static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg,
@@ -233,9 +233,7 @@ re_compile_pattern (const char *pattern, size_t length,
     return NULL;
   return gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]);
 }
-#ifdef _LIBC
 weak_alias (__re_compile_pattern, re_compile_pattern)
-#endif
 
 /* Set by 're_set_syntax' to the current regexp syntax to recognize.  Can
    also be assigned to arbitrarily: each pattern buffer stores its own
@@ -260,9 +258,7 @@ re_set_syntax (reg_syntax_t syntax)
   re_syntax_options = syntax;
   return ret;
 }
-#ifdef _LIBC
 weak_alias (__re_set_syntax, re_set_syntax)
-#endif
 
 int
 re_compile_fastmap (struct re_pattern_buffer *bufp)
@@ -281,9 +277,7 @@ re_compile_fastmap (struct re_pattern_buffer *bufp)
   bufp->fastmap_accurate = 1;
   return 0;
 }
-#ifdef _LIBC
 weak_alias (__re_compile_fastmap, re_compile_fastmap)
-#endif
 
 static inline void
 __attribute__ ((always_inline))
@@ -464,7 +458,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,
    the return codes and their meanings.)  */
 
 int
-regcomp (regex_t *_Restrict_ preg, const char *_Restrict_ pattern, int cflags)
+regcomp (regex_t *__restrict preg, const char *__restrict pattern, int cflags)
 {
   reg_errcode_t ret;
   reg_syntax_t syntax = ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTENDED
@@ -476,7 +470,7 @@ regcomp (regex_t *_Restrict_ preg, const char *_Restrict_ pattern, int cflags)
 
   /* Try to allocate space for the fastmap.  */
   preg->fastmap = re_malloc (char, SBC_MAX);
-  if (BE (preg->fastmap == NULL, 0))
+  if (__glibc_unlikely (preg->fastmap == NULL))
     return REG_ESPACE;
 
   syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0;
@@ -502,7 +496,7 @@ regcomp (regex_t *_Restrict_ preg, const char *_Restrict_ pattern, int cflags)
     ret = REG_EPAREN;
 
   /* We have already checked preg->fastmap != NULL.  */
-  if (BE (ret == REG_NOERROR, 1))
+  if (__glibc_likely (ret == REG_NOERROR))
     /* Compute the fastmap now, since regexec cannot modify the pattern
        buffer.  This function never fails in this implementation.  */
     (void) re_compile_fastmap (preg);
@@ -515,23 +509,21 @@ regcomp (regex_t *_Restrict_ preg, const char *_Restrict_ pattern, int cflags)
 
   return (int) ret;
 }
-#ifdef _LIBC
+libc_hidden_def (__regcomp)
 weak_alias (__regcomp, regcomp)
-#endif
 
 /* Returns a message corresponding to an error code, ERRCODE, returned
    from either regcomp or regexec.   We don't use PREG here.  */
 
 size_t
-regerror (int errcode, const regex_t *_Restrict_ preg, char *_Restrict_ errbuf,
+regerror (int errcode, const regex_t *__restrict preg, char *__restrict errbuf,
 	  size_t errbuf_size)
 {
   const char *msg;
   size_t msg_size;
+  int nerrcodes = sizeof __re_error_msgid_idx / sizeof __re_error_msgid_idx[0];
 
-  if (BE (errcode < 0
-	  || errcode >= (int) (sizeof (__re_error_msgid_idx)
-			       / sizeof (__re_error_msgid_idx[0])), 0))
+  if (__glibc_unlikely (errcode < 0 || errcode >= nerrcodes))
     /* Only error codes returned by the rest of the code should be passed
        to this routine.  If we are given anything else, or if other regex
        code generates an invalid error code, then the program has a bug.
@@ -542,10 +534,10 @@ regerror (int errcode, const regex_t *_Restrict_ preg, char *_Restrict_ errbuf,
 
   msg_size = strlen (msg) + 1; /* Includes the null.  */
 
-  if (BE (errbuf_size != 0, 1))
+  if (__glibc_likely (errbuf_size != 0))
     {
       size_t cpy_size = msg_size;
-      if (BE (msg_size > errbuf_size, 0))
+      if (__glibc_unlikely (msg_size > errbuf_size))
 	{
 	  cpy_size = errbuf_size - 1;
 	  errbuf[cpy_size] = '\0';
@@ -555,9 +547,7 @@ regerror (int errcode, const regex_t *_Restrict_ preg, char *_Restrict_ errbuf,
 
   return msg_size;
 }
-#ifdef _LIBC
 weak_alias (__regerror, regerror)
-#endif
 
 
 #ifdef RE_ENABLE_I18N
@@ -643,7 +633,7 @@ void
 regfree (regex_t *preg)
 {
   re_dfa_t *dfa = preg->buffer;
-  if (BE (dfa != NULL, 1))
+  if (__glibc_likely (dfa != NULL))
     {
       lock_fini (dfa->lock);
       free_dfa_content (dfa);
@@ -657,9 +647,8 @@ regfree (regex_t *preg)
   re_free (preg->translate);
   preg->translate = NULL;
 }
-#ifdef _LIBC
+libc_hidden_def (__regfree)
 weak_alias (__regfree, regfree)
-#endif
 
 /* Entry points compatible with 4.2 BSD regex library.  We don't define
    them unless specifically requested.  */
@@ -699,7 +688,7 @@ re_comp (const char *s)
 
   if (re_comp_buf.fastmap == NULL)
     {
-      re_comp_buf.fastmap = (char *) malloc (SBC_MAX);
+      re_comp_buf.fastmap = re_malloc (char, SBC_MAX);
       if (re_comp_buf.fastmap == NULL)
 	return (char *) gettext (__re_error_msgid
 				 + __re_error_msgid_idx[(int) REG_ESPACE]);
@@ -752,7 +741,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
 
   /* Initialize the dfa.  */
   dfa = preg->buffer;
-  if (BE (preg->allocated < sizeof (re_dfa_t), 0))
+  if (__glibc_unlikely (preg->allocated < sizeof (re_dfa_t)))
     {
       /* If zero allocated, but buffer is non-null, try to realloc
 	 enough space.  This loses if buffer's address is bogus, but
@@ -767,9 +756,9 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
   preg->used = sizeof (re_dfa_t);
 
   err = init_dfa (dfa, length);
-  if (BE (err == REG_NOERROR && lock_init (dfa->lock) != 0, 0))
+  if (__glibc_unlikely (err == REG_NOERROR && lock_init (dfa->lock) != 0))
     err = REG_ESPACE;
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       free_dfa_content (dfa);
       preg->buffer = NULL;
@@ -784,7 +773,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
 
   err = re_string_construct (&regexp, pattern, length, preg->translate,
 			     (syntax & RE_ICASE) != 0, dfa);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
     re_compile_internal_free_return:
       free_workarea_compile (preg);
@@ -799,12 +788,12 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
   /* Parse the regular expression, and build a structure tree.  */
   preg->re_nsub = 0;
   dfa->str_tree = parse (&regexp, preg, syntax, &err);
-  if (BE (dfa->str_tree == NULL, 0))
+  if (__glibc_unlikely (dfa->str_tree == NULL))
     goto re_compile_internal_free_return;
 
   /* Analyze the tree and create the nfa.  */
   err = analyze (preg);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto re_compile_internal_free_return;
 
 #ifdef RE_ENABLE_I18N
@@ -820,7 +809,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
   free_workarea_compile (preg);
   re_string_destruct (&regexp);
 
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       lock_fini (dfa->lock);
       free_dfa_content (dfa);
@@ -862,7 +851,8 @@ 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 (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2 <= pat_len, 0))
+  if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2
+			<= pat_len))
     return REG_ESPACE;
 
   dfa->nodes_alloc = pat_len + 1;
@@ -906,7 +896,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
 	  int i, j, ch;
 
 	  dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
-	  if (BE (dfa->sb_char == NULL, 0))
+	  if (__glibc_unlikely (dfa->sb_char == NULL))
 	    return REG_ESPACE;
 
 	  /* Set the bits corresponding to single byte chars.  */
@@ -925,7 +915,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
     }
 #endif
 
-  if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0))
+  if (__glibc_unlikely (dfa->nodes == NULL || dfa->state_table == NULL))
     return REG_ESPACE;
   return REG_NOERROR;
 }
@@ -935,21 +925,23 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
    character used by some operators like "\<", "\>", etc.  */
 
 static void
-internal_function
 init_word_char (re_dfa_t *dfa)
 {
   int i = 0;
   int j;
   int ch = 0;
   dfa->word_ops_used = 1;
-  if (BE (dfa->map_notascii == 0, 1))
+  if (__glibc_likely (dfa->map_notascii == 0))
     {
+      /* Avoid uint32_t and uint64_t as some non-GCC platforms lack
+	 them, an issue when this code is used in Gnulib.  */
       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)
 	{
+	  /* Pacify gcc -Woverflow on 32-bit platformns.  */
 	  dfa->word_char[0] = bits1 << 31 << 1 | bits0;
 	  dfa->word_char[1] = bits3 << 31 << 1 | bits2;
 	  i = 2;
@@ -966,7 +958,7 @@ init_word_char (re_dfa_t *dfa)
         goto general_case;
       ch = 128;
 
-      if (BE (dfa->is_utf8, 1))
+      if (__glibc_likely (dfa->is_utf8))
 	{
 	  memset (&dfa->word_char[i], '\0', (SBC_MAX - ch) / 8);
 	  return;
@@ -1013,7 +1005,7 @@ create_initial_state (re_dfa_t *dfa)
   first = dfa->str_tree->first->node_idx;
   dfa->init_node = first;
   err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
 
   /* The back-references which are in initial states can epsilon transit,
@@ -1057,7 +1049,7 @@ create_initial_state (re_dfa_t *dfa)
   /* It must be the first time to invoke acquire_state.  */
   dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0);
   /* We don't check ERR here, since the initial state must not be NULL.  */
-  if (BE (dfa->init_state == NULL, 0))
+  if (__glibc_unlikely (dfa->init_state == NULL))
     return err;
   if (dfa->init_state->has_constraint)
     {
@@ -1069,8 +1061,9 @@ create_initial_state (re_dfa_t *dfa)
 							 &init_nodes,
 							 CONTEXT_NEWLINE
 							 | CONTEXT_BEGBUF);
-      if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL
-	      || dfa->init_state_begbuf == NULL, 0))
+      if (__glibc_unlikely (dfa->init_state_word == NULL
+			    || dfa->init_state_nl == NULL
+			    || dfa->init_state_begbuf == NULL))
 	return err;
     }
   else
@@ -1177,8 +1170,8 @@ analyze (regex_t *preg)
   dfa->org_indices = re_malloc (Idx, dfa->nodes_alloc);
   dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc);
   dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc);
-  if (BE (dfa->nexts == NULL || dfa->org_indices == NULL || dfa->edests == NULL
-	  || dfa->eclosures == NULL, 0))
+  if (__glibc_unlikely (dfa->nexts == NULL || dfa->org_indices == NULL
+			|| dfa->edests == NULL || dfa->eclosures == NULL))
     return REG_ESPACE;
 
   dfa->subexp_map = re_malloc (Idx, preg->re_nsub);
@@ -1193,23 +1186,23 @@ analyze (regex_t *preg)
 	  break;
       if (i == preg->re_nsub)
 	{
-	  free (dfa->subexp_map);
+	  re_free (dfa->subexp_map);
 	  dfa->subexp_map = NULL;
 	}
     }
 
   ret = postorder (dfa->str_tree, lower_subexps, preg);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
   ret = postorder (dfa->str_tree, calc_first, dfa);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
   preorder (dfa->str_tree, calc_next, dfa);
   ret = preorder (dfa->str_tree, link_nfa_nodes, dfa);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
   ret = calc_eclosure (dfa);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
 
   /* We only need this during the prune_impossible_nodes pass in regexec.c;
@@ -1218,7 +1211,7 @@ analyze (regex_t *preg)
       || dfa->nbackref)
     {
       dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len);
-      if (BE (dfa->inveclosures == NULL, 0))
+      if (__glibc_unlikely (dfa->inveclosures == NULL))
 	return REG_ESPACE;
       ret = calc_inveclosure (dfa);
     }
@@ -1248,7 +1241,7 @@ postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)),
       do
 	{
 	  reg_errcode_t err = fn (extra, node);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 	  if (node->parent == NULL)
 	    return REG_NOERROR;
@@ -1270,7 +1263,7 @@ preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)),
   for (node = root; ; )
     {
       reg_errcode_t err = fn (extra, node);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return err;
 
       /* Go to the left node, or up and to the right.  */
@@ -1371,7 +1364,8 @@ lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node)
   cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP);
   tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls;
   tree = create_tree (dfa, op, tree1, CONCAT);
-  if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0))
+  if (__glibc_unlikely (tree == NULL || tree1 == NULL
+			|| op == NULL || cls == NULL))
     {
       *err = REG_ESPACE;
       return NULL;
@@ -1397,7 +1391,7 @@ calc_first (void *extra, bin_tree_t *node)
     {
       node->first = node;
       node->node_idx = re_dfa_add_node (dfa, node->token);
-      if (BE (node->node_idx == -1, 0))
+      if (__glibc_unlikely (node->node_idx == -1))
 	return REG_ESPACE;
       if (node->token.type == ANCHOR)
 	dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type;
@@ -1490,7 +1484,6 @@ link_nfa_nodes (void *extra, bin_tree_t *node)
    to their own constraint.  */
 
 static reg_errcode_t
-internal_function
 duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
 			Idx root_node, unsigned int init_constraint)
 {
@@ -1509,11 +1502,11 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
 	  org_dest = dfa->nexts[org_node];
 	  re_node_set_empty (dfa->edests + clone_node);
 	  clone_dest = duplicate_node (dfa, org_dest, constraint);
-	  if (BE (clone_dest == -1, 0))
+	  if (__glibc_unlikely (clone_dest == -1))
 	    return REG_ESPACE;
 	  dfa->nexts[clone_node] = dfa->nexts[org_node];
 	  ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-	  if (BE (! ok, 0))
+	  if (__glibc_unlikely (! ok))
 	    return REG_ESPACE;
 	}
       else if (dfa->edests[org_node].nelem == 0)
@@ -1535,17 +1528,17 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
 	  if (org_node == root_node && clone_node != org_node)
 	    {
 	      ok = re_node_set_insert (dfa->edests + clone_node, org_dest);
-	      if (BE (! ok, 0))
+	      if (__glibc_unlikely (! ok))
 	        return REG_ESPACE;
 	      break;
 	    }
 	  /* In case the node has another constraint, append it.  */
 	  constraint |= dfa->nodes[org_node].constraint;
 	  clone_dest = duplicate_node (dfa, org_dest, constraint);
-	  if (BE (clone_dest == -1, 0))
+	  if (__glibc_unlikely (clone_dest == -1))
 	    return REG_ESPACE;
 	  ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-	  if (BE (! ok, 0))
+	  if (__glibc_unlikely (! ok))
 	    return REG_ESPACE;
 	}
       else /* dfa->edests[org_node].nelem == 2 */
@@ -1561,14 +1554,14 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
 	      /* There is no such duplicated node, create a new one.  */
 	      reg_errcode_t err;
 	      clone_dest = duplicate_node (dfa, org_dest, constraint);
-	      if (BE (clone_dest == -1, 0))
+	      if (__glibc_unlikely (clone_dest == -1))
 		return REG_ESPACE;
 	      ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-	      if (BE (! ok, 0))
+	      if (__glibc_unlikely (! ok))
 		return REG_ESPACE;
 	      err = duplicate_node_closure (dfa, org_dest, clone_dest,
 					    root_node, constraint);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		return err;
 	    }
 	  else
@@ -1576,16 +1569,16 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
 	      /* There is a duplicated node which satisfies the constraint,
 		 use it to avoid infinite loop.  */
 	      ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-	      if (BE (! ok, 0))
+	      if (__glibc_unlikely (! ok))
 		return REG_ESPACE;
 	    }
 
 	  org_dest = dfa->edests[org_node].elems[1];
 	  clone_dest = duplicate_node (dfa, org_dest, constraint);
-	  if (BE (clone_dest == -1, 0))
+	  if (__glibc_unlikely (clone_dest == -1))
 	    return REG_ESPACE;
 	  ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
-	  if (BE (! ok, 0))
+	  if (__glibc_unlikely (! ok))
 	    return REG_ESPACE;
 	}
       org_node = org_dest;
@@ -1619,7 +1612,7 @@ static Idx
 duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint)
 {
   Idx dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]);
-  if (BE (dup_idx != -1, 1))
+  if (__glibc_likely (dup_idx != -1))
     {
       dfa->nodes[dup_idx].constraint = constraint;
       dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint;
@@ -1645,7 +1638,7 @@ calc_inveclosure (re_dfa_t *dfa)
       for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx)
 	{
 	  ok = re_node_set_insert_last (dfa->inveclosures + elems[idx], src);
-	  if (BE (! ok, 0))
+	  if (__glibc_unlikely (! ok))
 	    return REG_ESPACE;
 	}
     }
@@ -1686,7 +1679,7 @@ calc_eclosure (re_dfa_t *dfa)
 	continue;
       /* Calculate epsilon closure of 'node_idx'.  */
       err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return err;
 
       if (dfa->eclosures[node_idx].nelem == 0)
@@ -1709,7 +1702,7 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
   bool ok;
   bool incomplete = false;
   err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
 
   /* This indicates that we are calculating this node now.
@@ -1724,7 +1717,7 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
     {
       err = duplicate_node_closure (dfa, node, node, node,
 				    dfa->nodes[node].constraint);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return err;
     }
 
@@ -1746,14 +1739,14 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
 	if (dfa->eclosures[edest].nelem == 0)
 	  {
 	    err = calc_eclosure_iter (&eclosure_elem, dfa, edest, false);
-	    if (BE (err != REG_NOERROR, 0))
+	    if (__glibc_unlikely (err != REG_NOERROR))
 	      return err;
 	  }
 	else
 	  eclosure_elem = dfa->eclosures[edest];
 	/* Merge the epsilon closure of 'edest'.  */
 	err = re_node_set_merge (&eclosure, &eclosure_elem);
-	if (BE (err != REG_NOERROR, 0))
+	if (__glibc_unlikely (err != REG_NOERROR))
 	  return err;
 	/* If the epsilon closure of 'edest' is incomplete,
 	   the epsilon closure of this node is also incomplete.  */
@@ -1766,7 +1759,7 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
 
   /* An epsilon closure includes itself.  */
   ok = re_node_set_insert (&eclosure, node);
-  if (BE (! ok, 0))
+  if (__glibc_unlikely (! ok))
     return REG_ESPACE;
   if (incomplete && !root)
     dfa->eclosures[node].nelem = 0;
@@ -1782,7 +1775,6 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
    We must not use this function inside bracket expressions.  */
 
 static void
-internal_function
 fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax)
 {
   re_string_skip_bytes (input, peek_token (result, input, syntax));
@@ -1792,7 +1784,6 @@ fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax)
    We must not use this function inside bracket expressions.  */
 
 static int
-internal_function
 peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
 {
   unsigned char c;
@@ -2031,7 +2022,6 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
    We must not use this function out of bracket expressions.  */
 
 static int
-internal_function
 peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax)
 {
   unsigned char c;
@@ -2139,14 +2129,14 @@ parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax,
   dfa->syntax = syntax;
   fetch_token (&current_token, regexp, syntax | RE_CARET_ANCHORS_HERE);
   tree = parse_reg_exp (regexp, preg, &current_token, syntax, 0, err);
-  if (BE (*err != REG_NOERROR && tree == NULL, 0))
+  if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
     return NULL;
   eor = create_tree (dfa, NULL, NULL, END_OF_RE);
   if (tree != NULL)
     root = create_tree (dfa, tree, eor, CONCAT);
   else
     root = eor;
-  if (BE (eor == NULL || root == NULL, 0))
+  if (__glibc_unlikely (eor == NULL || root == NULL))
     {
       *err = REG_ESPACE;
       return NULL;
@@ -2171,7 +2161,7 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
   bin_tree_t *tree, *branch = NULL;
   bitset_word_t initial_bkref_map = dfa->completed_bkref_map;
   tree = parse_branch (regexp, preg, token, syntax, nest, err);
-  if (BE (*err != REG_NOERROR && tree == NULL, 0))
+  if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
     return NULL;
 
   while (token->type == OP_ALT)
@@ -2183,7 +2173,7 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
 	  bitset_word_t accumulated_bkref_map = dfa->completed_bkref_map;
 	  dfa->completed_bkref_map = initial_bkref_map;
 	  branch = parse_branch (regexp, preg, token, syntax, nest, err);
-	  if (BE (*err != REG_NOERROR && branch == NULL, 0))
+	  if (__glibc_unlikely (*err != REG_NOERROR && branch == NULL))
 	    {
 	      if (tree != NULL)
 		postorder (tree, free_tree, NULL);
@@ -2194,7 +2184,7 @@ parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
       else
 	branch = NULL;
       tree = create_tree (dfa, tree, branch, OP_ALT);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
 	{
 	  *err = REG_ESPACE;
 	  return NULL;
@@ -2219,14 +2209,14 @@ parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token,
   bin_tree_t *tree, *expr;
   re_dfa_t *dfa = preg->buffer;
   tree = parse_expression (regexp, preg, token, syntax, nest, err);
-  if (BE (*err != REG_NOERROR && tree == NULL, 0))
+  if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
     return NULL;
 
   while (token->type != OP_ALT && token->type != END_OF_RE
 	 && (nest == 0 || token->type != OP_CLOSE_SUBEXP))
     {
       expr = parse_expression (regexp, preg, token, syntax, nest, err);
-      if (BE (*err != REG_NOERROR && expr == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && expr == NULL))
 	{
 	  if (tree != NULL)
 	    postorder (tree, free_tree, NULL);
@@ -2267,7 +2257,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
     {
     case CHARACTER:
       tree = create_token_tree (dfa, NULL, NULL, token);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
 	{
 	  *err = REG_ESPACE;
 	  return NULL;
@@ -2282,7 +2272,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
 	      fetch_token (token, regexp, syntax);
 	      mbc_remain = create_token_tree (dfa, NULL, NULL, token);
 	      tree = create_tree (dfa, tree, mbc_remain, CONCAT);
-	      if (BE (mbc_remain == NULL || tree == NULL, 0))
+	      if (__glibc_unlikely (mbc_remain == NULL || tree == NULL))
 		{
 		  *err = REG_ESPACE;
 		  return NULL;
@@ -2294,25 +2284,25 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
 
     case OP_OPEN_SUBEXP:
       tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
 	return NULL;
       break;
 
     case OP_OPEN_BRACKET:
       tree = parse_bracket_exp (regexp, dfa, token, syntax, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
 	return NULL;
       break;
 
     case OP_BACK_REF:
-      if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1))
+      if (!__glibc_likely (dfa->completed_bkref_map & (1 << token->opr.idx)))
 	{
 	  *err = REG_ESUBREG;
 	  return NULL;
 	}
       dfa->used_bkref_map |= 1 << token->opr.idx;
       tree = create_token_tree (dfa, NULL, NULL, token);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
 	{
 	  *err = REG_ESPACE;
 	  return NULL;
@@ -2358,7 +2348,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
       /* mb_partial and word_char bits should be initialized already
 	 by peek_token.  */
       tree = create_token_tree (dfa, NULL, NULL, token);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
 	{
 	  *err = REG_ESPACE;
 	  return NULL;
@@ -2388,7 +2378,8 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
 	    }
 	  tree_last = create_token_tree (dfa, NULL, NULL, token);
 	  tree = create_tree (dfa, tree_first, tree_last, OP_ALT);
-	  if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0))
+	  if (__glibc_unlikely (tree_first == NULL || tree_last == NULL
+				|| tree == NULL))
 	    {
 	      *err = REG_ESPACE;
 	      return NULL;
@@ -2397,7 +2388,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
       else
 	{
 	  tree = create_token_tree (dfa, NULL, NULL, token);
-	  if (BE (tree == NULL, 0))
+	  if (__glibc_unlikely (tree == NULL))
 	    {
 	      *err = REG_ESPACE;
 	      return NULL;
@@ -2412,7 +2403,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
 
     case OP_PERIOD:
       tree = create_token_tree (dfa, NULL, NULL, token);
-      if (BE (tree == NULL, 0))
+      if (__glibc_unlikely (tree == NULL))
 	{
 	  *err = REG_ESPACE;
 	  return NULL;
@@ -2427,7 +2418,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
 				 "alnum",
 				 "_",
 				 token->type == OP_NOTWORD, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
 	return NULL;
       break;
 
@@ -2437,7 +2428,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
 				 "space",
 				 "",
 				 token->type == OP_NOTSPACE, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && tree == NULL))
 	return NULL;
       break;
 
@@ -2463,7 +2454,7 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token,
     {
       bin_tree_t *dup_tree = parse_dup_op (tree, regexp, dfa, token,
 					   syntax, err);
-      if (BE (*err != REG_NOERROR && dup_tree == NULL, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR && dup_tree == NULL))
 	{
 	  if (tree != NULL)
 	    postorder (tree, free_tree, NULL);
@@ -2509,13 +2500,14 @@ parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
   else
     {
       tree = parse_reg_exp (regexp, preg, token, syntax, nest, err);
-      if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0))
+      if (__glibc_unlikely (*err == REG_NOERROR
+			    && token->type != OP_CLOSE_SUBEXP))
 	{
 	  if (tree != NULL)
 	    postorder (tree, free_tree, NULL);
 	  *err = REG_EPAREN;
 	}
-      if (BE (*err != REG_NOERROR, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR))
 	return NULL;
     }
 
@@ -2523,7 +2515,7 @@ parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token,
     dfa->completed_bkref_map |= 1 << cur_nsub;
 
   tree = create_tree (dfa, tree, NULL, SUBEXP);
-  if (BE (tree == NULL, 0))
+  if (__glibc_unlikely (tree == NULL))
     {
       *err = REG_ESPACE;
       return NULL;
@@ -2556,17 +2548,17 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 	      return NULL;
 	    }
 	}
-      if (BE (start != -2, 1))
+      if (__glibc_likely (start != -2))
 	{
 	  /* We treat "{n}" as "{n,n}".  */
 	  end = ((token->type == OP_CLOSE_DUP_NUM) ? start
 		 : ((token->type == CHARACTER && token->opr.c == ',')
 		    ? fetch_number (regexp, token, syntax) : -2));
 	}
-      if (BE (start == -2 || end == -2, 0))
+      if (__glibc_unlikely (start == -2 || end == -2))
 	{
 	  /* Invalid sequence.  */
-	  if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0))
+	  if (__glibc_unlikely (!(syntax & RE_INVALID_INTERVAL_ORD)))
 	    {
 	      if (token->type == END_OF_RE)
 		*err = REG_EBRACE;
@@ -2585,15 +2577,15 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 	  return elem;
 	}
 
-      if (BE ((end != -1 && start > end)
-	      || token->type != OP_CLOSE_DUP_NUM, 0))
+      if (__glibc_unlikely ((end != -1 && start > end)
+			    || token->type != OP_CLOSE_DUP_NUM))
 	{
 	  /* First number greater than second.  */
 	  *err = REG_BADBR;
 	  return NULL;
 	}
 
-      if (BE (RE_DUP_MAX < (end == -1 ? start : end), 0))
+      if (__glibc_unlikely (RE_DUP_MAX < (end == -1 ? start : end)))
 	{
 	  *err = REG_ESIZE;
 	  return NULL;
@@ -2607,23 +2599,23 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 
   fetch_token (token, regexp, syntax);
 
-  if (BE (elem == NULL, 0))
+  if (__glibc_unlikely (elem == NULL))
     return NULL;
-  if (BE (start == 0 && end == 0, 0))
+  if (__glibc_unlikely (start == 0 && end == 0))
     {
       postorder (elem, free_tree, NULL);
       return NULL;
     }
 
   /* Extract "<re>{n,m}" to "<re><re>...<re><re>{0,<m-n>}".  */
-  if (BE (start > 0, 0))
+  if (__glibc_unlikely (start > 0))
     {
       tree = elem;
       for (i = 2; i <= start; ++i)
 	{
 	  elem = duplicate_tree (elem, dfa);
 	  tree = create_tree (dfa, tree, elem, CONCAT);
-	  if (BE (elem == NULL || tree == NULL, 0))
+	  if (__glibc_unlikely (elem == NULL || tree == NULL))
 	    goto parse_dup_op_espace;
 	}
 
@@ -2632,7 +2624,7 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 
       /* Duplicate ELEM before it is marked optional.  */
       elem = duplicate_tree (elem, dfa);
-      if (BE (elem == NULL, 0))
+      if (__glibc_unlikely (elem == NULL))
         goto parse_dup_op_espace;
       old_tree = tree;
     }
@@ -2647,13 +2639,9 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 
   tree = create_tree (dfa, elem, NULL,
 		      (end == -1 ? OP_DUP_ASTERISK : OP_ALT));
-  if (BE (tree == NULL, 0))
+  if (__glibc_unlikely (tree == NULL))
     goto parse_dup_op_espace;
 
-/* From gnulib's "intprops.h":
-   True if the arithmetic type T is signed.  */
-#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-
   /* This loop is actually executed only when end != -1,
      to rewrite <re>{0,n} as (<re>(<re>...<re>?)?)?...  We have
      already created the start+1-th copy.  */
@@ -2662,11 +2650,11 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
       {
 	elem = duplicate_tree (elem, dfa);
 	tree = create_tree (dfa, tree, elem, CONCAT);
-	if (BE (elem == NULL || tree == NULL, 0))
+	if (__glibc_unlikely (elem == NULL || tree == NULL))
 	  goto parse_dup_op_espace;
 
 	tree = create_tree (dfa, tree, NULL, OP_ALT);
-	if (BE (tree == NULL, 0))
+	if (__glibc_unlikely (tree == NULL))
 	  goto parse_dup_op_espace;
       }
 
@@ -2688,15 +2676,14 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa,
 
 # ifdef RE_ENABLE_I18N
 /* Convert the byte B to the corresponding wide character.  In a
-   unibyte locale, treat B as itself if it is an encoding error.
-   In a multibyte locale, return WEOF if B is an encoding error.  */
+   unibyte locale, treat B as itself.  In a multibyte locale, return
+   WEOF if B is an encoding error.  */
 static wint_t
 parse_byte (unsigned char b, re_charset_t *mbcset)
 {
-  wint_t wc = __btowc (b);
-  return wc == WEOF && !mbcset ? b : wc;
+  return mbcset == NULL ? b : __btowc (b);
 }
-#endif
+# endif
 
   /* Local function for parse_bracket_exp only used in case of NOT _LIBC.
      Build the range expression which starts from START_ELEM, and ends
@@ -2706,7 +2693,6 @@ parse_byte (unsigned char b, re_charset_t *mbcset)
      update it.  */
 
 static reg_errcode_t
-internal_function
 # ifdef RE_ENABLE_I18N
 build_range_exp (const reg_syntax_t syntax,
                  bitset_t sbcset,
@@ -2723,17 +2709,18 @@ build_range_exp (const reg_syntax_t syntax,
 {
   unsigned int start_ch, end_ch;
   /* Equivalence Classes and Character Classes can't be a range start/end.  */
-  if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS
-	  || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS,
-	  0))
+  if (__glibc_unlikely (start_elem->type == EQUIV_CLASS
+			|| start_elem->type == CHAR_CLASS
+			|| end_elem->type == EQUIV_CLASS
+			|| end_elem->type == CHAR_CLASS))
     return REG_ERANGE;
 
   /* We can handle no multi character collating elements without libc
      support.  */
-  if (BE ((start_elem->type == COLL_SYM
-	   && strlen ((char *) start_elem->opr.name) > 1)
-	  || (end_elem->type == COLL_SYM
-	      && strlen ((char *) end_elem->opr.name) > 1), 0))
+  if (__glibc_unlikely ((start_elem->type == COLL_SYM
+			 && strlen ((char *) start_elem->opr.name) > 1)
+			|| (end_elem->type == COLL_SYM
+			    && strlen ((char *) end_elem->opr.name) > 1)))
     return REG_ECOLLATE;
 
 # ifdef RE_ENABLE_I18N
@@ -2754,7 +2741,8 @@ build_range_exp (const reg_syntax_t syntax,
 	      ? parse_byte (end_ch, mbcset) : end_elem->opr.wch);
     if (start_wc == WEOF || end_wc == WEOF)
       return REG_ECOLLATE;
-    else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0))
+    else if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES)
+			       && start_wc > end_wc))
       return REG_ERANGE;
 
     /* Got valid collation sequence values, add them as a new entry.
@@ -2765,7 +2753,7 @@ build_range_exp (const reg_syntax_t syntax,
     if (mbcset)
       {
 	/* Check the space of the arrays.  */
-	if (BE (*range_alloc == mbcset->nranges, 0))
+	if (__glibc_unlikely (*range_alloc == mbcset->nranges))
 	  {
 	    /* There is not enough space, need realloc.  */
 	    wchar_t *new_array_start, *new_array_end;
@@ -2780,7 +2768,8 @@ build_range_exp (const reg_syntax_t syntax,
 	    new_array_end = re_realloc (mbcset->range_ends, wchar_t,
 					new_nranges);
 
-	    if (BE (new_array_start == NULL || new_array_end == NULL, 0))
+	    if (__glibc_unlikely (new_array_start == NULL
+				  || new_array_end == NULL))
 	      {
 		re_free (new_array_start);
 		re_free (new_array_end);
@@ -2832,7 +2821,6 @@ build_range_exp (const reg_syntax_t syntax,
    pointer argument since we may update it.  */
 
 static reg_errcode_t
-internal_function
 # ifdef RE_ENABLE_I18N
 build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset,
 			Idx *coll_sym_alloc, const unsigned char *name)
@@ -2841,7 +2829,7 @@ 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))
+  if (__glibc_unlikely (name_len != 1))
     return REG_ECOLLATE;
   else
     {
@@ -2976,18 +2964,21 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 
       /* Equivalence Classes and Character Classes can't be a range
 	 start/end.  */
-      if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS
-	      || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS,
-	      0))
+      if (__glibc_unlikely (start_elem->type == EQUIV_CLASS
+			    || start_elem->type == CHAR_CLASS
+			    || end_elem->type == EQUIV_CLASS
+			    || end_elem->type == CHAR_CLASS))
 	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.  */
-      if (BE (start_collseq == UINT_MAX || end_collseq == UINT_MAX, 0))
+      if (__glibc_unlikely (start_collseq == UINT_MAX
+			    || end_collseq == UINT_MAX))
 	return REG_ECOLLATE;
-      if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_collseq > end_collseq, 0))
+      if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES)
+			    && start_collseq > end_collseq))
 	return REG_ERANGE;
 
       /* Got valid collation sequence values, add them as a new entry.
@@ -2997,7 +2988,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       if (nrules > 0 || dfa->mb_cur_max > 1)
 	{
 	  /* Check the space of the arrays.  */
-	  if (BE (*range_alloc == mbcset->nranges, 0))
+	  if (__glibc_unlikely (*range_alloc == mbcset->nranges))
 	    {
 	      /* There is not enough space, need realloc.  */
 	      uint32_t *new_array_start;
@@ -3011,7 +3002,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 	      new_array_end = re_realloc (mbcset->range_ends, uint32_t,
 					  new_nranges);
 
-	      if (BE (new_array_start == NULL || new_array_end == NULL, 0))
+	      if (__glibc_unlikely (new_array_start == NULL
+				    || new_array_end == NULL))
 		return REG_ESPACE;
 
 	      mbcset->range_starts = new_array_start;
@@ -3075,7 +3067,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 
 	  /* Got valid collation sequence, add it as a new entry.  */
 	  /* Check the space of the arrays.  */
-	  if (BE (*coll_sym_alloc == mbcset->ncoll_syms, 0))
+	  if (__glibc_unlikely (*coll_sym_alloc == mbcset->ncoll_syms))
 	    {
 	      /* Not enough, realloc it.  */
 	      /* +1 in case of mbcset->ncoll_syms is 0.  */
@@ -3084,7 +3076,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 		 if *alloc == 0.  */
 	      int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t,
 						   new_coll_sym_alloc);
-	      if (BE (new_coll_syms == NULL, 0))
+	      if (__glibc_unlikely (new_coll_syms == NULL))
 		return REG_ESPACE;
 	      mbcset->coll_syms = new_coll_syms;
 	      *coll_sym_alloc = new_coll_sym_alloc;
@@ -3094,7 +3086,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 	}
       else
 	{
-	  if (BE (name_len != 1, 0))
+	  if (__glibc_unlikely (name_len != 1))
 	    return REG_ECOLLATE;
 	  else
 	    {
@@ -3138,9 +3130,9 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
   mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
 #endif /* RE_ENABLE_I18N */
 #ifdef RE_ENABLE_I18N
-  if (BE (sbcset == NULL || mbcset == NULL, 0))
+  if (__glibc_unlikely (sbcset == NULL || mbcset == NULL))
 #else
-  if (BE (sbcset == NULL, 0))
+  if (__glibc_unlikely (sbcset == NULL))
 #endif /* RE_ENABLE_I18N */
     {
       re_free (sbcset);
@@ -3152,7 +3144,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
     }
 
   token_len = peek_token_bracket (token, regexp, syntax);
-  if (BE (token->type == END_OF_RE, 0))
+  if (__glibc_unlikely (token->type == END_OF_RE))
     {
       *err = REG_BADPAT;
       goto parse_bracket_exp_free_return;
@@ -3167,7 +3159,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 	bitset_set (sbcset, '\n');
       re_string_skip_bytes (regexp, token_len); /* Skip a token.  */
       token_len = peek_token_bracket (token, regexp, syntax);
-      if (BE (token->type == END_OF_RE, 0))
+      if (__glibc_unlikely (token->type == END_OF_RE))
 	{
 	  *err = REG_BADPAT;
 	  goto parse_bracket_exp_free_return;
@@ -3192,7 +3184,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       start_elem.type = COLL_SYM;
       ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa,
 				   syntax, first_round);
-      if (BE (ret != REG_NOERROR, 0))
+      if (__glibc_unlikely (ret != REG_NOERROR))
 	{
 	  *err = ret;
 	  goto parse_bracket_exp_free_return;
@@ -3205,7 +3197,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       /* Do not check for ranges if we know they are not allowed.  */
       if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS)
 	{
-	  if (BE (token->type == END_OF_RE, 0))
+	  if (__glibc_unlikely (token->type == END_OF_RE))
 	    {
 	      *err = REG_EBRACK;
 	      goto parse_bracket_exp_free_return;
@@ -3214,7 +3206,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 	    {
 	      re_string_skip_bytes (regexp, token_len); /* Skip '-'.  */
 	      token_len2 = peek_token_bracket (&token2, regexp, syntax);
-	      if (BE (token2.type == END_OF_RE, 0))
+	      if (__glibc_unlikely (token2.type == END_OF_RE))
 		{
 		  *err = REG_EBRACK;
 		  goto parse_bracket_exp_free_return;
@@ -3236,7 +3228,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 	  end_elem.type = COLL_SYM;
 	  ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2,
 				       dfa, syntax, true);
-	  if (BE (ret != REG_NOERROR, 0))
+	  if (__glibc_unlikely (ret != REG_NOERROR))
 	    {
 	      *err = ret;
 	      goto parse_bracket_exp_free_return;
@@ -3256,7 +3248,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 	  *err = build_range_exp (syntax, sbcset, &start_elem, &end_elem);
 # endif
 #endif /* RE_ENABLE_I18N */
-	  if (BE (*err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (*err != REG_NOERROR))
 	    goto parse_bracket_exp_free_return;
 	}
       else
@@ -3269,7 +3261,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 #ifdef RE_ENABLE_I18N
 	    case MB_CHAR:
 	      /* Check whether the array has enough space.  */
-	      if (BE (mbchar_alloc == mbcset->nmbchars, 0))
+	      if (__glibc_unlikely (mbchar_alloc == mbcset->nmbchars))
 		{
 		  wchar_t *new_mbchars;
 		  /* Not enough, realloc it.  */
@@ -3278,7 +3270,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 		  /* Use realloc since array is NULL if *alloc == 0.  */
 		  new_mbchars = re_realloc (mbcset->mbchars, wchar_t,
 					    mbchar_alloc);
-		  if (BE (new_mbchars == NULL, 0))
+		  if (__glibc_unlikely (new_mbchars == NULL))
 		    goto parse_bracket_exp_espace;
 		  mbcset->mbchars = new_mbchars;
 		}
@@ -3291,7 +3283,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 					mbcset, &equiv_class_alloc,
 #endif /* RE_ENABLE_I18N */
 					start_elem.opr.name);
-	      if (BE (*err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (*err != REG_NOERROR))
 		goto parse_bracket_exp_free_return;
 	      break;
 	    case COLL_SYM:
@@ -3300,7 +3292,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 					     mbcset, &coll_sym_alloc,
 #endif /* RE_ENABLE_I18N */
 					     start_elem.opr.name);
-	      if (BE (*err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (*err != REG_NOERROR))
 		goto parse_bracket_exp_free_return;
 	      break;
 	    case CHAR_CLASS:
@@ -3310,7 +3302,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 #endif /* RE_ENABLE_I18N */
 				      (const char *) start_elem.opr.name,
 				      syntax);
-	      if (BE (*err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (*err != REG_NOERROR))
 	       goto parse_bracket_exp_free_return;
 	      break;
 	    default:
@@ -3318,7 +3310,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 	      break;
 	    }
 	}
-      if (BE (token->type == END_OF_RE, 0))
+      if (__glibc_unlikely (token->type == END_OF_RE))
 	{
 	  *err = REG_EBRACK;
 	  goto parse_bracket_exp_free_return;
@@ -3349,7 +3341,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       br_token.type = COMPLEX_BRACKET;
       br_token.opr.mbcset = mbcset;
       mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token);
-      if (BE (mbc_tree == NULL, 0))
+      if (__glibc_unlikely (mbc_tree == NULL))
 	goto parse_bracket_exp_espace;
       for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx)
 	if (sbcset[sbc_idx])
@@ -3362,12 +3354,12 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
 	  br_token.type = SIMPLE_BRACKET;
 	  br_token.opr.sbcset = sbcset;
 	  work_tree = create_token_tree (dfa, NULL, NULL, &br_token);
-	  if (BE (work_tree == NULL, 0))
+	  if (__glibc_unlikely (work_tree == NULL))
 	    goto parse_bracket_exp_espace;
 
 	  /* Then join them by ALT node.  */
 	  work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT);
-	  if (BE (work_tree == NULL, 0))
+	  if (__glibc_unlikely (work_tree == NULL))
 	    goto parse_bracket_exp_espace;
 	}
       else
@@ -3386,7 +3378,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
       br_token.type = SIMPLE_BRACKET;
       br_token.opr.sbcset = sbcset;
       work_tree = create_token_tree (dfa, NULL, NULL, &br_token);
-      if (BE (work_tree == NULL, 0))
+      if (__glibc_unlikely (work_tree == NULL))
 	goto parse_bracket_exp_espace;
     }
   return work_tree;
@@ -3423,7 +3415,7 @@ parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp,
   if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS
       || token->type == OP_OPEN_EQUIV_CLASS)
     return parse_bracket_symbol (elem, regexp, token);
-  if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen)
+  if (__glibc_unlikely (token->type == OP_CHARSET_RANGE) && !accept_hyphen)
     {
       /* A '-' must only appear as anything but a range indicator before
 	 the closing bracket.  Everything else is an error.  */
@@ -3518,7 +3510,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
 						_NL_COLLATE_INDIRECTMB);
       idx1 = findidx (table, indirect, extra, &cp, -1);
-      if (BE (idx1 == 0 || *cp != '\0', 0))
+      if (__glibc_unlikely (idx1 == 0 || *cp != '\0'))
 	/* This isn't a valid character.  */
 	return REG_ECOLLATE;
 
@@ -3537,21 +3529,13 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
 	    continue;
 	  /* Compare only if the length matches and the collation rule
 	     index is the same.  */
-	  if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24))
-	    {
-	      int cnt = 0;
-
-	      while (cnt <= len &&
-		     weights[(idx1 & 0xffffff) + 1 + cnt]
-		     == weights[(idx2 & 0xffffff) + 1 + cnt])
-		++cnt;
-
-	      if (cnt > len)
-		bitset_set (sbcset, ch);
-	    }
+	  if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24)
+	      && memcmp (weights + (idx1 & 0xffffff) + 1,
+			 weights + (idx2 & 0xffffff) + 1, len) == 0)
+	    bitset_set (sbcset, ch);
 	}
       /* Check whether the array has enough space.  */
-      if (BE (*equiv_class_alloc == mbcset->nequiv_classes, 0))
+      if (__glibc_unlikely (*equiv_class_alloc == mbcset->nequiv_classes))
 	{
 	  /* Not enough, realloc it.  */
 	  /* +1 in case of mbcset->nequiv_classes is 0.  */
@@ -3560,7 +3544,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
 	  int32_t *new_equiv_classes = re_realloc (mbcset->equiv_classes,
 						   int32_t,
 						   new_equiv_class_alloc);
-	  if (BE (new_equiv_classes == NULL, 0))
+	  if (__glibc_unlikely (new_equiv_classes == NULL))
 	    return REG_ESPACE;
 	  mbcset->equiv_classes = new_equiv_classes;
 	  *equiv_class_alloc = new_equiv_class_alloc;
@@ -3570,7 +3554,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
   else
 #endif /* _LIBC */
     {
-      if (BE (strlen ((const char *) name) != 1, 0))
+      if (__glibc_unlikely (strlen ((const char *) name) != 1))
 	return REG_ECOLLATE;
       bitset_set (sbcset, *name);
     }
@@ -3604,7 +3588,7 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
 
 #ifdef RE_ENABLE_I18N
   /* Check the space of the arrays.  */
-  if (BE (*char_class_alloc == mbcset->nchar_classes, 0))
+  if (__glibc_unlikely (*char_class_alloc == mbcset->nchar_classes))
     {
       /* Not enough, realloc it.  */
       /* +1 in case of mbcset->nchar_classes is 0.  */
@@ -3612,7 +3596,7 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
       /* Use realloc since array is NULL if *alloc == 0.  */
       wctype_t *new_char_classes = re_realloc (mbcset->char_classes, wctype_t,
 					       new_char_class_alloc);
-      if (BE (new_char_classes == NULL, 0))
+      if (__glibc_unlikely (new_char_classes == NULL))
 	return REG_ESPACE;
       mbcset->char_classes = new_char_classes;
       *char_class_alloc = new_char_class_alloc;
@@ -3622,7 +3606,7 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,
 
 #define BUILD_CHARCLASS_LOOP(ctype_func)	\
   do {						\
-    if (BE (trans != NULL, 0))			\
+    if (__glibc_unlikely (trans != NULL))			\
       {						\
 	for (i = 0; i < SBC_MAX; ++i)		\
 	  if (ctype_func (i))			\
@@ -3682,14 +3666,14 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
   bin_tree_t *tree;
 
   sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
-  if (BE (sbcset == NULL, 0))
+  if (__glibc_unlikely (sbcset == NULL))
     {
       *err = REG_ESPACE;
       return NULL;
     }
 #ifdef RE_ENABLE_I18N
   mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1);
-  if (BE (mbcset == NULL, 0))
+  if (__glibc_unlikely (mbcset == NULL))
     {
       re_free (sbcset);
       *err = REG_ESPACE;
@@ -3705,7 +3689,7 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
 #endif /* RE_ENABLE_I18N */
 			 class_name, 0);
 
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     {
       re_free (sbcset);
 #ifdef RE_ENABLE_I18N
@@ -3735,7 +3719,7 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
   br_token.type = SIMPLE_BRACKET;
   br_token.opr.sbcset = sbcset;
   tree = create_token_tree (dfa, NULL, NULL, &br_token);
-  if (BE (tree == NULL, 0))
+  if (__glibc_unlikely (tree == NULL))
     goto build_word_op_espace;
 
 #ifdef RE_ENABLE_I18N
@@ -3747,11 +3731,11 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
       br_token.opr.mbcset = mbcset;
       dfa->has_mb_node = 1;
       mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token);
-      if (BE (mbc_tree == NULL, 0))
+      if (__glibc_unlikely (mbc_tree == NULL))
 	goto build_word_op_espace;
       /* Then join them by ALT node.  */
       tree = create_tree (dfa, tree, mbc_tree, OP_ALT);
-      if (BE (mbc_tree != NULL, 1))
+      if (__glibc_likely (mbc_tree != NULL))
 	return tree;
     }
   else
@@ -3787,7 +3771,7 @@ fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax)
     {
       fetch_token (token, input, syntax);
       c = token->opr.c;
-      if (BE (token->type == END_OF_RE, 0))
+      if (__glibc_unlikely (token->type == END_OF_RE))
 	return -2;
       if (token->type == OP_CLOSE_DUP_NUM || c == ',')
 	break;
@@ -3808,9 +3792,9 @@ free_charset (re_charset_t *cset)
 # ifdef _LIBC
   re_free (cset->coll_syms);
   re_free (cset->equiv_classes);
+# endif
   re_free (cset->range_starts);
   re_free (cset->range_ends);
-# endif
   re_free (cset->char_classes);
   re_free (cset);
 }
@@ -3837,7 +3821,7 @@ create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
 		   const re_token_t *token)
 {
   bin_tree_t *tree;
-  if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0))
+  if (__glibc_unlikely (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE))
     {
       bin_tree_storage_t *storage = re_malloc (bin_tree_storage_t, 1);
 
diff --git a/gnu/regex.c b/gnu/regex.c
index 998d95e5..eab7a48b 100644
--- a/gnu/regex.c
+++ b/gnu/regex.c
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -18,12 +18,12 @@
    <https://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBC
-# include <config.h>
+# include <libc-config.h>
 
-# if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
+# if __GNUC_PREREQ (4, 6)
 #  pragma GCC diagnostic ignored "-Wsuggest-attribute=pure"
 # endif
-# if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+# if __GNUC_PREREQ (4, 3)
 #  pragma GCC diagnostic ignored "-Wold-style-definition"
 #  pragma GCC diagnostic ignored "-Wtype-limits"
 # endif
diff --git a/gnu/regex.h b/gnu/regex.h
index b236a1b3..77ac1a55 100644
--- a/gnu/regex.h
+++ b/gnu/regex.h
@@ -1,7 +1,6 @@
 /* Definitions for data structures and routines for the regular
    expression library.
-   Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2017 Free Software
-   Foundation, Inc.
+   Copyright (C) 1985, 1989-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -608,28 +607,28 @@ extern int re_exec (const char *);
 # endif
 #endif
 
-/* GCC 2.95 and later have "__restrict"; C99 compilers have
+/* For plain 'restrict', use glibc's __restrict if defined.
+   Otherwise, GCC 2.95 and later have "__restrict"; C99 compilers have
    "restrict", and "configure" may have defined "restrict".
    Other compilers use __restrict, __restrict__, and _Restrict, and
    'configure' might #define 'restrict' to those words, so pick a
    different name.  */
 #ifndef _Restrict_
-# if 199901L <= __STDC_VERSION__
-#  define _Restrict_ restrict
-# elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__)
+# if defined __restrict || 2 < __GNUC__ + (95 <= __GNUC_MINOR__)
 #  define _Restrict_ __restrict
+# elif 199901L <= __STDC_VERSION__ || defined restrict
+#  define _Restrict_ restrict
 # else
 #  define _Restrict_
 # endif
 #endif
-/* gcc 3.1 and up support the [restrict] syntax.  Don't trust
-   sys/cdefs.h's definition of __restrict_arr, though, as it
-   mishandles gcc -ansi -pedantic.  */
+/* For [restrict], use glibc's __restrict_arr if available.
+   Otherwise, GCC 3.1 (not in C++ mode) and C99 support [restrict].  */
 #ifndef _Restrict_arr_
-# if ((199901L <= __STDC_VERSION__					\
-       || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__))	\
-	   && !defined __STRICT_ANSI__))					\
-      && !defined __GNUG__)
+# ifdef __restrict_arr
+#  define _Restrict_arr_ __restrict_arr
+# elif ((199901L <= __STDC_VERSION__ || 3 < __GNUC__ + (1 <= __GNUC_MINOR__)) \
+        && !defined __GNUG__)
 #  define _Restrict_arr_ _Restrict_
 # else
 #  define _Restrict_arr_
diff --git a/gnu/regex_internal.c b/gnu/regex_internal.c
index a77319b9..b592f067 100644
--- a/gnu/regex_internal.c
+++ b/gnu/regex_internal.c
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -20,14 +20,24 @@
 static void re_string_construct_common (const char *str, Idx len,
 					re_string_t *pstr,
 					RE_TRANSLATE_TYPE trans, bool icase,
-					const re_dfa_t *dfa) internal_function;
+					const re_dfa_t *dfa);
 static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa,
 					  const re_node_set *nodes,
-					  re_hashval_t hash) internal_function;
+					  re_hashval_t hash);
 static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa,
 					  const re_node_set *nodes,
 					  unsigned int context,
-					  re_hashval_t hash) internal_function;
+					  re_hashval_t hash);
+static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
+						Idx new_buf_len);
+#ifdef RE_ENABLE_I18N
+static void build_wcs_buffer (re_string_t *pstr);
+static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr);
+#endif /* RE_ENABLE_I18N */
+static void build_upper_buffer (re_string_t *pstr);
+static void re_string_translate_buffer (re_string_t *pstr);
+static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
+					  int eflags) __attribute__ ((pure));
 
 /* Functions for string operation.  */
 
@@ -35,7 +45,7 @@ static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa,
    re_string_reconstruct before using the object.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len,
 		    RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa)
 {
@@ -49,7 +59,7 @@ re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len,
   re_string_construct_common (str, len, pstr, trans, icase, dfa);
 
   ret = re_string_realloc_buffers (pstr, init_buf_len);
-  if (BE (ret != REG_NOERROR, 0))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
 
   pstr->word_char = dfa->word_char;
@@ -63,7 +73,7 @@ re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len,
 /* This function allocate the buffers, and initialize them.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_string_construct (re_string_t *pstr, const char *str, Idx len,
 		     RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa)
 {
@@ -74,7 +84,7 @@ re_string_construct (re_string_t *pstr, const char *str, Idx len,
   if (len > 0)
     {
       ret = re_string_realloc_buffers (pstr, len + 1);
-      if (BE (ret != REG_NOERROR, 0))
+      if (__glibc_unlikely (ret != REG_NOERROR))
 	return ret;
     }
   pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str;
@@ -87,14 +97,14 @@ re_string_construct (re_string_t *pstr, const char *str, Idx len,
 	  while (1)
 	    {
 	      ret = build_wcs_upper_buffer (pstr);
-	      if (BE (ret != REG_NOERROR, 0))
+	      if (__glibc_unlikely (ret != REG_NOERROR))
 		return ret;
 	      if (pstr->valid_raw_len >= len)
 		break;
 	      if (pstr->bufs_len > pstr->valid_len + dfa->mb_cur_max)
 		break;
 	      ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2);
-	      if (BE (ret != REG_NOERROR, 0))
+	      if (__glibc_unlikely (ret != REG_NOERROR))
 		return ret;
 	    }
 	}
@@ -126,7 +136,7 @@ re_string_construct (re_string_t *pstr, const char *str, Idx len,
 /* Helper functions for re_string_allocate, and re_string_construct.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
 {
 #ifdef RE_ENABLE_I18N
@@ -136,17 +146,18 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
 
       /* 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))
+      if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size)
+			    < new_buf_len))
 	return REG_ESPACE;
 
       new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len);
-      if (BE (new_wcs == NULL, 0))
+      if (__glibc_unlikely (new_wcs == NULL))
 	return REG_ESPACE;
       pstr->wcs = new_wcs;
       if (pstr->offsets != NULL)
 	{
 	  Idx *new_offsets = re_realloc (pstr->offsets, Idx, new_buf_len);
-	  if (BE (new_offsets == NULL, 0))
+	  if (__glibc_unlikely (new_offsets == NULL))
 	    return REG_ESPACE;
 	  pstr->offsets = new_offsets;
 	}
@@ -156,7 +167,7 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
     {
       unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char,
 					   new_buf_len);
-      if (BE (new_mbs == NULL, 0))
+      if (__glibc_unlikely (new_mbs == NULL))
 	return REG_ESPACE;
       pstr->mbs = new_mbs;
     }
@@ -166,7 +177,6 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)
 
 
 static void
-internal_function
 re_string_construct_common (const char *str, Idx len, re_string_t *pstr,
 			    RE_TRANSLATE_TYPE trans, bool icase,
 			    const re_dfa_t *dfa)
@@ -198,7 +208,6 @@ re_string_construct_common (const char *str, Idx len, re_string_t *pstr,
    built and starts from PSTR->VALID_LEN.  */
 
 static void
-internal_function
 build_wcs_buffer (re_string_t *pstr)
 {
 #ifdef _LIBC
@@ -222,7 +231,7 @@ build_wcs_buffer (re_string_t *pstr)
       remain_len = end_idx - byte_idx;
       prev_st = pstr->cur_state;
       /* Apply the translation if we need.  */
-      if (BE (pstr->trans != NULL, 0))
+      if (__glibc_unlikely (pstr->trans != NULL))
 	{
 	  int i, ch;
 
@@ -236,17 +245,18 @@ 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) -1 || mbclen == 0
-	      || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len), 0))
+      if (__glibc_unlikely (mbclen == (size_t) -1 || mbclen == 0
+			    || (mbclen == (size_t) -2
+				&& pstr->bufs_len >= pstr->len)))
 	{
 	  /* We treat these cases as a singlebyte character.  */
 	  mbclen = 1;
 	  wc = (wchar_t) pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx];
-	  if (BE (pstr->trans != NULL, 0))
+	  if (__glibc_unlikely (pstr->trans != NULL))
 	    wc = pstr->trans[wc];
 	  pstr->cur_state = prev_st;
 	}
-      else if (BE (mbclen == (size_t) -2, 0))
+      else if (__glibc_unlikely (mbclen == (size_t) -2))
 	{
 	  /* The buffer doesn't have enough space, finish to build.  */
 	  pstr->cur_state = prev_st;
@@ -267,7 +277,7 @@ build_wcs_buffer (re_string_t *pstr)
    but for REG_ICASE.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 build_wcs_upper_buffer (re_string_t *pstr)
 {
   mbstate_t prev_st;
@@ -309,7 +319,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
 	  mbclen = __mbrtowc (&wc,
 			      ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx
 			       + byte_idx), remain_len, &pstr->cur_state);
-	  if (BE (mbclen < (size_t) -2, 1))
+	  if (__glibc_likely (0 < mbclen && mbclen < (size_t) -2))
 	    {
 	      wchar_t wcu = __towupper (wc);
 	      if (wcu != wc)
@@ -317,7 +327,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
 		  size_t mbcdlen;
 
 		  mbcdlen = __wcrtomb (buf, wcu, &prev_st);
-		  if (BE (mbclen == mbcdlen, 1))
+		  if (__glibc_likely (mbclen == mbcdlen))
 		    memcpy (pstr->mbs + byte_idx, buf, mbclen);
 		  else
 		    {
@@ -342,7 +352,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
 	      pstr->mbs[byte_idx] = ch;
 	      /* And also cast it to wide char.  */
 	      pstr->wcs[byte_idx++] = (wchar_t) ch;
-	      if (BE (mbclen == (size_t) -1, 0))
+	      if (__glibc_unlikely (mbclen == (size_t) -1))
 		pstr->cur_state = prev_st;
 	    }
 	  else
@@ -364,7 +374,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
       offsets_needed:
 	remain_len = end_idx - byte_idx;
 	prev_st = pstr->cur_state;
-	if (BE (pstr->trans != NULL, 0))
+	if (__glibc_unlikely (pstr->trans != NULL))
 	  {
 	    int i, ch;
 
@@ -378,15 +388,15 @@ build_wcs_upper_buffer (re_string_t *pstr)
 	else
 	  p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx;
 	mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
-	if (BE (mbclen < (size_t) -2, 1))
+	if (__glibc_likely (0 < mbclen && mbclen < (size_t) -2))
 	  {
 	    wchar_t wcu = __towupper (wc);
 	    if (wcu != wc)
 	      {
 		size_t mbcdlen;
 
-		mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st);
-		if (BE (mbclen == mbcdlen, 1))
+		mbcdlen = __wcrtomb ((char *) buf, wcu, &prev_st);
+		if (__glibc_likely (mbclen == mbcdlen))
 		  memcpy (pstr->mbs + byte_idx, buf, mbclen);
 		else if (mbcdlen != (size_t) -1)
 		  {
@@ -436,7 +446,7 @@ build_wcs_upper_buffer (re_string_t *pstr)
 	    else
 	      memcpy (pstr->mbs + byte_idx, p, mbclen);
 
-	    if (BE (pstr->offsets_needed != 0, 0))
+	    if (__glibc_unlikely (pstr->offsets_needed != 0))
 	      {
 		size_t i;
 		for (i = 0; i < mbclen; ++i)
@@ -455,17 +465,17 @@ build_wcs_upper_buffer (re_string_t *pstr)
 	    /* It is an invalid character or '\0'.  Just use the byte.  */
 	    int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx];
 
-	    if (BE (pstr->trans != NULL, 0))
+	    if (__glibc_unlikely (pstr->trans != NULL))
 	      ch = pstr->trans [ch];
 	    pstr->mbs[byte_idx] = ch;
 
-	    if (BE (pstr->offsets_needed != 0, 0))
+	    if (__glibc_unlikely (pstr->offsets_needed != 0))
 	      pstr->offsets[byte_idx] = src_idx;
 	    ++src_idx;
 
 	    /* And also cast it to wide char.  */
 	    pstr->wcs[byte_idx++] = (wchar_t) ch;
-	    if (BE (mbclen == (size_t) -1, 0))
+	    if (__glibc_unlikely (mbclen == (size_t) -1))
 	      pstr->cur_state = prev_st;
 	  }
 	else
@@ -484,7 +494,6 @@ build_wcs_upper_buffer (re_string_t *pstr)
    Return the index.  */
 
 static Idx
-internal_function
 re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
 {
   mbstate_t prev_st;
@@ -501,7 +510,8 @@ re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
       prev_st = pstr->cur_state;
       mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx,
 			  remain_len, &pstr->cur_state);
-      if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0))
+      if (__glibc_unlikely (mbclen == (size_t) -2 || mbclen == (size_t) -1
+			    || mbclen == 0))
 	{
 	  /* We treat these cases as a single byte character.  */
 	  if (mbclen == 0 || remain_len == 0)
@@ -525,7 +535,6 @@ re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc)
    This function is used in case of REG_ICASE.  */
 
 static void
-internal_function
 build_upper_buffer (re_string_t *pstr)
 {
   Idx char_idx, end_idx;
@@ -534,7 +543,7 @@ build_upper_buffer (re_string_t *pstr)
   for (char_idx = pstr->valid_len; char_idx < end_idx; ++char_idx)
     {
       int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx];
-      if (BE (pstr->trans != NULL, 0))
+      if (__glibc_unlikely (pstr->trans != NULL))
 	ch = pstr->trans[ch];
       pstr->mbs[char_idx] = toupper (ch);
     }
@@ -545,7 +554,6 @@ build_upper_buffer (re_string_t *pstr)
 /* Apply TRANS to the buffer in PSTR.  */
 
 static void
-internal_function
 re_string_translate_buffer (re_string_t *pstr)
 {
   Idx buf_idx, end_idx;
@@ -566,12 +574,12 @@ re_string_translate_buffer (re_string_t *pstr)
    convert to upper case in case of REG_ICASE, apply translation.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 {
   Idx offset;
 
-  if (BE (pstr->raw_mbs_idx <= idx, 0))
+  if (__glibc_unlikely (pstr->raw_mbs_idx <= idx))
     offset = idx - pstr->raw_mbs_idx;
   else
     {
@@ -593,14 +601,14 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
       offset = idx;
     }
 
-  if (BE (offset != 0, 1))
+  if (__glibc_likely (offset != 0))
     {
       /* Should the already checked characters be kept?  */
-      if (BE (offset < pstr->valid_raw_len, 1))
+      if (__glibc_likely (offset < pstr->valid_raw_len))
 	{
 	  /* Yes, move them to the front of the buffer.  */
 #ifdef RE_ENABLE_I18N
-	  if (BE (pstr->offsets_needed, 0))
+	  if (__glibc_unlikely (pstr->offsets_needed))
 	    {
 	      Idx low = 0, high = pstr->valid_len, mid;
 	      do
@@ -672,7 +680,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 		memmove (pstr->wcs, pstr->wcs + offset,
 			 (pstr->valid_len - offset) * sizeof (wint_t));
 #endif /* RE_ENABLE_I18N */
-	      if (BE (pstr->mbs_allocated, 0))
+	      if (__glibc_unlikely (pstr->mbs_allocated))
 		memmove (pstr->mbs, pstr->mbs + offset,
 			 pstr->valid_len - offset);
 	      pstr->valid_len -= offset;
@@ -688,7 +696,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 	  /* No, skip all characters until IDX.  */
 	  Idx prev_valid_len = pstr->valid_len;
 
-	  if (BE (pstr->offsets_needed, 0))
+	  if (__glibc_unlikely (pstr->offsets_needed))
 	    {
 	      pstr->len = pstr->raw_len - idx + offset;
 	      pstr->stop = pstr->raw_stop - idx + offset;
@@ -716,7 +724,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 #ifdef _LIBC
 		  /* We know the wchar_t encoding is UCS4, so for the simple
 		     case, ASCII characters, skip the conversion step.  */
-		  if (isascii (*p) && BE (pstr->trans == NULL, 1))
+		  if (isascii (*p) && __glibc_likely (pstr->trans == NULL))
 		    {
 		      memset (&pstr->cur_state, '\0', sizeof (mbstate_t));
 		      /* pstr->valid_len = 0; */
@@ -734,7 +742,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 			  size_t mbclen;
 
 			  const unsigned char *pp = p;
-			  if (BE (pstr->trans != NULL, 0))
+			  if (__glibc_unlikely (pstr->trans != NULL))
 			    {
 			      int i = mlen < 6 ? mlen : 6;
 			      while (--i >= 0)
@@ -764,13 +772,13 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 		pstr->tip_context
 		  = re_string_context_at (pstr, prev_valid_len - 1, eflags);
 	      else
-		pstr->tip_context = ((BE (pstr->word_ops_used != 0, 0)
+		pstr->tip_context = ((__glibc_unlikely (pstr->word_ops_used != 0)
 				      && IS_WIDE_WORD_CHAR (wc))
 				     ? CONTEXT_WORD
 				     : ((IS_WIDE_NEWLINE (wc)
 					 && pstr->newline_anchor)
 					? CONTEXT_NEWLINE : 0));
-	      if (BE (pstr->valid_len, 0))
+	      if (__glibc_unlikely (pstr->valid_len))
 		{
 		  for (wcs_idx = 0; wcs_idx < pstr->valid_len; ++wcs_idx)
 		    pstr->wcs[wcs_idx] = WEOF;
@@ -792,7 +800,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 				      ? CONTEXT_NEWLINE : 0));
 	    }
 	}
-      if (!BE (pstr->mbs_allocated, 0))
+      if (!__glibc_unlikely (pstr->mbs_allocated))
 	pstr->mbs += offset;
     }
   pstr->raw_mbs_idx = idx;
@@ -806,7 +814,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
       if (pstr->icase)
 	{
 	  reg_errcode_t ret = build_wcs_upper_buffer (pstr);
-	  if (BE (ret != REG_NOERROR, 0))
+	  if (__glibc_unlikely (ret != REG_NOERROR))
 	    return ret;
 	}
       else
@@ -814,7 +822,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
     }
   else
 #endif /* RE_ENABLE_I18N */
-    if (BE (pstr->mbs_allocated, 0))
+    if (__glibc_unlikely (pstr->mbs_allocated))
       {
 	if (pstr->icase)
 	  build_upper_buffer (pstr);
@@ -829,14 +837,14 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)
 }
 
 static unsigned char
-internal_function __attribute__ ((pure))
+__attribute__ ((pure))
 re_string_peek_byte_case (const re_string_t *pstr, Idx idx)
 {
   int ch;
   Idx off;
 
   /* Handle the common (easiest) cases first.  */
-  if (BE (!pstr->mbs_allocated, 1))
+  if (__glibc_likely (!pstr->mbs_allocated))
     return re_string_peek_byte (pstr, idx);
 
 #ifdef RE_ENABLE_I18N
@@ -866,10 +874,9 @@ re_string_peek_byte_case (const re_string_t *pstr, Idx idx)
 }
 
 static unsigned char
-internal_function
 re_string_fetch_byte_case (re_string_t *pstr)
 {
-  if (BE (!pstr->mbs_allocated, 1))
+  if (__glibc_likely (!pstr->mbs_allocated))
     return re_string_fetch_byte (pstr);
 
 #ifdef RE_ENABLE_I18N
@@ -904,7 +911,6 @@ re_string_fetch_byte_case (re_string_t *pstr)
 }
 
 static void
-internal_function
 re_string_destruct (re_string_t *pstr)
 {
 #ifdef RE_ENABLE_I18N
@@ -918,15 +924,14 @@ re_string_destruct (re_string_t *pstr)
 /* Return the context at IDX in INPUT.  */
 
 static unsigned int
-internal_function
 re_string_context_at (const re_string_t *input, Idx idx, int eflags)
 {
   int c;
-  if (BE (idx < 0, 0))
+  if (__glibc_unlikely (idx < 0))
     /* In this case, we use the value stored in input->tip_context,
        since we can't know the character in input->mbs[-1] here.  */
     return input->tip_context;
-  if (BE (idx == input->len, 0))
+  if (__glibc_unlikely (idx == input->len))
     return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF
 	    : CONTEXT_NEWLINE | CONTEXT_ENDBUF);
 #ifdef RE_ENABLE_I18N
@@ -945,7 +950,8 @@ re_string_context_at (const re_string_t *input, Idx idx, int eflags)
 	    return input->tip_context;
 	}
       wc = input->wcs[wc_idx];
-      if (BE (input->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc))
+      if (__glibc_unlikely (input->word_ops_used != 0)
+	  && IS_WIDE_WORD_CHAR (wc))
 	return CONTEXT_WORD;
       return (IS_WIDE_NEWLINE (wc) && input->newline_anchor
 	      ? CONTEXT_NEWLINE : 0);
@@ -963,25 +969,26 @@ re_string_context_at (const re_string_t *input, Idx idx, int eflags)
 /* Functions for set operation.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 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) && (MALLOC_0_IS_NONNULL || size != 0))
+  if (__glibc_unlikely (set->elems == NULL)
+      && (MALLOC_0_IS_NONNULL || size != 0))
     return REG_ESPACE;
   return REG_NOERROR;
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_init_1 (re_node_set *set, Idx elem)
 {
   set->alloc = 1;
   set->nelem = 1;
   set->elems = re_malloc (Idx, 1);
-  if (BE (set->elems == NULL, 0))
+  if (__glibc_unlikely (set->elems == NULL))
     {
       set->alloc = set->nelem = 0;
       return REG_ESPACE;
@@ -991,12 +998,12 @@ re_node_set_init_1 (re_node_set *set, Idx elem)
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2)
 {
   set->alloc = 2;
   set->elems = re_malloc (Idx, 2);
-  if (BE (set->elems == NULL, 0))
+  if (__glibc_unlikely (set->elems == NULL))
     return REG_ESPACE;
   if (elem1 == elem2)
     {
@@ -1021,7 +1028,7 @@ re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2)
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_init_copy (re_node_set *dest, const re_node_set *src)
 {
   dest->nelem = src->nelem;
@@ -1029,7 +1036,7 @@ re_node_set_init_copy (re_node_set *dest, const re_node_set *src)
     {
       dest->alloc = dest->nelem;
       dest->elems = re_malloc (Idx, dest->alloc);
-      if (BE (dest->elems == NULL, 0))
+      if (__glibc_unlikely (dest->elems == NULL))
 	{
 	  dest->alloc = dest->nelem = 0;
 	  return REG_ESPACE;
@@ -1046,7 +1053,7 @@ re_node_set_init_copy (re_node_set *dest, const re_node_set *src)
    Note: We assume dest->elems is NULL, when dest->alloc is 0.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
 			   const re_node_set *src2)
 {
@@ -1060,7 +1067,7 @@ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
     {
       Idx new_alloc = src1->nelem + src2->nelem + dest->alloc;
       Idx *new_elems = re_realloc (dest->elems, Idx, new_alloc);
-      if (BE (new_elems == NULL, 0))
+      if (__glibc_unlikely (new_elems == NULL))
 	return REG_ESPACE;
       dest->elems = new_elems;
       dest->alloc = new_alloc;
@@ -1137,7 +1144,7 @@ re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1,
    DEST. Return value indicate the error code or REG_NOERROR if succeeded.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_init_union (re_node_set *dest, const re_node_set *src1,
 			const re_node_set *src2)
 {
@@ -1146,7 +1153,7 @@ re_node_set_init_union (re_node_set *dest, const re_node_set *src1,
     {
       dest->alloc = src1->nelem + src2->nelem;
       dest->elems = re_malloc (Idx, dest->alloc);
-      if (BE (dest->elems == NULL, 0))
+      if (__glibc_unlikely (dest->elems == NULL))
 	return REG_ESPACE;
     }
   else
@@ -1190,7 +1197,7 @@ re_node_set_init_union (re_node_set *dest, const re_node_set *src1,
    DEST. Return value indicate the error code or REG_NOERROR if succeeded.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_merge (re_node_set *dest, const re_node_set *src)
 {
   Idx is, id, sbase, delta;
@@ -1200,13 +1207,13 @@ re_node_set_merge (re_node_set *dest, const re_node_set *src)
     {
       Idx new_alloc = 2 * (src->nelem + dest->alloc);
       Idx *new_buffer = re_realloc (dest->elems, Idx, new_alloc);
-      if (BE (new_buffer == NULL, 0))
+      if (__glibc_unlikely (new_buffer == NULL))
 	return REG_ESPACE;
       dest->elems = new_buffer;
       dest->alloc = new_alloc;
     }
 
-  if (BE (dest->nelem == 0, 0))
+  if (__glibc_unlikely (dest->nelem == 0))
     {
       dest->nelem = src->nelem;
       memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx));
@@ -1273,15 +1280,15 @@ re_node_set_merge (re_node_set *dest, const re_node_set *src)
    Return true if successful.  */
 
 static bool
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_insert (re_node_set *set, Idx elem)
 {
   Idx idx;
   /* In case the set is empty.  */
   if (set->alloc == 0)
-    return BE (re_node_set_init_1 (set, elem) == REG_NOERROR, 1);
+    return __glibc_likely (re_node_set_init_1 (set, elem) == REG_NOERROR);
 
-  if (BE (set->nelem, 0) == 0)
+  if (__glibc_unlikely (set->nelem) == 0)
     {
       /* We already guaranteed above that set->alloc != 0.  */
       set->elems[0] = elem;
@@ -1295,7 +1302,7 @@ re_node_set_insert (re_node_set *set, Idx elem)
       Idx *new_elems;
       set->alloc = set->alloc * 2;
       new_elems = re_realloc (set->elems, Idx, set->alloc);
-      if (BE (new_elems == NULL, 0))
+      if (__glibc_unlikely (new_elems == NULL))
 	return false;
       set->elems = new_elems;
     }
@@ -1325,7 +1332,7 @@ re_node_set_insert (re_node_set *set, Idx elem)
    Return true if successful.  */
 
 static bool
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_node_set_insert_last (re_node_set *set, Idx elem)
 {
   /* Realloc if we need.  */
@@ -1334,7 +1341,7 @@ re_node_set_insert_last (re_node_set *set, Idx elem)
       Idx *new_elems;
       set->alloc = (set->alloc + 1) * 2;
       new_elems = re_realloc (set->elems, Idx, set->alloc);
-      if (BE (new_elems == NULL, 0))
+      if (__glibc_unlikely (new_elems == NULL))
 	return false;
       set->elems = new_elems;
     }
@@ -1348,7 +1355,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))
+__attribute__ ((pure))
 re_node_set_compare (const re_node_set *set1, const re_node_set *set2)
 {
   Idx i;
@@ -1363,7 +1370,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))
+__attribute__ ((pure))
 re_node_set_contains (const re_node_set *set, Idx elem)
 {
   __re_size_t idx, right, mid;
@@ -1385,7 +1392,6 @@ re_node_set_contains (const re_node_set *set, Idx elem)
 }
 
 static void
-internal_function
 re_node_set_remove_at (re_node_set *set, Idx idx)
 {
   if (idx < 0 || idx >= set->nelem)
@@ -1400,10 +1406,9 @@ re_node_set_remove_at (re_node_set *set, Idx idx)
    Or return -1 if an error occurred.  */
 
 static Idx
-internal_function
 re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
 {
-  if (BE (dfa->nodes_len >= dfa->nodes_alloc, 0))
+  if (__glibc_unlikely (dfa->nodes_len >= dfa->nodes_alloc))
     {
       size_t new_nodes_alloc = dfa->nodes_alloc * 2;
       Idx *new_nexts, *new_indices;
@@ -1414,19 +1419,20 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
       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))
+      if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size)
+			    < new_nodes_alloc))
 	return -1;
 
       new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc);
-      if (BE (new_nodes == NULL, 0))
+      if (__glibc_unlikely (new_nodes == NULL))
 	return -1;
       dfa->nodes = new_nodes;
       new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc);
       new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc);
       new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc);
       new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc);
-      if (BE (new_nexts == NULL || new_indices == NULL
-	      || new_edests == NULL || new_eclosures == NULL, 0))
+      if (__glibc_unlikely (new_nexts == NULL || new_indices == NULL
+			    || new_edests == NULL || new_eclosures == NULL))
 	{
 	   re_free (new_nexts);
 	   re_free (new_indices);
@@ -1454,7 +1460,6 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
 }
 
 static re_hashval_t
-internal_function
 calc_state_hash (const re_node_set *nodes, unsigned int context)
 {
   re_hashval_t hash = nodes->nelem + context;
@@ -1474,7 +1479,7 @@ calc_state_hash (const re_node_set *nodes, unsigned int context)
 	   optimization.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
 		  const re_node_set *nodes)
 {
@@ -1486,7 +1491,7 @@ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
   /* Suppress bogus uninitialized-variable warnings.  */
   *err = REG_NOERROR;
 #endif
-  if (BE (nodes->nelem == 0, 0))
+  if (__glibc_unlikely (nodes->nelem == 0))
     {
       *err = REG_NOERROR;
       return NULL;
@@ -1505,7 +1510,7 @@ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
 
   /* There are no appropriate state in the dfa, create the new one.  */
   new_state = create_ci_newstate (dfa, nodes, hash);
-  if (BE (new_state == NULL, 0))
+  if (__glibc_unlikely (new_state == NULL))
     *err = REG_ESPACE;
 
   return new_state;
@@ -1522,7 +1527,7 @@ re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa,
 	   optimization.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa,
 			  const re_node_set *nodes, unsigned int context)
 {
@@ -1552,7 +1557,7 @@ re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa,
     }
   /* 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))
+  if (__glibc_unlikely (new_state == NULL))
     *err = REG_ESPACE;
 
   return new_state;
@@ -1573,7 +1578,7 @@ register_state (const re_dfa_t *dfa, re_dfastate_t *newstate,
 
   newstate->hash = hash;
   err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return REG_ESPACE;
   for (i = 0; i < newstate->nodes.nelem; i++)
     {
@@ -1584,12 +1589,12 @@ register_state (const re_dfa_t *dfa, re_dfastate_t *newstate,
     }
 
   spot = dfa->state_table + (hash & dfa->state_hash_mask);
-  if (BE (spot->alloc <= spot->num, 0))
+  if (__glibc_unlikely (spot->alloc <= spot->num))
     {
       Idx new_alloc = 2 * spot->num + 2;
       re_dfastate_t **new_array = re_realloc (spot->array, re_dfastate_t *,
 					      new_alloc);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
 	return REG_ESPACE;
       spot->array = new_array;
       spot->alloc = new_alloc;
@@ -1618,7 +1623,7 @@ free_state (re_dfastate_t *state)
    Return the new state if succeeded, otherwise return NULL.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
 		    re_hashval_t hash)
 {
@@ -1627,10 +1632,10 @@ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
   re_dfastate_t *newstate;
 
   newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
-  if (BE (newstate == NULL, 0))
+  if (__glibc_unlikely (newstate == NULL))
     return NULL;
   err = re_node_set_init_copy (&newstate->nodes, nodes);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       re_free (newstate);
       return NULL;
@@ -1656,7 +1661,7 @@ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
 	newstate->has_constraint = 1;
     }
   err = register_state (dfa, newstate, hash);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       free_state (newstate);
       newstate = NULL;
@@ -1668,7 +1673,7 @@ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
    Return the new state if succeeded, otherwise return NULL.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
 		    unsigned int context, re_hashval_t hash)
 {
@@ -1677,10 +1682,10 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
   re_dfastate_t *newstate;
 
   newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1);
-  if (BE (newstate == NULL, 0))
+  if (__glibc_unlikely (newstate == NULL))
     return NULL;
   err = re_node_set_init_copy (&newstate->nodes, nodes);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       re_free (newstate);
       return NULL;
@@ -1712,7 +1717,7 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
 	  if (newstate->entrance_nodes == &newstate->nodes)
 	    {
 	      newstate->entrance_nodes = re_malloc (re_node_set, 1);
-	      if (BE (newstate->entrance_nodes == NULL, 0))
+	      if (__glibc_unlikely (newstate->entrance_nodes == NULL))
 		{
 		  free_state (newstate);
 		  return NULL;
@@ -1732,7 +1737,7 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
 	}
     }
   err = register_state (dfa, newstate, hash);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     {
       free_state (newstate);
       newstate = NULL;
diff --git a/gnu/regex_internal.h b/gnu/regex_internal.h
index fc4ffdb2..a3aedda8 100644
--- a/gnu/regex_internal.h
+++ b/gnu/regex_internal.h
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -33,13 +33,13 @@
 #include <stdbool.h>
 #include <stdint.h>
 
-#include "intprops.h"
+#include <intprops.h>
 
 #ifdef _LIBC
 # include <libc-lock.h>
 # define lock_define(name) __libc_lock_define (, name)
 # define lock_init(lock) (__libc_lock_init (lock), 0)
-# define lock_fini(lock) 0
+# define lock_fini(lock) ((void) 0)
 # define lock_lock(lock) __libc_lock_lock (lock)
 # define lock_unlock(lock) __libc_lock_unlock (lock)
 #elif defined GNULIB_LOCK && !defined USE_UNLOCKED_IO
@@ -116,8 +116,6 @@
 # define RE_ENABLE_I18N
 #endif
 
-#define BE(expr, val) __builtin_expect (expr, val)
-
 /* Number of ASCII characters.  */
 #define ASCII_CHARS 0x80
 
@@ -133,7 +131,10 @@
 /* Rename to standard API for using out of glibc.  */
 #ifndef _LIBC
 # undef __wctype
+# undef __iswalnum
 # undef __iswctype
+# undef __towlower
+# undef __towupper
 # define __wctype wctype
 # define __iswalnum iswalnum
 # define __iswctype iswctype
@@ -143,13 +144,8 @@
 # define __mbrtowc mbrtowc
 # define __wcrtomb wcrtomb
 # define __regfree regfree
-# define attribute_hidden
 #endif /* not _LIBC */
 
-#if __GNUC__ < 3 + (__GNUC_MINOR__ < 1)
-# define __attribute__(arg)
-#endif
-
 #ifndef SSIZE_MAX
 # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
 #endif
@@ -438,24 +434,9 @@ struct re_dfa_t;
 typedef struct re_dfa_t re_dfa_t;
 
 #ifndef _LIBC
-# define internal_function
 # define IS_IN(libc) false
 #endif
 
-static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
-						Idx new_buf_len)
-     internal_function;
-#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 */
-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));
-
 #define re_string_peek_byte(pstr, offset) \
   ((pstr)->mbs[(pstr)->cur_idx + offset])
 #define re_string_fetch_byte(pstr) \
@@ -761,31 +742,31 @@ typedef struct
 
 /* Functions for bitset_t operation.  */
 
-static void
+static inline void
 bitset_set (bitset_t set, Idx i)
 {
   set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS;
 }
 
-static void
+static inline void
 bitset_clear (bitset_t set, Idx i)
 {
   set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS);
 }
 
-static bool
+static inline bool
 bitset_contain (const bitset_t set, Idx i)
 {
   return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1;
 }
 
-static void
+static inline void
 bitset_empty (bitset_t set)
 {
   memset (set, '\0', sizeof (bitset_t));
 }
 
-static void
+static inline void
 bitset_set_all (bitset_t set)
 {
   memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS));
@@ -794,13 +775,13 @@ bitset_set_all (bitset_t set)
       ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1;
 }
 
-static void
+static inline void
 bitset_copy (bitset_t dest, const bitset_t src)
 {
   memcpy (dest, src, sizeof (bitset_t));
 }
 
-static void __attribute__ ((unused))
+static inline void
 bitset_not (bitset_t set)
 {
   int bitset_i;
@@ -812,7 +793,7 @@ bitset_not (bitset_t set)
        & ~set[BITSET_WORDS - 1]);
 }
 
-static void __attribute__ ((unused))
+static inline void
 bitset_merge (bitset_t dest, const bitset_t src)
 {
   int bitset_i;
@@ -820,7 +801,7 @@ bitset_merge (bitset_t dest, const bitset_t src)
     dest[bitset_i] |= src[bitset_i];
 }
 
-static void __attribute__ ((unused))
+static inline void
 bitset_mask (bitset_t dest, const bitset_t src)
 {
   int bitset_i;
@@ -831,7 +812,7 @@ bitset_mask (bitset_t dest, const bitset_t src)
 #ifdef RE_ENABLE_I18N
 /* Functions for re_string.  */
 static int
-internal_function __attribute__ ((pure, unused))
+__attribute__ ((pure, unused))
 re_string_char_size_at (const re_string_t *pstr, Idx idx)
 {
   int byte_idx;
@@ -844,7 +825,7 @@ re_string_char_size_at (const re_string_t *pstr, Idx idx)
 }
 
 static wint_t
-internal_function __attribute__ ((pure, unused))
+__attribute__ ((pure, unused))
 re_string_wchar_at (const re_string_t *pstr, Idx idx)
 {
   if (pstr->mb_cur_max == 1)
@@ -857,7 +838,7 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx)
 # endif
 
 static int
-internal_function __attribute__ ((pure, unused))
+__attribute__ ((pure, unused))
 re_string_elem_size_at (const re_string_t *pstr, Idx idx)
 {
 # ifdef _LIBC
@@ -882,23 +863,6 @@ re_string_elem_size_at (const re_string_t *pstr, Idx idx)
 }
 #endif /* RE_ENABLE_I18N */
 
-#ifndef __GNUC_PREREQ
-# if defined __GNUC__ && defined __GNUC_MINOR__
-#  define __GNUC_PREREQ(maj, min) \
-         ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-# else
-#  define __GNUC_PREREQ(maj, min) 0
-# endif
-#endif
-
-#if __GNUC_PREREQ (3,4)
-# undef __attribute_warn_unused_result__
-# define __attribute_warn_unused_result__ \
-   __attribute__ ((__warn_unused_result__))
-#else
-# define __attribute_warn_unused_result__ /* empty */
-#endif
-
 #ifndef FALLTHROUGH
 # if __GNUC__ < 7
 #  define FALLTHROUGH ((void) 0)
diff --git a/gnu/regexec.c b/gnu/regexec.c
index 51a5c9ea..21cf7915 100644
--- a/gnu/regexec.c
+++ b/gnu/regexec.c
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2019 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -18,189 +18,159 @@
    <https://www.gnu.org/licenses/>.  */
 
 static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
-				     Idx n) internal_function;
-static void match_ctx_clean (re_match_context_t *mctx) internal_function;
-static void match_ctx_free (re_match_context_t *cache) internal_function;
+				     Idx n);
+static void match_ctx_clean (re_match_context_t *mctx);
+static void match_ctx_free (re_match_context_t *cache);
 static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node,
-					  Idx str_idx, Idx from, Idx to)
-     internal_function;
-static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
-     internal_function;
+					  Idx str_idx, Idx from, Idx to);
+static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx);
 static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node,
-					   Idx str_idx) internal_function;
+					   Idx str_idx);
 static re_sub_match_last_t * match_ctx_add_sublast (re_sub_match_top_t *subtop,
-						    Idx node, Idx str_idx)
-     internal_function;
+						    Idx node, Idx str_idx);
 static void sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts,
 			   re_dfastate_t **limited_sts, Idx last_node,
-			   Idx last_str_idx)
-     internal_function;
+			   Idx last_str_idx);
 static reg_errcode_t re_search_internal (const regex_t *preg,
 					 const char *string, Idx length,
 					 Idx start, Idx last_start, Idx stop,
 					 size_t nmatch, regmatch_t pmatch[],
-					 int eflags) internal_function;
+					 int eflags);
 static regoff_t re_search_2_stub (struct re_pattern_buffer *bufp,
 				  const char *string1, Idx length1,
 				  const char *string2, Idx length2,
 				  Idx start, regoff_t range,
 				  struct re_registers *regs,
-				  Idx stop, bool ret_len) internal_function;
+				  Idx stop, bool ret_len);
 static regoff_t re_search_stub (struct re_pattern_buffer *bufp,
 				const char *string, Idx length, Idx start,
 				regoff_t range, Idx stop,
 				struct re_registers *regs,
-				bool ret_len) internal_function;
+				bool ret_len);
 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;
+                              Idx nregs, int regs_allocated);
+static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx);
 static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match,
-			   Idx *p_match_first) internal_function;
+			   Idx *p_match_first);
 static Idx check_halt_state_context (const re_match_context_t *mctx,
-				     const re_dfastate_t *state, Idx idx)
-     internal_function;
+				     const re_dfastate_t *state, Idx idx);
 static void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
 			 regmatch_t *prev_idx_match, Idx cur_node,
-			 Idx cur_idx, Idx nmatch) internal_function;
+			 Idx cur_idx, Idx nmatch);
 static reg_errcode_t push_fail_stack (struct re_fail_stack_t *fs,
 				      Idx str_idx, Idx dest_node, Idx nregs,
 				      regmatch_t *regs,
-				      re_node_set *eps_via_nodes)
-     internal_function;
+				      re_node_set *eps_via_nodes);
 static reg_errcode_t set_regs (const regex_t *preg,
 			       const re_match_context_t *mctx,
 			       size_t nmatch, regmatch_t *pmatch,
-			       bool fl_backtrack) internal_function;
-static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs)
-     internal_function;
+			       bool fl_backtrack);
+static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs);
 
 #ifdef RE_ENABLE_I18N
 static int sift_states_iter_mb (const re_match_context_t *mctx,
 				re_sift_context_t *sctx,
-				Idx node_idx, Idx str_idx, Idx max_str_idx)
-     internal_function;
+				Idx node_idx, Idx str_idx, Idx max_str_idx);
 #endif /* RE_ENABLE_I18N */
 static reg_errcode_t sift_states_backward (const re_match_context_t *mctx,
-					   re_sift_context_t *sctx)
-     internal_function;
+					   re_sift_context_t *sctx);
 static reg_errcode_t build_sifted_states (const re_match_context_t *mctx,
 					  re_sift_context_t *sctx, Idx str_idx,
-					  re_node_set *cur_dest)
-     internal_function;
+					  re_node_set *cur_dest);
 static reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx,
 					      re_sift_context_t *sctx,
 					      Idx str_idx,
-					      re_node_set *dest_nodes)
-     internal_function;
+					      re_node_set *dest_nodes);
 static reg_errcode_t add_epsilon_src_nodes (const re_dfa_t *dfa,
 					    re_node_set *dest_nodes,
-					    const re_node_set *candidates)
-     internal_function;
+					    const re_node_set *candidates);
 static bool check_dst_limits (const re_match_context_t *mctx,
 			      const re_node_set *limits,
 			      Idx dst_node, Idx dst_idx, Idx src_node,
-			      Idx src_idx) internal_function;
+			      Idx src_idx);
 static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx,
 					int boundaries, Idx subexp_idx,
-					Idx from_node, Idx bkref_idx)
-     internal_function;
+					Idx from_node, Idx bkref_idx);
 static int check_dst_limits_calc_pos (const re_match_context_t *mctx,
 				      Idx limit, Idx subexp_idx,
 				      Idx node, Idx str_idx,
-				      Idx bkref_idx) internal_function;
+				      Idx bkref_idx);
 static reg_errcode_t check_subexp_limits (const re_dfa_t *dfa,
 					  re_node_set *dest_nodes,
 					  const re_node_set *candidates,
 					  re_node_set *limits,
 					  struct re_backref_cache_entry *bkref_ents,
-					  Idx str_idx) internal_function;
+					  Idx str_idx);
 static reg_errcode_t sift_states_bkref (const re_match_context_t *mctx,
 					re_sift_context_t *sctx,
-					Idx str_idx, const re_node_set *candidates)
-     internal_function;
+					Idx str_idx, const re_node_set *candidates);
 static reg_errcode_t merge_state_array (const re_dfa_t *dfa,
 					re_dfastate_t **dst,
-					re_dfastate_t **src, Idx num)
-     internal_function;
+					re_dfastate_t **src, Idx num);
 static re_dfastate_t *find_recover_state (reg_errcode_t *err,
-					 re_match_context_t *mctx) internal_function;
+					 re_match_context_t *mctx);
 static re_dfastate_t *transit_state (reg_errcode_t *err,
 				     re_match_context_t *mctx,
-				     re_dfastate_t *state) internal_function;
+				     re_dfastate_t *state);
 static re_dfastate_t *merge_state_with_log (reg_errcode_t *err,
 					    re_match_context_t *mctx,
-					    re_dfastate_t *next_state)
-     internal_function;
+					    re_dfastate_t *next_state);
 static reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx,
 						re_node_set *cur_nodes,
-						Idx str_idx) internal_function;
+						Idx str_idx);
 #if 0
 static re_dfastate_t *transit_state_sb (reg_errcode_t *err,
 					re_match_context_t *mctx,
-					re_dfastate_t *pstate)
-     internal_function;
+					re_dfastate_t *pstate);
 #endif
 #ifdef RE_ENABLE_I18N
 static reg_errcode_t transit_state_mb (re_match_context_t *mctx,
-				       re_dfastate_t *pstate)
-     internal_function;
+				       re_dfastate_t *pstate);
 #endif /* RE_ENABLE_I18N */
 static reg_errcode_t transit_state_bkref (re_match_context_t *mctx,
-					  const re_node_set *nodes)
-     internal_function;
+					  const re_node_set *nodes);
 static reg_errcode_t get_subexp (re_match_context_t *mctx,
-				 Idx bkref_node, Idx bkref_str_idx)
-     internal_function;
+				 Idx bkref_node, Idx bkref_str_idx);
 static reg_errcode_t get_subexp_sub (re_match_context_t *mctx,
 				     const re_sub_match_top_t *sub_top,
 				     re_sub_match_last_t *sub_last,
-				     Idx bkref_node, Idx bkref_str)
-     internal_function;
+				     Idx bkref_node, Idx bkref_str);
 static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
-			     Idx subexp_idx, int type) internal_function;
+			     Idx subexp_idx, int type);
 static reg_errcode_t check_arrival (re_match_context_t *mctx,
 				    state_array_t *path, Idx top_node,
 				    Idx top_str, Idx last_node, Idx last_str,
-				    int type) internal_function;
+				    int type);
 static reg_errcode_t check_arrival_add_next_nodes (re_match_context_t *mctx,
 						   Idx str_idx,
 						   re_node_set *cur_nodes,
-						   re_node_set *next_nodes)
-     internal_function;
+						   re_node_set *next_nodes);
 static reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa,
 					       re_node_set *cur_nodes,
-					       Idx ex_subexp, int type)
-     internal_function;
+					       Idx ex_subexp, int type);
 static reg_errcode_t check_arrival_expand_ecl_sub (const re_dfa_t *dfa,
 						   re_node_set *dst_nodes,
 						   Idx target, Idx ex_subexp,
-						   int type) internal_function;
+						   int type);
 static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx,
 					 re_node_set *cur_nodes, Idx cur_str,
-					 Idx subexp_num, int type)
-     internal_function;
-static bool build_trtable (const re_dfa_t *dfa,
-			   re_dfastate_t *state) internal_function;
+					 Idx subexp_num, int type);
+static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state);
 #ifdef RE_ENABLE_I18N
 static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
-				    const re_string_t *input, Idx idx)
-     internal_function;
+				    const re_string_t *input, Idx idx);
 # ifdef _LIBC
 static unsigned int find_collation_sequence_value (const unsigned char *mbs,
-						   size_t name_len)
-     internal_function;
+						   size_t name_len);
 # endif /* _LIBC */
 #endif /* RE_ENABLE_I18N */
 static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa,
 				       const re_dfastate_t *state,
 				       re_node_set *states_node,
-				       bitset_t *states_ch) internal_function;
+				       bitset_t *states_ch);
 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, int min_len)
-     internal_function;
+			       const re_token_t *node, Idx idx);
+static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len);
 
 /* Entry point for POSIX code.  */
 
@@ -219,7 +189,7 @@ static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
    We return 0 if we find a match and REG_NOMATCH if not.  */
 
 int
-regexec (const regex_t *_Restrict_ preg, const char *_Restrict_ string,
+regexec (const regex_t *__restrict preg, const char *__restrict string,
 	 size_t nmatch, regmatch_t pmatch[], int eflags)
 {
   reg_errcode_t err;
@@ -252,6 +222,8 @@ regexec (const regex_t *_Restrict_ preg, const char *_Restrict_ string,
 }
 
 #ifdef _LIBC
+libc_hidden_def (__regexec)
+
 # include <shlib-compat.h>
 versioned_symbol (libc, __regexec, regexec, GLIBC_2_3_4);
 
@@ -260,8 +232,8 @@ __typeof__ (__regexec) __compat_regexec;
 
 int
 attribute_compat_text_section
-__compat_regexec (const regex_t *_Restrict_ preg,
-		  const char *_Restrict_ string, size_t nmatch,
+__compat_regexec (const regex_t *__restrict preg,
+		  const char *__restrict string, size_t nmatch,
 		  regmatch_t pmatch[], int eflags)
 {
   return regexec (preg, string, nmatch, pmatch,
@@ -346,7 +318,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, Idx start,
 		  regoff_t range, struct re_registers *regs,
@@ -357,9 +328,8 @@ re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1,
   Idx len;
   char *s = NULL;
 
-  if (BE ((length1 < 0 || length2 < 0 || stop < 0
-           || INT_ADD_WRAPV (length1, length2, &len)),
-          0))
+  if (__glibc_unlikely ((length1 < 0 || length2 < 0 || stop < 0
+			 || INT_ADD_WRAPV (length1, length2, &len))))
     return -2;
 
   /* Concatenate the strings.  */
@@ -368,7 +338,7 @@ re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1,
       {
 	s = re_malloc (char, len);
 
-	if (BE (s == NULL, 0))
+	if (__glibc_unlikely (s == NULL))
 	  return -2;
 #ifdef _LIBC
 	memcpy (__mempcpy (s, string1, length1), string2, length2);
@@ -395,7 +365,6 @@ re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1,
    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,
 		bool ret_len)
@@ -409,11 +378,13 @@ re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length,
   Idx last_start = start + range;
 
   /* Check for out-of-range.  */
-  if (BE (start < 0 || start > length, 0))
+  if (__glibc_unlikely (start < 0 || start > length))
     return -1;
-  if (BE (length < last_start || (0 <= range && last_start < start), 0))
+  if (__glibc_unlikely (length < last_start
+			|| (0 <= range && last_start < start)))
     last_start = length;
-  else if (BE (last_start < 0 || (range < 0 && start <= last_start), 0))
+  else if (__glibc_unlikely (last_start < 0
+			     || (range < 0 && start <= last_start)))
     last_start = 0;
 
   lock_lock (dfa->lock);
@@ -425,17 +396,17 @@ re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length,
   if (start < last_start && bufp->fastmap != NULL && !bufp->fastmap_accurate)
     re_compile_fastmap (bufp);
 
-  if (BE (bufp->no_sub, 0))
+  if (__glibc_unlikely (bufp->no_sub))
     regs = NULL;
 
   /* We need at least 1 register.  */
   if (regs == NULL)
     nregs = 1;
-  else if (BE (bufp->regs_allocated == REGS_FIXED
-	       && regs->num_regs <= bufp->re_nsub, 0))
+  else if (__glibc_unlikely (bufp->regs_allocated == REGS_FIXED
+			     && regs->num_regs <= bufp->re_nsub))
     {
       nregs = regs->num_regs;
-      if (BE (nregs < 1, 0))
+      if (__glibc_unlikely (nregs < 1))
 	{
 	  /* Nothing can be copied to regs.  */
 	  regs = NULL;
@@ -445,7 +416,7 @@ re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length,
   else
     nregs = bufp->re_nsub + 1;
   pmatch = re_malloc (regmatch_t, nregs);
-  if (BE (pmatch == NULL, 0))
+  if (__glibc_unlikely (pmatch == NULL))
     {
       rval = -2;
       goto out;
@@ -464,11 +435,11 @@ re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length,
       /* If caller wants register contents data back, copy them.  */
       bufp->regs_allocated = re_copy_regs (regs, pmatch, nregs,
 					   bufp->regs_allocated);
-      if (BE (bufp->regs_allocated == REGS_UNALLOCATED, 0))
+      if (__glibc_unlikely (bufp->regs_allocated == REGS_UNALLOCATED))
 	rval = -2;
     }
 
-  if (BE (rval == 0, 1))
+  if (__glibc_likely (rval == 0))
     {
       if (ret_len)
 	{
@@ -485,7 +456,6 @@ re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length,
 }
 
 static unsigned
-internal_function
 re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs,
 	      int regs_allocated)
 {
@@ -499,10 +469,10 @@ re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs,
   if (regs_allocated == REGS_UNALLOCATED)
     { /* No.  So allocate them with malloc.  */
       regs->start = re_malloc (regoff_t, need_regs);
-      if (BE (regs->start == NULL, 0))
+      if (__glibc_unlikely (regs->start == NULL))
 	return REGS_UNALLOCATED;
       regs->end = re_malloc (regoff_t, need_regs);
-      if (BE (regs->end == NULL, 0))
+      if (__glibc_unlikely (regs->end == NULL))
 	{
 	  re_free (regs->start);
 	  return REGS_UNALLOCATED;
@@ -513,14 +483,14 @@ re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs,
     { /* Yes.  If we need more elements than were already
 	 allocated, reallocate them.  If we need fewer, just
 	 leave it alone.  */
-      if (BE (need_regs > regs->num_regs, 0))
+      if (__glibc_unlikely (need_regs > regs->num_regs))
 	{
 	  regoff_t *new_start = re_realloc (regs->start, regoff_t, need_regs);
 	  regoff_t *new_end;
-	  if (BE (new_start == NULL, 0))
+	  if (__glibc_unlikely (new_start == NULL))
 	    return REGS_UNALLOCATED;
 	  new_end = re_realloc (regs->end, regoff_t, need_regs);
-	  if (BE (new_end == NULL, 0))
+	  if (__glibc_unlikely (new_end == NULL))
 	    {
 	      re_free (new_start);
 	      return REGS_UNALLOCATED;
@@ -611,7 +581,7 @@ re_exec (const char *s)
    (0 <= LAST_START && LAST_START <= LENGTH)  */
 
 static reg_errcode_t
-__attribute_warn_unused_result__ internal_function
+__attribute_warn_unused_result__
 re_search_internal (const regex_t *preg, const char *string, Idx length,
 		    Idx start, Idx last_start, Idx stop, size_t nmatch,
 		    regmatch_t pmatch[], int eflags)
@@ -646,9 +616,10 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
   nmatch -= extra_nmatch;
 
   /* Check if the DFA haven't been compiled.  */
-  if (BE (preg->used == 0 || dfa->init_state == NULL
-	  || dfa->init_state_word == NULL || dfa->init_state_nl == NULL
-	  || dfa->init_state_begbuf == NULL, 0))
+  if (__glibc_unlikely (preg->used == 0 || dfa->init_state == NULL
+			|| dfa->init_state_word == NULL
+			|| dfa->init_state_nl == NULL
+			|| dfa->init_state_begbuf == NULL))
     return REG_NOMATCH;
 
 #ifdef DEBUG
@@ -675,14 +646,14 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
   err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1,
 			    preg->translate, (preg->syntax & RE_ICASE) != 0,
 			    dfa);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto free_return;
   mctx.input.stop = stop;
   mctx.input.raw_stop = stop;
   mctx.input.newline_anchor = preg->newline_anchor;
 
   err = match_ctx_init (&mctx, eflags, dfa->nbackref * 2);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto free_return;
 
   /* We will log all the DFA states through which the dfa pass,
@@ -692,15 +663,15 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
   if (nmatch > 1 || dfa->has_mb_node)
     {
       /* Avoid overflow.  */
-      if (BE ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *))
-               <= mctx.input.bufs_len), 0))
+      if (__glibc_unlikely ((MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *))
+			     <= mctx.input.bufs_len)))
 	{
 	  err = REG_ESPACE;
 	  goto free_return;
 	}
 
       mctx.state_log = re_malloc (re_dfastate_t *, mctx.input.bufs_len + 1);
-      if (BE (mctx.state_log == NULL, 0))
+      if (__glibc_unlikely (mctx.state_log == NULL))
 	{
 	  err = REG_ESPACE;
 	  goto free_return;
@@ -744,19 +715,19 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
 
 	case 7:
 	  /* Fastmap with single-byte translation, match forward.  */
-	  while (BE (match_first < right_lim, 1)
+	  while (__glibc_likely (match_first < right_lim)
 		 && !fastmap[t[(unsigned char) string[match_first]]])
 	    ++match_first;
 	  goto forward_match_found_start_or_reached_end;
 
 	case 6:
 	  /* Fastmap without translation, match forward.  */
-	  while (BE (match_first < right_lim, 1)
+	  while (__glibc_likely (match_first < right_lim)
 		 && !fastmap[(unsigned char) string[match_first]])
 	    ++match_first;
 
 	forward_match_found_start_or_reached_end:
-	  if (BE (match_first == right_lim, 0))
+	  if (__glibc_unlikely (match_first == right_lim))
 	    {
 	      ch = match_first >= length
 		       ? 0 : (unsigned char) string[match_first];
@@ -789,11 +760,12 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
 	      /* If MATCH_FIRST is out of the valid range, reconstruct the
 		 buffers.  */
 	      __re_size_t offset = match_first - mctx.input.raw_mbs_idx;
-	      if (BE (offset >= (__re_size_t) mctx.input.valid_raw_len, 0))
+	      if (__glibc_unlikely (offset
+				    >= (__re_size_t) mctx.input.valid_raw_len))
 		{
 		  err = re_string_reconstruct (&mctx.input, match_first,
 					       eflags);
-		  if (BE (err != REG_NOERROR, 0))
+		  if (__glibc_unlikely (err != REG_NOERROR))
 		    goto free_return;
 
 		  offset = match_first - mctx.input.raw_mbs_idx;
@@ -817,7 +789,7 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
       /* Reconstruct the buffers so that the matcher can assume that
 	 the matching starts from the beginning of the buffer.  */
       err = re_string_reconstruct (&mctx.input, match_first, eflags);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	goto free_return;
 
 #ifdef RE_ENABLE_I18N
@@ -834,7 +806,7 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
 				   start <= last_start ? &match_first : NULL);
       if (match_last != -1)
 	{
-	  if (BE (match_last == -2, 0))
+	  if (__glibc_unlikely (match_last == -2))
 	    {
 	      err = REG_ESPACE;
 	      goto free_return;
@@ -854,7 +826,7 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
 		  err = prune_impossible_nodes (&mctx);
 		  if (err == REG_NOERROR)
 		    break;
-		  if (BE (err != REG_NOMATCH, 0))
+		  if (__glibc_unlikely (err != REG_NOMATCH))
 		    goto free_return;
 		  match_last = -1;
 		}
@@ -891,7 +863,7 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
 	{
 	  err = set_regs (preg, &mctx, nmatch, pmatch,
 			  dfa->has_plural_match && dfa->nbackref > 0);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    goto free_return;
 	}
 
@@ -902,7 +874,7 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
 	if (pmatch[reg_idx].rm_so != -1)
 	  {
 #ifdef RE_ENABLE_I18N
-	    if (BE (mctx.input.offsets_needed != 0, 0))
+	    if (__glibc_unlikely (mctx.input.offsets_needed != 0))
 	      {
 		pmatch[reg_idx].rm_so =
 		  (pmatch[reg_idx].rm_so == mctx.input.valid_len
@@ -945,7 +917,7 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
 }
 
 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;
@@ -961,11 +933,12 @@ prune_impossible_nodes (re_match_context_t *mctx)
   halt_node = mctx->last_node;
 
   /* Avoid overflow.  */
-  if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) <= match_last, 0))
+  if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *))
+			<= match_last))
     return REG_ESPACE;
 
   sifted_states = re_malloc (re_dfastate_t *, match_last + 1);
-  if (BE (sifted_states == NULL, 0))
+  if (__glibc_unlikely (sifted_states == NULL))
     {
       ret = REG_ESPACE;
       goto free_return;
@@ -973,7 +946,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
   if (dfa->nbackref)
     {
       lim_states = re_malloc (re_dfastate_t *, match_last + 1);
-      if (BE (lim_states == NULL, 0))
+      if (__glibc_unlikely (lim_states == NULL))
 	{
 	  ret = REG_ESPACE;
 	  goto free_return;
@@ -986,7 +959,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
 			 match_last);
 	  ret = sift_states_backward (mctx, &sctx);
 	  re_node_set_free (&sctx.limits);
-	  if (BE (ret != REG_NOERROR, 0))
+	  if (__glibc_unlikely (ret != REG_NOERROR))
 	      goto free_return;
 	  if (sifted_states[0] != NULL || lim_states[0] != NULL)
 	    break;
@@ -1008,7 +981,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
 			       match_last + 1);
       re_free (lim_states);
       lim_states = NULL;
-      if (BE (ret != REG_NOERROR, 0))
+      if (__glibc_unlikely (ret != REG_NOERROR))
 	goto free_return;
     }
   else
@@ -1016,7 +989,7 @@ prune_impossible_nodes (re_match_context_t *mctx)
       sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last);
       ret = sift_states_backward (mctx, &sctx);
       re_node_set_free (&sctx.limits);
-      if (BE (ret != REG_NOERROR, 0))
+      if (__glibc_unlikely (ret != REG_NOERROR))
 	goto free_return;
       if (sifted_states[0] == NULL)
 	{
@@ -1041,7 +1014,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))
 acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
 			    Idx idx)
 {
@@ -1083,7 +1056,7 @@ acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx,
    index of the buffer.  */
 
 static Idx
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 check_matching (re_match_context_t *mctx, bool fl_longest_match,
 		Idx *p_match_first)
 {
@@ -1099,7 +1072,7 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
   err = REG_NOERROR;
   cur_state = acquire_init_state_context (&err, mctx, cur_str_idx);
   /* An initial state must not be NULL (invalid).  */
-  if (BE (cur_state == NULL, 0))
+  if (__glibc_unlikely (cur_state == NULL))
     {
       assert (err == REG_ESPACE);
       return -2;
@@ -1111,24 +1084,24 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
 
       /* Check OP_OPEN_SUBEXP in the initial state in case that we use them
 	 later.  E.g. Processing back references.  */
-      if (BE (dfa->nbackref, 0))
+      if (__glibc_unlikely (dfa->nbackref))
 	{
 	  at_init_state = false;
 	  err = check_subexp_matching_top (mctx, &cur_state->nodes, 0);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 
 	  if (cur_state->has_backref)
 	    {
 	      err = transit_state_bkref (mctx, &cur_state->nodes);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		return err;
 	    }
 	}
     }
 
   /* If the RE accepts NULL string.  */
-  if (BE (cur_state->halt, 0))
+  if (__glibc_unlikely (cur_state->halt))
     {
       if (!cur_state->has_constraint
 	  || check_halt_state_context (mctx, cur_state, cur_str_idx))
@@ -1148,13 +1121,13 @@ 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 ((__glibc_unlikely (next_char_idx >= mctx->input.bufs_len)
 	   && mctx->input.bufs_len < mctx->input.len)
-	  || (BE (next_char_idx >= mctx->input.valid_len, 0)
+	  || (__glibc_unlikely (next_char_idx >= mctx->input.valid_len)
 	      && mctx->input.valid_len < mctx->input.len))
 	{
 	  err = extend_buffers (mctx, next_char_idx + 1);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    {
 	      assert (err == REG_ESPACE);
 	      return -2;
@@ -1170,7 +1143,7 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
 	  /* Reached the invalid state or an error.  Try to recover a valid
 	     state using the state log, if available and if we have not
 	     already found a valid (even if not the longest) match.  */
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return -2;
 
 	  if (mctx->state_log == NULL
@@ -1179,7 +1152,7 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
 	    break;
 	}
 
-      if (BE (at_init_state, 0))
+      if (__glibc_unlikely (at_init_state))
 	{
 	  if (old_state == cur_state)
 	    next_start_idx = next_char_idx;
@@ -1216,7 +1189,6 @@ check_matching (re_match_context_t *mctx, bool fl_longest_match,
 /* Check NODE match the current context.  */
 
 static bool
-internal_function
 check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context)
 {
   re_token_type_t type = dfa->nodes[node].type;
@@ -1235,7 +1207,6 @@ check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context)
    match the context, return the node.  */
 
 static Idx
-internal_function
 check_halt_state_context (const re_match_context_t *mctx,
 			  const re_dfastate_t *state, Idx idx)
 {
@@ -1257,7 +1228,6 @@ check_halt_state_context (const re_match_context_t *mctx,
    return -1 in case of errors.  */
 
 static Idx
-internal_function
 proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
 		   Idx *pidx, Idx node, re_node_set *eps_via_nodes,
 		   struct re_fail_stack_t *fs)
@@ -1271,7 +1241,7 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
       re_node_set *edests = &dfa->edests[node];
       Idx dest_node;
       ok = re_node_set_insert (eps_via_nodes, node);
-      if (BE (! ok, 0))
+      if (__glibc_unlikely (! ok))
 	return -2;
       /* Pick up a valid destination, or return -1 if none
 	 is found.  */
@@ -1333,7 +1303,7 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
 	    {
 	      Idx dest_node;
 	      ok = re_node_set_insert (eps_via_nodes, node);
-	      if (BE (! ok, 0))
+	      if (__glibc_unlikely (! ok))
 		return -2;
 	      dest_node = dfa->edests[node].elems[0];
 	      if (re_node_set_contains (&mctx->state_log[*pidx]->nodes,
@@ -1359,7 +1329,7 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node,
 		 Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes)
 {
@@ -1368,8 +1338,8 @@ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node,
   if (fs->num == fs->alloc)
     {
       struct re_fail_stack_ent_t *new_array;
-      new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t)
-				       * fs->alloc * 2));
+      new_array = re_realloc (fs->stack, struct re_fail_stack_ent_t,
+                              fs->alloc * 2);
       if (new_array == NULL)
 	return REG_ESPACE;
       fs->alloc *= 2;
@@ -1386,7 +1356,6 @@ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node,
 }
 
 static Idx
-internal_function
 pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs,
 		regmatch_t *regs, re_node_set *eps_via_nodes)
 {
@@ -1406,7 +1375,7 @@ pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs,
    pmatch[i].rm_so == pmatch[i].rm_eo == -1 for 0 < i < nmatch.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__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)
 {
@@ -1484,9 +1453,9 @@ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch,
       cur_node = proceed_next_node (mctx, nmatch, pmatch, &idx, cur_node,
 				    &eps_via_nodes, fs);
 
-      if (BE (cur_node < 0, 0))
+      if (__glibc_unlikely (cur_node < 0))
 	{
-	  if (BE (cur_node == -2, 0))
+	  if (__glibc_unlikely (cur_node == -2))
 	    {
 	      re_node_set_free (&eps_via_nodes);
 	      if (prev_idx_match_malloced)
@@ -1513,7 +1482,6 @@ set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch,
 }
 
 static reg_errcode_t
-internal_function
 free_fail_stack_return (struct re_fail_stack_t *fs)
 {
   if (fs)
@@ -1530,7 +1498,6 @@ free_fail_stack_return (struct re_fail_stack_t *fs)
 }
 
 static void
-internal_function
 update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
 	     regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch)
 {
@@ -1602,7 +1569,6 @@ update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
   ((state) != NULL && re_node_set_contains (&(state)->nodes, node))
 
 static reg_errcode_t
-internal_function
 sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
 {
   reg_errcode_t err;
@@ -1617,10 +1583,10 @@ sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
   /* Build sifted state_log[str_idx].  It has the nodes which can epsilon
      transit to the last_node and the last_node itself.  */
   err = re_node_set_init_1 (&cur_dest, sctx->last_node);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
   err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto free_return;
 
   /* Then check each states in the state_log.  */
@@ -1641,7 +1607,7 @@ sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
       if (mctx->state_log[str_idx])
 	{
 	  err = build_sifted_states (mctx, sctx, str_idx, &cur_dest);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    goto free_return;
 	}
 
@@ -1650,7 +1616,7 @@ sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
 	 - It is in CUR_SRC.
 	 And update state_log.  */
       err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	goto free_return;
     }
   err = REG_NOERROR;
@@ -1660,7 +1626,7 @@ sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
 		     Idx str_idx, re_node_set *cur_dest)
 {
@@ -1712,7 +1678,7 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
 	    continue;
 	}
       ok = re_node_set_insert (cur_dest, prev_node);
-      if (BE (! ok, 0))
+      if (__glibc_unlikely (! ok))
 	return REG_ESPACE;
     }
 
@@ -1722,7 +1688,6 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx,
 /* Helper functions.  */
 
 static reg_errcode_t
-internal_function
 clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
 {
   Idx top = mctx->state_log_top;
@@ -1734,7 +1699,7 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
     {
       reg_errcode_t err;
       err = extend_buffers (mctx, next_state_log_idx + 1);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return err;
     }
 
@@ -1748,7 +1713,6 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
 }
 
 static reg_errcode_t
-internal_function
 merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst,
 		   re_dfastate_t **src, Idx num)
 {
@@ -1763,11 +1727,11 @@ merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst,
 	  re_node_set merged_set;
 	  err = re_node_set_init_union (&merged_set, &dst[st_idx]->nodes,
 					&src[st_idx]->nodes);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 	  dst[st_idx] = re_acquire_state (&err, dfa, &merged_set);
 	  re_node_set_free (&merged_set);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 	}
     }
@@ -1775,7 +1739,6 @@ merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst,
 }
 
 static reg_errcode_t
-internal_function
 update_cur_sifted_state (const re_match_context_t *mctx,
 			 re_sift_context_t *sctx, Idx str_idx,
 			 re_node_set *dest_nodes)
@@ -1795,7 +1758,7 @@ update_cur_sifted_state (const re_match_context_t *mctx,
 	  /* At first, add the nodes which can epsilon transit to a node in
 	     DEST_NODE.  */
 	  err = add_epsilon_src_nodes (dfa, dest_nodes, candidates);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 
 	  /* Then, check the limitations in the current sift_context.  */
@@ -1803,27 +1766,27 @@ update_cur_sifted_state (const re_match_context_t *mctx,
 	    {
 	      err = check_subexp_limits (dfa, dest_nodes, candidates, &sctx->limits,
 					 mctx->bkref_ents, str_idx);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		return err;
 	    }
 	}
 
       sctx->sifted_states[str_idx] = re_acquire_state (&err, dfa, dest_nodes);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return err;
     }
 
   if (candidates && mctx->state_log[str_idx]->has_backref)
     {
       err = sift_states_bkref (mctx, sctx, str_idx, candidates);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return err;
     }
   return REG_NOERROR;
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes,
 		       const re_node_set *candidates)
 {
@@ -1831,19 +1794,19 @@ add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes,
   Idx i;
 
   re_dfastate_t *state = re_acquire_state (&err, dfa, dest_nodes);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
 
   if (!state->inveclosure.alloc)
     {
       err = re_node_set_alloc (&state->inveclosure, dest_nodes->nelem);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return REG_ESPACE;
       for (i = 0; i < dest_nodes->nelem; i++)
 	{
 	  err = re_node_set_merge (&state->inveclosure,
 				   dfa->inveclosures + dest_nodes->elems[i]);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return REG_ESPACE;
 	}
     }
@@ -1852,7 +1815,6 @@ add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes,
 }
 
 static reg_errcode_t
-internal_function
 sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes,
 		       const re_node_set *candidates)
 {
@@ -1879,7 +1841,7 @@ sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes,
 	      {
 		err = re_node_set_add_intersect (&except_nodes, candidates,
 						 dfa->inveclosures + cur_node);
-		if (BE (err != REG_NOERROR, 0))
+		if (__glibc_unlikely (err != REG_NOERROR))
 		  {
 		    re_node_set_free (&except_nodes);
 		    return err;
@@ -1901,7 +1863,6 @@ sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes,
 }
 
 static bool
-internal_function
 check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits,
 		  Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx)
 {
@@ -1937,7 +1898,6 @@ check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits,
 }
 
 static int
-internal_function
 check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries,
 			     Idx subexp_idx, Idx from_node, Idx bkref_idx)
 {
@@ -2019,7 +1979,6 @@ check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries,
 }
 
 static int
-internal_function
 check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit,
 			   Idx subexp_idx, Idx from_node, Idx str_idx,
 			   Idx bkref_idx)
@@ -2049,7 +2008,6 @@ check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit,
    which are against limitations from DEST_NODES. */
 
 static reg_errcode_t
-internal_function
 check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
 		     const re_node_set *candidates, re_node_set *limits,
 		     struct re_backref_cache_entry *bkref_ents, Idx str_idx)
@@ -2089,7 +2047,7 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
 	    {
 	      err = sub_epsilon_src_nodes (dfa, ops_node, dest_nodes,
 					   candidates);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		return err;
 	    }
 
@@ -2107,7 +2065,7 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
 		       Remove it form the current sifted state.  */
 		    err = sub_epsilon_src_nodes (dfa, node, dest_nodes,
 						 candidates);
-		    if (BE (err != REG_NOERROR, 0))
+		    if (__glibc_unlikely (err != REG_NOERROR))
 		      return err;
 		    --node_idx;
 		  }
@@ -2127,7 +2085,7 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
 		     Remove it form the current sifted state.  */
 		  err = sub_epsilon_src_nodes (dfa, node, dest_nodes,
 					       candidates);
-		  if (BE (err != REG_NOERROR, 0))
+		  if (__glibc_unlikely (err != REG_NOERROR))
 		    return err;
 		}
 	    }
@@ -2137,7 +2095,7 @@ check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes,
 }
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
 		   Idx str_idx, const re_node_set *candidates)
 {
@@ -2193,27 +2151,27 @@ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
 	    {
 	      local_sctx = *sctx;
 	      err = re_node_set_init_copy (&local_sctx.limits, &sctx->limits);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		goto free_return;
 	    }
 	  local_sctx.last_node = node;
 	  local_sctx.last_str_idx = str_idx;
 	  ok = re_node_set_insert (&local_sctx.limits, enabled_idx);
-	  if (BE (! ok, 0))
+	  if (__glibc_unlikely (! ok))
 	    {
 	      err = REG_ESPACE;
 	      goto free_return;
 	    }
 	  cur_state = local_sctx.sifted_states[str_idx];
 	  err = sift_states_backward (mctx, &local_sctx);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    goto free_return;
 	  if (sctx->limited_states != NULL)
 	    {
 	      err = merge_state_array (dfa, sctx->limited_states,
 				       local_sctx.sifted_states,
 				       str_idx + 1);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		goto free_return;
 	    }
 	  local_sctx.sifted_states[str_idx] = cur_state;
@@ -2237,7 +2195,6 @@ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx,
 
 #ifdef RE_ENABLE_I18N
 static int
-internal_function
 sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx,
 		     Idx node_idx, Idx str_idx, Idx max_str_idx)
 {
@@ -2267,7 +2224,7 @@ sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx,
    update the destination of STATE_LOG.  */
 
 static re_dfastate_t *
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 transit_state (reg_errcode_t *err, re_match_context_t *mctx,
 	       re_dfastate_t *state)
 {
@@ -2276,10 +2233,10 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx,
 
 #ifdef RE_ENABLE_I18N
   /* If the current state can accept multibyte.  */
-  if (BE (state->accept_mb, 0))
+  if (__glibc_unlikely (state->accept_mb))
     {
       *err = transit_state_mb (mctx, state);
-      if (BE (*err != REG_NOERROR, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR))
 	return NULL;
     }
 #endif /* RE_ENABLE_I18N */
@@ -2296,11 +2253,11 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx,
   for (;;)
     {
       trtable = state->trtable;
-      if (BE (trtable != NULL, 1))
+      if (__glibc_likely (trtable != NULL))
 	return trtable[ch];
 
       trtable = state->word_trtable;
-      if (BE (trtable != NULL, 1))
+      if (__glibc_likely (trtable != NULL))
 	{
 	  unsigned int context;
 	  context
@@ -2325,7 +2282,6 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx,
 
 /* Update the state_log if we need */
 static re_dfastate_t *
-internal_function
 merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
 		      re_dfastate_t *next_state)
 {
@@ -2357,7 +2313,7 @@ merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
 	  table_nodes = next_state->entrance_nodes;
 	  *err = re_node_set_init_union (&next_nodes, table_nodes,
 					     log_nodes);
-	  if (BE (*err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (*err != REG_NOERROR))
 	    return NULL;
 	}
       else
@@ -2377,21 +2333,21 @@ merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
 	re_node_set_free (&next_nodes);
     }
 
-  if (BE (dfa->nbackref, 0) && next_state != NULL)
+  if (__glibc_unlikely (dfa->nbackref) && next_state != NULL)
     {
       /* Check OP_OPEN_SUBEXP in the current state in case that we use them
 	 later.  We must check them here, since the back references in the
 	 next state might use them.  */
       *err = check_subexp_matching_top (mctx, &next_state->nodes,
 					cur_idx);
-      if (BE (*err != REG_NOERROR, 0))
+      if (__glibc_unlikely (*err != REG_NOERROR))
 	return NULL;
 
       /* If the next state has back references.  */
       if (next_state->has_backref)
 	{
 	  *err = transit_state_bkref (mctx, &next_state->nodes);
-	  if (BE (*err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (*err != REG_NOERROR))
 	    return NULL;
 	  next_state = mctx->state_log[cur_idx];
 	}
@@ -2404,7 +2360,6 @@ merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx,
    multi-byte match, then look in the log for a state
    from which to restart matching.  */
 static re_dfastate_t *
-internal_function
 find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)
 {
   re_dfastate_t *cur_state;
@@ -2435,7 +2390,6 @@ find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)
    corresponding back references.  */
 
 static reg_errcode_t
-internal_function
 check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes,
 			   Idx str_idx)
 {
@@ -2457,7 +2411,7 @@ check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes,
 	      & ((bitset_word_t) 1 << dfa->nodes[node].opr.idx)))
 	{
 	  err = match_ctx_add_subtop (mctx, node, str_idx);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 	}
     }
@@ -2479,7 +2433,7 @@ transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx,
   unsigned int context;
 
   *err = re_node_set_alloc (&next_nodes, state->nodes.nelem + 1);
-  if (BE (*err != REG_NOERROR, 0))
+  if (__glibc_unlikely (*err != REG_NOERROR))
     return NULL;
   for (node_cnt = 0; node_cnt < state->nodes.nelem; ++node_cnt)
     {
@@ -2488,7 +2442,7 @@ transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx,
 	{
 	  *err = re_node_set_merge (&next_nodes,
 				    dfa->eclosures + dfa->nexts[cur_node]);
-	  if (BE (*err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (*err != REG_NOERROR))
 	    {
 	      re_node_set_free (&next_nodes);
 	      return NULL;
@@ -2508,7 +2462,6 @@ transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx,
 
 #ifdef RE_ENABLE_I18N
 static reg_errcode_t
-internal_function
 transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
 {
   const re_dfa_t *const dfa = mctx->dfa;
@@ -2548,7 +2501,7 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
       mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted
 			       : mctx->max_mb_elem_len);
       err = clean_state_log_if_needed (mctx, dest_idx);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return err;
 #ifdef DEBUG
       assert (dfa->nexts[cur_node_idx] != -1);
@@ -2562,7 +2515,7 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
 	{
 	  err = re_node_set_init_union (&dest_nodes,
 					dest_state->entrance_nodes, new_nodes);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 	}
       context = re_string_context_at (&mctx->input, dest_idx - 1,
@@ -2571,7 +2524,8 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
 	= re_acquire_state_context (&err, dfa, &dest_nodes, context);
       if (dest_state != NULL)
 	re_node_set_free (&dest_nodes);
-      if (BE (mctx->state_log[dest_idx] == NULL && err != REG_NOERROR, 0))
+      if (__glibc_unlikely (mctx->state_log[dest_idx] == NULL
+			    && err != REG_NOERROR))
 	return err;
     }
   return REG_NOERROR;
@@ -2579,7 +2533,6 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate)
 #endif /* RE_ENABLE_I18N */
 
 static reg_errcode_t
-internal_function
 transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
 {
   const re_dfa_t *const dfa = mctx->dfa;
@@ -2611,7 +2564,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
 	 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))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	goto free_return;
 
       /* And add the epsilon closures (which is 'new_dest_nodes') of
@@ -2644,8 +2597,8 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
 	      mctx->state_log[dest_str_idx]
 		= re_acquire_state_context (&err, dfa, new_dest_nodes,
 					    context);
-	      if (BE (mctx->state_log[dest_str_idx] == NULL
-		      && err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (mctx->state_log[dest_str_idx] == NULL
+				    && err != REG_NOERROR))
 		goto free_return;
 	    }
 	  else
@@ -2654,7 +2607,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
 	      err = re_node_set_init_union (&dest_nodes,
 					    dest_state->entrance_nodes,
 					    new_dest_nodes);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		{
 		  re_node_set_free (&dest_nodes);
 		  goto free_return;
@@ -2662,8 +2615,8 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
 	      mctx->state_log[dest_str_idx]
 		= re_acquire_state_context (&err, dfa, &dest_nodes, context);
 	      re_node_set_free (&dest_nodes);
-	      if (BE (mctx->state_log[dest_str_idx] == NULL
-		      && err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (mctx->state_log[dest_str_idx] == NULL
+				    && err != REG_NOERROR))
 		goto free_return;
 	    }
 	  /* We need to check recursively if the backreference can epsilon
@@ -2673,10 +2626,10 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
 	    {
 	      err = check_subexp_matching_top (mctx, new_dest_nodes,
 					       cur_str_idx);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		goto free_return;
 	      err = transit_state_bkref (mctx, new_dest_nodes);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		goto free_return;
 	    }
 	}
@@ -2693,7 +2646,7 @@ transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes)
    delay these checking for prune_impossible_nodes().  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
 {
   const re_dfa_t *const dfa = mctx->dfa;
@@ -2737,7 +2690,8 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
 	     at the back reference?  */
 	  if (sl_str_diff > 0)
 	    {
-	      if (BE (bkref_str_off + sl_str_diff > mctx->input.valid_len, 0))
+	      if (__glibc_unlikely (bkref_str_off + sl_str_diff
+				    > mctx->input.valid_len))
 		{
 		  /* Not enough chars for a successful match.  */
 		  if (bkref_str_off + sl_str_diff > mctx->input.len)
@@ -2746,7 +2700,7 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
 		  err = clean_state_log_if_needed (mctx,
 						   bkref_str_off
 						   + sl_str_diff);
-		  if (BE (err != REG_NOERROR, 0))
+		  if (__glibc_unlikely (err != REG_NOERROR))
 		    return err;
 		  buf = (const char *) re_string_get_buffer (&mctx->input);
 		}
@@ -2765,7 +2719,7 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
 
 	  if (err == REG_NOMATCH)
 	    continue;
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 	}
 
@@ -2784,14 +2738,14 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
 	     at the back reference?  */
 	  if (sl_str_off > 0)
 	    {
-	      if (BE (bkref_str_off >= mctx->input.valid_len, 0))
+	      if (__glibc_unlikely (bkref_str_off >= mctx->input.valid_len))
 		{
 		  /* If we are at the end of the input, we cannot match.  */
 		  if (bkref_str_off >= mctx->input.len)
 		    break;
 
 		  err = extend_buffers (mctx, bkref_str_off + 1);
-		  if (BE (err != REG_NOERROR, 0))
+		  if (__glibc_unlikely (err != REG_NOERROR))
 		    return err;
 
 		  buf = (const char *) re_string_get_buffer (&mctx->input);
@@ -2822,15 +2776,18 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
 			       OP_CLOSE_SUBEXP);
 	  if (err == REG_NOMATCH)
 	      continue;
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	      return err;
 	  sub_last = match_ctx_add_sublast (sub_top, cls_node, sl_str);
-	  if (BE (sub_last == NULL, 0))
+	  if (__glibc_unlikely (sub_last == NULL))
 	    return REG_ESPACE;
 	  err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node,
 				bkref_str_idx);
+	  buf = (const char *) re_string_get_buffer (&mctx->input);
 	  if (err == REG_NOMATCH)
 	    continue;
+	  if (__glibc_unlikely (err != REG_NOERROR))
+	    return err;
 	}
     }
   return REG_NOERROR;
@@ -2843,7 +2800,6 @@ get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)
    and SUB_LAST.  */
 
 static reg_errcode_t
-internal_function
 get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top,
 		re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str)
 {
@@ -2857,7 +2813,7 @@ get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top,
     return err;
   err = match_ctx_add_entry (mctx, bkref_node, bkref_str, sub_top->str_idx,
 			     sub_last->str_idx);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
   to_idx = bkref_str + sub_last->str_idx - sub_top->str_idx;
   return clean_state_log_if_needed (mctx, to_idx);
@@ -2872,7 +2828,6 @@ get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top,
 	 E.g. RE: (a){2}  */
 
 static Idx
-internal_function
 find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
 		  Idx subexp_idx, int type)
 {
@@ -2894,7 +2849,7 @@ find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,
    Return REG_NOERROR if it can arrive, or REG_NOMATCH otherwise.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
 	       Idx top_str, Idx last_node, Idx last_str, int type)
 {
@@ -2908,19 +2863,19 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
 
   subexp_num = dfa->nodes[top_node].opr.idx;
   /* Extend the buffer if we need.  */
-  if (BE (path->alloc < last_str + mctx->max_mb_elem_len + 1, 0))
+  if (__glibc_unlikely (path->alloc < last_str + mctx->max_mb_elem_len + 1))
     {
       re_dfastate_t **new_array;
       Idx old_alloc = path->alloc;
       Idx incr_alloc = last_str + mctx->max_mb_elem_len + 1;
       Idx new_alloc;
-      if (BE (IDX_MAX - old_alloc < incr_alloc, 0))
+      if (__glibc_unlikely (IDX_MAX - old_alloc < incr_alloc))
 	return REG_ESPACE;
       new_alloc = old_alloc + incr_alloc;
-      if (BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0))
+      if (__glibc_unlikely (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc))
 	return REG_ESPACE;
       new_array = re_realloc (path->array, re_dfastate_t *, new_alloc);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
 	return REG_ESPACE;
       path->array = new_array;
       path->alloc = new_alloc;
@@ -2941,10 +2896,10 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
   if (str_idx == top_str)
     {
       err = re_node_set_init_1 (&next_nodes, top_node);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	return err;
       err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type);
-      if (BE (err != REG_NOERROR, 0))
+      if (__glibc_unlikely (err != REG_NOERROR))
 	{
 	  re_node_set_free (&next_nodes);
 	  return err;
@@ -2956,7 +2911,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
       if (cur_state && cur_state->has_backref)
 	{
 	  err = re_node_set_init_copy (&next_nodes, &cur_state->nodes);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 	}
       else
@@ -2968,14 +2923,14 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
 	{
 	  err = expand_bkref_cache (mctx, &next_nodes, str_idx,
 				    subexp_num, type);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    {
 	      re_node_set_free (&next_nodes);
 	      return err;
 	    }
 	}
       cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context);
-      if (BE (cur_state == NULL && err != REG_NOERROR, 0))
+      if (__glibc_unlikely (cur_state == NULL && err != REG_NOERROR))
 	{
 	  re_node_set_free (&next_nodes);
 	  return err;
@@ -2990,7 +2945,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
 	{
 	  err = re_node_set_merge (&next_nodes,
 				   &mctx->state_log[str_idx + 1]->nodes);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    {
 	      re_node_set_free (&next_nodes);
 	      return err;
@@ -3001,7 +2956,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
 	  err = check_arrival_add_next_nodes (mctx, str_idx,
 					      &cur_state->non_eps_nodes,
 					      &next_nodes);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    {
 	      re_node_set_free (&next_nodes);
 	      return err;
@@ -3011,14 +2966,14 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
       if (next_nodes.nelem)
 	{
 	  err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    {
 	      re_node_set_free (&next_nodes);
 	      return err;
 	    }
 	  err = expand_bkref_cache (mctx, &next_nodes, str_idx,
 				    subexp_num, type);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    {
 	      re_node_set_free (&next_nodes);
 	      return err;
@@ -3026,7 +2981,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
 	}
       context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags);
       cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context);
-      if (BE (cur_state == NULL && err != REG_NOERROR, 0))
+      if (__glibc_unlikely (cur_state == NULL && err != REG_NOERROR))
 	{
 	  re_node_set_free (&next_nodes);
 	  return err;
@@ -3059,7 +3014,7 @@ check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node,
 	 Can't we unify them?  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
 			      re_node_set *cur_nodes, re_node_set *next_nodes)
 {
@@ -3095,22 +3050,22 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
 	      if (dest_state)
 		{
 		  err = re_node_set_merge (&union_set, &dest_state->nodes);
-		  if (BE (err != REG_NOERROR, 0))
+		  if (__glibc_unlikely (err != REG_NOERROR))
 		    {
 		      re_node_set_free (&union_set);
 		      return err;
 		    }
 		}
 	      ok = re_node_set_insert (&union_set, next_node);
-	      if (BE (! ok, 0))
+	      if (__glibc_unlikely (! ok))
 		{
 		  re_node_set_free (&union_set);
 		  return REG_ESPACE;
 		}
 	      mctx->state_log[next_idx] = re_acquire_state (&err, dfa,
 							    &union_set);
-	      if (BE (mctx->state_log[next_idx] == NULL
-		      && err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (mctx->state_log[next_idx] == NULL
+				    && err != REG_NOERROR))
 		{
 		  re_node_set_free (&union_set);
 		  return err;
@@ -3122,7 +3077,7 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
 	  || check_node_accept (mctx, dfa->nodes + cur_node, str_idx))
 	{
 	  ok = re_node_set_insert (next_nodes, dfa->nexts[cur_node]);
-	  if (BE (! ok, 0))
+	  if (__glibc_unlikely (! ok))
 	    {
 	      re_node_set_free (&union_set);
 	      return REG_ESPACE;
@@ -3140,7 +3095,6 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx,
 */
 
 static reg_errcode_t
-internal_function
 check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
 			  Idx ex_subexp, int type)
 {
@@ -3151,7 +3105,7 @@ check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
   assert (cur_nodes->nelem);
 #endif
   err = re_node_set_alloc (&new_nodes, cur_nodes->nelem);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     return err;
   /* Create a new node set NEW_NODES with the nodes which are epsilon
      closures of the node in CUR_NODES.  */
@@ -3165,7 +3119,7 @@ check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
 	{
 	  /* There are no problematic nodes, just merge them.  */
 	  err = re_node_set_merge (&new_nodes, eclosure);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    {
 	      re_node_set_free (&new_nodes);
 	      return err;
@@ -3176,7 +3130,7 @@ check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
 	  /* There are problematic nodes, re-calculate incrementally.  */
 	  err = check_arrival_expand_ecl_sub (dfa, &new_nodes, cur_node,
 					      ex_subexp, type);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    {
 	      re_node_set_free (&new_nodes);
 	      return err;
@@ -3193,7 +3147,7 @@ check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes,
    problematic append it to DST_NODES.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
 			      Idx target, Idx ex_subexp, int type)
 {
@@ -3208,13 +3162,13 @@ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
 	  if (type == OP_CLOSE_SUBEXP)
 	    {
 	      ok = re_node_set_insert (dst_nodes, cur_node);
-	      if (BE (! ok, 0))
+	      if (__glibc_unlikely (! ok))
 		return REG_ESPACE;
 	    }
 	  break;
 	}
       ok = re_node_set_insert (dst_nodes, cur_node);
-      if (BE (! ok, 0))
+      if (__glibc_unlikely (! ok))
 	return REG_ESPACE;
       if (dfa->edests[cur_node].nelem == 0)
 	break;
@@ -3224,7 +3178,7 @@ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
 	  err = check_arrival_expand_ecl_sub (dfa, dst_nodes,
 					      dfa->edests[cur_node].elems[1],
 					      ex_subexp, type);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    return err;
 	}
       cur_node = dfa->edests[cur_node].elems[0];
@@ -3238,7 +3192,7 @@ check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes,
    in MCTX->BKREF_ENTS.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
 		    Idx cur_str, Idx subexp_num, int type)
 {
@@ -3276,8 +3230,8 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
 	  err2 = check_arrival_expand_ecl (dfa, &new_dests, subexp_num, type);
 	  err3 = re_node_set_merge (cur_nodes, &new_dests);
 	  re_node_set_free (&new_dests);
-	  if (BE (err != REG_NOERROR || err2 != REG_NOERROR
-		  || err3 != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR || err2 != REG_NOERROR
+				|| err3 != REG_NOERROR))
 	    {
 	      err = (err != REG_NOERROR ? err
 		     : (err2 != REG_NOERROR ? err2 : err3));
@@ -3299,7 +3253,7 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
 	      err = re_node_set_init_copy (&union_set,
 					   &mctx->state_log[to_idx]->nodes);
 	      ok = re_node_set_insert (&union_set, next_node);
-	      if (BE (err != REG_NOERROR || ! ok, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR || ! ok))
 		{
 		  re_node_set_free (&union_set);
 		  err = err != REG_NOERROR ? err : REG_ESPACE;
@@ -3309,13 +3263,13 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
 	  else
 	    {
 	      err = re_node_set_init_1 (&union_set, next_node);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		return err;
 	    }
 	  mctx->state_log[to_idx] = re_acquire_state (&err, dfa, &union_set);
 	  re_node_set_free (&union_set);
-	  if (BE (mctx->state_log[to_idx] == NULL
-		  && err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (mctx->state_log[to_idx] == NULL
+				&& err != REG_NOERROR))
 	    return err;
 	}
     }
@@ -3327,7 +3281,6 @@ expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes,
    Return true if successful.  */
 
 static bool
-internal_function
 build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
 {
   reg_errcode_t err;
@@ -3359,7 +3312,7 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
   else
     {
       dests_alloc = re_malloc (struct dests_alloc, 1);
-      if (BE (dests_alloc == NULL, 0))
+      if (__glibc_unlikely (dests_alloc == NULL))
 	return false;
       dests_node_malloced = true;
     }
@@ -3372,16 +3325,16 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
   /* At first, group all nodes belonging to 'state' into several
      destinations.  */
   ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch);
-  if (BE (ndests <= 0, 0))
+  if (__glibc_unlikely (ndests <= 0))
     {
       if (dests_node_malloced)
-	free (dests_alloc);
+	re_free (dests_alloc);
       /* Return false in case of an error, true otherwise.  */
       if (ndests == 0)
 	{
 	  state->trtable = (re_dfastate_t **)
 	    calloc (sizeof (re_dfastate_t *), SBC_MAX);
-          if (BE (state->trtable == NULL, 0))
+          if (__glibc_unlikely (state->trtable == NULL))
             return false;
 	  return true;
 	}
@@ -3389,14 +3342,14 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
     }
 
   err = re_node_set_alloc (&follows, ndests + 1);
-  if (BE (err != REG_NOERROR, 0))
+  if (__glibc_unlikely (err != REG_NOERROR))
     goto out_free;
 
   /* Avoid arithmetic overflow in size calculation.  */
-  if (BE ((((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX)
-	    / (3 * sizeof (re_dfastate_t *)))
-	   < ndests),
-	  0))
+  size_t ndests_max
+    = ((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX)
+       / (3 * sizeof (re_dfastate_t *)));
+  if (__glibc_unlikely (ndests_max < ndests))
     goto out_free;
 
   if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX
@@ -3405,18 +3358,17 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)
       alloca (ndests * 3 * sizeof (re_dfastate_t *));
   else
     {
-      dest_states = (re_dfastate_t **)
-	malloc (ndests * 3 * sizeof (re_dfastate_t *));
-      if (BE (dest_states == NULL, 0))
+      dest_states = re_malloc (re_dfastate_t *, ndests * 3);
+      if (__glibc_unlikely (dest_states == NULL))
 	{
 out_free:
 	  if (dest_states_malloced)
-	    free (dest_states);
+	    re_free (dest_states);
 	  re_node_set_free (&follows);
 	  for (i = 0; i < ndests; ++i)
 	    re_node_set_free (dests_node + i);
 	  if (dests_node_malloced)
-	    free (dests_alloc);
+	    re_free (dests_alloc);
 	  return false;
 	}
       dest_states_malloced = true;
@@ -3437,12 +3389,12 @@ out_free:
 	  if (next_node != -1)
 	    {
 	      err = re_node_set_merge (&follows, dfa->eclosures + next_node);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		goto out_free;
 	    }
 	}
       dest_states[i] = re_acquire_state_context (&err, dfa, &follows, 0);
-      if (BE (dest_states[i] == NULL && err != REG_NOERROR, 0))
+      if (__glibc_unlikely (dest_states[i] == NULL && err != REG_NOERROR))
 	goto out_free;
       /* If the new state has context constraint,
 	 build appropriate states for these contexts.  */
@@ -3450,7 +3402,8 @@ out_free:
 	{
 	  dest_states_word[i] = re_acquire_state_context (&err, dfa, &follows,
 							  CONTEXT_WORD);
-	  if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (dest_states_word[i] == NULL
+				&& err != REG_NOERROR))
 	    goto out_free;
 
 	  if (dest_states[i] != dest_states_word[i] && dfa->mb_cur_max > 1)
@@ -3458,7 +3411,7 @@ out_free:
 
 	  dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows,
 							CONTEXT_NEWLINE);
-	  if (BE (dest_states_nl[i] == NULL && err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (dest_states_nl[i] == NULL && err != REG_NOERROR))
 	    goto out_free;
 	}
       else
@@ -3469,7 +3422,7 @@ out_free:
       bitset_merge (acceptable, dests_ch[i]);
     }
 
-  if (!BE (need_word_trtable, 0))
+  if (!__glibc_unlikely (need_word_trtable))
     {
       /* We don't care about whether the following character is a word
 	 character, or we are in a single-byte character set so we can
@@ -3477,7 +3430,7 @@ out_free:
 	 256-entry transition table.  */
       trtable = state->trtable =
 	(re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX);
-      if (BE (trtable == NULL, 0))
+      if (__glibc_unlikely (trtable == NULL))
 	goto out_free;
 
       /* For all characters ch...:  */
@@ -3485,7 +3438,7 @@ out_free:
 	for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1;
 	     elem;
 	     mask <<= 1, elem >>= 1, ++ch)
-	  if (BE (elem & 1, 0))
+	  if (__glibc_unlikely (elem & 1))
 	    {
 	      /* There must be exactly one destination which accepts
 		 character ch.  See group_nodes_into_DFAstates.  */
@@ -3508,7 +3461,7 @@ out_free:
 	 starting at trtable[SBC_MAX].  */
       trtable = state->word_trtable =
 	(re_dfastate_t **) calloc (sizeof (re_dfastate_t *), 2 * SBC_MAX);
-      if (BE (trtable == NULL, 0))
+      if (__glibc_unlikely (trtable == NULL))
 	goto out_free;
 
       /* For all characters ch...:  */
@@ -3516,7 +3469,7 @@ out_free:
 	for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1;
 	     elem;
 	     mask <<= 1, elem >>= 1, ++ch)
-	  if (BE (elem & 1, 0))
+	  if (__glibc_unlikely (elem & 1))
 	    {
 	      /* There must be exactly one destination which accepts
 		 character ch.  See group_nodes_into_DFAstates.  */
@@ -3547,14 +3500,14 @@ out_free:
     }
 
   if (dest_states_malloced)
-    free (dest_states);
+    re_free (dest_states);
 
   re_node_set_free (&follows);
   for (i = 0; i < ndests; ++i)
     re_node_set_free (dests_node + i);
 
   if (dests_node_malloced)
-    free (dests_alloc);
+    re_free (dests_alloc);
 
   return true;
 }
@@ -3565,7 +3518,6 @@ out_free:
    to DEST_CH[i].  This function return the number of destinations.  */
 
 static Idx
-internal_function
 group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
 			    re_node_set *dests_node, bitset_t *dests_ch)
 {
@@ -3716,14 +3668,14 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
 	      bitset_copy (dests_ch[ndests], remains);
 	      bitset_copy (dests_ch[j], intersec);
 	      err = re_node_set_init_copy (dests_node + ndests, &dests_node[j]);
-	      if (BE (err != REG_NOERROR, 0))
+	      if (__glibc_unlikely (err != REG_NOERROR))
 		goto error_return;
 	      ++ndests;
 	    }
 
 	  /* Put the position in the current group. */
 	  ok = re_node_set_insert (&dests_node[j], cur_nodes->elems[i]);
-	  if (BE (! ok, 0))
+	  if (__glibc_unlikely (! ok))
 	    goto error_return;
 
 	  /* If all characters are consumed, go to next node. */
@@ -3735,7 +3687,7 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
 	{
 	  bitset_copy (dests_ch[ndests], accepts);
 	  err = re_node_set_init_1 (dests_node + ndests, cur_nodes->elems[i]);
-	  if (BE (err != REG_NOERROR, 0))
+	  if (__glibc_unlikely (err != REG_NOERROR))
 	    goto error_return;
 	  ++ndests;
 	  bitset_empty (accepts);
@@ -3762,7 +3714,6 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state,
 # endif
 
 static int
-internal_function
 check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
 			 const re_string_t *input, Idx str_idx)
 {
@@ -3770,10 +3721,10 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
   int char_len, elem_len;
   Idx i;
 
-  if (BE (node->type == OP_UTF8_PERIOD, 0))
+  if (__glibc_unlikely (node->type == OP_UTF8_PERIOD))
     {
       unsigned char c = re_string_byte_at (input, str_idx), d;
-      if (BE (c < 0xc2, 1))
+      if (__glibc_likely (c < 0xc2))
 	return 0;
 
       if (str_idx + 2 > input->len)
@@ -3937,30 +3888,27 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
 	      indirect = (const int32_t *)
 		_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
 	      int32_t idx = findidx (table, indirect, extra, &cp, elem_len);
+	      int32_t rule = idx >> 24;
+	      idx &= 0xffffff;
 	      if (idx > 0)
-		for (i = 0; i < cset->nequiv_classes; ++i)
-		  {
-		    int32_t equiv_class_idx = cset->equiv_classes[i];
-		    size_t weight_len = weights[idx & 0xffffff];
-		    if (weight_len == weights[equiv_class_idx & 0xffffff]
-			&& (idx >> 24) == (equiv_class_idx >> 24))
-		      {
-			Idx cnt = 0;
-
-			idx &= 0xffffff;
-			equiv_class_idx &= 0xffffff;
-
-			while (cnt <= weight_len
-			       && (weights[equiv_class_idx + 1 + cnt]
-				   == weights[idx + 1 + cnt]))
-			  ++cnt;
-			if (cnt > weight_len)
-			  {
-			    match_len = elem_len;
-			    goto check_node_accept_bytes_match;
-			  }
-		      }
-		  }
+		{
+		  size_t weight_len = weights[idx];
+		  for (i = 0; i < cset->nequiv_classes; ++i)
+		    {
+		      int32_t equiv_class_idx = cset->equiv_classes[i];
+		      int32_t equiv_class_rule = equiv_class_idx >> 24;
+		      equiv_class_idx &= 0xffffff;
+		      if (weights[equiv_class_idx] == weight_len
+			  && equiv_class_rule == rule
+			  && memcmp (weights + idx + 1,
+				     weights + equiv_class_idx + 1,
+				     weight_len) == 0)
+			{
+			  match_len = elem_len;
+			  goto check_node_accept_bytes_match;
+			}
+		    }
+		}
 	    }
 	}
       else
@@ -3992,7 +3940,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,
 
 # ifdef _LIBC
 static unsigned int
-internal_function
 find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len)
 {
   uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
@@ -4056,7 +4003,6 @@ find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len)
    byte of the INPUT.  */
 
 static bool
-internal_function
 check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
 		   Idx idx)
 {
@@ -4106,22 +4052,22 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
 /* Extend the buffers, if the buffers have run out.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 extend_buffers (re_match_context_t *mctx, int min_len)
 {
   reg_errcode_t ret;
   re_string_t *pstr = &mctx->input;
 
   /* Avoid overflow.  */
-  if (BE (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2
-          <= pstr->bufs_len, 0))
+  if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / sizeof (re_dfastate_t *)) / 2
+			<= pstr->bufs_len))
     return REG_ESPACE;
 
   /* 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))
+  if (__glibc_unlikely (ret != REG_NOERROR))
     return ret;
 
   if (mctx->state_log != NULL)
@@ -4132,7 +4078,7 @@ extend_buffers (re_match_context_t *mctx, int min_len)
 	 does not have the right size.  */
       re_dfastate_t **new_array = re_realloc (mctx->state_log, re_dfastate_t *,
 					      pstr->bufs_len + 1);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
 	return REG_ESPACE;
       mctx->state_log = new_array;
     }
@@ -4144,7 +4090,7 @@ extend_buffers (re_match_context_t *mctx, int min_len)
       if (pstr->mb_cur_max > 1)
 	{
 	  ret = build_wcs_upper_buffer (pstr);
-	  if (BE (ret != REG_NOERROR, 0))
+	  if (__glibc_unlikely (ret != REG_NOERROR))
 	    return ret;
 	}
       else
@@ -4172,7 +4118,7 @@ extend_buffers (re_match_context_t *mctx, int min_len)
 /* Initialize MCTX.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 match_ctx_init (re_match_context_t *mctx, int eflags, Idx n)
 {
   mctx->eflags = eflags;
@@ -4183,12 +4129,12 @@ 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 (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n, 0))
+      if (__glibc_unlikely (MIN (IDX_MAX, SIZE_MAX / max_object_size) < n))
 	return REG_ESPACE;
 
       mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n);
       mctx->sub_tops = re_malloc (re_sub_match_top_t *, n);
-      if (BE (mctx->bkref_ents == NULL || mctx->sub_tops == NULL, 0))
+      if (__glibc_unlikely (mctx->bkref_ents == NULL || mctx->sub_tops == NULL))
 	return REG_ESPACE;
     }
   /* Already zero-ed by the caller.
@@ -4207,7 +4153,6 @@ match_ctx_init (re_match_context_t *mctx, int eflags, Idx n)
    of the input, or changes the input string.  */
 
 static void
-internal_function
 match_ctx_clean (re_match_context_t *mctx)
 {
   Idx st_idx;
@@ -4227,7 +4172,7 @@ match_ctx_clean (re_match_context_t *mctx)
 	  re_free (top->path->array);
 	  re_free (top->path);
 	}
-      free (top);
+      re_free (top);
     }
 
   mctx->nsub_tops = 0;
@@ -4237,7 +4182,6 @@ match_ctx_clean (re_match_context_t *mctx)
 /* Free all the memory associated with MCTX.  */
 
 static void
-internal_function
 match_ctx_free (re_match_context_t *mctx)
 {
   /* First, free all the memory associated with MCTX->SUB_TOPS.  */
@@ -4252,7 +4196,7 @@ match_ctx_free (re_match_context_t *mctx)
 */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,
 		     Idx to)
 {
@@ -4261,7 +4205,7 @@ match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,
       struct re_backref_cache_entry* new_entry;
       new_entry = re_realloc (mctx->bkref_ents, struct re_backref_cache_entry,
 			      mctx->abkref_ents * 2);
-      if (BE (new_entry == NULL, 0))
+      if (__glibc_unlikely (new_entry == NULL))
 	{
 	  re_free (mctx->bkref_ents);
 	  return REG_ESPACE;
@@ -4301,7 +4245,6 @@ match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,
    found.  Note that MCTX->BKREF_ENTS is already sorted by MCTX->STR_IDX.  */
 
 static Idx
-internal_function
 search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
 {
   Idx left, right, mid, last;
@@ -4324,26 +4267,26 @@ search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
    at STR_IDX.  */
 
 static reg_errcode_t
-internal_function __attribute_warn_unused_result__
+__attribute_warn_unused_result__
 match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx)
 {
 #ifdef DEBUG
   assert (mctx->sub_tops != NULL);
   assert (mctx->asub_tops > 0);
 #endif
-  if (BE (mctx->nsub_tops == mctx->asub_tops, 0))
+  if (__glibc_unlikely (mctx->nsub_tops == mctx->asub_tops))
     {
       Idx new_asub_tops = mctx->asub_tops * 2;
       re_sub_match_top_t **new_array = re_realloc (mctx->sub_tops,
 						   re_sub_match_top_t *,
 						   new_asub_tops);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
 	return REG_ESPACE;
       mctx->sub_tops = new_array;
       mctx->asub_tops = new_asub_tops;
     }
   mctx->sub_tops[mctx->nsub_tops] = calloc (1, sizeof (re_sub_match_top_t));
-  if (BE (mctx->sub_tops[mctx->nsub_tops] == NULL, 0))
+  if (__glibc_unlikely (mctx->sub_tops[mctx->nsub_tops] == NULL))
     return REG_ESPACE;
   mctx->sub_tops[mctx->nsub_tops]->node = node;
   mctx->sub_tops[mctx->nsub_tops++]->str_idx = str_idx;
@@ -4354,23 +4297,22 @@ match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx)
    at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP.  */
 
 static re_sub_match_last_t *
-internal_function
 match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx)
 {
   re_sub_match_last_t *new_entry;
-  if (BE (subtop->nlasts == subtop->alasts, 0))
+  if (__glibc_unlikely (subtop->nlasts == subtop->alasts))
     {
       Idx new_alasts = 2 * subtop->alasts + 1;
       re_sub_match_last_t **new_array = re_realloc (subtop->lasts,
 						    re_sub_match_last_t *,
 						    new_alasts);
-      if (BE (new_array == NULL, 0))
+      if (__glibc_unlikely (new_array == NULL))
 	return NULL;
       subtop->lasts = new_array;
       subtop->alasts = new_alasts;
     }
   new_entry = calloc (1, sizeof (re_sub_match_last_t));
-  if (BE (new_entry != NULL, 1))
+  if (__glibc_likely (new_entry != NULL))
     {
       subtop->lasts[subtop->nlasts] = new_entry;
       new_entry->node = node;
@@ -4381,7 +4323,6 @@ match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx)
 }
 
 static void
-internal_function
 sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts,
 	       re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx)
 {
diff --git a/gnu/rename.c b/gnu/rename.c
index 9eb32206..9d88e5c6 100644
--- a/gnu/rename.c
+++ b/gnu/rename.c
@@ -1,6 +1,6 @@
 /* Work around rename bugs in some systems.
 
-   Copyright (C) 2001-2003, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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 @@
 
 #undef rename
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 /* The mingw rename has problems with trailing slashes; it also
    requires use of native Windows calls to allow atomic renames over
    existing files.  */
diff --git a/gnu/renameat.c b/gnu/renameat.c
index 48cee4ba..1ac3f33c 100644
--- a/gnu/renameat.c
+++ b/gnu/renameat.c
@@ -1,5 +1,5 @@
 /* Rename a file relative to open directories.
-   Copyright 2017 Free Software Foundation, Inc.
+   Copyright 2017-2019 Free Software Foundation, Inc.
 
    This 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,10 +16,10 @@
 
 #include <config.h>
 #include <stdio.h>
-#include "renameat2.h"
+#include "renameatu.h"
 
 int
 renameat (int fd1, char const *src, int fd2, char const *dst)
 {
-  return renameat2 (fd1, src, fd2, dst, 0);
+  return renameatu (fd1, src, fd2, dst, 0);
 }
diff --git a/gnu/renameat2.c b/gnu/renameatu.c
similarity index 92%
rename from gnu/renameat2.c
rename to gnu/renameatu.c
index 26cde863..7dd5a637 100644
--- a/gnu/renameat2.c
+++ b/gnu/renameatu.c
@@ -1,5 +1,5 @@
 /* Rename a file relative to open directories.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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 @@
 
 #include <config.h>
 
-#include "renameat2.h"
+#include "renameatu.h"
 
 #include <errno.h>
 #include <stdio.h>
@@ -68,16 +68,22 @@ rename_noreplace (char const *src, char const *dst)
    the restore_cwd fails, then give a diagnostic and exit nonzero.
 
    Obey FLAGS when doing the renaming.  If FLAGS is zero, this
-   function is equivalent to renameat (FD1, SRC, FD2, DST).  */
+   function is equivalent to renameat (FD1, SRC, FD2, DST).
+   Otherwise, attempt to implement FLAGS even if the implementation is
+   not atomic; this differs from the GNU/Linux native renameat2,
+   which fails if it cannot guarantee atomicity.  */
 
 int
-renameat2 (int fd1, char const *src, int fd2, char const *dst,
+renameatu (int fd1, char const *src, int fd2, char const *dst,
            unsigned int flags)
 {
   int ret_val = -1;
   int err = EINVAL;
 
-#ifdef SYS_renameat2
+#ifdef HAVE_RENAMEAT2
+  ret_val = renameat2 (fd1, src, fd2, dst, flags);
+  err = errno;
+#elif defined SYS_renameat2
   ret_val = syscall (SYS_renameat2, fd1, src, fd2, dst, flags);
   err = errno;
 #elif defined RENAME_EXCL
diff --git a/gnu/renameat2.h b/gnu/renameatu.h
similarity index 79%
rename from gnu/renameat2.h
rename to gnu/renameatu.h
index 179210f9..b4b1c3c6 100644
--- a/gnu/renameat2.h
+++ b/gnu/renameatu.h
@@ -1,5 +1,5 @@
 /* Rename a file relative to open directories.
-   Copyright 2017 Free Software Foundation, Inc.
+   Copyright 2017-2019 Free Software Foundation, Inc.
 
    This 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,15 +16,13 @@
 
 /* written by Paul Eggert */
 
-/* Get RENAME_* macros from linux/fs.h if present, otherwise supply
+/* Get RENAME_* macros from <stdio.h> if present, otherwise supply
    the traditional Linux values.  */
-#if HAVE_LINUX_FS_H
-# include <linux/fs.h>
-#endif
+#include <stdio.h>
 #ifndef RENAME_NOREPLACE
 # define RENAME_NOREPLACE  (1 << 0)
 # define RENAME_EXCHANGE   (1 << 1)
 # define RENAME_WHITEOUT   (1 << 2)
 #endif
 
-extern int renameat2 (int, char const *, int, char const *, unsigned int);
+extern int renameatu (int, char const *, int, char const *, unsigned int);
diff --git a/gnu/rewinddir.c b/gnu/rewinddir.c
index c477c468..b58a47d5 100644
--- a/gnu/rewinddir.c
+++ b/gnu/rewinddir.c
@@ -1,5 +1,5 @@
 /* Restart reading the entries of a directory from the beginning.
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/rmdir.c b/gnu/rmdir.c
index 77d5e3e2..1d088222 100644
--- a/gnu/rmdir.c
+++ b/gnu/rmdir.c
@@ -1,6 +1,6 @@
 /* Work around rmdir bugs.
 
-   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2017 Free Software
+   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/root-uid.h b/gnu/root-uid.h
index 4aa9dfe2..eebfa943 100644
--- a/gnu/root-uid.h
+++ b/gnu/root-uid.h
@@ -1,6 +1,6 @@
 /* The user ID that always has appropriate privileges in the POSIX sense.
 
-   Copyright 2012-2017 Free Software Foundation, Inc.
+   Copyright 2012-2019 Free Software Foundation, Inc.
 
    This 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/gnu/rpmatch.c b/gnu/rpmatch.c
index 72797ead..4c80973d 100644
--- a/gnu/rpmatch.c
+++ b/gnu/rpmatch.c
@@ -1,7 +1,7 @@
 /* Determine whether string value is affirmation or negative response
    according to current locale's data.
 
-   Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2017 Free Software
+   Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/safe-read.c b/gnu/safe-read.c
index 896c115e..e6c54b75 100644
--- a/gnu/safe-read.c
+++ b/gnu/safe-read.c
@@ -1,6 +1,6 @@
 /* An interface to read and write that retries after interrupts.
 
-   Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2017 Free Software
+   Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -37,7 +37,7 @@
 # define IS_EINTR(x) 0
 #endif
 
-#include <limits.h>
+#include "sys-limits.h"
 
 #ifdef SAFE_WRITE
 # define safe_rw safe_write
@@ -55,12 +55,6 @@
 size_t
 safe_rw (int fd, void const *buf, size_t count)
 {
-  /* Work around a bug in Tru64 5.1.  Attempting to read more than
-     INT_MAX bytes fails with errno == EINVAL.  See
-     <https://lists.gnu.org/r/bug-gnu-utils/2002-04/msg00010.html>.
-     When decreasing COUNT, keep it block-aligned.  */
-  enum { BUGGY_READ_MAXIMUM = INT_MAX & ~8191 };
-
   for (;;)
     {
       ssize_t result = rw (fd, buf, count);
@@ -69,8 +63,8 @@ safe_rw (int fd, void const *buf, size_t count)
         return result;
       else if (IS_EINTR (errno))
         continue;
-      else if (errno == EINVAL && BUGGY_READ_MAXIMUM < count)
-        count = BUGGY_READ_MAXIMUM;
+      else if (errno == EINVAL && SYS_BUFSIZE_MAX < count)
+        count = SYS_BUFSIZE_MAX;
       else
         return result;
     }
diff --git a/gnu/safe-read.h b/gnu/safe-read.h
index e17a72e1..3f421f6b 100644
--- a/gnu/safe-read.h
+++ b/gnu/safe-read.h
@@ -1,5 +1,5 @@
 /* An interface to read() that retries after interrupts.
-   Copyright (C) 2002, 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/safe-write.c b/gnu/safe-write.c
index d075df65..a6bbd839 100644
--- a/gnu/safe-write.c
+++ b/gnu/safe-write.c
@@ -1,5 +1,5 @@
 /* An interface to write that retries after interrupts.
-   Copyright (C) 2002, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/safe-write.h b/gnu/safe-write.h
index 20edfc5d..0474d528 100644
--- a/gnu/safe-write.h
+++ b/gnu/safe-write.h
@@ -1,5 +1,5 @@
 /* An interface to write() that retries after interrupts.
-   Copyright (C) 2002, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/same-inode.h b/gnu/same-inode.h
index 43e8f707..06655b6b 100644
--- a/gnu/same-inode.h
+++ b/gnu/same-inode.h
@@ -1,6 +1,6 @@
 /* Determine whether two stat buffers are known to refer to the same file.
 
-   Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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,7 +26,7 @@
      && (a).st_ino[1] == (b).st_ino[1] \
      && (a).st_ino[2] == (b).st_ino[2] \
      && (a).st_dev == (b).st_dev)
-# elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# elif defined _WIN32 && ! defined __CYGWIN__
    /* Native Windows.  */
 #  if _GL_WINDOWS_STAT_INODES
     /* stat() and fstat() set st_dev and st_ino to 0 if information about
diff --git a/gnu/save-cwd.c b/gnu/save-cwd.c
index 53767a7e..a67d95d1 100644
--- a/gnu/save-cwd.c
+++ b/gnu/save-cwd.c
@@ -1,6 +1,6 @@
 /* save-cwd.c -- Save and restore current working directory.
 
-   Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2017 Free Software
+   Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/save-cwd.h b/gnu/save-cwd.h
index 597c752c..6a780703 100644
--- a/gnu/save-cwd.h
+++ b/gnu/save-cwd.h
@@ -1,6 +1,6 @@
 /* Save and restore current working directory.
 
-   Copyright (C) 1995, 1997-1998, 2003, 2009-2017 Free Software Foundation,
+   Copyright (C) 1995, 1997-1998, 2003, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/savedir.c b/gnu/savedir.c
index 9381b3de..07e123d5 100644
--- a/gnu/savedir.c
+++ b/gnu/savedir.c
@@ -1,6 +1,6 @@
 /* savedir.c -- save the list of files in a directory in a string
 
-   Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2017 Free Software
+   Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/savedir.h b/gnu/savedir.h
index 23b0ea95..0374d255 100644
--- a/gnu/savedir.h
+++ b/gnu/savedir.h
@@ -1,6 +1,6 @@
 /* Save the list of files in a directory in a string.
 
-   Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2017 Free Software
+   Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/se-selinux.in.h b/gnu/se-selinux.in.h
index 3e4cd158..b68e2c7e 100644
--- a/gnu/se-selinux.in.h
+++ b/gnu/se-selinux.in.h
@@ -1,5 +1,5 @@
 /* Replacement <selinux/selinux.h> for platforms that lack it.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/selinux-at.c b/gnu/selinux-at.c
index cd4b5f94..169a3512 100644
--- a/gnu/selinux-at.c
+++ b/gnu/selinux-at.c
@@ -1,5 +1,5 @@
 /* openat-style fd-relative functions for SE Linux
-   Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/selinux-at.h b/gnu/selinux-at.h
index 67a33d94..35a1821b 100644
--- a/gnu/selinux-at.h
+++ b/gnu/selinux-at.h
@@ -1,5 +1,5 @@
 /* Prototypes for openat-style fd-relative SELinux functions
-   Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/set-permissions.c b/gnu/set-permissions.c
index b30841fc..38cd30a5 100644
--- a/gnu/set-permissions.c
+++ b/gnu/set-permissions.c
@@ -1,6 +1,6 @@
 /* Set permissions of a file.  -*- coding: utf-8 -*-
 
-   Copyright (C) 2002-2003, 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2019 Free Software Foundation, Inc.
 
    This 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 @@
 #include "acl-internal.h"
 
 #if USE_ACL
-# if ! defined HAVE_ACL_FROM_MODE && defined HAVE_ACL_FROM_TEXT /* FreeBSD, IRIX, Tru64 */
+# if ! defined HAVE_ACL_FROM_MODE && defined HAVE_ACL_FROM_TEXT /* FreeBSD, IRIX, Tru64, Cygwin >= 2.5 */
 #  if HAVE_ACL_GET_FILE && !HAVE_ACL_TYPE_EXTENDED
 
 static acl_t
@@ -32,7 +32,7 @@ acl_from_mode (mode_t mode)
 {
 #  if HAVE_ACL_FREE_TEXT /* Tru64 */
   char acl_text[] = "u::---,g::---,o::---,";
-#  else /* FreeBSD, IRIX */
+#  else /* FreeBSD, IRIX, Cygwin >= 2.5 */
   char acl_text[] = "u::---,g::---,o::---";
 #  endif
 
@@ -51,7 +51,7 @@ acl_from_mode (mode_t mode)
 #  endif
 # endif
 
-# if HAVE_FACL && defined GETACL /* Solaris, Cygwin, not HP-UX */
+# if HAVE_FACL && defined GETACL /* Solaris, Cygwin < 2.5, not HP-UX */
 static int
 set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod)
 {
@@ -229,14 +229,14 @@ set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod)
       if (ret < 0 && errno != EINVAL && errno != ENOTSUP)
         {
           if (errno == ENOSYS)
-	    {
-	      *must_chmod = true;
-	      return 0;
-	    }
+            {
+              *must_chmod = true;
+              return 0;
+            }
           return -1;
         }
       if (ret == 0)
-	return 0;
+        return 0;
     }
 #  endif
 
@@ -256,18 +256,18 @@ set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod)
 
     if (desc != -1)
       ret = facl (desc, SETACL,
-		  sizeof (entries) / sizeof (aclent_t), entries);
+                  sizeof (entries) / sizeof (aclent_t), entries);
     else
       ret = acl (name, SETACL,
-		 sizeof (entries) / sizeof (aclent_t), entries);
+                 sizeof (entries) / sizeof (aclent_t), entries);
     if (ret < 0)
       {
-	if (errno == ENOSYS || errno == EOPNOTSUPP)
-	  {
-	    *must_chmod = true;
-	    return 0;
-	  }
-	return -1;
+        if (errno == ENOSYS || errno == EOPNOTSUPP)
+          {
+            *must_chmod = true;
+            return 0;
+          }
+        return -1;
       }
     return 0;
   }
@@ -483,15 +483,15 @@ context_acl_from_mode (struct permission_context *ctx)
 
 static int
 set_acls (struct permission_context *ctx, const char *name, int desc,
-	  int from_mode, bool *must_chmod, bool *acls_set)
+          int from_mode, bool *must_chmod, bool *acls_set)
 {
   int ret = 0;
 
 # if HAVE_ACL_GET_FILE
   /* POSIX 1003.1e (draft 17 -- abandoned) specific version.  */
-  /* Linux, FreeBSD, Mac OS X, IRIX, Tru64 */
+  /* Linux, FreeBSD, Mac OS X, IRIX, Tru64, Cygwin >= 2.5 */
 #  if !HAVE_ACL_TYPE_EXTENDED
-  /* Linux, FreeBSD, IRIX, Tru64 */
+  /* Linux, FreeBSD, IRIX, Tru64, Cygwin >= 2.5 */
 
 #   ifndef HAVE_ACL_FROM_TEXT
 #    error Must have acl_from_text (see POSIX 1003.1e draft 17).
@@ -503,53 +503,53 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
   if (! ctx->acls_not_supported)
     {
       if (ret == 0 && from_mode)
-	{
-	  if (ctx->acl)
-	    acl_free (ctx->acl);
-	  ctx->acl = acl_from_mode (ctx->mode);
-	  if (ctx->acl == NULL)
-	    ret = -1;
-	}
+        {
+          if (ctx->acl)
+            acl_free (ctx->acl);
+          ctx->acl = acl_from_mode (ctx->mode);
+          if (ctx->acl == NULL)
+            ret = -1;
+        }
 
       if (ret == 0 && ctx->acl)
-	{
-	  if (HAVE_ACL_SET_FD && desc != -1)
-	    ret = acl_set_fd (desc, ctx->acl);
-	  else
-	    ret = acl_set_file (name, ACL_TYPE_ACCESS, ctx->acl);
-	  if (ret != 0)
-	    {
-	      if (! acl_errno_valid (errno))
-		{
-		  ctx->acls_not_supported = true;
-		  if (from_mode || acl_access_nontrivial (ctx->acl) == 0)
-		    ret = 0;
-		}
-	    }
-	  else
-	    {
-	      *acls_set = true;
-	      if (S_ISDIR(ctx->mode))
-		{
-		  if (! from_mode && ctx->default_acl &&
-		      acl_default_nontrivial (ctx->default_acl))
-		    ret = acl_set_file (name, ACL_TYPE_DEFAULT,
-					ctx->default_acl);
-		  else
-		    ret = acl_delete_def_file (name);
-		}
-	    }
-	}
+        {
+          if (HAVE_ACL_SET_FD && desc != -1)
+            ret = acl_set_fd (desc, ctx->acl);
+          else
+            ret = acl_set_file (name, ACL_TYPE_ACCESS, ctx->acl);
+          if (ret != 0)
+            {
+              if (! acl_errno_valid (errno))
+                {
+                  ctx->acls_not_supported = true;
+                  if (from_mode || acl_access_nontrivial (ctx->acl) == 0)
+                    ret = 0;
+                }
+            }
+          else
+            {
+              *acls_set = true;
+              if (S_ISDIR(ctx->mode))
+                {
+                  if (! from_mode && ctx->default_acl &&
+                      acl_default_nontrivial (ctx->default_acl))
+                    ret = acl_set_file (name, ACL_TYPE_DEFAULT,
+                                        ctx->default_acl);
+                  else
+                    ret = acl_delete_def_file (name);
+                }
+            }
+        }
     }
 
-# if HAVE_ACL_TYPE_NFS4  /* FreeBSD */
+#   if HAVE_ACL_TYPE_NFS4  /* FreeBSD */
 
   /* File systems either support POSIX ACLs (for example, ufs) or NFS4 ACLs
      (for example, zfs). */
 
   /* TODO: Implement setting ACLs once get_permissions() reads them. */
 
-# endif
+#   endif
 
 #  else /* HAVE_ACL_TYPE_EXTENDED */
   /* Mac OS X */
@@ -573,38 +573,38 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
 
       /* Remove ACLs if the file has ACLs.  */
       if (HAVE_ACL_GET_FD && desc != -1)
-	acl = acl_get_fd (desc);
+        acl = acl_get_fd (desc);
       else
-	acl = acl_get_file (name, ACL_TYPE_EXTENDED);
+        acl = acl_get_file (name, ACL_TYPE_EXTENDED);
       if (acl)
-	{
-	  acl_free (acl);
-
-	  acl = acl_init (0);
-	  if (acl)
-	    {
-	      if (HAVE_ACL_SET_FD && desc != -1)
-		ret = acl_set_fd (desc, acl);
-	      else
-		ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl);
-	      acl_free (acl);
-	    }
-	  else
-	    ret = -1;
-	}
+        {
+          acl_free (acl);
+
+          acl = acl_init (0);
+          if (acl)
+            {
+              if (HAVE_ACL_SET_FD && desc != -1)
+                ret = acl_set_fd (desc, acl);
+              else
+                ret = acl_set_file (name, ACL_TYPE_EXTENDED, acl);
+              acl_free (acl);
+            }
+          else
+            ret = -1;
+        }
     }
   else
     {
       if (HAVE_ACL_SET_FD && desc != -1)
-	ret = acl_set_fd (desc, ctx->acl);
+        ret = acl_set_fd (desc, ctx->acl);
       else
-	ret = acl_set_file (name, ACL_TYPE_EXTENDED, ctx->acl);
+        ret = acl_set_file (name, ACL_TYPE_EXTENDED, ctx->acl);
       if (ret != 0)
-	{
-	  if (! acl_errno_valid (errno)
-	      && ! acl_extended_nontrivial (ctx->acl))
-	    ret = 0;
-	}
+        {
+          if (! acl_errno_valid (errno)
+              && ! acl_extended_nontrivial (ctx->acl))
+            ret = 0;
+        }
     }
   *acls_set = true;
 
@@ -626,34 +626,34 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
   if (ret == 0 && ctx->count)
     {
       if (desc != -1)
-	ret = facl (desc, SETACL, ctx->count, ctx->entries);
+        ret = facl (desc, SETACL, ctx->count, ctx->entries);
       else
-	ret = acl (name, SETACL, ctx->count, ctx->entries);
+        ret = acl (name, SETACL, ctx->count, ctx->entries);
       if (ret < 0)
-	{
-	  if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
-	      && acl_nontrivial (ctx->count, ctx->entries) == 0)
-	    ret = 0;
-	}
+        {
+          if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+              && acl_nontrivial (ctx->count, ctx->entries) == 0)
+            ret = 0;
+        }
       else
-	*acls_set = true;
+        *acls_set = true;
     }
 
 #  ifdef ACE_GETACL
   if (ret == 0 && ctx->ace_count)
     {
       if (desc != -1)
-	ret = facl (desc, ACE_SETACL, ctx->ace_count, ctx->ace_entries);
+        ret = facl (desc, ACE_SETACL, ctx->ace_count, ctx->ace_entries);
       else
-	ret = acl (name, ACE_SETACL, ctx->ace_count, ctx->ace_entries);
+        ret = acl (name, ACE_SETACL, ctx->ace_count, ctx->ace_entries);
       if (ret < 0)
-	{
-	  if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP)
-	      && acl_ace_nontrivial (ctx->ace_count, ctx->ace_entries) == 0)
-	    ret = 0;
-	}
+        {
+          if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP)
+              && acl_ace_nontrivial (ctx->ace_count, ctx->ace_entries) == 0)
+            ret = 0;
+        }
       else
-	*acls_set = true;
+        *acls_set = true;
     }
 #  endif
 
@@ -665,17 +665,17 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
   if (ret == 0 && ctx->count > 0)
     {
       if (desc != -1)
-	ret = fsetacl (desc, ctx->count, ctx->entries);
+        ret = fsetacl (desc, ctx->count, ctx->entries);
       else
-	ret = setacl (name, ctx->count, ctx->entries);
+        ret = setacl (name, ctx->count, ctx->entries);
       if (ret < 0)
-	{
-	  if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
-	      && (from_mode || !acl_nontrivial (ctx->count, ctx->entries)))
-	    ret = 0;
-	}
+        {
+          if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTSUP)
+              && (from_mode || !acl_nontrivial (ctx->count, ctx->entries)))
+            ret = 0;
+        }
       else
-	*acls_set = true;
+        *acls_set = true;
     }
 
 #  if HAVE_ACLV_H
@@ -686,13 +686,13 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
     {
       ret = acl ((char *) name, ACL_SET, ctx->aclv_count, ctx->aclv_entries);
       if (ret < 0)
-	{
-	  if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
-	      && (from_mode || !aclv_nontrivial (ctx->aclv_count, ctx->aclv_entries)))
-	    ret = 0;
-	}
+        {
+          if ((errno == ENOSYS || errno == EOPNOTSUPP || errno == EINVAL)
+              && (from_mode || !aclv_nontrivial (ctx->aclv_count, ctx->aclv_entries)))
+            ret = 0;
+        }
       else
-	*acls_set = true;
+        *acls_set = true;
     }
 #  endif
 
@@ -711,16 +711,16 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
   if (ret == 0 && ctx->have_u)
     {
       if (desc != -1)
-	ret = fchacl (desc, &ctx->u.a, ctx->u.a.acl_len);
+        ret = fchacl (desc, &ctx->u.a, ctx->u.a.acl_len);
       else
-	ret = chacl ((char *) name, &ctx->u.a, ctx->u.a.acl_len);
+        ret = chacl ((char *) name, &ctx->u.a, ctx->u.a.acl_len);
       if (ret < 0)
-	{
-	  if (errno == ENOSYS && from_mode)
-	    ret = 0;
-	}
+        {
+          if (errno == ENOSYS && from_mode)
+            ret = 0;
+        }
       else
-	*acls_set = true;
+        *acls_set = true;
     }
 
 # elif HAVE_ACLSORT /* NonStop Kernel */
@@ -732,12 +732,12 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
     {
       ret = acl ((char *) name, ACL_SET, ctx->count, ctx->entries);
       if (ret != 0)
-	{
-	  if (!acl_nontrivial (ctx->count, ctx->entries))
-	    ret = 0;
-	}
+        {
+          if (!acl_nontrivial (ctx->count, ctx->entries))
+            ret = 0;
+        }
       else
-	*acls_set = true;
+        *acls_set = true;
     }
 
 # else  /* No ACLs */
@@ -805,7 +805,7 @@ set_permissions (struct permission_context *ctx, const char *name, int desc)
     {
       ret = chmod_or_fchmod (name, desc, ctx->mode);
       if (ret != 0)
-	return -1;
+        return -1;
     }
 
 #if USE_ACL
@@ -815,18 +815,18 @@ set_permissions (struct permission_context *ctx, const char *name, int desc)
       int saved_errno = ret ? errno : 0;
 
       /* If we can't set an acl which we expect to be able to set, try setting
-	 the permissions to ctx->mode. Due to possible inherited permissions,
-	 we cannot simply chmod.  */
+         the permissions to ctx->mode. Due to possible inherited permissions,
+         we cannot simply chmod.  */
 
       ret = set_acls (ctx, name, desc, true, &must_chmod, &acls_set);
       if (! acls_set)
-	must_chmod = true;
+        must_chmod = true;
 
       if (saved_errno)
-	{
-	  errno = saved_errno;
-	  ret = -1;
-	}
+        {
+          errno = saved_errno;
+          ret = -1;
+        }
     }
 #endif
 
@@ -837,10 +837,10 @@ set_permissions (struct permission_context *ctx, const char *name, int desc)
       ret = chmod_or_fchmod (name, desc, ctx->mode);
 
       if (saved_errno)
-	{
-	  errno = saved_errno;
-	  ret = -1;
-	}
+        {
+          errno = saved_errno;
+          ret = -1;
+        }
     }
 
   return ret;
diff --git a/gnu/setenv.c b/gnu/setenv.c
index fb685e9a..733b257c 100644
--- a/gnu/setenv.c
+++ b/gnu/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2019 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
diff --git a/gnu/signal.in.h b/gnu/signal.in.h
index e8107c37..a6960a25 100644
--- a/gnu/signal.in.h
+++ b/gnu/signal.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <signal.h>.
 
-   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -137,7 +137,7 @@ _GL_FUNCDECL_RPL (pthread_sigmask, int,
 _GL_CXXALIAS_RPL (pthread_sigmask, int,
                   (int how, const sigset_t *new_mask, sigset_t *old_mask));
 # else
-#  if !@HAVE_PTHREAD_SIGMASK@
+#  if !(@HAVE_PTHREAD_SIGMASK@ || defined pthread_sigmask)
 _GL_FUNCDECL_SYS (pthread_sigmask, int,
                   (int how, const sigset_t *new_mask, sigset_t *old_mask));
 #  endif
diff --git a/gnu/size_max.h b/gnu/size_max.h
index 5b78d938..e265fb97 100644
--- a/gnu/size_max.h
+++ b/gnu/size_max.h
@@ -1,5 +1,5 @@
 /* size_max.h -- declare SIZE_MAX through system headers
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/sleep.c b/gnu/sleep.c
index 5cd34d53..c5218e5f 100644
--- a/gnu/sleep.c
+++ b/gnu/sleep.c
@@ -1,5 +1,5 @@
 /* Pausing execution of the current thread.
-   Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software: you can redistribute it and/or modify
@@ -24,7 +24,7 @@
 
 #include "verify.h"
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 # define WIN32_LEAN_AND_MEAN  /* avoid including junk */
 # include <windows.h>
diff --git a/gnu/snprintf.c b/gnu/snprintf.c
index 322af250..5cf1ede1 100644
--- a/gnu/snprintf.c
+++ b/gnu/snprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 2004, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2019 Free Software Foundation, Inc.
    Written by Simon Josefsson and Paul Eggert.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/stat-time.h b/gnu/stat-time.h
index 47a3bf8f..d4f1f961 100644
--- a/gnu/stat-time.h
+++ b/gnu/stat-time.h
@@ -1,6 +1,6 @@
 /* stat-related time functions.
 
-   Copyright (C) 2005, 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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 +20,10 @@
 #ifndef STAT_TIME_H
 #define STAT_TIME_H 1
 
+#include "intprops.h"
+
+#include <errno.h>
+#include <stddef.h>
 #include <sys/stat.h>
 #include <time.h>
 
@@ -98,15 +102,13 @@ get_stat_mtime_ns (struct stat const *st)
 
 /* Return the nanosecond component of *ST's birth time.  */
 _GL_STAT_TIME_INLINE long int _GL_ATTRIBUTE_PURE
-get_stat_birthtime_ns (struct stat const *st)
+get_stat_birthtime_ns (struct stat const *st _GL_UNUSED)
 {
 # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
   return STAT_TIMESPEC (st, st_birthtim).tv_nsec;
 # elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
   return STAT_TIMESPEC_NS (st, st_birthtim);
 # else
-  /* Avoid a "parameter unused" warning.  */
-  (void) st;
   return 0;
 # endif
 }
@@ -156,7 +158,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.  */
 _GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
-get_stat_birthtime (struct stat const *st)
+get_stat_birthtime (struct stat const *st _GL_UNUSED)
 {
   struct timespec t;
 
@@ -166,7 +168,7 @@ get_stat_birthtime (struct stat const *st)
 #elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
   t.tv_sec = st->st_birthtime;
   t.tv_nsec = st->st_birthtimensec;
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#elif defined _WIN32 && ! defined __CYGWIN__
   /* Native Windows platforms (but not Cygwin) put the "file creation
      time" in st_ctime (!).  See
      <https://msdn.microsoft.com/en-us/library/14h5k7ff(VS.80).aspx>.  */
@@ -180,8 +182,6 @@ get_stat_birthtime (struct stat const *st)
   /* Birth time is not supported.  */
   t.tv_sec = -1;
   t.tv_nsec = -1;
-  /* Avoid a "parameter unused" warning.  */
-  (void) st;
 #endif
 
 #if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \
@@ -202,6 +202,47 @@ get_stat_birthtime (struct stat const *st)
   return t;
 }
 
+/* If a stat-like function returned RESULT, normalize the timestamps
+   in *ST, in case this platform suffers from the Solaris 11 bug where
+   tv_nsec might be negative.  Return the adjusted RESULT, setting
+   errno to EOVERFLOW if normalization overflowed.  This function
+   is intended to be private to this .h file.  */
+_GL_STAT_TIME_INLINE int
+stat_time_normalize (int result, struct stat *st _GL_UNUSED)
+{
+#if defined __sun && defined STAT_TIMESPEC
+  if (result == 0)
+    {
+      long int timespec_hz = 1000000000;
+      short int const ts_off[] = { offsetof (struct stat, st_atim),
+                                   offsetof (struct stat, st_mtim),
+                                   offsetof (struct stat, st_ctim) };
+      int i;
+      for (i = 0; i < sizeof ts_off / sizeof *ts_off; i++)
+        {
+          struct timespec *ts = (struct timespec *) ((char *) st + ts_off[i]);
+          long int q = ts->tv_nsec / timespec_hz;
+          long int r = ts->tv_nsec % timespec_hz;
+          if (r < 0)
+            {
+              r += timespec_hz;
+              q--;
+            }
+          ts->tv_nsec = r;
+          /* Overflow is possible, as Solaris 11 stat can yield
+             tv_sec == TYPE_MINIMUM (time_t) && tv_nsec == -1000000000.
+             INT_ADD_WRAPV is OK, since time_t is signed on Solaris.  */
+          if (INT_ADD_WRAPV (q, ts->tv_sec, &ts->tv_sec))
+            {
+              errno = EOVERFLOW;
+              return -1;
+            }
+        }
+    }
+#endif
+  return result;
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/gnu/stat-w32.c b/gnu/stat-w32.c
index 5eb5dbd1..ffa99429 100644
--- a/gnu/stat-w32.c
+++ b/gnu/stat-w32.c
@@ -1,5 +1,5 @@
 /* Core of implementation of fstat and stat for native Windows.
-   Copyright (C) 2017 Free Software Foundation, Inc.
+   Copyright (C) 2017-2019 Free Software Foundation, Inc.
 
    This 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 @@
 
 #include <config.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 /* Ensure that <windows.h> defines FILE_ID_INFO.  */
 #undef _WIN32_WINNT
@@ -38,6 +38,10 @@
 #include "pathmax.h"
 #include "verify.h"
 
+/* Avoid warnings from gcc -Wcast-function-type.  */
+#define GetProcAddress \
+  (void *) GetProcAddress
+
 #if _GL_WINDOWS_STAT_INODES == 2
 /* GetFileInformationByHandleEx was introduced only in Windows Vista.  */
 typedef DWORD (WINAPI * GetFileInformationByHandleExFuncType) (HANDLE hFile,
diff --git a/gnu/stat-w32.h b/gnu/stat-w32.h
index cf6bcca6..6b961d7f 100644
--- a/gnu/stat-w32.h
+++ b/gnu/stat-w32.h
@@ -1,5 +1,5 @@
 /* Core of implementation of fstat and stat for native Windows.
-   Copyright (C) 2017 Free Software Foundation, Inc.
+   Copyright (C) 2017-2019 Free Software Foundation, Inc.
 
    This 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/gnu/stat.c b/gnu/stat.c
index 06149632..74f47954 100644
--- a/gnu/stat.c
+++ b/gnu/stat.c
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
 #include <sys/stat.h>
 #undef __need_system_sys_stat_h
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # define WINDOWS_NATIVE
 #endif
 
@@ -47,6 +47,8 @@ orig_stat (const char *filename, struct stat *buf)
    above.  */
 #include "sys/stat.h"
 
+#include "stat-time.h"
+
 #include <errno.h>
 #include <limits.h>
 #include <stdbool.h>
@@ -405,19 +407,23 @@ rpl_stat (char const *name, struct stat *buf)
   }
 #else
   int result = orig_stat (name, buf);
-# if REPLACE_FUNC_STAT_FILE
-  /* Solaris 9 mistakenly succeeds when given a non-directory with a
-     trailing slash.  */
-  if (result == 0 && !S_ISDIR (buf->st_mode))
+  if (result == 0)
     {
-      size_t len = strlen (name);
-      if (ISSLASH (name[len - 1]))
+# if REPLACE_FUNC_STAT_FILE
+      /* Solaris 9 mistakenly succeeds when given a non-directory with a
+         trailing slash.  */
+      if (!S_ISDIR (buf->st_mode))
         {
-          errno = ENOTDIR;
-          return -1;
+          size_t len = strlen (name);
+          if (ISSLASH (name[len - 1]))
+            {
+              errno = ENOTDIR;
+              return -1;
+            }
         }
-    }
 # endif /* REPLACE_FUNC_STAT_FILE */
+      result = stat_time_normalize (result, buf);
+    }
   return result;
 #endif
 }
diff --git a/gnu/stdalign.in.h b/gnu/stdalign.in.h
index 68e889e0..d988d7c1 100644
--- a/gnu/stdalign.in.h
+++ b/gnu/stdalign.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C11 <stdalign.h>.
 
-   Copyright 2011-2017 Free Software Foundation, Inc.
+   Copyright 2011-2019 Free Software Foundation, Inc.
 
    This 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/gnu/stdarg.in.h b/gnu/stdarg.in.h
index e2b59fc7..5eec8ba4 100644
--- a/gnu/stdarg.in.h
+++ b/gnu/stdarg.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <stdarg.h>.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/stdbool.in.h b/gnu/stdbool.in.h
index a7bc5b06..8158b009 100644
--- a/gnu/stdbool.in.h
+++ b/gnu/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2017 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2019 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
diff --git a/gnu/stddef.in.h b/gnu/stddef.in.h
index 758ccf63..5aad1210 100644
--- a/gnu/stddef.in.h
+++ b/gnu/stddef.in.h
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/stdint.in.h b/gnu/stdint.in.h
index df8b37d3..21dd8d23 100644
--- a/gnu/stdint.in.h
+++ b/gnu/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2017 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2019 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
diff --git a/gnu/stdio-impl.h b/gnu/stdio-impl.h
index 329801ad..b2b2971f 100644
--- a/gnu/stdio-impl.h
+++ b/gnu/stdio-impl.h
@@ -1,5 +1,5 @@
 /* Implementation details of FILE streams.
-   Copyright (C) 2007-2008, 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008, 2010-2019 Free Software Foundation, Inc.
 
    This 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,6 +18,12 @@
    the same implementation of stdio extension API, except that some fields
    have different naming conventions, or their access requires some casts.  */
 
+/* Glibc 2.28 made _IO_IN_BACKUP private.  For now, work around this
+   problem by defining it ourselves.  FIXME: Do not rely on glibc
+   internals.  */
+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
+# define _IO_IN_BACKUP 0x100
+#endif
 
 /* BSD stdio derived implementations.  */
 
@@ -54,25 +60,79 @@
 #  define _flags pub._flags
 #  define _r pub._r
 #  define _w pub._w
+# elif defined __ANDROID__ /* Android */
+  /* Up to this commit from 2015-10-12
+     <https://android.googlesource.com/platform/bionic.git/+/f0141dfab10a4b332769d52fa76631a64741297a>
+     the innards of FILE were public, and fp_ub could be defined like for OpenBSD,
+     see <https://android.googlesource.com/platform/bionic.git/+/e78392637d5086384a5631ddfdfa8d7ec8326ee3/libc/stdio/fileext.h>
+     and <https://android.googlesource.com/platform/bionic.git/+/e78392637d5086384a5631ddfdfa8d7ec8326ee3/libc/stdio/local.h>.
+     After this commit, the innards of FILE are hidden.  */
+#  define fp_ ((struct { unsigned char *_p; \
+                         int _r; \
+                         int _w; \
+                         int _flags; \
+                         int _file; \
+                         struct { unsigned char *_base; size_t _size; } _bf; \
+                         int _lbfsize; \
+                         void *_cookie; \
+                         void *_close; \
+                         void *_read; \
+                         void *_seek; \
+                         void *_write; \
+                         struct { unsigned char *_base; size_t _size; } _ext; \
+                         unsigned char *_up; \
+                         int _ur; \
+                         unsigned char _ubuf[3]; \
+                         unsigned char _nbuf[1]; \
+                         struct { unsigned char *_base; size_t _size; } _lb; \
+                         int _blksize; \
+                         fpos_t _offset; \
+                         /* More fields, not relevant here.  */ \
+                       } *) fp)
 # else
 #  define fp_ fp
 # endif
 
-# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ || defined __minix || defined __ANDROID__ /* NetBSD >= 1.5ZA, OpenBSD, Minix 3, Android */
+# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ || defined __minix /* NetBSD >= 1.5ZA, OpenBSD, Minix 3 */
   /* See <http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
-     and <https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup> */
+     and <https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
+     and <https://github.com/Stichting-MINIX-Research-Foundation/minix/blob/master/lib/libc/stdio/fileext.h> */
   struct __sfileext
     {
       struct  __sbuf _ub; /* ungetc buffer */
       /* More fields, not relevant here.  */
     };
 #  define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub
-# else                                         /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin, Android */
+# elif defined __ANDROID__                     /* Android */
+  struct __sfileext
+    {
+      struct { unsigned char *_base; size_t _size; } _ub; /* ungetc buffer */
+      /* More fields, not relevant here.  */
+    };
+#  define fp_ub ((struct __sfileext *) fp_->_ext._base)->_ub
+# else                                         /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin */
 #  define fp_ub fp_->_ub
 # endif
 
 # define HASUB(fp) (fp_ub._base != NULL)
 
+# if defined __ANDROID__ /* Android */
+  /* Needed after this commit from 2016-01-25
+     <https://android.googlesource.com/platform/bionic.git/+/e70e0e9267d069bf56a5078c99307e08a7280de7> */
+#  ifndef __SEOF
+#   define __SLBF 1
+#   define __SNBF 2
+#   define __SRD 4
+#   define __SWR 8
+#   define __SRW 0x10
+#   define __SEOF 0x20
+#   define __SERR 0x40
+#  endif
+#  ifndef __SOFF
+#   define __SOFF 0x1000
+#  endif
+# endif
+
 #endif
 
 
@@ -112,7 +172,7 @@
 #  define _flag __flag
 # endif
 
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__  /* newer Windows with MSVC */
+#elif defined _WIN32 && ! defined __CYGWIN__  /* newer Windows with MSVC */
 
 /* <stdio.h> does not define the innards of FILE any more.  */
 # define WINDOWS_OPAQUE_FILE
diff --git a/gnu/stdio.in.h b/gnu/stdio.in.h
index 505f3f49..acf29c4b 100644
--- a/gnu/stdio.in.h
+++ b/gnu/stdio.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -122,7 +122,7 @@
    it before we  #define perror rpl_perror.  */
 /* But in any case avoid namespace pollution on glibc systems.  */
 #if (@GNULIB_PERROR@ || defined GNULIB_POSIXCHECK) \
-    && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
+    && (defined _WIN32 && ! defined __CYGWIN__) \
     && ! defined __GLIBC__
 # include <stdlib.h>
 #endif
@@ -133,7 +133,7 @@
    it before we  #define rename rpl_rename.  */
 /* But in any case avoid namespace pollution on glibc systems.  */
 #if (@GNULIB_REMOVE@ || @GNULIB_RENAME@ || defined GNULIB_POSIXCHECK) \
-    && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
+    && (defined _WIN32 && ! defined __CYGWIN__) \
     && ! defined __GLIBC__
 # include <io.h>
 #endif
diff --git a/gnu/stdlib.in.h b/gnu/stdlib.in.h
index d5fa02b5..d80d7ec6 100644
--- a/gnu/stdlib.in.h
+++ b/gnu/stdlib.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2019 Free Software Foundation, Inc.
 
    This 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,11 +47,14 @@
 
 /* Solaris declares getloadavg() in <sys/loadavg.h>.  */
 #if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
+/* OpenIndiana has a bug: <sys/time.h> must be included before
+   <sys/loadavg.h>.  */
+# include <sys/time.h>
 # include <sys/loadavg.h>
 #endif
 
 /* Native Windows platforms declare mktemp() in <io.h>.  */
-#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+#if 0 && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
@@ -87,9 +90,10 @@ struct random_data
 # endif
 #endif
 
-#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__)
 /* On Mac OS X 10.3, only <unistd.h> declares mkstemp.  */
 /* On Mac OS X 10.5, only <unistd.h> declares mkstemps.  */
+/* On Mac OS X 10.13, only <unistd.h> declares mkostemp and mkostemps.  */
 /* On Cygwin 1.7.1, only <unistd.h> declares getsubopt.  */
 /* But avoid namespace pollution on glibc systems and native Windows.  */
 # include <unistd.h>
diff --git a/gnu/stpcpy.c b/gnu/stpcpy.c
index 079599db..a1d32fda 100644
--- a/gnu/stpcpy.c
+++ b/gnu/stpcpy.c
@@ -1,5 +1,5 @@
 /* stpcpy.c -- copy a string and return pointer to end of new string
-   Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2017 Free Software
+   Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2019 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C Library.
diff --git a/gnu/strcasecmp.c b/gnu/strcasecmp.c
index b7fb4c72..6cd0e1e3 100644
--- a/gnu/strcasecmp.c
+++ b/gnu/strcasecmp.c
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison function.
-   Copyright (C) 1998-1999, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strchrnul.c b/gnu/strchrnul.c
index c073c942..0f5dd814 100644
--- a/gnu/strchrnul.c
+++ b/gnu/strchrnul.c
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strdup.c b/gnu/strdup.c
index ddabc508..717cf65b 100644
--- a/gnu/strdup.c
+++ b/gnu/strdup.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2017 Free Software
+/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This file is part of the GNU C Library.
diff --git a/gnu/streq.h b/gnu/streq.h
index b4b726d8..326537b6 100644
--- a/gnu/streq.h
+++ b/gnu/streq.h
@@ -1,5 +1,5 @@
 /* Optimized string comparison.
-   Copyright (C) 2001-2002, 2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gnu/strerror-override.c b/gnu/strerror-override.c
index 15ea2190..558a010a 100644
--- a/gnu/strerror-override.c
+++ b/gnu/strerror-override.c
@@ -1,6 +1,6 @@
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strerror-override.h b/gnu/strerror-override.h
index 5b9ef675..255febca 100644
--- a/gnu/strerror-override.h
+++ b/gnu/strerror-override.h
@@ -1,6 +1,6 @@
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strerror.c b/gnu/strerror.c
index 3861ffdb..f5900fd1 100644
--- a/gnu/strerror.c
+++ b/gnu/strerror.c
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strftime.h b/gnu/strftime.h
index 9d91e513..e4a720b0 100644
--- a/gnu/strftime.h
+++ b/gnu/strftime.h
@@ -1,6 +1,6 @@
 /* declarations for strftime.c
 
-   Copyright (C) 2002, 2004, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/string.in.h b/gnu/string.in.h
index 0e0e0c51..4a9292f7 100644
--- a/gnu/string.in.h
+++ b/gnu/string.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strings.in.h b/gnu/strings.in.h
index a7284015..21b1a85b 100644
--- a/gnu/strings.in.h
+++ b/gnu/strings.in.h
@@ -1,6 +1,6 @@
 /* A substitute <strings.h>.
 
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This 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/gnu/stripslash.c b/gnu/stripslash.c
index 41c589ed..dfc15b43 100644
--- a/gnu/stripslash.c
+++ b/gnu/stripslash.c
@@ -1,6 +1,6 @@
 /* stripslash.c -- remove redundant trailing slashes from a file name
 
-   Copyright (C) 1990, 2001, 2003-2006, 2009-2017 Free Software Foundation,
+   Copyright (C) 1990, 2001, 2003-2006, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/strncasecmp.c b/gnu/strncasecmp.c
index 90b309df..034011c5 100644
--- a/gnu/strncasecmp.c
+++ b/gnu/strncasecmp.c
@@ -1,5 +1,5 @@
 /* strncasecmp.c -- case insensitive string comparator
-   Copyright (C) 1998-1999, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strndup.c b/gnu/strndup.c
index cc860723..5b748284 100644
--- a/gnu/strndup.c
+++ b/gnu/strndup.c
@@ -1,6 +1,6 @@
 /* A replacement function, for systems that lack strndup.
 
-   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2017 Free Software
+   Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/gnu/strnlen.c b/gnu/strnlen.c
index a37f81f6..9fb66350 100644
--- a/gnu/strnlen.c
+++ b/gnu/strnlen.c
@@ -1,5 +1,5 @@
 /* Find the length of STRING, but scan at most MAXLEN characters.
-   Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/strnlen1.c b/gnu/strnlen1.c
index c4433653..666a5572 100644
--- a/gnu/strnlen1.c
+++ b/gnu/strnlen1.c
@@ -1,5 +1,5 @@
 /* Find the length of STRING + 1, but scan at most MAXLEN bytes.
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strnlen1.h b/gnu/strnlen1.h
index 4847e8ae..5d952446 100644
--- a/gnu/strnlen1.h
+++ b/gnu/strnlen1.h
@@ -1,5 +1,5 @@
 /* Find the length of STRING + 1, but scan at most MAXLEN bytes.
-   Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/strtoimax.c b/gnu/strtoimax.c
index f7d46f04..87b080c4 100644
--- a/gnu/strtoimax.c
+++ b/gnu/strtoimax.c
@@ -1,6 +1,6 @@
 /* Convert string representation of a number into an intmax_t value.
 
-   Copyright (C) 1999, 2001-2004, 2006, 2009-2017 Free Software Foundation,
+   Copyright (C) 1999, 2001-2004, 2006, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/strtol.c b/gnu/strtol.c
index 1ef88700..1d920aff 100644
--- a/gnu/strtol.c
+++ b/gnu/strtol.c
@@ -1,6 +1,6 @@
 /* Convert string representation of a number into an integer value.
 
-   Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2017 Free Software
+   Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
@@ -117,35 +117,6 @@
 # define STRTOL_LONG_MIN LLONG_MIN
 # define STRTOL_LONG_MAX LLONG_MAX
 # define STRTOL_ULONG_MAX ULLONG_MAX
-
-/* The extra casts in the following macros work around compiler bugs,
-   e.g., in Cray C 5.0.3.0.  */
-
-/* True if the arithmetic type T is signed.  */
-# define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-
-/* Minimum and maximum values for integer types.
-   These macros have undefined behavior for signed types that either
-   have padding bits or do not use two's complement.  If this is a
-   problem for you, please let us know how to fix it for your host.  */
-
-/* The maximum and minimum values for the integer type T.  */
-# define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
-# define TYPE_MAXIMUM(t)                                                 \
-   ((t) (! TYPE_SIGNED (t)                                               \
-         ? (t) -1                                                        \
-         : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
-
-# 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
-
 # if __GNUC__ == 2 && __GNUC_MINOR__ < 7
    /* Work around gcc bug with using this constant.  */
    static const unsigned long long int maxquad = ULLONG_MAX;
diff --git a/gnu/strtoll.c b/gnu/strtoll.c
index f6952f3c..038362a3 100644
--- a/gnu/strtoll.c
+++ b/gnu/strtoll.c
@@ -1,5 +1,5 @@
 /* Function to parse a 'long long int' from text.
-   Copyright (C) 1995-1997, 1999, 2001, 2009-2017 Free Software Foundation,
+   Copyright (C) 1995-1997, 1999, 2001, 2009-2019 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
diff --git a/gnu/strtoul.c b/gnu/strtoul.c
index d4d538d5..e098701f 100644
--- a/gnu/strtoul.c
+++ b/gnu/strtoul.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997, 2009-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1997, 2009-2019 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
diff --git a/gnu/strtoull.c b/gnu/strtoull.c
index 96168f29..8ba92bf3 100644
--- a/gnu/strtoull.c
+++ b/gnu/strtoull.c
@@ -1,5 +1,5 @@
 /* Function to parse an 'unsigned long long int' from text.
-   Copyright (C) 1995-1997, 1999, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997, 1999, 2009-2019 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.
 
diff --git a/gnu/symlink.c b/gnu/symlink.c
index 427f1f5f..16432ee3 100644
--- a/gnu/symlink.c
+++ b/gnu/symlink.c
@@ -1,5 +1,5 @@
 /* Stub for symlink().
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/symlinkat.c b/gnu/symlinkat.c
index 3269dc81..7d58cd97 100644
--- a/gnu/symlinkat.c
+++ b/gnu/symlinkat.c
@@ -1,5 +1,5 @@
 /* Create a symlink relative to an open directory.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/sys-limits.h b/gnu/sys-limits.h
new file mode 100644
index 00000000..5150e897
--- /dev/null
+++ b/gnu/sys-limits.h
@@ -0,0 +1,42 @@
+/* System call limits
+
+   Copyright 2018-2019 Free Software Foundation, Inc.
+
+   This 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 <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_LIMITS_H
+#define _SYS_LIMITS_H
+
+#include <limits.h>
+
+/* Maximum number of bytes to read or write in a single system call.
+   This can be useful for system calls like sendfile on GNU/Linux,
+   which do not handle more than MAX_RW_COUNT bytes correctly.
+   The Linux kernel MAX_RW_COUNT is at least INT_MAX >> 20 << 20,
+   where the 20 comes from the Hexagon port with 1 MiB pages; use that
+   as an approximation, as the exact value may not be available to us.
+
+   Using this also works around a serious Linux bug before 2.6.16; see
+   <https://bugzilla.redhat.com/show_bug.cgi?id=612839>.
+
+   Using this also works around a Tru64 5.1 bug, where attempting
+   to read INT_MAX bytes fails with errno == EINVAL.  See
+   <https://lists.gnu.org/r/bug-gnu-utils/2002-04/msg00010.html>.
+
+   Using this is likely to work around similar bugs in other operating
+   systems.  */
+
+enum { SYS_BUFSIZE_MAX = INT_MAX >> 20 << 20 };
+
+#endif
diff --git a/gnu/sys_stat.in.h b/gnu/sys_stat.in.h
index f0919e90..58fa93fd 100644
--- a/gnu/sys_stat.in.h
+++ b/gnu/sys_stat.in.h
@@ -1,5 +1,5 @@
 /* Provide a more complete sys/stat.h header file.
-   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -57,13 +57,13 @@
 /* Before doing "#define mkdir rpl_mkdir" below, we need to include all
    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__
+#if defined _WIN32 && ! defined __CYGWIN__
 # include <io.h>     /* mingw32, mingw64 */
 # include <direct.h> /* mingw64, MSVC 9 */
 #endif
 
 /* Native Windows platforms declare umask() in <io.h>.  */
-#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+#if 0 && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
@@ -576,7 +576,7 @@ _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
    Additionally, it declares _mkdir (and depending on compile flags, an
    alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
    which are included above.  */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 
 #  if !GNULIB_defined_rpl_mkdir
 static int
diff --git a/gnu/sys_time.in.h b/gnu/sys_time.in.h
index 8a3c87d1..53976888 100644
--- a/gnu/sys_time.in.h
+++ b/gnu/sys_time.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This 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/gnu/sys_types.in.h b/gnu/sys_types.in.h
index b0d6132a..237e2068 100644
--- a/gnu/sys_types.in.h
+++ b/gnu/sys_types.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This 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 +20,17 @@
 #endif
 @PRAGMA_COLUMNS@
 
+#if defined _WIN32 && !defined __CYGWIN__ \
+    && (defined __need_off_t || defined __need___off64_t \
+        || defined __need_ssize_t || defined __need_time_t)
+
+/* Special invocation convention inside mingw header files.  */
+
+#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+
+#else
+/* Normal invocation convention.  */
+
 #ifndef _@GUARD_PREFIX@_SYS_TYPES_H
 
 /* The include_next requires a split double-inclusion guard.  */
@@ -86,10 +97,10 @@ typedef unsigned long long int rpl_ino_t;
 
 /* 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__
+#if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__
 # include <stddef.h>
 #endif
 
 #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
 #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
+#endif /* __need_XXX */
diff --git a/gnu/sysexits.in.h b/gnu/sysexits.in.h
index 66f04ca5..7043a0a9 100644
--- a/gnu/sysexits.in.h
+++ b/gnu/sysexits.in.h
@@ -1,5 +1,5 @@
 /* exit() exit codes for some BSD system programs.
-   Copyright (C) 2003, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/tempname.c b/gnu/tempname.c
index 2e3f95f3..be62ed95 100644
--- a/gnu/tempname.c
+++ b/gnu/tempname.c
@@ -1,6 +1,6 @@
 /* tempname.c - generate the name of a temporary file.
 
-   Copyright (C) 1991-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1991-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/tempname.h b/gnu/tempname.h
index 245c8161..fb203d3a 100644
--- a/gnu/tempname.h
+++ b/gnu/tempname.h
@@ -1,6 +1,6 @@
 /* Create a temporary file or directory.
 
-   Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/time-internal.h b/gnu/time-internal.h
index 8caf11d8..57f2e789 100644
--- a/gnu/time-internal.h
+++ b/gnu/time-internal.h
@@ -1,6 +1,6 @@
 /* Time internal interface
 
-   Copyright 2015-2017 Free Software Foundation, Inc.
+   Copyright 2015-2019 Free Software Foundation, Inc.
 
    This 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/gnu/time.in.h b/gnu/time.in.h
index d210fbf8..dd3b2127 100644
--- a/gnu/time.in.h
+++ b/gnu/time.in.h
@@ -1,6 +1,6 @@
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -48,7 +48,7 @@
 
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
-/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
+/* Some systems don't define struct timespec (e.g., AIX 4.1).
    Or they define it with the wrong member names or define it in <sys/time.h>
    (e.g., FreeBSD circa 1997).  Stock Mingw prior to 3.0 does not define it,
    but the pthreads-win32 library defines it in <pthread.h>.  */
@@ -212,7 +212,7 @@ _GL_CXXALIASWARN (gmtime_r);
 #    define localtime rpl_localtime
 #   endif
 _GL_FUNCDECL_RPL (localtime, struct tm *, (time_t const *__timer)
-		                          _GL_ARG_NONNULL ((1)));
+                                          _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (localtime, struct tm *, (time_t const *__timer));
 #  else
 _GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer));
diff --git a/gnu/time_r.c b/gnu/time_r.c
index 8cf8329f..a701ccc5 100644
--- a/gnu/time_r.c
+++ b/gnu/time_r.c
@@ -1,6 +1,6 @@
 /* Reentrant time functions like localtime_r.
 
-   Copyright (C) 2003, 2006-2007, 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2010-2019 Free Software Foundation, Inc.
 
    This 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/gnu/time_rz.c b/gnu/time_rz.c
index ad02edb2..42ae3d36 100644
--- a/gnu/time_rz.c
+++ b/gnu/time_rz.c
@@ -1,6 +1,6 @@
 /* Time zone functions such as tzalloc and localtime_rz
 
-   Copyright 2015-2017 Free Software Foundation, Inc.
+   Copyright 2015-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -286,6 +286,21 @@ revert_tz (timezone_t tz)
 struct tm *
 localtime_rz (timezone_t tz, time_t const *t, struct tm *tm)
 {
+#ifdef HAVE_LOCALTIME_INFLOOP_BUG
+  /* The -67768038400665599 comes from:
+     https://lists.gnu.org/r/bug-gnulib/2017-07/msg00142.html
+     On affected platforms the greatest POSIX-compatible time_t value
+     that could return nonnull is 67768036191766798 (when
+     TZ="XXX24:59:59" it resolves to the year 2**31 - 1 + 1900, on
+     12-31 at 23:59:59), so test for that too while we're in the
+     neighborhood.  */
+  if (! (-67768038400665599 <= *t && *t <= 67768036191766798))
+    {
+      errno = EOVERFLOW;
+      return NULL;
+    }
+#endif
+
   if (!tz)
     return gmtime_r (t, tm);
   else
diff --git a/gnu/timegm.c b/gnu/timegm.c
index 1cabf648..2ca57444 100644
--- a/gnu/timegm.c
+++ b/gnu/timegm.c
@@ -1,20 +1,21 @@
 /* Convert UTC calendar time to simple time.  Like mktime but assumes UTC.
 
-   Copyright (C) 1994, 1997, 2003-2004, 2006-2007, 2009-2017 Free Software
-   Foundation, Inc.  This file is part of the GNU C Library.
+   Copyright (C) 1994-2019 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, see <https://www.gnu.org/licenses/>.  */
+   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 _LIBC
 # include <config.h>
@@ -22,14 +23,7 @@
 
 #include <time.h>
 
-#ifdef _LIBC
-typedef time_t mktime_offset_t;
-#else
-# undef __gmtime_r
-# define __gmtime_r gmtime_r
-# define __mktime_internal mktime_internal
-# include "mktime-internal.h"
-#endif
+#include "mktime-internal.h"
 
 time_t
 timegm (struct tm *tmp)
diff --git a/gnu/timespec-sub.c b/gnu/timespec-sub.c
index 3872f1bc..48434e81 100644
--- a/gnu/timespec-sub.c
+++ b/gnu/timespec-sub.c
@@ -1,6 +1,6 @@
 /* Subtract two struct timespec values.
 
-   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+   Copyright (C) 2011-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
 
 /* Return the difference between two timespec values A and B.  On
    overflow, return an extremal value.  This assumes 0 <= tv_nsec <
-   TIMESPEC_RESOLUTION.  */
+   TIMESPEC_HZ.  */
 
 #include <config.h>
 #include "timespec.h"
@@ -38,7 +38,7 @@ timespec_sub (struct timespec a, struct timespec b)
 
   if (ns < 0)
     {
-      rns = ns + TIMESPEC_RESOLUTION;
+      rns = ns + TIMESPEC_HZ;
       if (bs < tmax)
         bs++;
       else if (- TYPE_SIGNED (time_t) < rs)
@@ -63,7 +63,7 @@ timespec_sub (struct timespec a, struct timespec b)
       else
         {
           rs = tmax;
-          rns = TIMESPEC_RESOLUTION - 1;
+          rns = TIMESPEC_HZ - 1;
         }
     }
 
diff --git a/gnu/timespec.h b/gnu/timespec.h
index 84c8146a..26f1bc1a 100644
--- a/gnu/timespec.h
+++ b/gnu/timespec.h
@@ -1,6 +1,6 @@
 /* timespec -- System time interface
 
-   Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2017 Free Software
+   Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -17,9 +17,9 @@
    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #if ! defined TIMESPEC_H
-# define TIMESPEC_H
+#define TIMESPEC_H
 
-# include <time.h>
+#include <time.h>
 
 #ifndef _GL_INLINE_HEADER_BEGIN
  #error "Please include config.h first."
@@ -33,13 +33,20 @@ _GL_INLINE_HEADER_BEGIN
 extern "C" {
 #endif
 
+#include "arg-nonnull.h"
 #include "verify.h"
 
-/* Resolution of timespec timestamps (in units per second), and log
-   base 10 of the resolution.  */
+/* Inverse resolution of timespec timestamps (in units per second),
+   and log base 10 of the inverse resolution.  */
 
-enum { TIMESPEC_RESOLUTION = 1000000000 };
-enum { LOG10_TIMESPEC_RESOLUTION = 9 };
+enum { TIMESPEC_HZ = 1000000000 };
+enum { LOG10_TIMESPEC_HZ = 9 };
+
+/* Obsolescent names for backward compatibility.
+   They are misnomers, because TIMESPEC_RESOLUTION is not a resolution.  */
+
+enum { TIMESPEC_RESOLUTION = TIMESPEC_HZ };
+enum { LOG10_TIMESPEC_RESOLUTION = LOG10_TIMESPEC_HZ };
 
 /* Return a timespec with seconds S and nanoseconds NS.  */
 
@@ -87,9 +94,9 @@ timespec_cmp (struct timespec a, struct timespec b)
     return 1;
 
   /* Pacify gcc -Wstrict-overflow (bleeding-edge circa 2017-10-02).  See:
-     http://lists.gnu.org/r/bug-gnulib/2017-10/msg00006.html  */
-  assume (-1 <= a.tv_nsec && a.tv_nsec <= 2 * TIMESPEC_RESOLUTION);
-  assume (-1 <= b.tv_nsec && b.tv_nsec <= 2 * TIMESPEC_RESOLUTION);
+     https://lists.gnu.org/r/bug-gnulib/2017-10/msg00006.html  */
+  assume (-1 <= a.tv_nsec && a.tv_nsec <= 2 * TIMESPEC_HZ);
+  assume (-1 <= b.tv_nsec && b.tv_nsec <= 2 * TIMESPEC_HZ);
 
   return a.tv_nsec - b.tv_nsec;
 }
@@ -116,8 +123,9 @@ timespectod (struct timespec a)
   return a.tv_sec + a.tv_nsec / 1e9;
 }
 
-void gettime (struct timespec *);
-int settime (struct timespec const *);
+struct timespec current_timespec (void);
+void gettime (struct timespec *) _GL_ARG_NONNULL ((1));
+int settime (struct timespec const *) _GL_ARG_NONNULL ((1));
 
 #ifdef __cplusplus
 }
diff --git a/gnu/tzset.c b/gnu/tzset.c
index a259774e..a77633d2 100644
--- a/gnu/tzset.c
+++ b/gnu/tzset.c
@@ -1,6 +1,6 @@
 /* Provide tzset for systems that don't have it or for which it's broken.
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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,7 +40,7 @@ tzset (void)
   struct tm save = *localtime_buffer_addr;
 #endif
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
   /* Rectify the value of the environment variable TZ.
      There are four possible kinds of such values:
        - Traditional US time zone names, e.g. "PST8PDT".  Syntax: see
diff --git a/gnu/unistd--.h b/gnu/unistd--.h
index cdfa2304..12688543 100644
--- a/gnu/unistd--.h
+++ b/gnu/unistd--.h
@@ -1,6 +1,6 @@
 /* Like unistd.h, but redefine some names to avoid glitches.
 
-   Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/unistd-safer.h b/gnu/unistd-safer.h
index 74f0591a..8eebffca 100644
--- a/gnu/unistd-safer.h
+++ b/gnu/unistd-safer.h
@@ -1,6 +1,6 @@
 /* Invoke unistd-like functions, but avoid some glitches.
 
-   Copyright (C) 2001, 2003, 2005, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2005, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/unistd.in.h b/gnu/unistd.in.h
index 91447835..a10ca28a 100644
--- a/gnu/unistd.in.h
+++ b/gnu/unistd.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2019 Free Software Foundation, Inc.
 
    This 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 @@
 /* But avoid namespace pollution on glibc systems.  */
 #if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
      || ((@GNULIB_UNLINK@ || defined GNULIB_POSIXCHECK) \
-         && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) \
+         && (defined _WIN32 && ! defined __CYGWIN__)) \
      || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
          && defined __CYGWIN__)) \
     && ! defined __GLIBC__
@@ -94,13 +94,13 @@
    lseek(), read(), unlink(), write() in <io.h>.  */
 #if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
       || defined GNULIB_POSIXCHECK) \
-     && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+     && (defined _WIN32 && ! defined __CYGWIN__))
 # include <io.h>     /* mingw32, 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__)
+      && (defined _WIN32 && ! defined __CYGWIN__)
 # include <io.h>
 #endif
 
@@ -400,6 +400,13 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
 
 
 #if @GNULIB_ENVIRON@
+# if defined __CYGWIN__ && !defined __i386__
+/* The 'environ' variable is defined in a DLL. Therefore its declaration needs
+   the '__declspec(dllimport)' attribute, but the system's <unistd.h> lacks it.
+   This leads to a link error on 64-bit Cygwin when the option
+   -Wl,--disable-auto-import is in use.  */
+_GL_EXTERN_C __declspec(dllimport) char **environ;
+# endif
 # if !@HAVE_DECL_ENVIRON@
 /* Set of environment variables and values.  An array of strings of the form
    "VARIABLE=VALUE", terminated with a NULL.  */
@@ -425,12 +432,12 @@ extern char **environ;
 #elif defined GNULIB_POSIXCHECK
 # if HAVE_RAW_DECL_ENVIRON
 _GL_UNISTD_INLINE char ***
+_GL_WARN_ON_USE_ATTRIBUTE ("environ is unportable - "
+                           "use gnulib module environ for portability")
 rpl_environ (void)
 {
   return &environ;
 }
-_GL_WARN_ON_USE (rpl_environ, "environ is unportable - "
-                 "use gnulib module environ for portability");
 #  undef environ
 #  define environ (*rpl_environ ())
 # endif
@@ -928,6 +935,36 @@ _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
 #endif
 
 
+#if @GNULIB_GETPASS@
+/* Function getpass() from module 'getpass':
+     Read a password from /dev/tty or stdin.
+   Function getpass() from module 'getpass-gnu':
+     Read a password of arbitrary length from /dev/tty or stdin.  */
+# if @REPLACE_GETPASS@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef getpass
+#   define getpass rpl_getpass
+#  endif
+_GL_FUNCDECL_RPL (getpass, char *, (const char *prompt)
+                                   _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getpass, char *, (const char *prompt));
+# else
+#  if !@HAVE_GETPASS@
+_GL_FUNCDECL_SYS (getpass, char *, (const char *prompt)
+                                   _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (getpass, char *, (const char *prompt));
+# endif
+_GL_CXXALIASWARN (getpass);
+#elif defined GNULIB_POSIXCHECK
+# undef getpass
+# if HAVE_RAW_DECL_GETPASS
+_GL_WARN_ON_USE (getpass, "getpass is unportable - "
+                 "use gnulib module getpass or getpass-gnu for portability");
+# endif
+#endif
+
+
 #if @GNULIB_GETUSERSHELL@
 /* Return the next valid login shell on the system, or NULL when the end of
    the list has been reached.  */
@@ -1482,7 +1519,7 @@ _GL_FUNCDECL_RPL (truncate, int, (const char *filename, off_t length)
                                  _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (truncate, int, (const char *filename, off_t length));
 # else
-#  if !@HAVE_TRUNCATE@
+#  if !@HAVE_DECL_TRUNCATE@
 _GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length)
                                  _GL_ARG_NONNULL ((1)));
 #  endif
diff --git a/gnu/unitypes.in.h b/gnu/unitypes.in.h
index 01e0495d..631654bd 100644
--- a/gnu/unitypes.in.h
+++ b/gnu/unitypes.in.h
@@ -1,5 +1,5 @@
 /* Elementary types and macros for the GNU UniString library.
-   Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gnu/uniwidth.in.h b/gnu/uniwidth.in.h
index 360ff333..80c5eeab 100644
--- a/gnu/uniwidth.in.h
+++ b/gnu/uniwidth.in.h
@@ -1,5 +1,5 @@
 /* Display width functions.
-   Copyright (C) 2001-2002, 2005, 2007, 2009-2017 Free Software Foundation,
+   Copyright (C) 2001-2002, 2005, 2007, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/gnu/uniwidth/cjk.h b/gnu/uniwidth/cjk.h
index 95723f5f..9870422c 100644
--- a/gnu/uniwidth/cjk.h
+++ b/gnu/uniwidth/cjk.h
@@ -1,5 +1,5 @@
 /* Test for CJK encoding.
-   Copyright (C) 2001-2002, 2005-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2007, 2009-2019 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
diff --git a/gnu/uniwidth/width.c b/gnu/uniwidth/width.c
index 3e286f49..a7f59b18 100644
--- a/gnu/uniwidth/width.c
+++ b/gnu/uniwidth/width.c
@@ -1,5 +1,5 @@
 /* Determine display width of Unicode character.
-   Copyright (C) 2001-2002, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2006-2019 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
@@ -32,7 +32,7 @@
  * - Zero width characters; generated from
  *   "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt"
  */
-static const unsigned char nonspacing_table_data[36*64] = {
+static const unsigned char nonspacing_table_data[38*64] = {
   /* 0x0000-0x01ff */
   0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */
@@ -73,7 +73,7 @@ static const unsigned char nonspacing_table_data[36*64] = {
   0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */
   0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
-  0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
+  0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
   0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */
   0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */
   0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */
@@ -135,7 +135,7 @@ static const unsigned char nonspacing_table_data[36*64] = {
   /* 0x1800-0x19ff */
   0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */
+  0x60, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */
   0x00, 0x00, 0x00, 0x00, 0x87, 0x01, 0x04, 0x0e, /* 0x1900-0x193f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1940-0x197f */
@@ -158,7 +158,7 @@ static const unsigned char nonspacing_table_data[36*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */
-  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf0, /* 0x1dc0-0x1dff */
+  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf8, /* 0x1dc0-0x1dff */
   /* 0x2000-0x21ff */
   0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */
   0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */
@@ -199,7 +199,7 @@ static const unsigned char nonspacing_table_data[36*64] = {
   0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0xa800-0xa83f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */
-  0x10, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */
+  0x30, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */
   0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */
   0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */
   0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */
@@ -268,7 +268,7 @@ static const unsigned char nonspacing_table_data[36*64] = {
   0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */
   0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */
   /* 0x11200-0x113ff */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x00, /* 0x11200-0x1123f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x40, /* 0x11200-0x1123f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */
   0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */
@@ -277,8 +277,8 @@ static const unsigned char nonspacing_table_data[36*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */
   /* 0x11400-0x115ff */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11400-0x1143f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11400-0x1143f */
+  0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */
   0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */
@@ -294,6 +294,15 @@ static const unsigned char nonspacing_table_data[36*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */
+  /* 0x11c00-0x11dff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x3f, /* 0x11c00-0x11c3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c40-0x11c7f */
+  0x00, 0x00, 0xfc, 0xff, 0xff, 0xfc, 0x6d, 0x00, /* 0x11c80-0x11cbf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11cc0-0x11cff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d00-0x11d3f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d40-0x11d7f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d80-0x11dbf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11dc0-0x11dff */
   /* 0x16a00-0x16bff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */
@@ -348,13 +357,22 @@ static const unsigned char nonspacing_table_data[36*64] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */
+  /* 0x1e000-0x1e1ff */
+  0x7f, 0xff, 0xff, 0xf9, 0xdb, 0x07, 0x00, 0x00, /* 0x1e000-0x1e03f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e040-0x1e07f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e080-0x1e0bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e0c0-0x1e0ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e100-0x1e13f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e140-0x1e17f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e180-0x1e1bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e1c0-0x1e1ff */
   /* 0x1e800-0x1e9ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */
   0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */
+  0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00  /* 0x1e9c0-0x1e9ff */
 };
@@ -376,20 +394,20 @@ static const signed char nonspacing_table_ind[248] = {
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */
   -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */
   22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */
-  25, 26, 27, 28, -1, -1, -1, -1, /* 0x11000-0x11fff */
+  25, 26, 27, 28, -1, -1, 29, -1, /* 0x11000-0x11fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */
-  -1, -1, -1, -1, -1, 29, -1, 30, /* 0x16000-0x16fff */
+  -1, -1, -1, -1, -1, 30, -1, 31, /* 0x16000-0x16fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */
-  -1, -1, -1, -1, -1, -1, 31, -1, /* 0x1b000-0x1bfff */
+  -1, -1, -1, -1, -1, -1, 32, -1, /* 0x1b000-0x1bfff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */
-  32, 33, -1, -1, -1, 34, -1, -1, /* 0x1d000-0x1dfff */
-  -1, -1, -1, -1, 35, -1, -1, -1  /* 0x1e000-0x1efff */
+  33, 34, -1, -1, -1, 35, -1, -1, /* 0x1d000-0x1dfff */
+  36, -1, -1, -1, 37, -1, -1, -1  /* 0x1e000-0x1efff */
 };
 
 /* Determine number of column positions required for UC.  */
diff --git a/gnu/unlink.c b/gnu/unlink.c
index 7527c9af..90dc9d30 100644
--- a/gnu/unlink.c
+++ b/gnu/unlink.c
@@ -1,6 +1,6 @@
 /* Work around unlink bugs.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/unlinkat.c b/gnu/unlinkat.c
index d55bce7d..2b301ce3 100644
--- a/gnu/unlinkat.c
+++ b/gnu/unlinkat.c
@@ -1,6 +1,6 @@
 /* Work around unlinkat bugs on Solaris 9 and Hurd.
 
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/unlinkdir.c b/gnu/unlinkdir.c
index 69f0984f..565f0c96 100644
--- a/gnu/unlinkdir.c
+++ b/gnu/unlinkdir.c
@@ -1,6 +1,6 @@
 /* unlinkdir.c - determine whether we can unlink directories
 
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/unlinkdir.h b/gnu/unlinkdir.h
index 3706cd99..44cd7778 100644
--- a/gnu/unlinkdir.h
+++ b/gnu/unlinkdir.h
@@ -1,6 +1,6 @@
 /* unlinkdir.h - determine (and maybe change) whether we can unlink directories
 
-   Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/unlocked-io.h b/gnu/unlocked-io.h
index be5d2b5d..ee1c0626 100644
--- a/gnu/unlocked-io.h
+++ b/gnu/unlocked-io.h
@@ -1,6 +1,6 @@
 /* Prefer faster, non-thread-safe stdio functions if available.
 
-   Copyright (C) 2001-2004, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/unsetenv.c b/gnu/unsetenv.c
index 05f4d8c1..0199280c 100644
--- a/gnu/unsetenv.c
+++ b/gnu/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2017 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2019 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
diff --git a/gnu/unused-parameter.h b/gnu/unused-parameter.h
index 8bd04b1f..5e57de19 100644
--- a/gnu/unused-parameter.h
+++ b/gnu/unused-parameter.h
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific function parameters are not used.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gnu/utime.c b/gnu/utime.c
index 6083e758..88973e13 100644
--- a/gnu/utime.c
+++ b/gnu/utime.c
@@ -1,5 +1,5 @@
 /* Work around platform bugs in utime.
-   Copyright (C) 2017 Free Software Foundation, Inc.
+   Copyright (C) 2017-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
 /* Specification.  */
 #include <utime.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 # include <errno.h>
 # include <stdbool.h>
diff --git a/gnu/utime.in.h b/gnu/utime.in.h
index bbf2aba1..f4b28046 100644
--- a/gnu/utime.in.h
+++ b/gnu/utime.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <utime.h>.
-   Copyright (C) 2017 Free Software Foundation, Inc.
+   Copyright (C) 2017-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 @@
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 /* Define 'struct utimbuf' as an alias of 'struct _utimbuf'
    (or possibly, if present, 'struct __utimbuf64').  */
diff --git a/gnu/utimens.c b/gnu/utimens.c
index 55545e8c..34689bcd 100644
--- a/gnu/utimens.c
+++ b/gnu/utimens.c
@@ -1,6 +1,6 @@
 /* Set file access and modification times.
 
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2019 Free Software Foundation, Inc.
 
    This 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
@@ -39,8 +39,7 @@
    GNU Emacs, which arranges for this in some other way and which
    defines WIN32_LEAN_AND_MEAN itself.  */
 
-#if ((defined _WIN32 || defined __WIN32__) \
-     && ! defined __CYGWIN__ && ! defined EMACS_CONFIGURATION)
+#if defined _WIN32 && ! defined __CYGWIN__ && ! defined EMACS_CONFIGURATION
 # define USE_SETFILETIME
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
@@ -92,11 +91,11 @@ validate_timespec (struct timespec timespec[2])
   if ((timespec[0].tv_nsec != UTIME_NOW
        && timespec[0].tv_nsec != UTIME_OMIT
        && ! (0 <= timespec[0].tv_nsec
-             && timespec[0].tv_nsec < TIMESPEC_RESOLUTION))
+             && timespec[0].tv_nsec < TIMESPEC_HZ))
       || (timespec[1].tv_nsec != UTIME_NOW
           && timespec[1].tv_nsec != UTIME_OMIT
           && ! (0 <= timespec[1].tv_nsec
-                && timespec[1].tv_nsec < TIMESPEC_RESOLUTION)))
+                && timespec[1].tv_nsec < TIMESPEC_HZ)))
     {
       errno = EINVAL;
       return -1;
diff --git a/gnu/utimens.h b/gnu/utimens.h
index f1dd9884..b1740960 100644
--- a/gnu/utimens.h
+++ b/gnu/utimens.h
@@ -1,6 +1,6 @@
 /* Set file access and modification times.
 
-   Copyright 2012-2017 Free Software Foundation, Inc.
+   Copyright 2012-2019 Free Software Foundation, Inc.
 
    This 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
diff --git a/gnu/utimensat.c b/gnu/utimensat.c
index 807c4605..e9ea626e 100644
--- a/gnu/utimensat.c
+++ b/gnu/utimensat.c
@@ -1,5 +1,5 @@
 /* Set the access and modification time of a file relative to directory fd.
-   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -94,10 +94,10 @@ rpl_utimensat (int fd, char const *file, struct timespec const times[2],
       else if (times
                && ((times[0].tv_nsec != UTIME_NOW
                     && ! (0 <= times[0].tv_nsec
-                          && times[0].tv_nsec < TIMESPEC_RESOLUTION))
+                          && times[0].tv_nsec < TIMESPEC_HZ))
                    || (times[1].tv_nsec != UTIME_NOW
                        && ! (0 <= times[1].tv_nsec
-                             && times[1].tv_nsec < TIMESPEC_RESOLUTION))))
+                             && times[1].tv_nsec < TIMESPEC_HZ))))
         {
           errno = EINVAL;
           return -1;
diff --git a/gnu/vasnprintf.c b/gnu/vasnprintf.c
index 2462d7d5..c4759037 100644
--- a/gnu/vasnprintf.c
+++ b/gnu/vasnprintf.c
@@ -1,5 +1,5 @@
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 1999, 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -860,7 +860,9 @@ convert_to_decimal (mpn_t a, size_t extra_zeroes)
   size_t a_len = a.nlimbs;
   /* 0.03345 is slightly larger than log(2)/(9*log(10)).  */
   size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1);
-  char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes));
+  /* We need extra_zeroes bytes for zeroes, followed by c_len bytes for the
+     digits of a, followed by 1 byte for the terminating NUL.  */
+  char *c_ptr = (char *) malloc (xsum (xsum (extra_zeroes, c_len), 1));
   if (c_ptr != NULL)
     {
       char *d_ptr = c_ptr;
@@ -2694,7 +2696,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                               errno = EILSEQ;
                               return NULL;
                             }
-                          if (precision < count)
+                          if (precision < (unsigned int) count)
                             break;
                           arg_end++;
                           characters += count;
@@ -4243,7 +4245,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                   static const wchar_t decimal_format[] =
                                     /* Produce the same number of exponent digits
                                        as the native printf implementation.  */
-#    if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#    if defined _WIN32 && ! defined __CYGWIN__
                                     { '%', '+', '.', '3', 'd', '\0' };
 #    else
                                     { '%', '+', '.', '2', 'd', '\0' };
@@ -4257,7 +4259,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                   static const char decimal_format[] =
                                     /* Produce the same number of exponent digits
                                        as the native printf implementation.  */
-#    if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#    if defined _WIN32 && ! defined __CYGWIN__
                                     "%+.3d";
 #    else
                                     "%+.2d";
@@ -4436,7 +4438,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                           static const wchar_t decimal_format[] =
                                             /* Produce the same number of exponent digits
                                                as the native printf implementation.  */
-#    if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#    if defined _WIN32 && ! defined __CYGWIN__
                                             { '%', '+', '.', '3', 'd', '\0' };
 #    else
                                             { '%', '+', '.', '2', 'd', '\0' };
@@ -4450,7 +4452,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                           static const char decimal_format[] =
                                             /* Produce the same number of exponent digits
                                                as the native printf implementation.  */
-#    if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#    if defined _WIN32 && ! defined __CYGWIN__
                                             "%+.3d";
 #    else
                                             "%+.2d";
@@ -4508,7 +4510,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                 *p++ = '+';
                                 /* Produce the same number of exponent digits as
                                    the native printf implementation.  */
-#   if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#   if defined _WIN32 && ! defined __CYGWIN__
                                 *p++ = '0';
 #   endif
                                 *p++ = '0';
@@ -4836,7 +4838,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 #if HAVE_LONG_LONG_INT
                   case TYPE_LONGLONGINT:
                   case TYPE_ULONGLONGINT:
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
                     *fbp++ = 'I';
                     *fbp++ = '6';
                     *fbp++ = '4';
@@ -4872,7 +4874,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 # if ! (((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3))        \
          && !defined __UCLIBC__)                                            \
         || (defined __APPLE__ && defined __MACH__)                          \
-        || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+        || (defined _WIN32 && ! defined __CYGWIN__))
                 fbp[1] = '%';
                 fbp[2] = 'n';
                 fbp[3] = '\0';
@@ -5125,7 +5127,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                       {
                         /* Verify that snprintf() has NUL-terminated its
                            result.  */
-                        if (count < maxlen
+                        if ((unsigned int) count < maxlen
                             && ((TCHAR_T *) (result + length)) [count] != '\0')
                           abort ();
                         /* Portability hack.  */
diff --git a/gnu/vasnprintf.h b/gnu/vasnprintf.h
index 6454e3f4..5b192b21 100644
--- a/gnu/vasnprintf.h
+++ b/gnu/vasnprintf.h
@@ -1,5 +1,5 @@
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 2002-2004, 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2004, 2007-2019 Free Software Foundation, Inc.
 
    This 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/gnu/vasprintf.c b/gnu/vasprintf.c
index 0963f27d..f5857ca1 100644
--- a/gnu/vasprintf.c
+++ b/gnu/vasprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/verify.h b/gnu/verify.h
index e0b48613..b2e5f644 100644
--- a/gnu/verify.h
+++ b/gnu/verify.h
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -276,7 +276,8 @@ template <int w>
      when 'assume' silences warnings even with older GCCs.  */
 # define assume(R) ((R) ? (void) 0 : __builtin_trap ())
 #else
-# define assume(R) ((void) (0 && (R)))
+  /* Some tools grok NOTREACHED, e.g., Oracle Studio 12.6.  */
+# define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0)
 #endif
 
 /* @assert.h omit end@  */
diff --git a/gnu/version-etc-fsf.c b/gnu/version-etc-fsf.c
index 52900785..b00819d1 100644
--- a/gnu/version-etc-fsf.c
+++ b/gnu/version-etc-fsf.c
@@ -1,5 +1,5 @@
 /* Variable with FSF copyright information, for version-etc.
-   Copyright (C) 1999-2006, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999-2006, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/version-etc.c b/gnu/version-etc.c
index 703740ca..9ca9a562 100644
--- a/gnu/version-etc.c
+++ b/gnu/version-etc.c
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999-2019 Free Software Foundation, Inc.
 
    This 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,6 @@
 
 #include <stdarg.h>
 #include <stdio.h>
-#include <stdlib.h>
 
 #if USE_UNLOCKED_IO
 # include "unlocked-io.h"
@@ -38,7 +37,7 @@
 # define PACKAGE PACKAGE_TARNAME
 #endif
 
-enum { COPYRIGHT_YEAR = 2017 };
+enum { COPYRIGHT_YEAR = 2019 };
 
 /* The three functions below display the --version information the
    standard way.
@@ -95,8 +94,9 @@ There is NO WARRANTY, to the extent permitted by law.\n\
   switch (n_authors)
     {
     case 0:
-      /* The caller must provide at least one author name.  */
-      abort ();
+      /* No authors are given.  The caller should output authorship
+         info after calling this function.  */
+      break;
     case 1:
       /* TRANSLATORS: %s denotes an author name.  */
       fprintf (stream, _("Written by %s.\n"), authors[0]);
diff --git a/gnu/version-etc.h b/gnu/version-etc.h
index c7323b85..225cfcdd 100644
--- a/gnu/version-etc.h
+++ b/gnu/version-etc.h
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999, 2003, 2005, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2005, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/vsnprintf.c b/gnu/vsnprintf.c
index 5aafe286..6a209f73 100644
--- a/gnu/vsnprintf.c
+++ b/gnu/vsnprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 2004, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2019 Free Software Foundation, Inc.
    Written by Simon Josefsson and Yoann Vandoorselaere <yoann@prelude-ids.org>.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gnu/warn-on-use.h b/gnu/warn-on-use.h
index cae8c3ee..7d11a156 100644
--- a/gnu/warn-on-use.h
+++ b/gnu/warn-on-use.h
@@ -1,5 +1,5 @@
 /* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2010-2019 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
@@ -20,23 +20,32 @@
    supported by the compiler.  If the compiler does not support this
    feature, the macro expands to an unused extern declaration.
 
-   This macro is useful for marking a function as a potential
+   _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
+   attribute used in _GL_WARN_ON_USE.  If the compiler does not support
+   this feature, it expands to empty.
+
+   These macros are useful for marking a function as a potential
    portability trap, with the intent that "literal string" include
    instructions on the replacement function that should be used
-   instead.  However, one of the reasons that a function is a
-   portability trap is if it has the wrong signature.  Declaring
-   FUNCTION with a different signature in C is a compilation error, so
-   this macro must use the same type as any existing declaration so
-   that programs that avoid the problematic FUNCTION do not fail to
-   compile merely because they included a header that poisoned the
-   function.  But this implies that _GL_WARN_ON_USE is only safe to
-   use if FUNCTION is known to already have a declaration.  Use of
-   this macro implies that there must not be any other macro hiding
-   the declaration of FUNCTION; but undefining FUNCTION first is part
-   of the poisoning process anyway (although for symbols that are
-   provided only via a macro, the result is a compilation error rather
-   than a warning containing "literal string").  Also note that in
-   C++, it is only safe to use if FUNCTION has no overloads.
+   instead.
+   _GL_WARN_ON_USE is for functions with 'extern' linkage.
+   _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
+   linkage.
+
+   However, one of the reasons that a function is a portability trap is
+   if it has the wrong signature.  Declaring FUNCTION with a different
+   signature in C is a compilation error, so this macro must use the
+   same type as any existing declaration so that programs that avoid
+   the problematic FUNCTION do not fail to compile merely because they
+   included a header that poisoned the function.  But this implies that
+   _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
+   have a declaration.  Use of this macro implies that there must not
+   be any other macro hiding the declaration of FUNCTION; but
+   undefining FUNCTION first is part of the poisoning process anyway
+   (although for symbols that are provided only via a macro, the result
+   is a compilation error rather than a warning containing
+   "literal string").  Also note that in C++, it is only safe to use if
+   FUNCTION has no overloads.
 
    For an example, it is possible to poison 'getline' by:
    - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
@@ -54,12 +63,21 @@
    (less common usage, like &environ, will cause a compilation error
    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 char ***rpl_environ (void) { return &environ; }
-   _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
-   # undef environ
-   # define environ (*rpl_environ ())
-   #endif
+     #if HAVE_RAW_DECL_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 ())
+     #endif
+   or better (avoiding contradictory use of 'static' and 'extern'):
+     #if HAVE_RAW_DECL_ENVIRON
+     static char ***
+     _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
+     rpl_environ (void) { return &environ; }
+     # undef environ
+     # define environ (*rpl_environ ())
+     #endif
    */
 #ifndef _GL_WARN_ON_USE
 
@@ -67,13 +85,17 @@
 /* A compiler attribute is available in gcc versions 4.3.0 and later.  */
 #  define _GL_WARN_ON_USE(function, message) \
 extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message) \
+  __attribute__ ((__warning__ (message)))
 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
 /* Verify the existence of the function.  */
 #  define _GL_WARN_ON_USE(function, message) \
 extern __typeof__ (function) function
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message)
 # else /* Unsupported.  */
 #  define _GL_WARN_ON_USE(function, message) \
 _GL_WARN_EXTERN_C int _gl_warn_on_use
+#  define _GL_WARN_ON_USE_ATTRIBUTE(message)
 # endif
 #endif
 
diff --git a/gnu/wchar.in.h b/gnu/wchar.in.h
index b3c4b1ef..17d56912 100644
--- a/gnu/wchar.in.h
+++ b/gnu/wchar.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2017 Free Software Foundation, Inc.
+   Copyright (C) 2007-2019 Free Software Foundation, Inc.
 
    This 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/gnu/wcrtomb.c b/gnu/wcrtomb.c
index e9f98463..9fc40cfc 100644
--- a/gnu/wcrtomb.c
+++ b/gnu/wcrtomb.c
@@ -1,5 +1,5 @@
 /* Convert wide character to multibyte character.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 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/gnu/wctype.in.h b/gnu/wctype.in.h
index f0903870..0a7471fd 100644
--- a/gnu/wctype.in.h
+++ b/gnu/wctype.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
 
-   Copyright (C) 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -60,7 +60,7 @@
    isw* functions in <ctype.h>, <wchar.h> as well as in <wctype.h>.  Include
    <ctype.h>, <wchar.h> in advance to avoid rpl_ prefix being added to the
    declarations.  */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # include <ctype.h>
 # include <wchar.h>
 #endif
diff --git a/gnu/wcwidth.c b/gnu/wcwidth.c
index cb2e07f3..1f081cca 100644
--- a/gnu/wcwidth.c
+++ b/gnu/wcwidth.c
@@ -1,5 +1,5 @@
 /* Determine the number of screen columns needed for a character.
-   Copyright (C) 2006-2007, 2010-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2010-2019 Free Software Foundation, Inc.
 
    This 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,17 +26,40 @@
 #include "streq.h"
 #include "uniwidth.h"
 
+/* Returns 1 if the current locale is an UTF-8 locale, 0 otherwise.  */
+static inline int
+is_locale_utf8 (void)
+{
+  const char *encoding = locale_charset ();
+  return STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0);
+}
+
+#if GNULIB_WCHAR_SINGLE
+/* When we know that the locale does not change, provide a speedup by
+   caching the value of is_locale_utf8.  */
+static int cached_is_locale_utf8 = -1;
+static inline int
+is_locale_utf8_cached (void)
+{
+  if (cached_is_locale_utf8 < 0)
+    cached_is_locale_utf8 = is_locale_utf8 ();
+  return cached_is_locale_utf8;
+}
+#else
+/* By default, don't make assumptions, hence no caching.  */
+# define is_locale_utf8_cached is_locale_utf8
+#endif
+
 int
 wcwidth (wchar_t wc)
 #undef wcwidth
 {
   /* In UTF-8 locales, use a Unicode aware width function.  */
-  const char *encoding = locale_charset ();
-  if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0 ,0))
+  if (is_locale_utf8_cached ())
     {
       /* We assume that in a UTF-8 locale, a wide character is the same as a
          Unicode character.  */
-      return uc_width (wc, encoding);
+      return uc_width (wc, "UTF-8");
     }
   else
     {
diff --git a/gnu/write.c b/gnu/write.c
index 91b59917..ffa0d068 100644
--- a/gnu/write.c
+++ b/gnu/write.c
@@ -1,5 +1,5 @@
 /* POSIX compatible write() function.
-   Copyright (C) 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2008-2019 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -25,7 +25,7 @@
    GetLastError() = ERROR_NO_DATA, and write() in consequence fails with
    error EINVAL.  */
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 
 # include <errno.h>
 # include <signal.h>
diff --git a/gnu/xalloc-die.c b/gnu/xalloc-die.c
index 3626c8b5..295f8d8e 100644
--- a/gnu/xalloc-die.c
+++ b/gnu/xalloc-die.c
@@ -1,6 +1,6 @@
 /* Report a memory allocation failure and exit.
 
-   Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2017 Free Software
+   Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xalloc-oversized.h b/gnu/xalloc-oversized.h
index ae4fbc77..e3068c83 100644
--- a/gnu/xalloc-oversized.h
+++ b/gnu/xalloc-oversized.h
@@ -1,6 +1,6 @@
 /* xalloc-oversized.h -- memory allocation size checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/xalloc.h b/gnu/xalloc.h
index 4f675e0a..fc7e86bd 100644
--- a/gnu/xalloc.h
+++ b/gnu/xalloc.h
@@ -1,6 +1,6 @@
 /* xalloc.h -- malloc with out-of-memory checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2019 Free Software Foundation, Inc.
 
    This 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,6 @@ extern "C" {
 #endif
 
 
-#if __GNUC__ >= 3
-# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
-#else
-# define _GL_ATTRIBUTE_MALLOC
-#endif
-
 #if ! defined __clang__ && \
     (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
 # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
diff --git a/gnu/xasprintf.c b/gnu/xasprintf.c
index 6de3c359..8188983f 100644
--- a/gnu/xasprintf.c
+++ b/gnu/xasprintf.c
@@ -1,5 +1,5 @@
 /* vasprintf and asprintf with out-of-memory checking.
-   Copyright (C) 1999, 2002-2004, 2006, 2009-2017 Free Software Foundation,
+   Copyright (C) 1999, 2002-2004, 2006, 2009-2019 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xgetcwd.c b/gnu/xgetcwd.c
index 25fa6560..acbbe1cb 100644
--- a/gnu/xgetcwd.c
+++ b/gnu/xgetcwd.c
@@ -1,6 +1,6 @@
 /* xgetcwd.c -- return current directory with unlimited length
 
-   Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2017 Free Software
+   Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xgetcwd.h b/gnu/xgetcwd.h
index 2064d9bd..18b5b9fd 100644
--- a/gnu/xgetcwd.h
+++ b/gnu/xgetcwd.h
@@ -1,5 +1,5 @@
 /* prototype for xgetcwd
-   Copyright (C) 1995, 2001, 2003, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001, 2003, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/xmalloc.c b/gnu/xmalloc.c
index c8dbc610..cbe9a4f5 100644
--- a/gnu/xmalloc.c
+++ b/gnu/xmalloc.c
@@ -1,6 +1,6 @@
 /* xmalloc.c -- malloc with out of memory checking
 
-   Copyright (C) 1990-2000, 2002-2006, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2002-2006, 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/xsize.h b/gnu/xsize.h
index becaea17..ecfd478d 100644
--- a/gnu/xsize.h
+++ b/gnu/xsize.h
@@ -1,6 +1,6 @@
 /* xsize.h -- Checked size_t computations.
 
-   Copyright (C) 2003, 2008-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2008-2019 Free Software Foundation, Inc.
 
    This 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/gnu/xstrndup.c b/gnu/xstrndup.c
index c63d7411..a9738291 100644
--- a/gnu/xstrndup.c
+++ b/gnu/xstrndup.c
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2006-2007, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2019 Free Software Foundation, Inc.
 
    This 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/gnu/xstrndup.h b/gnu/xstrndup.h
index 0da5449c..360ccfdb 100644
--- a/gnu/xstrndup.h
+++ b/gnu/xstrndup.h
@@ -1,6 +1,6 @@
 /* Duplicate a bounded initial segment of a string, with out-of-memory
    checking.
-   Copyright (C) 2003, 2009-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2009-2019 Free Software Foundation, Inc.
 
    This 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,4 +20,4 @@
 /* Return a newly allocated copy of at most N bytes of STRING.
    In other words, return a copy of the initial segment of length N of
    STRING.  */
-extern char *xstrndup (const char *string, size_t n);
+extern char *xstrndup (const char *string, size_t n) _GL_ATTRIBUTE_MALLOC;
diff --git a/gnu/xstrtol-error.c b/gnu/xstrtol-error.c
index 98016d68..a0d10c28 100644
--- a/gnu/xstrtol-error.c
+++ b/gnu/xstrtol-error.c
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2017 Free Software
+   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xstrtol.c b/gnu/xstrtol.c
index 4ff6034c..ab73d040 100644
--- a/gnu/xstrtol.c
+++ b/gnu/xstrtol.c
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2017 Free Software
+   Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -41,20 +41,8 @@
 #include <string.h>
 
 #include "assure.h"
-#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
+#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
 
 static strtol_error
 bkm_scale (__strtol_t *x, int scale_factor)
diff --git a/gnu/xstrtol.h b/gnu/xstrtol.h
index 00ba14d2..fff320d5 100644
--- a/gnu/xstrtol.h
+++ b/gnu/xstrtol.h
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2017 Free Software
+   Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2019 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xvasprintf.c b/gnu/xvasprintf.c
index f165a384..17b053a3 100644
--- a/gnu/xvasprintf.c
+++ b/gnu/xvasprintf.c
@@ -1,5 +1,5 @@
 /* vasprintf and asprintf with out-of-memory checking.
-   Copyright (C) 1999, 2002-2004, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2004, 2006-2019 Free Software Foundation, Inc.
 
    This 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/gnu/xvasprintf.h b/gnu/xvasprintf.h
index 453f7acb..d4debcca 100644
--- a/gnu/xvasprintf.h
+++ b/gnu/xvasprintf.h
@@ -1,5 +1,5 @@
 /* vasprintf and asprintf with out-of-memory checking.
-   Copyright (C) 2002-2004, 2006-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2004, 2006-2019 Free Software Foundation, Inc.
 
    This 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/Makefile.am b/lib/Makefile.am
index cc108feb..21b0ae85 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,7 +1,6 @@
 # Makefile for GNU tar library.			-*- Makefile -*-
 
-# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014,
-# 2016-2017 Free Software Foundation, Inc.
+# Copyright 1994-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 91b399a9..52a0dc06 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,8 +16,7 @@
 
 # Makefile for GNU tar library.			-*- Makefile -*-
 
-# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014,
-# 2016-2017 Free Software Foundation, Inc.
+# Copyright 1994-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -36,7 +35,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -100,13 +109,11 @@ build_triplet = @build@
 host_triplet = @host@
 @TAR_COND_XATTR_H_FALSE@am__append_1 = attr/xattr.h
 subdir = lib
-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/__inline.m4 \
 	$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
 	$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
-	$(top_srcdir)/m4/asm-underscore.m4 \
 	$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
 	$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
 	$(top_srcdir)/m4/canonicalize.m4 \
@@ -126,11 +133,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/extern-inline.m4 \
 	$(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
 	$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
-	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
-	$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
-	$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
-	$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
-	$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
+	$(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+	$(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fileblocks.m4 \
+	$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
+	$(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+	$(top_srcdir)/m4/fnmatch_h.m4 $(top_srcdir)/m4/fpending.m4 \
 	$(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \
 	$(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \
 	$(top_srcdir)/m4/futimens.m4 \
@@ -144,7 +152,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
 	$(top_srcdir)/m4/gnulib-comp.m4 \
 	$(top_srcdir)/m4/group-member.m4 \
-	$(top_srcdir)/m4/hard-locale.m4 \
 	$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/human.m4 \
 	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
 	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
@@ -239,6 +246,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -309,6 +318,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -400,6 +411,7 @@ GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
 GNULIB_FGETC = @GNULIB_FGETC@
 GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FNMATCH = @GNULIB_FNMATCH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
 GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -432,6 +444,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -448,6 +461,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
 GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -686,6 +700,7 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -709,6 +724,9 @@ HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FNMATCH = @HAVE_FNMATCH@
+HAVE_FNMATCH_H = @HAVE_FNMATCH_H@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -721,13 +739,16 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -760,6 +781,7 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OPENDIR = @HAVE_OPENDIR@
@@ -830,7 +852,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_TRUNCATE = @HAVE_TRUNCATE@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
@@ -885,8 +906,6 @@ HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
-HOST_CPU = @HOST_CPU@
-HOST_CPU_C_ABI = @HOST_CPU_C_ABI@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -931,6 +950,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 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_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_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@
@@ -958,6 +978,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_FNMATCH_H = @NEXT_FNMATCH_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
@@ -1018,9 +1039,11 @@ REPLACE_FCNTL = @REPLACE_FCNTL@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FNMATCH = @REPLACE_FNMATCH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1038,6 +1061,7 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ISATTY = @REPLACE_ISATTY@
@@ -1068,6 +1092,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1289,7 +1314,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits lib/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1549,6 +1573,8 @@ uninstall-am:
 	mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
+.PRECIOUS: Makefile
+
 rmt-command.h : Makefile
 	$(AM_V_GEN)rm -f $@-t $@
 	$(AM_V_at)echo "#ifndef DEFAULT_RMT_COMMAND" >> $@-t
diff --git a/lib/attr-xattr.in.h b/lib/attr-xattr.in.h
index 5052aee6..62ea723c 100644
--- a/lib/attr-xattr.in.h
+++ b/lib/attr-xattr.in.h
@@ -1,5 +1,5 @@
 /* Replacement <attr/xattr.h> for platforms that lack it.
-   Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 2012-2019 Free Software Foundation, Inc.
 
    This 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/stdopen.c b/lib/stdopen.c
index bb9ba601..0e4f724c 100644
--- a/lib/stdopen.c
+++ b/lib/stdopen.c
@@ -1,7 +1,6 @@
 /* stdopen.c - ensure that the three standard file descriptors are in use
 
-   Copyright 2005, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-   Inc.
+   Copyright 2005-2019 Free Software Foundation, Inc.
 
    This 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/wordsplit.c b/lib/wordsplit.c
index f2ecadaf..661a4f8b 100644
--- a/lib/wordsplit.c
+++ b/lib/wordsplit.c
@@ -1,5 +1,5 @@
 /* wordsplit - a word splitter
-   Copyright (C) 2009-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2018 Sergey Poznyakoff
 
    This 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
@@ -12,10 +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, see <http://www.gnu.org/licenses/>.
-
-   Written by Sergey Poznyakoff
-*/
+   with this program. If not, see <http://www.gnu.org/licenses/>. */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -28,6 +25,8 @@
 #include <string.h>
 #include <stdio.h>
 #include <stdarg.h>
+#include <pwd.h>
+#include <glob.h>
 
 #if ENABLE_NLS
 # include <gettext.h>
@@ -37,6 +36,14 @@
 #define _(msgid) gettext (msgid)
 #define N_(msgid) msgid
 
+#ifndef FALLTHROUGH
+# if __GNUC__ < 7
+#  define FALLTHROUGH ((void) 0)
+# else
+#  define FALLTHROUGH __attribute__ ((__fallthrough__))
+# endif
+#endif
+
 #include <wordsplit.h>
 
 #define ISWS(c) ((c)==' '||(c)=='\t'||(c)=='\n')
@@ -51,13 +58,19 @@
 #define ISALNUM(c) (ISALPHA(c) || ISDIGIT(c))
 #define ISPRINT(c) (' ' <= ((unsigned) (c)) && ((unsigned) (c)) <= 127)
 
+#define ISVARBEG(c) (ISALPHA(c) || c == '_')
+#define ISVARCHR(c) (ISALNUM(c) || c == '_')
+
+#define WSP_RETURN_DELIMS(wsp) \
+ ((wsp)->ws_flags & WRDSF_RETURN_DELIMS || ((wsp)->ws_options & WRDSO_MAXWORDS))
+
 #define ALLOC_INIT 128
 #define ALLOC_INCR 128
 
 static void
 _wsplt_alloc_die (struct wordsplit *wsp)
 {
-  wsp->ws_error (_("memory exhausted"));
+  wsp->ws_error ("%s", _("memory exhausted"));
   abort ();
 }
 
@@ -74,6 +87,15 @@ _wsplt_error (const char *fmt, ...)
 
 static void wordsplit_free_nodes (struct wordsplit *);
 
+static int
+_wsplt_seterr (struct wordsplit *wsp, int ec)
+{
+  wsp->ws_errno = ec;
+  if (wsp->ws_flags & WRDSF_SHOWERR)
+    wordsplit_perror (wsp);
+  return ec;
+}
+  
 static int
 _wsplt_nomem (struct wordsplit *wsp)
 {
@@ -89,6 +111,84 @@ _wsplt_nomem (struct wordsplit *wsp)
   return wsp->ws_errno;
 }
 
+static int wordsplit_run (const char *command, size_t length,
+			  struct wordsplit *wsp,
+			  unsigned flags, int lvl);
+
+static int wordsplit_init (struct wordsplit *wsp, const char *input, size_t len,
+			   unsigned flags);
+static int wordsplit_process_list (struct wordsplit *wsp, size_t start);
+static int wordsplit_finish (struct wordsplit *wsp);
+
+static int
+_wsplt_subsplit (struct wordsplit *wsp, struct wordsplit *wss,
+		 char const *str, int len,
+		 unsigned flags, int finalize)
+{
+  int rc;
+  
+  wss->ws_delim = wsp->ws_delim;
+  wss->ws_debug = wsp->ws_debug;
+  wss->ws_error = wsp->ws_error;
+  wss->ws_alloc_die = wsp->ws_alloc_die;
+
+  if (!(flags & WRDSF_NOVAR))
+    {
+      wss->ws_env = wsp->ws_env;
+      wss->ws_getvar = wsp->ws_getvar;
+      flags |= wsp->ws_flags & (WRDSF_ENV | WRDSF_ENV_KV | WRDSF_GETVAR);
+    }
+  if (!(flags & WRDSF_NOCMD))
+    {
+      wss->ws_command = wsp->ws_command;
+    }
+
+  if ((flags & (WRDSF_NOVAR|WRDSF_NOCMD)) != (WRDSF_NOVAR|WRDSF_NOCMD))
+    {
+      wss->ws_closure = wsp->ws_closure;
+      flags |= wsp->ws_flags & WRDSF_CLOSURE;
+    }
+
+  wss->ws_options = wsp->ws_options;
+  
+  flags |= WRDSF_DELIM
+         | WRDSF_ALLOC_DIE
+         | WRDSF_ERROR
+         | WRDSF_DEBUG
+         | (wsp->ws_flags & (WRDSF_SHOWDBG | WRDSF_SHOWERR | WRDSF_OPTIONS));
+
+  rc = wordsplit_init (wss, str, len, flags);
+  if (rc)
+    return rc;
+  wss->ws_lvl = wsp->ws_lvl + 1;
+  rc = wordsplit_process_list (wss, 0);
+  if (rc)
+    {
+      wordsplit_free_nodes (wss);
+      return rc;
+    }
+  if (finalize)
+    {
+      rc = wordsplit_finish (wss);
+      wordsplit_free_nodes (wss);
+    }
+  return rc;
+}
+
+static void
+_wsplt_seterr_sub (struct wordsplit *wsp, struct wordsplit *wss)
+{
+  if (wsp->ws_errno == WRDSE_USERERR)
+    free (wsp->ws_usererr);
+  wsp->ws_errno = wss->ws_errno;
+  if (wss->ws_errno == WRDSE_USERERR)
+    {
+      wsp->ws_usererr = wss->ws_usererr;
+      wss->ws_errno = WRDSE_EOF;
+      wss->ws_usererr = NULL;
+    }
+}
+
 static void
 wordsplit_init0 (struct wordsplit *wsp)
 {
@@ -96,6 +196,7 @@ wordsplit_init0 (struct wordsplit *wsp)
     {
       if (!(wsp->ws_flags & WRDSF_APPEND))
 	wordsplit_free_words (wsp);
+      wordsplit_clearerr (wsp);
     }
   else
     {
@@ -105,12 +206,13 @@ wordsplit_init0 (struct wordsplit *wsp)
     }
 
   wsp->ws_errno = 0;
-  wsp->ws_head = wsp->ws_tail = NULL;
 }
 
+char wordsplit_c_escape_tab[] = "\\\\\"\"a\ab\bf\fn\nr\rt\tv\v";
+  
 static int
 wordsplit_init (struct wordsplit *wsp, const char *input, size_t len,
-		int flags)
+		unsigned flags)
 {
   wsp->ws_flags = flags;
 
@@ -119,23 +221,21 @@ wordsplit_init (struct wordsplit *wsp, const char *input, size_t len,
   if (!(wsp->ws_flags & WRDSF_ERROR))
     wsp->ws_error = _wsplt_error;
 
-  if (!(wsp->ws_flags & WRDSF_NOVAR)
-      && !(wsp->ws_flags & (WRDSF_ENV | WRDSF_GETVAR)))
+  if (!(wsp->ws_flags & WRDSF_NOVAR))
     {
-      errno = EINVAL;
-      wsp->ws_errno = WRDSE_USAGE;
-      if (wsp->ws_flags & WRDSF_SHOWERR)
-	wordsplit_perror (wsp);
-      return wsp->ws_errno;
+      /* These will be initialized on first variable assignment */
+      wsp->ws_envidx = wsp->ws_envsiz = 0;
+      wsp->ws_envbuf = NULL;
     }
 
   if (!(wsp->ws_flags & WRDSF_NOCMD))
     {
-      errno = EINVAL;
-      wsp->ws_errno = WRDSE_NOSUPP;
-      if (wsp->ws_flags & WRDSF_SHOWERR)
-	wordsplit_perror (wsp);
-      return wsp->ws_errno;
+      if (!wsp->ws_command)
+	{
+	  _wsplt_seterr (wsp, WRDSE_USAGE);
+	  errno = EINVAL;
+	  return wsp->ws_errno;
+	}
     }
 
   if (wsp->ws_flags & WRDSF_SHOWDBG)
@@ -166,10 +266,42 @@ wordsplit_init (struct wordsplit *wsp, const char *input, size_t len,
   if (!(wsp->ws_flags & WRDSF_CLOSURE))
     wsp->ws_closure = NULL;
 
+  if (!(wsp->ws_flags & WRDSF_OPTIONS))
+    wsp->ws_options = 0;
+
+  if (wsp->ws_flags & WRDSF_ESCAPE)
+    {
+      if (!wsp->ws_escape[WRDSX_WORD])
+	wsp->ws_escape[WRDSX_WORD] = "";
+      if (!wsp->ws_escape[WRDSX_QUOTE])
+	wsp->ws_escape[WRDSX_QUOTE] = "";
+    }
+  else
+    {
+      if (wsp->ws_flags & WRDSF_CESCAPES)
+	{
+	  wsp->ws_escape[WRDSX_WORD] = wordsplit_c_escape_tab;
+	  wsp->ws_escape[WRDSX_QUOTE] = wordsplit_c_escape_tab;
+	  wsp->ws_options |= WRDSO_OESC_QUOTE | WRDSO_OESC_WORD       
+	                     | WRDSO_XESC_QUOTE | WRDSO_XESC_WORD;
+	}
+      else
+	{
+	  wsp->ws_escape[WRDSX_WORD] = "";
+	  wsp->ws_escape[WRDSX_QUOTE] = "\\\\\"\"";
+	  wsp->ws_options |= WRDSO_BSKEEP_QUOTE;
+	}
+    }
+  
   wsp->ws_endp = 0;
+  wsp->ws_wordi = 0;
 
+  if (wsp->ws_flags & WRDSF_REUSE)
+    wordsplit_free_nodes (wsp);
+  wsp->ws_head = wsp->ws_tail = NULL;
+  
   wordsplit_init0 (wsp);
-
+  
   return 0;
 }
 
@@ -212,6 +344,7 @@ alloc_space (struct wordsplit *wsp, size_t count)
 #define _WSNF_NOEXPAND 0x08	/* text is not subject to expansion */
 #define _WSNF_JOIN     0x10	/* node must be joined with the next node */
 #define _WSNF_SEXP     0x20	/* is a sed expression */
+#define _WSNF_DELIM    0x40     /* node is a delimiter */
 
 #define _WSNF_EMPTYOK  0x0100	/* special flag indicating that
 				   wordsplit_add_segm must add the
@@ -234,9 +367,9 @@ struct wordsplit_node
 };
 
 static const char *
-wsnode_flagstr (int flags)
+wsnode_flagstr (unsigned flags)
 {
-  static char retbuf[6];
+  static char retbuf[7];
   char *p = retbuf;
 
   if (flags & _WSNF_WORD)
@@ -261,6 +394,10 @@ wsnode_flagstr (int flags)
     *p++ = 's';
   else
     *p++ = '-';
+  if (flags & _WSNF_DELIM)
+    *p++ = 'd';
+  else
+    *p++ = '-';
   *p = 0;
   return retbuf;
 }
@@ -341,6 +478,14 @@ wsnode_remove (struct wordsplit *wsp, struct wordsplit_node *node)
   node->next = node->prev = NULL;
 }
 
+static struct wordsplit_node *
+wsnode_tail (struct wordsplit_node *p)
+{
+  while (p && p->next)
+    p = p->next;
+  return p;
+}
+
 static void
 wsnode_insert (struct wordsplit *wsp, struct wordsplit_node *node,
 	       struct wordsplit_node *anchor, int before)
@@ -356,22 +501,24 @@ wsnode_insert (struct wordsplit *wsp, struct wordsplit_node *node,
 	wsnode_insert (wsp, node, anchor->prev, 0);
       else
 	{
+	  struct wordsplit_node *tail = wsnode_tail (node);
 	  node->prev = NULL;
-	  node->next = anchor;
-	  anchor->prev = node;
+	  tail->next = anchor;
+	  anchor->prev = tail;
 	  wsp->ws_head = node;
 	}
     }
   else
     {
       struct wordsplit_node *p;
+      struct wordsplit_node *tail = wsnode_tail (node);
 
       p = anchor->next;
       if (p)
-	p->prev = node;
+	p->prev = tail;
       else
-	wsp->ws_tail = node;
-      node->next = p;
+	wsp->ws_tail = tail;
+      tail->next = p;
       node->prev = anchor;
       anchor->next = node;
     }
@@ -418,10 +565,12 @@ wordsplit_dump_nodes (struct wordsplit *wsp)
   for (p = wsp->ws_head, n = 0; p; p = p->next, n++)
     {
       if (p->flags & _WSNF_WORD)
-	wsp->ws_debug ("%4d: %p: %#04x (%s):%s;",
+	wsp->ws_debug ("(%02d) %4d: %p: %#04x (%s):%s;",
+		       wsp->ws_lvl,
 		       n, p, p->flags, wsnode_flagstr (p->flags), p->v.word);
       else
-	wsp->ws_debug ("%4d: %p: %#04x (%s):%.*s;",
+	wsp->ws_debug ("(%02d) %4d: %p: %#04x (%s):%.*s;",
+		       wsp->ws_lvl,
 		       n, p, p->flags, wsnode_flagstr (p->flags),
 		       (int) (p->v.segm.end - p->v.segm.beg),
 		       wsp->ws_input + p->v.segm.beg);
@@ -436,11 +585,15 @@ coalesce_segment (struct wordsplit *wsp, struct wordsplit_node *node)
   char *buf, *cur;
   int stop;
 
+  if (!(node->flags & _WSNF_JOIN))
+    return 0;
+  
   for (p = node; p && (p->flags & _WSNF_JOIN); p = p->next)
     {
       len += wsnode_len (p);
     }
-  len += wsnode_len (p);
+  if (p)
+    len += wsnode_len (p);
   end = p;
 
   buf = malloc (len + 1);
@@ -459,6 +612,7 @@ coalesce_segment (struct wordsplit *wsp, struct wordsplit_node *node)
       cur += slen;
       if (p != node)
 	{
+	  node->flags |= p->flags & _WSNF_QUOTE;
 	  wsnode_remove (wsp, p);
 	  stop = p == end;
 	  wsnode_free (p);
@@ -478,13 +632,14 @@ coalesce_segment (struct wordsplit *wsp, struct wordsplit_node *node)
   return 0;
 }
 
+static void wordsplit_string_unquote_copy (struct wordsplit *ws, int inquote,
+					   char *dst, const char *src,
+					   size_t n);
+
 static int
 wsnode_quoteremoval (struct wordsplit *wsp)
 {
   struct wordsplit_node *p;
-  void (*uqfn) (char *, const char *, size_t) =
-    (wsp->ws_flags & WRDSF_CESCAPES) ?
-    wordsplit_c_unquote_copy : wordsplit_sh_unquote_copy;
 
   for (p = wsp->ws_head; p; p = p->next)
     {
@@ -493,9 +648,7 @@ wsnode_quoteremoval (struct wordsplit *wsp)
       int unquote;
 
       if (wsp->ws_flags & WRDSF_QUOTE)
-	{
-	  unquote = !(p->flags & _WSNF_NOEXPAND);
-	}
+	unquote = !(p->flags & _WSNF_NOEXPAND);
       else
 	unquote = 0;
 
@@ -512,11 +665,8 @@ wsnode_quoteremoval (struct wordsplit *wsp)
 	      p->flags |= _WSNF_WORD;
 	    }
 
-	  if (wsp->ws_flags & WRDSF_ESCAPE)
-	    wordsplit_general_unquote_copy (p->v.word, str, slen,
-				            wsp->ws_escape);
-	  else
-	    uqfn (p->v.word, str, slen);
+	  wordsplit_string_unquote_copy (wsp, p->flags & _WSNF_QUOTE,
+					 p->v.word, str, slen);
 	}
     }
   return 0;
@@ -536,24 +686,161 @@ wsnode_coalesce (struct wordsplit *wsp)
   return 0;
 }
 
+static int
+wsnode_tail_coalesce (struct wordsplit *wsp, struct wordsplit_node *p)
+{
+  if (p->next)
+    {
+      struct wordsplit_node *np = p;
+      while (np && np->next)
+	{
+	  np->flags |= _WSNF_JOIN;
+	  np = np->next;
+	}
+      if (coalesce_segment (wsp, p))
+	return 1;
+    }
+  return 0;
+}
+
+static size_t skip_delim (struct wordsplit *wsp);
+
 static int
 wordsplit_finish (struct wordsplit *wsp)
 {
   struct wordsplit_node *p;
   size_t n;
+  int delim;
 
-  n = 0;
+  /* Postprocess delimiters. It would be rather simple, if it weren't for
+     the incremental operation.
 
-  for (p = wsp->ws_head; p; p = p->next)
-    n++;
+     Nodes of type _WSNF_DELIM get inserted to the node list if either
+     WRDSF_RETURN_DELIMS flag or WRDSO_MAXWORDS option is set.
+     
+     The following cases should be distinguished:
+
+     1. If both WRDSF_SQUEEZE_DELIMS and WRDSF_RETURN_DELIMS are set, compress
+        any runs of similar delimiter nodes to a single node. The nodes are
+	'similar' if they point to the same delimiter character.
+
+	If WRDSO_MAXWORDS option is set, stop compressing when
+	ws_wordi + 1 == ws_maxwords, and coalesce the rest of nodes into
+	a single last node.
+
+     2. If WRDSO_MAXWORDS option is set, but WRDSF_RETURN_DELIMS is not,
+        remove any delimiter nodes. Stop operation when
+	ws_wordi + 1 == ws_maxwords, and coalesce the rest of nodes into
+	a single last node.
+
+     3. If incremental operation is in progress, restart the loop any time
+        a delimiter node is about to be returned, unless WRDSF_RETURN_DELIMS
+	is set.
+  */
+ again:
+  delim = 0;         /* Delimiter being processed (if any) */
+  n = 0;             /* Number of words processed so far */
+  p = wsp->ws_head;  /* Current node */
+
+  while (p)
+    {
+      struct wordsplit_node *next = p->next;
+      if (p->flags & _WSNF_DELIM)
+	{
+	  if (wsp->ws_flags & WRDSF_RETURN_DELIMS)
+	    {
+	      if (wsp->ws_flags & WRDSF_SQUEEZE_DELIMS)
+		{
+		  char const *s = wsnode_ptr (wsp, p);
+		  if (delim)
+		    {
+		      if (delim == *s)
+			{
+			  wsnode_remove (wsp, p);
+			  p = next;
+			  continue;
+			}
+		      else
+			{
+			  delim = 0;
+			  n++; /* Count this node; it will be returned */
+			}
+		    }
+		  else
+		    {
+		      delim = *s;
+		      p = next;
+		      continue;
+		    }
+		}
+	    }
+	  else if (wsp->ws_options & WRDSO_MAXWORDS)
+	    {
+	      wsnode_remove (wsp, p);
+	      p = next;
+	      continue;
+	    }
+	}
+      else 
+	{
+	  if (delim)
+	    {
+	      /* Last node was a delimiter or a compressed run of delimiters;
+		 Count it, and clear the delimiter marker */
+	      n++;
+	      delim = 0;
+	    }
+	  if (wsp->ws_options & WRDSO_MAXWORDS)
+	    {
+	      if (wsp->ws_wordi + n + 1 == wsp->ws_maxwords)
+		break;
+	    }
+	}
+      n++;
+      if (wsp->ws_flags & WRDSF_INCREMENTAL)
+	p = NULL; /* Break the loop */
+      else
+	p = next;
+    }
+
+  if (p)
+    {
+      /* We're here if WRDSO_MAXWORDS is in effect and wsp->ws_maxwords
+	 words have already been collected. Reconstruct a single final
+	 node from the remaining nodes. */
+      if (wsnode_tail_coalesce (wsp, p))
+	return wsp->ws_errno;
+      n++;
+    }
+
+  if (n == 0 && (wsp->ws_flags & WRDSF_INCREMENTAL))
+    {
+      /* The loop above have eliminated all nodes. Restart the
+	 processing, if there's any input left. */
+      if (wsp->ws_endp < wsp->ws_len)
+	{
+	  int rc;
+	  if (wsp->ws_flags & WRDSF_SHOWDBG)
+	    wsp->ws_debug (_("Restarting"));
+	  rc = wordsplit_process_list (wsp, skip_delim (wsp));
+	  if (rc)
+	    return rc;
+	}
+      else
+	{
+	  wsp->ws_error = WRDSE_EOF;
+	  return WRDSE_EOF;
+	}
+      goto again;
+    }
 
   if (alloc_space (wsp, n + 1))
-    return 1;
+    return wsp->ws_errno;
 
-  for (p = wsp->ws_head; p; p = p->next)
+  while (wsp->ws_head)
     {
-      const char *str = wsnode_ptr (wsp, p);
-      size_t slen = wsnode_len (p);
+      const char *str = wsnode_ptr (wsp, wsp->ws_head);
+      size_t slen = wsnode_len (wsp->ws_head);
       char *newstr = malloc (slen + 1);
 
       /* Assign newstr first, even if it is NULL.  This way
@@ -565,14 +852,47 @@ wordsplit_finish (struct wordsplit *wsp)
       memcpy (newstr, str, slen);
       newstr[slen] = 0;
 
+      wsnode_remove (wsp, wsp->ws_head);
+
       wsp->ws_wordc++;
+      wsp->ws_wordi++;
 
+      if (wsp->ws_flags & WRDSF_INCREMENTAL)
+	break;
     }
   wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = NULL;
   return 0;
 }
 
+int
+wordsplit_append (wordsplit_t *wsp, int argc, char **argv)
+{
+  int rc;
+  size_t i;
 
+  rc = alloc_space (wsp, wsp->ws_wordc + argc + 1);
+  if (rc)
+    return rc;
+  for (i = 0; i < argc; i++)
+    {
+      char *newstr = strdup (argv[i]);
+      if (!newstr)
+	{
+	  while (i > 0)
+	    {
+	      free (wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i - 1]);
+	      wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i - 1] = NULL;
+	      i--;
+	    }
+	  return _wsplt_nomem (wsp);
+	}
+      wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i] = newstr;
+    }
+  wsp->ws_wordc += i;
+  wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = NULL;
+  return 0;
+}
+
 /* Variable expansion */
 static int
 node_split_prefix (struct wordsplit *wsp,
@@ -609,10 +929,10 @@ node_split_prefix (struct wordsplit *wsp,
 }
 
 static int
-find_closing_cbrace (const char *str, size_t i, size_t len, size_t * poff)
+find_closing_paren (const char *str, size_t i, size_t len, size_t *poff,
+		    char const *paren)
 {
-  enum
-  { st_init, st_squote, st_dquote } state = st_init;
+  enum { st_init, st_squote, st_dquote } state = st_init;
   size_t level = 1;
 
   for (; i < len; i++)
@@ -622,18 +942,23 @@ find_closing_cbrace (const char *str, size_t i, size_t len, size_t * poff)
 	case st_init:
 	  switch (str[i])
 	    {
-	    case '{':
-	      level++;
-	      break;
-
-	    case '}':
-	      if (--level == 0)
+	    default:
+	      if (str[i] == paren[0])
 		{
-		  *poff = i;
-		  return 0;
+		  level++;
+		  break;
+		}
+	      else if (str[i] == paren[1])
+		{
+		  if (--level == 0)
+		    {
+		      *poff = i;
+		      return 0;
+		    }
+		  break;
 		}
 	      break;
-
+	      
 	    case '"':
 	      state = st_dquote;
 	      break;
@@ -660,13 +985,14 @@ find_closing_cbrace (const char *str, size_t i, size_t len, size_t * poff)
   return 1;
 }
 
-static const char *
-wordsplit_find_env (struct wordsplit *wsp, const char *name, size_t len)
+static int
+wordsplit_find_env (struct wordsplit *wsp, const char *name, size_t len,
+		    char const **ret)
 {
   size_t i;
 
   if (!(wsp->ws_flags & WRDSF_ENV))
-    return NULL;
+    return WRDSE_UNDEF;
 
   if (wsp->ws_flags & WRDSF_ENV_KV)
     {
@@ -675,14 +1001,17 @@ wordsplit_find_env (struct wordsplit *wsp, const char *name, size_t len)
 	{
 	  size_t elen = strlen (wsp->ws_env[i]);
 	  if (elen == len && memcmp (wsp->ws_env[i], name, elen) == 0)
-	    return wsp->ws_env[i + 1];
+	    {
+	      *ret = wsp->ws_env[i + 1];
+	      return WRDSE_OK;
+	    }
 	  /* Skip the value.  Break the loop if it is NULL. */
 	  i++;
 	  if (wsp->ws_env[i] == NULL)
 	    break;
 	}
     }
-  else
+  else if (wsp->ws_env)
     {
       /* Usual (A=B) environment. */
       for (i = 0; wsp->ws_env[i]; i++)
@@ -694,27 +1023,137 @@ wordsplit_find_env (struct wordsplit *wsp, const char *name, size_t len)
 	    if (name[j] != var[j])
 	      break;
 	  if (j == len && var[j] == '=')
-	    return var + j + 1;
+	    {
+	      *ret = var + j + 1;
+	      return WRDSE_OK;
+	    }
+	}
+    }
+  return WRDSE_UNDEF;
+}
+
+static int
+wsplt_assign_var (struct wordsplit *wsp, const char *name, size_t namelen,
+		  char *value)
+{
+  int n = (wsp->ws_flags & WRDSF_ENV_KV) ? 2 : 1;
+  char *v;
+  
+  if (wsp->ws_envidx + n >= wsp->ws_envsiz)
+    {
+      size_t sz;
+      char **newenv;
+
+      if (!wsp->ws_envbuf)
+	{
+	  if (wsp->ws_flags & WRDSF_ENV)
+	    {
+	      size_t i = 0, j;
+
+	      if (wsp->ws_env)
+		{
+		  for (; wsp->ws_env[i]; i++)
+		    ;
+		}
+	      
+	      sz = i + n + 1;
+
+	      newenv = calloc (sz, sizeof(newenv[0]));
+	      if (!newenv)
+		return _wsplt_nomem (wsp);
+
+	      for (j = 0; j < i; j++)
+		{
+		  newenv[j] = strdup (wsp->ws_env[j]);
+		  if (!newenv[j])
+		    {
+		      for (; j > 1; j--)
+			free (newenv[j-1]);
+		      free (newenv[j-1]);
+		      free (newenv);
+		      return _wsplt_nomem (wsp);
+		    }
+		}
+	      newenv[j] = NULL;
+	      
+	      wsp->ws_envbuf = newenv;
+	      wsp->ws_envidx = i;
+	      wsp->ws_envsiz = sz;
+	      wsp->ws_env = (const char**) wsp->ws_envbuf;
+	    }
+	  else
+	    {
+	      newenv = calloc (WORDSPLIT_ENV_INIT, sizeof(newenv[0]));
+	      if (!newenv)
+		return _wsplt_nomem (wsp);
+	      wsp->ws_envbuf = newenv;
+	      wsp->ws_envidx = 0;
+	      wsp->ws_envsiz = WORDSPLIT_ENV_INIT;
+	      wsp->ws_env = (const char**) wsp->ws_envbuf;
+	      wsp->ws_flags |= WRDSF_ENV;
+	    }
+	}
+      else
+	{
+	  wsp->ws_envsiz *= 2;
+	  newenv = realloc (wsp->ws_envbuf,
+			    wsp->ws_envsiz * sizeof (wsp->ws_envbuf[0]));
+	  if (!newenv)
+	    return _wsplt_nomem (wsp);
+	  wsp->ws_envbuf = newenv;
+	  wsp->ws_env = (const char**) wsp->ws_envbuf;
+	}
+    }
+  
+  if (wsp->ws_flags & WRDSF_ENV_KV)
+    {
+      /* A key-value pair environment */
+      char *p = malloc (namelen + 1);
+      if (!p)
+	return _wsplt_nomem (wsp);
+      memcpy (p, name, namelen);
+      p[namelen] = 0;
+
+      v = strdup (value);
+      if (!v)
+	{
+	  free (p);
+	  return _wsplt_nomem (wsp);
 	}
+      wsp->ws_env[wsp->ws_envidx++] = p;
+      wsp->ws_env[wsp->ws_envidx++] = v;
+    }
+  else
+    {
+      v = malloc (namelen + strlen(value) + 2);
+      if (!v)
+	return _wsplt_nomem (wsp);
+      memcpy (v, name, namelen);
+      v[namelen++] = '=';
+      strcpy(v + namelen, value);
+      wsp->ws_env[wsp->ws_envidx++] = v;
     }
-  return NULL;
+  wsp->ws_env[wsp->ws_envidx++] = NULL;
+  return WRDSE_OK;
 }
 
 static int
 expvar (struct wordsplit *wsp, const char *str, size_t len,
-	struct wordsplit_node **ptail, const char **pend, int flg)
+	struct wordsplit_node **ptail, const char **pend, unsigned flg)
 {
   size_t i = 0;
   const char *defstr = NULL;
-  const char *value;
+  char *value;
   const char *vptr;
   struct wordsplit_node *newnode;
   const char *start = str - 1;
-
-  if (ISALPHA (str[0]) || str[0] == '_')
+  int rc;
+  struct wordsplit ws;
+  
+  if (ISVARBEG (str[0]))
     {
       for (i = 1; i < len; i++)
-	if (!(ISALNUM (str[i]) || str[i] == '_'))
+	if (!ISVARCHR (str[i]))
 	  break;
       *pend = str + i - 1;
     }
@@ -723,30 +1162,36 @@ expvar (struct wordsplit *wsp, const char *str, size_t len,
       str++;
       len--;
       for (i = 1; i < len; i++)
-	if (str[i] == '}' || str[i] == ':')
-	  break;
-      if (str[i] == ':')
 	{
-	  size_t j;
-
-	  defstr = str + i + 1;
-	  if (find_closing_cbrace (str, i + 1, len, &j))
+	  if (str[i] == ':')
 	    {
-	      wsp->ws_errno = WRDSE_CBRACE;
-	      return 1;
+	      size_t j;
+	      
+	      defstr = str + i + 1;
+	      if (find_closing_paren (str, i + 1, len, &j, "{}"))
+		return _wsplt_seterr (wsp, WRDSE_CBRACE);
+	      *pend = str + j;
+	      break;
+	    }
+	  else if (str[i] == '}')
+	    {
+	      defstr = NULL;
+	      *pend = str + i;
+	      break;
+	    }
+	  else if (strchr ("-+?=", str[i]))
+	    {
+	      size_t j;
+	      
+	      defstr = str + i;
+	      if (find_closing_paren (str, i, len, &j, "{}"))
+		return _wsplt_seterr (wsp, WRDSE_CBRACE);
+	      *pend = str + j;
+	      break;
 	    }
-	  *pend = str + j;
-	}
-      else if (str[i] == '}')
-	{
-	  defstr = NULL;
-	  *pend = str + i;
-	}
-      else
-	{
-	  wsp->ws_errno = WRDSE_CBRACE;
-	  return 1;
 	}
+      if (i == len)
+	return _wsplt_seterr (wsp, WRDSE_CBRACE);
     }
   else
     {
@@ -770,51 +1215,162 @@ expvar (struct wordsplit *wsp, const char *str, size_t len,
      i   - its length
      defstr - default replacement str */
 
-  vptr = wordsplit_find_env (wsp, str, i);
-  if (vptr)
-    {
-      value = strdup (vptr);
-      if (!value)
-	return _wsplt_nomem (wsp);
-    }
-  else if (wsp->ws_flags & WRDSF_GETVAR)
-    value = wsp->ws_getvar (str, i, wsp->ws_closure);
-  else if (wsp->ws_flags & WRDSF_UNDEF)
+  if (defstr && strchr("-+?=", defstr[0]) == 0)
     {
-      wsp->ws_errno = WRDSE_UNDEF;
-      if (wsp->ws_flags & WRDSF_SHOWERR)
-	wordsplit_perror (wsp);
-      return 1;
+      rc = WRDSE_UNDEF;
+      defstr = NULL;
     }
   else
     {
-      if (wsp->ws_flags & WRDSF_WARNUNDEF)
-	wsp->ws_error (_("warning: undefined variable `%.*s'"), (int) i, str);
-      if (wsp->ws_flags & WRDSF_KEEPUNDEF)
-	value = NULL;
+      rc = wordsplit_find_env (wsp, str, i, &vptr);
+      if (rc == WRDSE_OK)
+	{
+	  if (vptr)
+	    {
+	      value = strdup (vptr);
+	      if (!value)
+		rc = WRDSE_NOSPACE;
+	    }
+	  else
+	    rc = WRDSE_UNDEF;
+	}
+      else if (wsp->ws_flags & WRDSF_GETVAR)
+	rc = wsp->ws_getvar (&value, str, i, wsp->ws_closure);
       else
-	value = "";
-    }
-
-  /* FIXME: handle defstr */
-  (void) defstr;
+	rc = WRDSE_UNDEF;
 
-  if (value)
+      if (rc == WRDSE_OK
+	  && (!value || value[0] == 0)
+	  && defstr && defstr[-1] == ':')
+	{
+	  free (value);
+	  rc = WRDSE_UNDEF;
+	}
+    }
+  
+  switch (rc)
     {
-      if (flg & _WSNF_QUOTE)
+    case WRDSE_OK:
+      if (defstr && *defstr == '+')
 	{
-	  if (wsnode_new (wsp, &newnode))
-	    return 1;
-	  wsnode_insert (wsp, newnode, *ptail, 0);
-	  *ptail = newnode;
-	  newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg;
-	  newnode->v.word = strdup (value);
-	  if (!newnode->v.word)
-	    return _wsplt_nomem (wsp);
+	  size_t size = *pend - ++defstr;
+
+	  rc = _wsplt_subsplit (wsp, &ws, defstr, size,
+				WRDSF_NOSPLIT | WRDSF_WS | WRDSF_QUOTE |
+				(wsp->ws_flags &
+				 (WRDSF_NOVAR | WRDSF_NOCMD)), 1);
+	  if (rc)
+	    return rc;
+	  free (value);
+	  value = ws.ws_wordv[0];
+	  ws.ws_wordv[0] = NULL;
+	  wordsplit_free (&ws);
 	}
-      else if (*value == 0)
+      break;
+      
+    case WRDSE_UNDEF:
+      if (defstr)
 	{
-	  /* Empty string is a special case */
+	  size_t size;
+	  if (*defstr == '-' || *defstr == '=')
+	    {
+	      size = *pend - ++defstr;
+
+	      rc = _wsplt_subsplit (wsp, &ws, defstr, size,
+				    WRDSF_NOSPLIT | WRDSF_WS | WRDSF_QUOTE |
+				    (wsp->ws_flags &
+				     (WRDSF_NOVAR | WRDSF_NOCMD)),
+				    1);
+	      if (rc)
+		return rc;
+
+	      value = ws.ws_wordv[0];
+	      ws.ws_wordv[0] = NULL;
+	      wordsplit_free (&ws);
+	      
+	      if (defstr[-1] == '=')
+		wsplt_assign_var (wsp, str, i, value);
+	    }
+	  else 
+	    {
+	      if (*defstr == '?')
+		{
+		  size = *pend - ++defstr;
+		  if (size == 0)
+		    wsp->ws_error (_("%.*s: variable null or not set"),
+				   (int) i, str);
+		  else
+		    {
+		      rc = _wsplt_subsplit (wsp, &ws, defstr, size,
+					    WRDSF_NOSPLIT | WRDSF_WS |
+					    WRDSF_QUOTE |
+					    (wsp->ws_flags &
+					     (WRDSF_NOVAR | WRDSF_NOCMD)),
+					    1);
+		      if (rc == 0)
+			wsp->ws_error ("%.*s: %s",
+				       (int) i, str, ws.ws_wordv[0]);
+		      else
+			wsp->ws_error ("%.*s: %.*s",
+				       (int) i, str, (int) size, defstr);
+		      wordsplit_free (&ws);
+		    }
+		}
+	      value = NULL;
+	    }
+	}
+      else if (wsp->ws_flags & WRDSF_UNDEF)
+	{
+	  _wsplt_seterr (wsp, WRDSE_UNDEF);
+	  return 1;
+	}
+      else
+	{
+	  if (wsp->ws_flags & WRDSF_WARNUNDEF)
+	    wsp->ws_error (_("warning: undefined variable `%.*s'"),
+			   (int) i, str);
+	  if (wsp->ws_flags & WRDSF_KEEPUNDEF)
+	    value = NULL;
+	  else
+	    {
+	      value = strdup ("");
+	      if (!value)
+		return _wsplt_nomem (wsp);
+	    }
+	}
+      break;
+      
+    case WRDSE_NOSPACE:
+      return _wsplt_nomem (wsp);
+
+    case WRDSE_USERERR:
+      if (wsp->ws_errno == WRDSE_USERERR)
+	free (wsp->ws_usererr);
+      wsp->ws_usererr = value;
+      FALLTHROUGH;
+    default:
+      _wsplt_seterr (wsp, rc);
+      return 1;
+    }
+
+  if (value)
+    {
+      if (flg & _WSNF_QUOTE)
+	{
+	  if (wsnode_new (wsp, &newnode))
+	    {
+	      free (value);
+	      return 1;
+	    }
+	  wsnode_insert (wsp, newnode, *ptail, 0);
+	  *ptail = newnode;
+	  newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg;
+	  newnode->v.word = value;
+	}
+      else if (*value == 0)
+	{
+	  free (value);
+	  /* Empty string is a special case */
 	  if (wsnode_new (wsp, &newnode))
 	    return 1;
 	  wsnode_insert (wsp, newnode, *ptail, 0);
@@ -824,28 +1380,23 @@ expvar (struct wordsplit *wsp, const char *str, size_t len,
       else
 	{
 	  struct wordsplit ws;
-	  int i;
-
-	  ws.ws_delim = wsp->ws_delim;
-	  if (wordsplit (value, &ws,
-			 WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_DELIM | WRDSF_WS))
+	  int rc;
+	  
+	  rc = _wsplt_subsplit (wsp, &ws, value, strlen (value),
+				WRDSF_NOVAR | WRDSF_NOCMD |
+				WRDSF_QUOTE
+				| (WSP_RETURN_DELIMS (wsp) ? WRDSF_RETURN_DELIMS : 0) ,
+				0);
+	  free (value);
+	  if (rc)
 	    {
+	      _wsplt_seterr_sub (wsp, &ws);
 	      wordsplit_free (&ws);
 	      return 1;
 	    }
-	  for (i = 0; i < ws.ws_wordc; i++)
-	    {
-	      if (wsnode_new (wsp, &newnode))
-		return 1;
-	      wsnode_insert (wsp, newnode, *ptail, 0);
-	      *ptail = newnode;
-	      newnode->flags = _WSNF_WORD |
-		_WSNF_NOEXPAND |
-		(i + 1 < ws.ws_wordc ? (flg & ~_WSNF_JOIN) : flg);
-	      newnode->v.word = strdup (ws.ws_wordv[i]);
-	      if (!newnode->v.word)
-		return _wsplt_nomem (wsp);
-	    }
+	  wsnode_insert (wsp, ws.ws_head, *ptail, 0);
+	  *ptail = ws.ws_tail;
+	  ws.ws_head = ws.ws_tail = NULL;
 	  wordsplit_free (&ws);
 	}
     }
@@ -876,7 +1427,19 @@ expvar (struct wordsplit *wsp, const char *str, size_t len,
 }
 
 static int
-node_expand_vars (struct wordsplit *wsp, struct wordsplit_node *node)
+begin_var_p (int c)
+{
+  return c == '{' || ISVARBEG (c);
+}
+
+static int
+node_expand (struct wordsplit *wsp, struct wordsplit_node *node,
+	     int (*beg_p) (int),
+	     int (*ws_exp_fn) (struct wordsplit *wsp,
+			       const char *str, size_t len,
+			       struct wordsplit_node **ptail,
+			       const char **pend,
+			       unsigned flg))
 {
   const char *str = wsnode_ptr (wsp, node);
   size_t slen = wsnode_len (node);
@@ -892,7 +1455,7 @@ node_expand_vars (struct wordsplit *wsp, struct wordsplit_node *node)
 	  p++;
 	  continue;
 	}
-      if (*p == '$')
+      if (*p == '$' && beg_p (p[1]))
 	{
 	  size_t n = p - str;
 
@@ -901,8 +1464,8 @@ node_expand_vars (struct wordsplit *wsp, struct wordsplit_node *node)
 	  if (node_split_prefix (wsp, &tail, node, off, n, _WSNF_JOIN))
 	    return 1;
 	  p++;
-	  if (expvar (wsp, p, slen - n, &tail, &p,
-		      node->flags & (_WSNF_JOIN | _WSNF_QUOTE)))
+	  if (ws_exp_fn (wsp, p, slen - n, &tail, &p,
+			 node->flags & (_WSNF_JOIN | _WSNF_QUOTE)))
 	    return 1;
 	  off += p - str + 1;
 	  str = p + 1;
@@ -913,7 +1476,7 @@ node_expand_vars (struct wordsplit *wsp, struct wordsplit_node *node)
       if (tail != node)
 	tail->flags |= _WSNF_JOIN;
       if (node_split_prefix (wsp, &tail, node, off, p - str,
-			     node->flags & _WSNF_JOIN))
+			     node->flags & (_WSNF_JOIN|_WSNF_QUOTE)))
 	return 1;
     }
   if (tail != node)
@@ -923,8 +1486,8 @@ node_expand_vars (struct wordsplit *wsp, struct wordsplit_node *node)
     }
   return 0;
 }
-
-/* Remove NULL lists */
+  
+/* Remove NULL nodes from the list */
 static void
 wsnode_nullelim (struct wordsplit *wsp)
 {
@@ -933,6 +1496,8 @@ wsnode_nullelim (struct wordsplit *wsp)
   for (p = wsp->ws_head; p;)
     {
       struct wordsplit_node *next = p->next;
+      if (p->flags & _WSNF_DELIM && p->prev)
+	p->prev->flags &= ~_WSNF_JOIN;
       if (p->flags & _WSNF_NULL)
 	{
 	  wsnode_remove (wsp, p);
@@ -947,11 +1512,140 @@ wordsplit_varexp (struct wordsplit *wsp)
 {
   struct wordsplit_node *p;
 
+  for (p = wsp->ws_head; p;)
+    {
+      struct wordsplit_node *next = p->next;
+      if (!(p->flags & (_WSNF_NOEXPAND|_WSNF_DELIM)))
+	if (node_expand (wsp, p, begin_var_p, expvar))
+	  return 1;
+      p = next;
+    }
+
+  wsnode_nullelim (wsp);
+  return 0;
+}
+
+static int
+begin_cmd_p (int c)
+{
+  return c == '(';
+}
+
+static int
+expcmd (struct wordsplit *wsp, const char *str, size_t len,
+	struct wordsplit_node **ptail, const char **pend, unsigned flg)
+{
+  int rc;
+  size_t j;
+  char *value;
+  struct wordsplit_node *newnode;
+  
+  str++;
+  len--;
+
+  if (find_closing_paren (str, 0, len, &j, "()"))
+    {
+      _wsplt_seterr (wsp, WRDSE_PAREN);
+      return 1;
+    }
+
+  *pend = str + j;
+  if (wsp->ws_options & WRDSO_ARGV)
+    {
+      struct wordsplit ws;
+
+      rc = _wsplt_subsplit (wsp, &ws, str, j, WRDSF_WS | WRDSF_QUOTE, 1);
+      if (rc)
+	{
+	  _wsplt_seterr_sub (wsp, &ws);
+	  wordsplit_free (&ws);
+	  return 1;
+	}
+      rc = wsp->ws_command (&value, str, j, ws.ws_wordv, wsp->ws_closure);
+      wordsplit_free (&ws);
+    }
+  else
+    rc = wsp->ws_command (&value, str, j, NULL, wsp->ws_closure);
+  
+  if (rc == WRDSE_NOSPACE)
+    return _wsplt_nomem (wsp);
+  else if (rc)
+    {
+      if (rc == WRDSE_USERERR)
+	{
+	  if (wsp->ws_errno == WRDSE_USERERR)
+	    free (wsp->ws_usererr);
+	  wsp->ws_usererr = value;
+	}
+      _wsplt_seterr (wsp, rc);
+      return 1;
+    }
+
+  if (value)
+    {
+      if (flg & _WSNF_QUOTE)
+	{
+	  if (wsnode_new (wsp, &newnode))
+	    return 1;
+	  wsnode_insert (wsp, newnode, *ptail, 0);
+	  *ptail = newnode;
+	  newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg;
+	  newnode->v.word = value;
+	}
+      else if (*value == 0)
+	{
+	  free (value);
+	  /* Empty string is a special case */
+	  if (wsnode_new (wsp, &newnode))
+	    return 1;
+	  wsnode_insert (wsp, newnode, *ptail, 0);
+	  *ptail = newnode;
+	  newnode->flags = _WSNF_NULL;
+	}
+      else
+	{
+	  struct wordsplit ws;
+	  int rc;
+
+	  rc = _wsplt_subsplit (wsp, &ws, value, strlen (value),
+				WRDSF_NOVAR | WRDSF_NOCMD
+				| WRDSF_WS | WRDSF_QUOTE
+				| (WSP_RETURN_DELIMS (wsp) ? WRDSF_RETURN_DELIMS : 0),
+				0);
+	  free (value);
+	  if (rc)
+	    {
+	      _wsplt_seterr_sub (wsp, &ws);
+	      wordsplit_free (&ws);
+	      return 1;
+	    }
+	  wsnode_insert (wsp, ws.ws_head, *ptail, 0);
+	  *ptail = ws.ws_tail;
+	  ws.ws_head = ws.ws_tail = NULL;
+	  wordsplit_free (&ws);
+	}
+    }
+  else
+    {
+      if (wsnode_new (wsp, &newnode))
+	return 1;
+      wsnode_insert (wsp, newnode, *ptail, 0);
+      *ptail = newnode;
+      newnode->flags = _WSNF_NULL;
+    }
+  return 0;
+}
+
+static int
+wordsplit_cmdexp (struct wordsplit *wsp)
+{
+  struct wordsplit_node *p;
+
   for (p = wsp->ws_head; p;)
     {
       struct wordsplit_node *next = p->next;
       if (!(p->flags & _WSNF_NOEXPAND))
-	if (node_expand_vars (wsp, p))
+	if (node_expand (wsp, p, begin_cmd_p, expcmd))
 	  return 1;
       p = next;
     }
@@ -963,7 +1657,7 @@ wordsplit_varexp (struct wordsplit *wsp)
 /* Strip off any leading and trailing whitespace.  This function is called
    right after the initial scanning, therefore it assumes that every
    node in the list is a text reference node. */
-static void
+static int
 wordsplit_trimws (struct wordsplit *wsp)
 {
   struct wordsplit_node *p;
@@ -972,14 +1666,21 @@ wordsplit_trimws (struct wordsplit *wsp)
     {
       size_t n;
 
+      if (!(p->flags & _WSNF_QUOTE))
+	{
+	  /* Skip leading whitespace: */
+	  for (n = p->v.segm.beg; n < p->v.segm.end && ISWS (wsp->ws_input[n]);
+	       n++)
+	    ;
+	  p->v.segm.beg = n;
+	}
+      
+      while (p->next && (p->flags & _WSNF_JOIN))
+	p = p->next;
+      
       if (p->flags & _WSNF_QUOTE)
 	continue;
-
-      /* Skip leading whitespace: */
-      for (n = p->v.segm.beg; n < p->v.segm.end && ISWS (wsp->ws_input[n]);
-	   n++)
-	;
-      p->v.segm.beg = n;
+      
       /* Trim trailing whitespace */
       for (n = p->v.segm.end;
 	   n > p->v.segm.beg && ISWS (wsp->ws_input[n - 1]); n--);
@@ -989,6 +1690,194 @@ wordsplit_trimws (struct wordsplit *wsp)
     }
 
   wsnode_nullelim (wsp);
+  return 0;
+}
+
+static int
+wordsplit_tildexpand (struct wordsplit *wsp)
+{
+  struct wordsplit_node *p;
+  char *uname = NULL;
+  size_t usize = 0;
+  
+  for (p = wsp->ws_head; p; p = p->next)
+    {
+      const char *str;
+
+      if (p->flags & _WSNF_QUOTE)
+	continue;
+
+      str = wsnode_ptr (wsp, p);
+      if (str[0] == '~')
+	{
+	  size_t i, size, dlen;
+	  size_t slen = wsnode_len (p);
+	  struct passwd *pw;
+	  char *newstr;
+	  
+	  for (i = 1; i < slen && str[i] != '/'; i++)
+	    ;
+	  if (i == slen)
+	    continue;
+	  if (i > 1)
+	    {
+	      if (i > usize)
+		{
+		  char *p = realloc (uname, i);
+		  if (!p)
+		    {
+		      free (uname);
+		      return _wsplt_nomem (wsp);
+		    }
+		  uname = p;
+		  usize = i;
+		}
+	      --i;
+	      memcpy (uname, str + 1, i);
+	      uname[i] = 0;
+	      pw = getpwnam (uname);
+	    }
+	  else
+	    pw = getpwuid (getuid ());
+
+	  if (!pw)
+	    continue;
+
+	  dlen = strlen (pw->pw_dir);
+	  size = slen - i + dlen;
+	  newstr = malloc (size);
+	  if (!newstr)
+	    {
+	      free (uname);
+	      return _wsplt_nomem (wsp);
+	    }
+	  --size;
+
+	  memcpy (newstr, pw->pw_dir, dlen);
+	  memcpy (newstr + dlen, str + i + 1, slen - i - 1);
+	  newstr[size] = 0;
+	  if (p->flags & _WSNF_WORD)
+	    free (p->v.word);
+	  p->v.word = newstr;
+	  p->flags |= _WSNF_WORD;
+	}
+    }
+  free (uname);
+  return 0;
+}
+
+static int
+isglob (const char *s, int l)
+{
+  while (l--)
+    {
+      if (strchr ("*?[", *s++))
+	return 1;
+    }
+  return 0;
+}
+
+static int
+wordsplit_pathexpand (struct wordsplit *wsp)
+{
+  struct wordsplit_node *p, *next;
+  size_t slen;
+  int flags = 0;
+
+#ifdef GLOB_PERIOD
+  if (wsp->ws_options & WRDSO_DOTGLOB)
+    flags = GLOB_PERIOD;
+#endif
+  
+  for (p = wsp->ws_head; p; p = next)
+    {
+      const char *str;
+
+      next = p->next;
+
+      if (p->flags & _WSNF_QUOTE)
+	continue;
+
+      str = wsnode_ptr (wsp, p);
+      slen = wsnode_len (p);
+
+      if (isglob (str, slen))
+	{
+	  int i;
+	  glob_t g;
+	  struct wordsplit_node *prev;
+	  char *pattern;
+	  
+	  pattern = malloc (slen + 1);
+	  if (!pattern)
+	    return _wsplt_nomem (wsp);
+	  memcpy (pattern, str, slen);
+	  pattern[slen] = 0;
+      
+	  switch (glob (pattern, flags, NULL, &g))
+	    {
+	    case 0:
+	      free (pattern);
+	      break;
+	      
+	    case GLOB_NOSPACE:
+	      free (pattern);
+	      return _wsplt_nomem (wsp);
+	      
+	    case GLOB_NOMATCH:
+	      if (wsp->ws_options & WRDSO_NULLGLOB)
+		{
+		  wsnode_remove (wsp, p);
+		  wsnode_free (p);
+		}
+	      else if (wsp->ws_options & WRDSO_FAILGLOB)
+		{
+		  char buf[128];
+		  if (wsp->ws_errno == WRDSE_USERERR)
+		    free (wsp->ws_usererr);
+		  snprintf (buf, sizeof (buf), _("no files match pattern %s"),
+			    pattern);
+		  free (pattern);
+		  wsp->ws_usererr = strdup (buf);
+		  if (!wsp->ws_usererr)
+		    return _wsplt_nomem (wsp);
+		  else
+		    return _wsplt_seterr (wsp, WRDSE_USERERR);
+		}
+	      free (pattern);
+	      continue;
+	      
+	    default:
+	      free (pattern);
+	      return _wsplt_seterr (wsp, WRDSE_GLOBERR);
+	    }
+
+	  prev = p;
+	  for (i = 0; i < g.gl_pathc; i++)
+	    {
+	      struct wordsplit_node *newnode;
+	      char *newstr;
+	      
+	      if (wsnode_new (wsp, &newnode))
+		return 1;
+	      newstr = strdup (g.gl_pathv[i]);
+	      if (!newstr)
+		{
+		  wsnode_free (newnode);
+		  return _wsplt_nomem (wsp);
+		}
+	      newnode->v.word = newstr;
+	      newnode->flags |= _WSNF_WORD|_WSNF_QUOTE;
+	      wsnode_insert (wsp, newnode, prev, 0);
+	      prev = newnode;
+	    }
+	  globfree (&g);
+
+	  wsnode_remove (wsp, p);
+	  wsnode_free (p);
+	}
+    }
+  return 0;
 }
 
 static int
@@ -1024,33 +1913,24 @@ skip_sed_expr (const char *command, size_t i, size_t len)
   return i;
 }
 
-static size_t
-skip_delim (struct wordsplit *wsp)
+/* wsp->ws_endp points to a delimiter character. If RETURN_DELIMS
+   is true, return its value, otherwise return the index past it. */
+static inline size_t
+skip_delim_internal (struct wordsplit *wsp, int return_delims)
 {
-  size_t start = wsp->ws_endp;
-  if (wsp->ws_flags & WRDSF_SQUEEZE_DELIMS)
-    {
-      if ((wsp->ws_flags & WRDSF_RETURN_DELIMS) &&
-	  ISDELIM (wsp, wsp->ws_input[start]))
-	{
-	  int delim = wsp->ws_input[start];
-	  do
-	    start++;
-	  while (start < wsp->ws_len && delim == wsp->ws_input[start]);
-	}
-      else
-	{
-	  do
-	    start++;
-	  while (start < wsp->ws_len && ISDELIM (wsp, wsp->ws_input[start]));
-	}
-      start--;
-    }
+  return return_delims ? wsp->ws_endp : wsp->ws_endp + 1;
+}
 
-  if (!(wsp->ws_flags & WRDSF_RETURN_DELIMS))
-    start++;
+static inline size_t
+skip_delim (struct wordsplit *wsp)
+{
+  return skip_delim_internal (wsp, WSP_RETURN_DELIMS (wsp));
+}
 
-  return start;
+static inline size_t
+skip_delim_real (struct wordsplit *wsp)
+{
+  return skip_delim_internal (wsp, wsp->ws_flags & WRDSF_RETURN_DELIMS);
 }
 
 #define _WRDS_EOF   0
@@ -1058,7 +1938,7 @@ skip_delim (struct wordsplit *wsp)
 #define _WRDS_ERR   2
 
 static int
-scan_qstring (struct wordsplit *wsp, size_t start, size_t * end)
+scan_qstring (struct wordsplit *wsp, size_t start, size_t *end)
 {
   size_t j;
   const char *command = wsp->ws_input;
@@ -1070,7 +1950,7 @@ scan_qstring (struct wordsplit *wsp, size_t start, size_t * end)
       j++;
   if (j < len && command[j] == q)
     {
-      int flags = _WSNF_QUOTE | _WSNF_EMPTYOK;
+      unsigned flags = _WSNF_QUOTE | _WSNF_EMPTYOK;
       if (q == '\'')
 	flags |= _WSNF_NOEXPAND;
       if (wordsplit_add_segm (wsp, start + 1, j, flags))
@@ -1080,23 +1960,22 @@ scan_qstring (struct wordsplit *wsp, size_t start, size_t * end)
   else
     {
       wsp->ws_endp = start;
-      wsp->ws_errno = WRDSE_QUOTE;
-      if (wsp->ws_flags & WRDSF_SHOWERR)
-	wordsplit_perror (wsp);
+      _wsplt_seterr (wsp, WRDSE_QUOTE);
       return _WRDS_ERR;
     }
   return 0;
 }
 
 static int
-scan_word (struct wordsplit *wsp, size_t start)
+scan_word (struct wordsplit *wsp, size_t start, int consume_all)
 {
   size_t len = wsp->ws_len;
   const char *command = wsp->ws_input;
   const char *comment = wsp->ws_comment;
   int join = 0;
-  int flags = 0;
-
+  unsigned flags = 0;
+  struct wordsplit_node *np = wsp->ws_tail;
+  
   size_t i = start;
 
   if (i >= len)
@@ -1113,7 +1992,7 @@ scan_word (struct wordsplit *wsp, size_t start)
       flags = _WSNF_SEXP;
       i = skip_sed_expr (command, i, len);
     }
-  else if (!ISDELIM (wsp, command[i]))
+  else if (consume_all || !ISDELIM (wsp, command[i]))
     {
       while (i < len)
 	{
@@ -1152,15 +2031,28 @@ scan_word (struct wordsplit *wsp, size_t start)
 		}
 	    }
 
-	  if (ISDELIM (wsp, command[i]))
+	  if (command[i] == '$')
+	    {
+	      if (!(wsp->ws_flags & WRDSF_NOVAR)
+		  && command[i+1] == '{'
+		  && find_closing_paren (command, i + 2, len, &i, "{}") == 0)
+		continue;
+	      if (!(wsp->ws_flags & WRDSF_NOCMD)
+		  && command[i+1] == '('
+		  && find_closing_paren (command, i + 2, len, &i, "()") == 0)
+		continue;
+	    }
+
+	  if (!consume_all && ISDELIM (wsp, command[i]))
 	    break;
 	  else
 	    i++;
 	}
     }
-  else if (wsp->ws_flags & WRDSF_RETURN_DELIMS)
+  else if (WSP_RETURN_DELIMS (wsp))
     {
       i++;
+      flags |= _WSNF_DELIM;
     }
   else if (!(wsp->ws_flags & WRDSF_SQUEEZE_DELIMS))
     flags |= _WSNF_EMPTYOK;
@@ -1172,36 +2064,19 @@ scan_word (struct wordsplit *wsp, size_t start)
   wsp->ws_endp = i;
   if (wsp->ws_flags & WRDSF_INCREMENTAL)
     return _WRDS_EOF;
-  return _WRDS_OK;
-}
-
-static char quote_transtab[] = "\\\\\"\"a\ab\bf\fn\nr\rt\tv\v";
-
-int
-wordsplit_c_unquote_char (int c)
-{
-  char *p;
-
-  for (p = quote_transtab; *p; p += 2)
+  
+  if (consume_all)
     {
-      if (*p == c)
-	return p[1];
-    }
-  return c;
-}
-
-int
-wordsplit_c_quote_char (int c)
-{
-  char *p;
-
-  for (p = quote_transtab + sizeof (quote_transtab) - 2;
-       p > quote_transtab; p -= 2)
-    {
-      if (*p == c)
-	return p[-1];
+      if (!np)
+	np = wsp->ws_head;
+      while (np)
+	{
+	  np->flags |= _WSNF_QUOTE;
+	  np = np->next;
+	}
     }
-  return -1;
+  
+  return _WRDS_OK;
 }
 
 #define to_num(c) \
@@ -1244,7 +2119,7 @@ wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote)
 	len += 3;
       else
 	{
-	  if (wordsplit_c_quote_char (*str) != -1)
+	  if (wordsplit_c_quote_char (*str))
 	    len += 2;
 	  else
 	    len += 4;
@@ -1253,47 +2128,56 @@ wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote)
   return len;
 }
 
-void
-wordsplit_general_unquote_copy (char *dst, const char *src, size_t n,
-				   const char *escapable)
+static int
+wsplt_unquote_char (const char *transtab, int c)
 {
-  int i;
-
-  for (i = 0; i < n;)
+  while (*transtab && transtab[1])
     {
-      if (src[i] == '\\' && i < n && strchr (escapable, src[i + 1]))
-	i++;
-      *dst++ = src[i++];
+      if (*transtab++ == c)
+	return *transtab;
+      ++transtab;
     }
-  *dst = 0;
+  return 0;
 }
 
-void
-wordsplit_sh_unquote_copy (char *dst, const char *src, size_t n)
+static int
+wsplt_quote_char (const char *transtab, int c)
 {
-  int i;
-
-  for (i = 0; i < n;)
+  for (; *transtab && transtab[1]; transtab += 2)
     {
-      if (src[i] == '\\')
-	i++;
-      *dst++ = src[i++];
+      if (transtab[1] == c)
+	return *transtab;
     }
-  *dst = 0;
+  return 0;
+}
+
+int
+wordsplit_c_unquote_char (int c)
+{
+  return wsplt_unquote_char (wordsplit_c_escape_tab, c);
+}
+
+int
+wordsplit_c_quote_char (int c)
+{
+  return wsplt_quote_char (wordsplit_c_escape_tab, c);
 }
 
 void
-wordsplit_c_unquote_copy (char *dst, const char *src, size_t n)
+wordsplit_string_unquote_copy (struct wordsplit *ws, int inquote,
+			       char *dst, const char *src, size_t n)
 {
   int i = 0;
   int c;
 
+  inquote = !!inquote;
   while (i < n)
     {
       if (src[i] == '\\')
 	{
 	  ++i;
-	  if (src[i] == 'x' || src[i] == 'X')
+	  if (WRDSO_ESC_TEST (ws, inquote, WRDSO_XESC)
+	      && (src[i] == 'x' || src[i] == 'X'))
 	    {
 	      if (n - i < 2)
 		{
@@ -1316,7 +2200,8 @@ wordsplit_c_unquote_copy (char *dst, const char *src, size_t n)
 		    }
 		}
 	    }
-	  else if ((unsigned char) src[i] < 128 && ISDIGIT (src[i]))
+	  else if (WRDSO_ESC_TEST (ws, inquote, WRDSO_OESC)
+		   && (unsigned char) src[i] < 128 && ISDIGIT (src[i]))
 	    {
 	      if (n - i < 1)
 		{
@@ -1338,8 +2223,17 @@ wordsplit_c_unquote_copy (char *dst, const char *src, size_t n)
 		    }
 		}
 	    }
+	  else if ((c = wsplt_unquote_char (ws->ws_escape[inquote], src[i])))
+	    {
+	      *dst++ = c;
+	      ++i;
+	    }
 	  else
-	    *dst++ = wordsplit_c_unquote_char (src[i++]);
+	    {
+	      if (WRDSO_ESC_TEST (ws, inquote, WRDSO_BSKEEP))
+		*dst++ = '\\';
+	      *dst++ = src[i++];
+	    }
 	}
       else
 	*dst++ = src[i++];
@@ -1373,7 +2267,7 @@ wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex)
 	    {
 	      int c = wordsplit_c_quote_char (*src);
 	      *dst++ = '\\';
-	      if (c != -1)
+	      if (c)
 		*dst++ = c;
 	      else
 		{
@@ -1386,20 +2280,82 @@ wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex)
     }
 }
 
+
+/* This structure describes a single expansion phase */
+struct exptab
+{
+  char const *descr; /* Textual description (for debugging) */
+  int flag;          /* WRDSF_ bit that controls this phase */
+  int opt;           /* Entry-specific options (see EXPOPT_ flags below */
+  int (*expansion) (struct wordsplit *wsp); /* expansion function */
+};
+
+/* The following options control expansions: */
+/* Normally the exptab entry is run if its flag bit is set in struct
+   wordsplit.  The EXPOPT_NEG option negates this test so that expansion
+   is performed if its associated flag bit is not set in struct wordsplit. */
+#define EXPOPT_NEG      0x01
+/* All bits in flag must be set in order for entry to match */
+#define EXPORT_ALLOF    0x02
+/* Coalesce the input list before running the expansion. */
+#define EXPOPT_COALESCE 0x04
+
+static struct exptab exptab[] = {
+  { N_("WS trimming"),          WRDSF_WS,         0,
+    wordsplit_trimws },
+  { N_("command substitution"), WRDSF_NOCMD,      EXPOPT_NEG|EXPOPT_COALESCE,
+    wordsplit_cmdexp },
+  { N_("coalesce list"),        0,                EXPOPT_NEG|EXPOPT_COALESCE,
+    NULL },
+  { N_("tilde expansion"),      WRDSF_PATHEXPAND, 0,
+    wordsplit_tildexpand },
+  { N_("variable expansion"),   WRDSF_NOVAR,      EXPOPT_NEG,
+    wordsplit_varexp },
+  { N_("quote removal"),        0,                EXPOPT_NEG,
+    wsnode_quoteremoval },
+  { N_("coalesce list"),        0,                EXPOPT_NEG|EXPOPT_COALESCE,
+    NULL },
+  { N_("path expansion"),       WRDSF_PATHEXPAND, 0,
+    wordsplit_pathexpand },
+  { NULL }
+};
+
+static inline int
+exptab_matches(struct exptab *p, struct wordsplit *wsp)
+{
+  int result;
+
+  result = (wsp->ws_flags & p->flag);
+  if (p->opt & EXPORT_ALLOF)
+    result = result == p->flag;
+  if (p->opt & EXPOPT_NEG)
+    result = !result;
+
+  return result;
+}
+
 static int
 wordsplit_process_list (struct wordsplit *wsp, size_t start)
 {
-  if (wsp->ws_flags & WRDSF_NOSPLIT)
-    {
-      /* Treat entire input as a quoted argument */
-      if (wordsplit_add_segm (wsp, start, wsp->ws_len, _WSNF_QUOTE))
+  struct exptab *p;
+
+  if (wsp->ws_flags & WRDSF_SHOWDBG)
+    wsp->ws_debug (_("(%02d) Input:%.*s;"),
+		   wsp->ws_lvl, (int) wsp->ws_len, wsp->ws_input);
+  
+  if ((wsp->ws_flags & WRDSF_NOSPLIT)
+      || ((wsp->ws_options & WRDSO_MAXWORDS)
+	  && wsp->ws_wordi + 1 == wsp->ws_maxwords))
+    {
+      /* Treat entire input as a single word */
+      if (scan_word (wsp, start, 1) == _WRDS_ERR)
 	return wsp->ws_errno;
     }
   else
     {
       int rc;
 
-      while ((rc = scan_word (wsp, start)) == _WRDS_OK)
+      while ((rc = scan_word (wsp, start, 0)) == _WRDS_OK)
 	start = skip_delim (wsp);
       /* Make sure tail element is not joinable */
       if (wsp->ws_tail)
@@ -1410,132 +2366,88 @@ wordsplit_process_list (struct wordsplit *wsp, size_t start)
 
   if (wsp->ws_flags & WRDSF_SHOWDBG)
     {
-      wsp->ws_debug ("Initial list:");
+      wsp->ws_debug ("(%02d) %s", wsp->ws_lvl, _("Initial list:"));
       wordsplit_dump_nodes (wsp);
     }
 
-  if (wsp->ws_flags & WRDSF_WS)
-    {
-      /* Trim leading and trailing whitespace */
-      wordsplit_trimws (wsp);
-      if (wsp->ws_flags & WRDSF_SHOWDBG)
-	{
-	  wsp->ws_debug ("After WS trimming:");
-	  wordsplit_dump_nodes (wsp);
-	}
-    }
-
-  /* Expand variables (FIXME: & commands) */
-  if (!(wsp->ws_flags & WRDSF_NOVAR))
+  for (p = exptab; p->descr; p++)
     {
-      if (wordsplit_varexp (wsp))
+      if (exptab_matches(p, wsp))
 	{
-	  wordsplit_free_nodes (wsp);
-	  return wsp->ws_errno;
-	}
-      if (wsp->ws_flags & WRDSF_SHOWDBG)
-	{
-	  wsp->ws_debug ("Expanded list:");
-	  wordsplit_dump_nodes (wsp);
-	}
-    }
-
-  do
-    {
-      if (wsnode_quoteremoval (wsp))
-	break;
-      if (wsp->ws_flags & WRDSF_SHOWDBG)
-	{
-	  wsp->ws_debug ("After quote removal:");
-	  wordsplit_dump_nodes (wsp);
-	}
-
-      if (wsnode_coalesce (wsp))
-	break;
-
-      if (wsp->ws_flags & WRDSF_SHOWDBG)
-	{
-	  wsp->ws_debug ("Coalesced list:");
-	  wordsplit_dump_nodes (wsp);
+	  if (p->opt & EXPOPT_COALESCE)
+	    {
+	      if (wsnode_coalesce (wsp))
+		break;
+	      if (wsp->ws_flags & WRDSF_SHOWDBG)
+		{
+		  wsp->ws_debug ("(%02d) %s", wsp->ws_lvl,
+				 _("Coalesced list:"));
+		  wordsplit_dump_nodes (wsp);
+		}
+	    }
+	  if (p->expansion)
+	    {
+	      if (p->expansion (wsp))
+		break;
+	      if (wsp->ws_flags & WRDSF_SHOWDBG)
+		{
+		  wsp->ws_debug ("(%02d) %s", wsp->ws_lvl, _(p->descr));
+		  wordsplit_dump_nodes (wsp);
+		}
+	    }
 	}
     }
-  while (0);
   return wsp->ws_errno;
 }
 
-int
-wordsplit_len (const char *command, size_t length, struct wordsplit *wsp,
-               int flags)
+static int
+wordsplit_run (const char *command, size_t length, struct wordsplit *wsp,
+               unsigned flags, int lvl)
 {
   int rc;
   size_t start;
-  const char *cmdptr;
-  size_t cmdlen;
 
   if (!command)
     {
       if (!(flags & WRDSF_INCREMENTAL))
-	return EINVAL;
+	return _wsplt_seterr (wsp, WRDSE_USAGE);
+
+      if (wsp->ws_head)
+	return wordsplit_finish (wsp);
 
-      start = skip_delim (wsp);
+      start = skip_delim_real (wsp);
       if (wsp->ws_endp == wsp->ws_len)
-	{
-	  wsp->ws_errno = WRDSE_NOINPUT;
-	  if (wsp->ws_flags & WRDSF_SHOWERR)
-	    wordsplit_perror (wsp);
-	  return wsp->ws_errno;
-	}
+	return _wsplt_seterr (wsp, WRDSE_NOINPUT);
 
-      cmdptr = wsp->ws_input + wsp->ws_endp;
-      cmdlen = wsp->ws_len - wsp->ws_endp;
       wsp->ws_flags |= WRDSF_REUSE;
       wordsplit_init0 (wsp);
     }
   else
     {
-      cmdptr = command;
-      cmdlen = length;
       start = 0;
-      rc = wordsplit_init (wsp, cmdptr, cmdlen, flags);
+      rc = wordsplit_init (wsp, command, length, flags);
       if (rc)
 	return rc;
+      wsp->ws_lvl = lvl;
     }
 
-  if (wsp->ws_flags & WRDSF_SHOWDBG)
-    wsp->ws_debug ("Input:%.*s;", (int) cmdlen, cmdptr);
-
   rc = wordsplit_process_list (wsp, start);
-  if (rc == 0 && (flags & WRDSF_INCREMENTAL))
-    {
-      while (!wsp->ws_head && wsp->ws_endp < wsp->ws_len)
-	{
-	  start = skip_delim (wsp);
-	  if (wsp->ws_flags & WRDSF_SHOWDBG)
-	    {
-	      cmdptr = wsp->ws_input + wsp->ws_endp;
-	      cmdlen = wsp->ws_len - wsp->ws_endp;
-	      wsp->ws_debug ("Restart:%.*s;", (int) cmdlen, cmdptr);
-	    }
-	  rc = wordsplit_process_list (wsp, start);
-	  if (rc)
-	    break;
-	}
-    }
   if (rc)
-    {
-      wordsplit_free_nodes (wsp);
-      return rc;
-    }
-  wordsplit_finish (wsp);
-  wordsplit_free_nodes (wsp);
-  return wsp->ws_errno;
+    return rc;
+  return wordsplit_finish (wsp);
+}
+
+int
+wordsplit_len (const char *command, size_t length, struct wordsplit *wsp, 
+               unsigned flags)
+{
+  return wordsplit_run (command, length, wsp, flags, 0);
 }
 
 int
-wordsplit (const char *command, struct wordsplit *ws, int flags)
+wordsplit (const char *command, struct wordsplit *ws, unsigned flags)
 {
-  return wordsplit_len (command, command ? strlen (command) : 0, ws,
-			   flags);
+  return wordsplit_len (command, command ? strlen (command) : 0, ws, flags);
 }
 
 void
@@ -1555,67 +2467,69 @@ wordsplit_free_words (struct wordsplit *ws)
   ws->ws_wordc = 0;
 }
 
+void
+wordsplit_free_envbuf (struct wordsplit *ws)
+{
+  if (ws->ws_flags & WRDSF_NOCMD)
+    return;
+  if (ws->ws_envbuf)
+    {
+      size_t i;
+
+      for (i = 0; ws->ws_envbuf[i]; i++)
+	free (ws->ws_envbuf[i]);
+      free (ws->ws_envbuf);
+      ws->ws_envidx = ws->ws_envsiz = 0;
+      ws->ws_envbuf = NULL;
+    }
+}
+
+void
+wordsplit_clearerr (struct wordsplit *ws)
+{
+  if (ws->ws_errno == WRDSE_USERERR)
+    free (ws->ws_usererr);
+  ws->ws_usererr = NULL;
+  ws->ws_errno = WRDSE_OK;
+}
+
 void
 wordsplit_free (struct wordsplit *ws)
 {
+  wordsplit_free_nodes (ws);
   wordsplit_free_words (ws);
   free (ws->ws_wordv);
   ws->ws_wordv = NULL;
+  wordsplit_free_envbuf (ws);
 }
 
-void
-wordsplit_perror (struct wordsplit *wsp)
+int
+wordsplit_get_words (struct wordsplit *ws, size_t *wordc, char ***wordv)
 {
-  switch (wsp->ws_errno)
-    {
-    case WRDSE_EOF:
-      wsp->ws_error (_("no error"));
-      break;
-
-    case WRDSE_QUOTE:
-      wsp->ws_error (_("missing closing %c (start near #%lu)"),
-		     wsp->ws_input[wsp->ws_endp],
-		     (unsigned long) wsp->ws_endp);
-      break;
-
-    case WRDSE_NOSPACE:
-      wsp->ws_error (_("memory exhausted"));
-      break;
-
-    case WRDSE_NOSUPP:
-      wsp->ws_error (_("command substitution is not yet supported"));
-      break;
-
-    case WRDSE_USAGE:
-      wsp->ws_error (_("invalid wordsplit usage"));
-      break;
-
-    case WRDSE_CBRACE:
-      wsp->ws_error (_("unbalanced curly brace"));
-      break;
+  char **p = realloc (ws->ws_wordv,
+		      (ws->ws_wordc + 1) * sizeof (ws->ws_wordv[0]));
+  if (!p)
+    return -1;
+  *wordv = p;
+  *wordc = ws->ws_wordc;
 
-    case WRDSE_UNDEF:
-      wsp->ws_error (_("undefined variable"));
-      break;
-
-    case WRDSE_NOINPUT:
-      wsp->ws_error (_("input exhausted"));
-      break;
+  ws->ws_wordv = NULL;
+  ws->ws_wordc = 0;
+  ws->ws_wordn = 0;
 
-    default:
-      wsp->ws_error (_("unknown error"));
-    }
+  return 0;
 }
 
 const char *_wordsplit_errstr[] = {
   N_("no error"),
   N_("missing closing quote"),
   N_("memory exhausted"),
-  N_("command substitution is not yet supported"),
   N_("invalid wordsplit usage"),
   N_("unbalanced curly brace"),
   N_("undefined variable"),
-  N_("input exhausted")
+  N_("input exhausted"),
+  N_("unbalanced parenthesis"),
+  N_("globbing error")
 };
 int _wordsplit_nerrs =
   sizeof (_wordsplit_errstr) / sizeof (_wordsplit_errstr[0]);
@@ -1623,7 +2537,26 @@ int _wordsplit_nerrs =
 const char *
 wordsplit_strerror (struct wordsplit *ws)
 {
+  if (ws->ws_errno == WRDSE_USERERR)
+    return ws->ws_usererr;
   if (ws->ws_errno < _wordsplit_nerrs)
     return _wordsplit_errstr[ws->ws_errno];
   return N_("unknown error");
 }
+
+void
+wordsplit_perror (struct wordsplit *wsp)
+{
+  switch (wsp->ws_errno)
+    {
+    case WRDSE_QUOTE:
+      wsp->ws_error (_("missing closing %c (start near #%lu)"),
+		     wsp->ws_input[wsp->ws_endp],
+		     (unsigned long) wsp->ws_endp);
+      break;
+
+    default:
+      wsp->ws_error ("%s", wordsplit_strerror (wsp));
+    }
+}
+
diff --git a/lib/wordsplit.h b/lib/wordsplit.h
index 575865b6..ff7f6e37 100644
--- a/lib/wordsplit.h
+++ b/lib/wordsplit.h
@@ -1,5 +1,5 @@
 /* wordsplit - a word splitter
-   Copyright (C) 2009-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright (C) 2009-2018 Sergey Poznyakoff
 
    This 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
@@ -12,10 +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, see <http://www.gnu.org/licenses/>.
-
-   Written by Sergey Poznyakoff
-*/
+   with this program. If not, see <http://www.gnu.org/licenses/>. */
 
 #ifndef __WORDSPLIT_H
 #define __WORDSPLIT_H
@@ -28,42 +25,106 @@
 # define __WORDSPLIT_ATTRIBUTE_FORMAT(spec) /* empty */
 #endif
 
-struct wordsplit
+typedef struct wordsplit wordsplit_t;
+
+/* Structure used to direct the splitting.  Members marked with [Input]
+   can be defined before calling wordsplit(), those marked with [Output]
+   provide return values when the function returns.  If neither mark is
+   used, the member is internal and must not be used by the caller.
+
+   In the comments below, the identifiers in parentheses indicate bits that
+   must be set (or unset, if starting with !) in ws_flags (if starting with
+   WRDSF_) or ws_options (if starting with WRDSO_) to initialize or use the
+   given member.
+   
+   If not redefined explicitly, most of them are set to some reasonable
+   default value upon entry to wordsplit(). */
+struct wordsplit            
 {
-  size_t ws_wordc;
-  char **ws_wordv;
-  size_t ws_offs;
-  size_t ws_wordn;
-  int ws_flags;
-  const char *ws_delim;
-  const char *ws_comment;
-  const char *ws_escape;
-  void (*ws_alloc_die) (struct wordsplit * wsp);
+  size_t ws_wordc;          /* [Output] Number of words in ws_wordv. */
+  char **ws_wordv;          /* [Output] Array of parsed out words. */
+  size_t ws_offs;           /* [Input] (WRDSF_DOOFFS) Number of initial
+			       elements in ws_wordv to fill with NULLs. */
+  size_t ws_wordn;          /* Number of elements ws_wordv can accomodate. */ 
+  unsigned ws_flags;        /* [Input] Flags passed to wordsplit. */
+  unsigned ws_options;      /* [Input] (WRDSF_OPTIONS)
+			       Additional options. */
+  size_t ws_maxwords;       /* [Input] (WRDSO_MAXWORDS) Return at most that
+			       many words */
+  size_t ws_wordi;          /* [Output] (WRDSF_INCREMENTAL) Total number of
+			       words returned so far */
+
+  const char *ws_delim;     /* [Input] (WRDSF_DELIM) Word delimiters. */
+  const char *ws_comment;   /* [Input] (WRDSF_COMMENT) Comment characters. */
+  const char *ws_escape[2]; /* [Input] (WRDSF_ESCAPE) Characters to be escaped
+			       with backslash. */
+  void (*ws_alloc_die) (wordsplit_t *wsp);
+                            /* [Input] (WRDSF_ALLOC_DIE) Function called when
+			       out of memory.  Must not return. */
   void (*ws_error) (const char *, ...)
-    __WORDSPLIT_ATTRIBUTE_FORMAT ((__printf__, 1, 2));
+                   __attribute__ ((__format__ (__printf__, 1, 2)));
+                            /* [Input] (WRDSF_ERROR) Function used for error
+			       reporting */
   void (*ws_debug) (const char *, ...)
-    __WORDSPLIT_ATTRIBUTE_FORMAT ((__printf__, 1, 2));
+                   __attribute__ ((__format__ (__printf__, 1, 2)));
+                            /* [Input] (WRDSF_DEBUG) Function used for debug
+			       output. */
+  const char **ws_env;      /* [Input] (WRDSF_ENV, !WRDSF_NOVAR) Array of
+			       environment variables. */
 
-  const char **ws_env;
-  const char *(*ws_getvar) (const char *, size_t, void *);
-  void *ws_closure;
+  char **ws_envbuf;
+  size_t ws_envidx;
+  size_t ws_envsiz;
+  
+  int (*ws_getvar) (char **ret, const char *var, size_t len, void *clos);
+                            /* [Input] (WRDSF_GETVAR, !WRDSF_NOVAR) Looks up
+			       the name VAR (LEN bytes long) in the table of
+			       variables and if found returns in memory
+			       location pointed to by RET the value of that
+			       variable.  Returns WRDSE_OK (0) on success,
+			       and an error code (see WRDSE_* defines below)
+			       on error.  User-specific errors can be returned
+			       by storing the error diagnostic string in RET
+			       and returning WRDSE_USERERR.
+                               Whatever is stored in RET, it must be allocated
+			       using malloc(3). */
+  void *ws_closure;         /* [Input] (WRDSF_CLOSURE) Passed as the CLOS
+			       argument to ws_getvar and ws_command. */
+  int (*ws_command) (char **ret, const char *cmd, size_t len, char **argv,
+                     void *clos);
+	                    /* [Input] (!WRDSF_NOCMD) Returns in the memory
+			       location pointed to by RET the expansion of
+			       the command CMD (LEN bytes long).  If WRDSO_ARGV
+			       option is set, ARGV contains CMD split out to
+			       words.  Otherwise ARGV is NULL.
 
-  const char *ws_input;
-  size_t ws_len;
-  size_t ws_endp;
-  int ws_errno;
+			       See ws_getvar for a discussion of possible
+			       return values. */
+	
+  const char *ws_input;     /* Input string (the S argument to wordsplit. */  
+  size_t ws_len;            /* Length of ws_input. */
+  size_t ws_endp;           /* Points past the last processed byte in
+			       ws_input. */
+  int ws_errno;             /* [Output] Error code, if an error occurred. */
+  char *ws_usererr;         /* Points to textual description of
+			       the error, if ws_errno is WRDSE_USERERR.  Must
+			       be allocated with malloc(3). */
   struct wordsplit_node *ws_head, *ws_tail;
+                            /* Doubly-linked list of parsed out nodes. */
+  int ws_lvl;               /* Invocation nesting level. */
 };
 
-/* Wordsplit flags.  Only 2 bits of a 32-bit word remain unused.
-   It is getting crowded... */
+/* Initial size for ws_env, if allocated automatically */
+#define WORDSPLIT_ENV_INIT 16
+
+/* Wordsplit flags. */
 /* Append the words found to the array resulting from a previous
    call. */
 #define WRDSF_APPEND            0x00000001
-/* Insert we_offs initial NULLs in the array ws_wordv.
+/* Insert ws_offs initial NULLs in the array ws_wordv.
    (These are not counted in the returned ws_wordc.) */
 #define WRDSF_DOOFFS            0x00000002
-/* Don't do command substitution. Reserved for future use. */
+/* Don't do command substitution. */
 #define WRDSF_NOCMD             0x00000004
 /* The parameter p resulted from a previous call to
    wordsplit(), and wordsplit_free() was not called. Reuse the
@@ -71,10 +132,8 @@ struct wordsplit
 #define WRDSF_REUSE             0x00000008
 /* Print errors */
 #define WRDSF_SHOWERR           0x00000010
-/* Consider it an error if an undefined shell variable
-   is expanded. */
+/* Consider it an error if an undefined variable is expanded. */
 #define WRDSF_UNDEF             0x00000020
-
 /* Don't do variable expansion. */
 #define WRDSF_NOVAR             0x00000040
 /* Abort on ENOMEM error */
@@ -85,7 +144,7 @@ struct wordsplit
 #define WRDSF_SQUOTE            0x00000200
 /* Handle double quotes */
 #define WRDSF_DQUOTE            0x00000400
-/* Handle quotes and escape directives */
+/* Handle single and double quotes */
 #define WRDSF_QUOTE             (WRDSF_SQUOTE|WRDSF_DQUOTE)
 /* Replace each input sequence of repeated delimiters with a single
    delimiter */
@@ -113,56 +172,106 @@ struct wordsplit
 /* Don't split input into words.  Useful for side effects. */
 #define WRDSF_NOSPLIT           0x00400000
 /* Keep undefined variables in place, instead of expanding them to
-   empty string */
+   empty strings. */
 #define WRDSF_KEEPUNDEF         0x00800000
 /* Warn about undefined variables */
 #define WRDSF_WARNUNDEF         0x01000000
 /* Handle C escapes */
 #define WRDSF_CESCAPES          0x02000000
-
 /* ws_closure is set */
 #define WRDSF_CLOSURE           0x04000000
 /* ws_env is a Key/Value environment, i.e. the value of a variable is
    stored in the element that follows its name. */
 #define WRDSF_ENV_KV            0x08000000
-
 /* ws_escape is set */
 #define WRDSF_ESCAPE            0x10000000
-
 /* Incremental mode */
 #define WRDSF_INCREMENTAL       0x20000000
+/* Perform pathname and tilde expansion */
+#define WRDSF_PATHEXPAND        0x40000000
+/* ws_options is initialized */
+#define WRDSF_OPTIONS           0x80000000
 
 #define WRDSF_DEFFLAGS	       \
   (WRDSF_NOVAR | WRDSF_NOCMD | \
    WRDSF_QUOTE | WRDSF_SQUEEZE_DELIMS | WRDSF_CESCAPES)
 
-#define WRDSE_EOF        0
+/* Remove the word that produces empty string after path expansion */
+#define WRDSO_NULLGLOB        0x00000001
+/* Print error message if path expansion produces empty string */
+#define WRDSO_FAILGLOB        0x00000002
+/* Allow a leading period to be matched by metacharacters. */
+#define WRDSO_DOTGLOB         0x00000004
+/* ws_command needs argv parameter */
+#define WRDSO_ARGV            0x00000008
+/* Keep backslash in unrecognized escape sequences in words */
+#define WRDSO_BSKEEP_WORD     0x00000010
+/* Handle octal escapes in words */
+#define WRDSO_OESC_WORD       0x00000020
+/* Handle hex escapes in words */
+#define WRDSO_XESC_WORD       0x00000040
+
+/* ws_maxwords field is initialized */
+#define WRDSO_MAXWORDS        0x00000080
+
+/* Keep backslash in unrecognized escape sequences in quoted strings */
+#define WRDSO_BSKEEP_QUOTE    0x00000100
+/* Handle octal escapes in quoted strings */
+#define WRDSO_OESC_QUOTE      0x00000200
+/* Handle hex escapes in quoted strings */
+#define WRDSO_XESC_QUOTE      0x00000400
+
+#define WRDSO_BSKEEP          WRDSO_BSKEEP_WORD     
+#define WRDSO_OESC            WRDSO_OESC_WORD       
+#define WRDSO_XESC            WRDSO_XESC_WORD       
+
+/* Indices into ws_escape */
+#define WRDSX_WORD  0
+#define WRDSX_QUOTE 1
+
+/* Set escape option F in WS for words (Q==0) or quoted strings (Q==1) */
+#define WRDSO_ESC_SET(ws,q,f) ((ws)->ws_options |= ((f) << 4*(q)))
+/* Test WS for escape option F for words (Q==0) or quoted strings (Q==1) */
+#define WRDSO_ESC_TEST(ws,q,f) ((ws)->ws_options & ((f) << 4*(q)))
+
+#define WRDSE_OK         0
+#define WRDSE_EOF        WRDSE_OK
 #define WRDSE_QUOTE      1
 #define WRDSE_NOSPACE    2
-#define WRDSE_NOSUPP     3
-#define WRDSE_USAGE      4
-#define WRDSE_CBRACE     5
-#define WRDSE_UNDEF      6
-#define WRDSE_NOINPUT    7
-
-int wordsplit (const char *s, struct wordsplit *p, int flags);
-int wordsplit_len (const char *s, size_t len,
-		      struct wordsplit *p, int flags);
-void wordsplit_free (struct wordsplit *p);
-void wordsplit_free_words (struct wordsplit *ws);
+#define WRDSE_USAGE      3
+#define WRDSE_CBRACE     4
+#define WRDSE_UNDEF      5
+#define WRDSE_NOINPUT    6
+#define WRDSE_PAREN      7
+#define WRDSE_GLOBERR    8
+#define WRDSE_USERERR    9
+
+int wordsplit (const char *s, wordsplit_t *ws, unsigned flags);
+int wordsplit_len (const char *s, size_t len, wordsplit_t *ws, unsigned flags);
+void wordsplit_free (wordsplit_t *ws);
+void wordsplit_free_words (wordsplit_t *ws);
+void wordsplit_free_envbuf (wordsplit_t *ws);
+int wordsplit_get_words (wordsplit_t *ws, size_t *wordc, char ***wordv);
+
+static inline void wordsplit_getwords (wordsplit_t *ws, size_t *wordc, char ***wordv)
+  __attribute__ ((deprecated));
+
+static inline void
+wordsplit_getwords (wordsplit_t *ws, size_t *wordc, char ***wordv)
+{
+  wordsplit_get_words (ws, wordc, wordv);
+}
+
+int wordsplit_append (wordsplit_t *wsp, int argc, char **argv);
 
 int wordsplit_c_unquote_char (int c);
 int wordsplit_c_quote_char (int c);
-size_t wordsplit_c_quoted_length (const char *str, int quote_hex,
-				  int *quote);
-void wordsplit_general_unquote_copy (char *dst, const char *src, size_t n,
-				     const char *escapable);
-void wordsplit_sh_unquote_copy (char *dst, const char *src, size_t n);
-void wordsplit_c_unquote_copy (char *dst, const char *src, size_t n);
+size_t wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote);
 void wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex);
 
-void wordsplit_perror (struct wordsplit *ws);
-const char *wordsplit_strerror (struct wordsplit *ws);
+void wordsplit_perror (wordsplit_t *ws);
+const char *wordsplit_strerror (wordsplit_t *ws);
 
+void wordsplit_clearerr (wordsplit_t *ws);
 
 #endif
diff --git a/lib/xattr-at.c b/lib/xattr-at.c
index 3bba552f..89cfad42 100644
--- a/lib/xattr-at.c
+++ b/lib/xattr-at.c
@@ -1,7 +1,7 @@
 /* openat-style fd-relative functions for operating with extended file
    attributes.
 
-   Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 2012-2019 Free Software Foundation, Inc.
 
    This 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/xattr-at.h b/lib/xattr-at.h
index 09a63d07..c278fb7f 100644
--- a/lib/xattr-at.h
+++ b/lib/xattr-at.h
@@ -1,7 +1,7 @@
 /* Prototypes for openat-style fd-relative functions for operating with
    extended file attributes.
 
-   Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 2012-2019 Free Software Foundation, Inc.
 
    This 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/m4/00gnulib.m4 b/m4/00gnulib.m4
index bb3512fd..e3e0fb6d 100644
--- a/m4/00gnulib.m4
+++ b/m4/00gnulib.m4
@@ -1,5 +1,5 @@
 # 00gnulib.m4 serial 3
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/__inline.m4 b/m4/__inline.m4
new file mode 100644
index 00000000..e1aa310c
--- /dev/null
+++ b/m4/__inline.m4
@@ -0,0 +1,22 @@
+# Test for __inline keyword
+dnl Copyright 2017-2019 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___INLINE],
+[
+  AC_CACHE_CHECK([whether the compiler supports the __inline keyword],
+    [gl_cv_c___inline],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+         [[typedef int foo_t;
+           static __inline foo_t foo (void) { return 0; }]],
+         [[return foo ();]])],
+       [gl_cv_c___inline=yes],
+       [gl_cv_c___inline=no])])
+  if test $gl_cv_c___inline = yes; then
+    AC_DEFINE([HAVE___INLINE], [1],
+      [Define to 1 if the compiler supports the keyword '__inline'.])
+  fi
+])
diff --git a/m4/absolute-header.m4 b/m4/absolute-header.m4
index c73adc82..a8f2cba1 100644
--- a/m4/absolute-header.m4
+++ b/m4/absolute-header.m4
@@ -1,5 +1,5 @@
 # absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2019 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/acl.m4 b/m4/acl.m4
index bf988d55..5234a80f 100644
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -1,7 +1,7 @@
 # acl.m4 - check for access control list (ACL) primitives
-# serial 22
+# serial 23
 
-# Copyright (C) 2002, 2004-2017 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004-2019 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.
@@ -30,7 +30,8 @@ AC_DEFUN([gl_FUNC_ACL],
       ac_save_LIBS=$LIBS
 
       dnl Test for POSIX-draft-like API (GNU/Linux, FreeBSD, Mac OS X,
-      dnl IRIX, Tru64).  -lacl is needed on GNU/Linux, -lpacl on OSF/1.
+      dnl IRIX, Tru64, Cygwin >= 2.5).
+      dnl -lacl is needed on GNU/Linux, -lpacl on OSF/1.
       if test $use_acl = 0; then
         AC_SEARCH_LIBS([acl_get_file], [acl pacl],
           [if test "$ac_cv_search_acl_get_file" != "none required"; then
diff --git a/m4/alloca.m4 b/m4/alloca.m4
index 867954a2..46d60f9c 100644
--- a/m4/alloca.m4
+++ b/m4/alloca.m4
@@ -1,5 +1,5 @@
 # alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2019 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,
diff --git a/m4/argp.m4 b/m4/argp.m4
index 2a4592c8..8b2e2d85 100644
--- a/m4/argp.m4
+++ b/m4/argp.m4
@@ -1,5 +1,5 @@
 # argp.m4 serial 15
-dnl Copyright (C) 2003-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2019 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/asm-underscore.m4 b/m4/asm-underscore.m4
deleted file mode 100644
index 07270c92..00000000
--- a/m4/asm-underscore.m4
+++ /dev/null
@@ -1,71 +0,0 @@
-# asm-underscore.m4 serial 3
-dnl Copyright (C) 2010-2017 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 From Bruno Haible. Based on as-underscore.m4 in GNU clisp.
-
-# gl_ASM_SYMBOL_PREFIX
-# Tests for the prefix of C symbols at the assembly language level and the
-# linker level. This prefix is either an underscore or empty. Defines the
-# C macro USER_LABEL_PREFIX to this prefix, and sets ASM_SYMBOL_PREFIX to
-# a stringified variant of this prefix.
-
-AC_DEFUN([gl_ASM_SYMBOL_PREFIX],
-[
-  dnl We don't use GCC's __USER_LABEL_PREFIX__ here, because
-  dnl 1. It works only for GCC.
-  dnl 2. It is incorrectly defined on some platforms, in some GCC versions.
-  AC_REQUIRE([gl_C_ASM])
-  AC_CACHE_CHECK(
-    [whether C symbols are prefixed with underscore at the linker level],
-    [gl_cv_prog_as_underscore],
-    [cat > conftest.c <<EOF
-#ifdef __cplusplus
-extern "C" int foo (void);
-#endif
-int foo(void) { return 0; }
-EOF
-     # Look for the assembly language name in the .s file.
-     AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1
-     if LC_ALL=C grep -E '(^|[[^a-zA-Z0-9_]])_foo([[^a-zA-Z0-9_]]|$)' conftest.$gl_asmext >/dev/null; then
-       gl_cv_prog_as_underscore=yes
-     else
-       gl_cv_prog_as_underscore=no
-     fi
-     rm -f conftest*
-    ])
-  if test $gl_cv_prog_as_underscore = yes; then
-    USER_LABEL_PREFIX=_
-  else
-    USER_LABEL_PREFIX=
-  fi
-  AC_DEFINE_UNQUOTED([USER_LABEL_PREFIX], [$USER_LABEL_PREFIX],
-    [Define to the prefix of C symbols at the assembler and linker level,
-     either an underscore or empty.])
-  ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"'
-  AC_SUBST([ASM_SYMBOL_PREFIX])
-])
-
-# gl_C_ASM
-# Determines how to produce an assembly language file from C source code.
-# Sets the variables:
-#   gl_asmext - the extension of assembly language output,
-#   gl_c_asm_opt - the C compiler option that produces assembly language output.
-
-AC_DEFUN([gl_C_ASM],
-[
-  AC_EGREP_CPP([MicrosoftCompiler],
-    [
-#ifdef _MSC_VER
-MicrosoftCompiler
-#endif
-    ],
-    [gl_asmext='asm'
-     gl_c_asm_opt='-c -Fa'
-    ],
-    [gl_asmext='s'
-     gl_c_asm_opt='-S'
-    ])
-])
diff --git a/m4/backupfile.m4 b/m4/backupfile.m4
index 1bc22821..5c456251 100644
--- a/m4/backupfile.m4
+++ b/m4/backupfile.m4
@@ -1,5 +1,5 @@
 # backupfile.m4 serial 14
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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/bison.m4 b/m4/bison.m4
index 1bcfdf6e..d64883bd 100644
--- a/m4/bison.m4
+++ b/m4/bison.m4
@@ -1,6 +1,6 @@
 # serial 7
 
-# Copyright (C) 2002, 2005, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2009-2019 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.
@@ -8,15 +8,16 @@
 AC_DEFUN([gl_BISON],
 [
   # parse-datetime.y works with bison only.
-  : ${YACC='bison -y'}
+  : ${YACC='bison -o y.tab.c'}
 dnl
 dnl Declaring YACC & YFLAGS precious will not be necessary after GNULIB
 dnl requires an Autoconf greater than 2.59c, but it will probably still be
 dnl useful to override the description of YACC in the --help output, re
-dnl parse-datetime.y assuming 'bison -y'.
+dnl parse-datetime.y assuming 'bison -o y.tab.c'.
   AC_ARG_VAR([YACC],
-[The "Yet Another C Compiler" implementation to use.  Defaults to 'bison -y'.
-Values other than 'bison -y' will most likely break on most systems.])dnl
+[The "Yet Another C Compiler" implementation to use.  Defaults to
+'bison -o y.tab.c'.  Values other than 'bison -o y.tab.c' will most likely
+break on most systems.])dnl
   AC_ARG_VAR([YFLAGS],
 [YFLAGS contains the list arguments that will be passed by default to Bison.
 This script will default YFLAGS to the empty string to avoid a default value of
diff --git a/m4/btowc.m4 b/m4/btowc.m4
index f59db65a..85c2cbf6 100644
--- a/m4/btowc.m4
+++ b/m4/btowc.m4
@@ -1,5 +1,5 @@
 # btowc.m4 serial 11
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2019 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/builtin-expect.m4 b/m4/builtin-expect.m4
index aa3364bf..b65fbf87 100644
--- a/m4/builtin-expect.m4
+++ b/m4/builtin-expect.m4
@@ -1,6 +1,6 @@
 dnl Check for __builtin_expect.
 
-dnl Copyright 2016-2017 Free Software Foundation, Inc.
+dnl Copyright 2016-2019 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/canonicalize.m4 b/m4/canonicalize.m4
index 53b1597d..5b6e25df 100644
--- a/m4/canonicalize.m4
+++ b/m4/canonicalize.m4
@@ -1,6 +1,6 @@
 # canonicalize.m4 serial 29
 
-dnl Copyright (C) 2003-2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -35,8 +35,8 @@ AC_DEFUN([gl_CANONICALIZE_LGPL],
       HAVE_REALPATH=0
     else
       case "$gl_cv_func_realpath_works" in
-	*yes) ;;
-	*)    REPLACE_REALPATH=1 ;;
+        *yes) ;;
+        *)    REPLACE_REALPATH=1 ;;
       esac
     fi
   else
diff --git a/m4/chdir-long.m4 b/m4/chdir-long.m4
index c4c07b50..64b5ef94 100644
--- a/m4/chdir-long.m4
+++ b/m4/chdir-long.m4
@@ -6,7 +6,7 @@
 # never fails with ENAMETOOLONG.
 # Arrange to compile chdir-long.c only on systems that define PATH_MAX.
 
-dnl Copyright (C) 2004-2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2007, 2009-2019 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/chown.m4 b/m4/chown.m4
index cf2f35f7..d92fd1c1 100644
--- a/m4/chown.m4
+++ b/m4/chown.m4
@@ -1,7 +1,7 @@
-# serial 28
+# serial 30
 # Determine whether we need the chown wrapper.
 
-dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2017 Free Software
+dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2019 Free Software
 dnl Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
@@ -46,12 +46,14 @@ AC_DEFUN([AC_FUNC_CHOWN],
        [ac_cv_func_chown_works=yes],
        [ac_cv_func_chown_works=no],
        [case "$host_os" in # ((
-                  # Guess yes on glibc systems.
-          *-gnu*) ac_cv_func_chown_works="guessing yes" ;;
-                  # Guess no on native Windows.
-          mingw*) ac_cv_func_chown_works="guessing no" ;;
-                  # If we don't know, assume the worst.
-          *)      ac_cv_func_chown_works="guessing no" ;;
+                           # Guess yes on Linux systems.
+          linux-* | linux) ac_cv_func_chown_works="guessing yes" ;;
+                           # Guess yes on glibc systems.
+          *-gnu* | gnu*)   ac_cv_func_chown_works="guessing yes" ;;
+                           # Guess no on native Windows.
+          mingw*)          ac_cv_func_chown_works="guessing no" ;;
+                           # If we don't know, assume the worst.
+          *)               ac_cv_func_chown_works="guessing no" ;;
         esac
        ])
      rm -f conftest.chown
diff --git a/m4/clock_time.m4 b/m4/clock_time.m4
index 21b6f256..8f7a7fcd 100644
--- a/m4/clock_time.m4
+++ b/m4/clock_time.m4
@@ -1,5 +1,5 @@
 # clock_time.m4 serial 10
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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-stream.m4 b/m4/close-stream.m4
index 65a1acce..5d31221b 100644
--- a/m4/close-stream.m4
+++ b/m4/close-stream.m4
@@ -1,5 +1,5 @@
 #serial 4
-dnl Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2019 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
index ed357ab9..7013a130 100644
--- a/m4/close.m4
+++ b/m4/close.m4
@@ -1,5 +1,5 @@
 # close.m4 serial 9
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2019 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/closedir.m4 b/m4/closedir.m4
index 69e41b3c..37dc5414 100644
--- a/m4/closedir.m4
+++ b/m4/closedir.m4
@@ -1,5 +1,5 @@
 # closedir.m4 serial 6
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/closeout.m4 b/m4/closeout.m4
index 3c3aa2ff..c02179b7 100644
--- a/m4/closeout.m4
+++ b/m4/closeout.m4
@@ -1,5 +1,5 @@
 # closeout.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 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,
diff --git a/m4/codeset.m4 b/m4/codeset.m4
index bc98201e..280f556f 100644
--- a/m4/codeset.m4
+++ b/m4/codeset.m4
@@ -1,6 +1,6 @@
 # codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016 Free Software Foundation,
-dnl Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019 Free Software
+dnl 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/configmake.m4 b/m4/configmake.m4
index b783296b..05719526 100644
--- a/m4/configmake.m4
+++ b/m4/configmake.m4
@@ -1,55 +1,27 @@
-# configmake.m4 serial 2
-dnl Copyright (C) 2010-2017 Free Software Foundation, Inc.
+# configmake.m4 serial 3
+dnl Copyright (C) 2010-2019 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_PREREQ([2.60])
+
 # gl_CONFIGMAKE_PREP
 # ------------------
 # Guarantee all of the standard directory variables, even when used with
-# autoconf 2.59 (datarootdir wasn't supported until 2.59c, and runstatedir
-# in 2.70) or automake 1.9.6 (pkglibexecdir wasn't supported until 1.10b,
-# and runstatedir in 1.14.1).
+# autoconf 2.63 (runstatedir wasn't supported before 2.70) or
+# automake 1.11 (runstatedir isn't supported even in 1.16.1).
 AC_DEFUN([gl_CONFIGMAKE_PREP],
 [
-  dnl Technically, datadir should default to datarootdir.  But if
-  dnl autoconf is too old to provide datarootdir, then reversing the
-  dnl definition is a reasonable compromise.  Only AC_SUBST a variable
-  dnl if it was not already defined earlier by autoconf.
-  if test "x$datarootdir" = x; then
-    AC_SUBST([datarootdir], ['${datadir}'])
-  fi
-  dnl Copy the approach used in autoconf 2.60.
-  if test "x$docdir" = x; then
-    AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
-      ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
-      ['${datarootdir}/doc/${PACKAGE}'])])
-  fi
-  dnl The remaining variables missing from autoconf 2.59 are easier.
-  if test "x$htmldir" = x; then
-    AC_SUBST([htmldir], ['${docdir}'])
-  fi
-  if test "x$dvidir" = x; then
-    AC_SUBST([dvidir], ['${docdir}'])
-  fi
-  if test "x$pdfdir" = x; then
-    AC_SUBST([pdfdir], ['${docdir}'])
-  fi
-  if test "x$psdir" = x; then
-    AC_SUBST([psdir], ['${docdir}'])
-  fi
   if test "x$lispdir" = x; then
     AC_SUBST([lispdir], ['${datarootdir}/emacs/site-lisp'])
   fi
-  if test "x$localedir" = x; then
-    AC_SUBST([localedir], ['${datarootdir}/locale'])
-  fi
-  dnl Added in autoconf 2.70
+  dnl Added in autoconf 2.70.
   if test "x$runstatedir" = x; then
     AC_SUBST([runstatedir], ['${localstatedir}/run'])
   fi
 
-  dnl Automake 1.9.6 only lacks pkglibexecdir; and since 1.11 merely
-  dnl provides it without AC_SUBST, this blind use of AC_SUBST is safe.
+  dnl Automake 1.11 provides pkglibexecdir merely without AC_SUBST.
+  dnl This blind use of AC_SUBST is safe.
   AC_SUBST([pkglibexecdir], ['${libexecdir}/${PACKAGE}'])
 ])
diff --git a/m4/d-ino.m4 b/m4/d-ino.m4
index 376045cc..f1420ccf 100644
--- a/m4/d-ino.m4
+++ b/m4/d-ino.m4
@@ -5,7 +5,7 @@ dnl
 dnl Check whether struct dirent has a member named d_ino.
 dnl
 
-# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2017 Free Software
+# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2019 Free Software
 # Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
diff --git a/m4/dirent-safer.m4 b/m4/dirent-safer.m4
index 2ee00e4a..3089ea63 100644
--- a/m4/dirent-safer.m4
+++ b/m4/dirent-safer.m4
@@ -1,5 +1,5 @@
 #serial 2
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/dirent_h.m4 b/m4/dirent_h.m4
index 1f9c4f31..732aa554 100644
--- a/m4/dirent_h.m4
+++ b/m4/dirent_h.m4
@@ -1,5 +1,5 @@
 # dirent_h.m4 serial 16
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2019 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/dirfd.m4 b/m4/dirfd.m4
index d472c385..5c758699 100644
--- a/m4/dirfd.m4
+++ b/m4/dirfd.m4
@@ -2,7 +2,7 @@
 
 dnl Find out how to get the file descriptor associated with an open DIR*.
 
-# Copyright (C) 2001-2006, 2008-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2006, 2008-2019 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.
diff --git a/m4/dirname.m4 b/m4/dirname.m4
index 46f5394c..32141ae6 100644
--- a/m4/dirname.m4
+++ b/m4/dirname.m4
@@ -1,5 +1,5 @@
 #serial 10   -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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/double-slash-root.m4 b/m4/double-slash-root.m4
index c80f9ead..0c5afb17 100644
--- a/m4/double-slash-root.m4
+++ b/m4/double-slash-root.m4
@@ -1,5 +1,5 @@
 # double-slash-root.m4 serial 4   -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2019 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/dup.m4 b/m4/dup.m4
index 42ef5d7a..005f1ea7 100644
--- a/m4/dup.m4
+++ b/m4/dup.m4
@@ -1,5 +1,5 @@
 # dup.m4 serial 6
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/dup2.m4 b/m4/dup2.m4
index bdb9ae25..b314247d 100644
--- a/m4/dup2.m4
+++ b/m4/dup2.m4
@@ -1,5 +1,5 @@
 #serial 25
-dnl Copyright (C) 2002, 2005, 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2007, 2009-2019 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/eealloc.m4 b/m4/eealloc.m4
index 96b9bca5..2a4b120a 100644
--- a/m4/eealloc.m4
+++ b/m4/eealloc.m4
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2019 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/environ.m4 b/m4/environ.m4
index 3b9fa5f5..c1a6fa37 100644
--- a/m4/environ.m4
+++ b/m4/environ.m4
@@ -1,5 +1,5 @@
-# environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2017 Free Software Foundation, Inc.
+# environ.m4 serial 7
+dnl Copyright (C) 2001-2004, 2006-2019 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,16 +29,14 @@ AC_DEFUN_ONCE([gl_ENVIRON],
 AC_DEFUN([gt_CHECK_VAR_DECL],
 [
   define([gt_cv_var], [gt_cv_var_]$2[_declaration])
-  AC_MSG_CHECKING([if $2 is properly declared])
-  AC_CACHE_VAL([gt_cv_var], [
-    AC_COMPILE_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[$1
-           extern struct { int foo; } $2;]],
-         [[$2.foo = 1;]])],
-      [gt_cv_var=no],
-      [gt_cv_var=yes])])
-  AC_MSG_RESULT([$gt_cv_var])
+  AC_CACHE_CHECK([if $2 is properly declared], [gt_cv_var],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[$1
+            extern struct { int foo; } $2;]],
+          [[$2.foo = 1;]])],
+       [gt_cv_var=no],
+       [gt_cv_var=yes])])
   if test $gt_cv_var = yes; then
     AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
               [Define if you have the declaration of $2.])
diff --git a/m4/errno_h.m4 b/m4/errno_h.m4
index 9f0f2f2f..2388854e 100644
--- a/m4/errno_h.m4
+++ b/m4/errno_h.m4
@@ -1,9 +1,11 @@
-# errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2017 Free Software Foundation, Inc.
+# errno_h.m4 serial 13
+dnl Copyright (C) 2004, 2006, 2008-2019 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_PREREQ([2.61])
+
 AC_DEFUN_ONCE([gl_HEADER_ERRNO_H],
 [
   AC_REQUIRE([AC_PROG_CC])
@@ -129,9 +131,3 @@ yes
     AC_SUBST($1[_VALUE])
   fi
 ])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
diff --git a/m4/error.m4 b/m4/error.m4
index 57c6f125..393adb54 100644
--- a/m4/error.m4
+++ b/m4/error.m4
@@ -1,6 +1,6 @@
 #serial 14
 
-# Copyright (C) 1996-1998, 2001-2004, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/euidaccess.m4 b/m4/euidaccess.m4
index 02fca291..8e840e63 100644
--- a/m4/euidaccess.m4
+++ b/m4/euidaccess.m4
@@ -1,5 +1,5 @@
 # euidaccess.m4 serial 15
-dnl Copyright (C) 2002-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2019 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/exponentd.m4 b/m4/exponentd.m4
index cd64b92d..90870dfa 100644
--- a/m4/exponentd.m4
+++ b/m4/exponentd.m4
@@ -1,5 +1,5 @@
 # exponentd.m4 serial 3
-dnl Copyright (C) 2007-2008, 2010-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2019 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/extensions.m4 b/m4/extensions.m4
index f8543386..fd1ce817 100644
--- a/m4/extensions.m4
+++ b/m4/extensions.m4
@@ -1,7 +1,7 @@
-# serial 17  -*- Autoconf -*-
+# serial 18  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2017 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2019 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.
@@ -118,6 +118,11 @@ dnl configure.ac when using autoheader 2.62.
 #ifndef _XOPEN_SOURCE
 # undef _XOPEN_SOURCE
 #endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# undef _HPUX_ALT_XOPEN_SOCKET_API
+#endif
 /* Enable general extensions on Solaris.  */
 #ifndef __EXTENSIONS__
 # undef __EXTENSIONS__
@@ -163,6 +168,7 @@ dnl configure.ac when using autoheader 2.62.
           [ac_cv_should_define__xopen_source=yes])])])
   test $ac_cv_should_define__xopen_source = yes &&
     AC_DEFINE([_XOPEN_SOURCE], [500])
+  AC_DEFINE([_HPUX_ALT_XOPEN_SOCKET_API])
 ])# AC_USE_SYSTEM_EXTENSIONS
 
 # gl_USE_SYSTEM_EXTENSIONS
diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4
index 207aa6a0..ec9f2218 100644
--- a/m4/extern-inline.m4
+++ b/m4/extern-inline.m4
@@ -1,6 +1,6 @@
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2017 Free Software Foundation, Inc.
+dnl Copyright 2012-2019 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.
@@ -25,7 +25,8 @@ AC_DEFUN([gl_EXTERN_INLINE],
    if isdigit is mistakenly implemented via a static inline function,
    a program containing an extern inline function that calls isdigit
    may not work since the C standard prohibits extern inline functions
-   from calling static functions.  This bug is known to occur on:
+   from calling static functions (ISO C 99 section 6.7.4.(3).
+   This bug is known to occur on:
 
      OS X 10.8 and earlier; see:
      https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
@@ -38,7 +39,18 @@ AC_DEFUN([gl_EXTERN_INLINE],
 
    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
    for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
-   Assume DragonFly and FreeBSD will be similar.  */
+   Assume DragonFly and FreeBSD will be similar.
+
+   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  It defines a macro
+   __GNUC_STDC_INLINE__ to indicate this situation or a macro
+   __GNUC_GNU_INLINE__ to indicate the opposite situation.
+   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
+   semantics but warns, unless -fgnu89-inline is used:
+     warning: C99 inline functions are not supported; using GNU89
+     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
+   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+ */
 #if (((defined __APPLE__ && defined __MACH__) \
       || defined __DragonFly__ || defined __FreeBSD__) \
      && (defined __header_inline \
diff --git a/m4/faccessat.m4 b/m4/faccessat.m4
index c64545ab..6c7d79b0 100644
--- a/m4/faccessat.m4
+++ b/m4/faccessat.m4
@@ -1,7 +1,7 @@
 # serial 8
 # See if we need to provide faccessat replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/fchdir.m4 b/m4/fchdir.m4
index 0ef04ed8..ea5a4f91 100644
--- a/m4/fchdir.m4
+++ b/m4/fchdir.m4
@@ -1,5 +1,5 @@
-# fchdir.m4 serial 22
-dnl Copyright (C) 2006-2017 Free Software Foundation, Inc.
+# fchdir.m4 serial 24
+dnl Copyright (C) 2006-2019 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,12 +31,14 @@ AC_DEFUN([gl_FUNC_FCHDIR],
         [gl_cv_func_open_directory_works=yes],
         [gl_cv_func_open_directory_works=no],
         [case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_open_directory_works="guessing yes" ;;
-                   # Guess no on native Windows.
-           mingw*) gl_cv_func_open_directory_works="guessing no" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_open_directory_works="guessing no" ;;
+                            # Guess yes on Linux systems.
+           linux-* | linux) gl_cv_func_open_directory_works="guessing yes" ;;
+                            # Guess yes on glibc systems.
+           *-gnu* | gnu*)   gl_cv_func_open_directory_works="guessing yes" ;;
+                            # Guess no on native Windows.
+           mingw*)          gl_cv_func_open_directory_works="guessing no" ;;
+                            # If we don't know, assume the worst.
+           *)               gl_cv_func_open_directory_works="guessing no" ;;
          esac
         ])])
     case "$gl_cv_func_open_directory_works" in
diff --git a/m4/fchmodat.m4 b/m4/fchmodat.m4
index 43b302b7..2797d3d6 100644
--- a/m4/fchmodat.m4
+++ b/m4/fchmodat.m4
@@ -1,5 +1,5 @@
 # fchmodat.m4 serial 1
-dnl Copyright (C) 2004-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2019 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/fchownat.m4 b/m4/fchownat.m4
index 58eee3b3..5cca8b5a 100644
--- a/m4/fchownat.m4
+++ b/m4/fchownat.m4
@@ -1,5 +1,5 @@
 # fchownat.m4 serial 2
-dnl Copyright (C) 2004-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2019 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/fcntl-o.m4 b/m4/fcntl-o.m4
index b388d893..6ab3387d 100644
--- a/m4/fcntl-o.m4
+++ b/m4/fcntl-o.m4
@@ -1,22 +1,20 @@
-# fcntl-o.m4 serial 5
-dnl Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+# fcntl-o.m4 serial 6
+dnl Copyright (C) 2006, 2009-2019 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 Written by Paul Eggert.
 
+AC_PREREQ([2.60])
+
 # Test whether the flags O_NOATIME and O_NOFOLLOW actually work.
 # Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.
 # Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.
 AC_DEFUN([gl_FCNTL_O_FLAGS],
 [
   dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
-  dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
-  dnl AC_GNU_SOURCE.
-  m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
-    [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
-    [AC_REQUIRE([AC_GNU_SOURCE])])
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CHECK_HEADERS_ONCE([unistd.h])
diff --git a/m4/fcntl-safer.m4 b/m4/fcntl-safer.m4
new file mode 100644
index 00000000..bacacb17
--- /dev/null
+++ b/m4/fcntl-safer.m4
@@ -0,0 +1,16 @@
+#serial 9
+dnl Copyright (C) 2005-2007, 2009-2019 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_FCNTL_SAFER],
+[
+  dnl Prerequisites of lib/open-safer.c.
+  AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T])
+])
+
+AC_DEFUN([gl_OPENAT_SAFER],
+[
+  AC_REQUIRE([gl_FCNTL_SAFER])
+])
diff --git a/m4/fcntl.m4 b/m4/fcntl.m4
index dda3b5f2..e409e96b 100644
--- a/m4/fcntl.m4
+++ b/m4/fcntl.m4
@@ -1,5 +1,5 @@
 # fcntl.m4 serial 9
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/fcntl_h.m4 b/m4/fcntl_h.m4
index 09c21eff..a86fdae5 100644
--- a/m4/fcntl_h.m4
+++ b/m4/fcntl_h.m4
@@ -1,6 +1,6 @@
 # serial 15
 # Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2019 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/fdopendir.m4 b/m4/fdopendir.m4
index 51c2b64b..04905519 100644
--- a/m4/fdopendir.m4
+++ b/m4/fdopendir.m4
@@ -1,7 +1,7 @@
 # serial 10
 # See if we need to provide fdopendir.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/fileblocks.m4 b/m4/fileblocks.m4
index 6707d707..17b5f8d7 100644
--- a/m4/fileblocks.m4
+++ b/m4/fileblocks.m4
@@ -1,5 +1,5 @@
 # fileblocks.m4 serial 6
-dnl Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2019 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/filenamecat.m4 b/m4/filenamecat.m4
index ce60cb47..351715a7 100644
--- a/m4/filenamecat.m4
+++ b/m4/filenamecat.m4
@@ -1,5 +1,5 @@
 # filenamecat.m4 serial 11
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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/flexmember.m4 b/m4/flexmember.m4
index 9d3b50d1..1347068f 100644
--- a/m4/flexmember.m4
+++ b/m4/flexmember.m4
@@ -1,7 +1,7 @@
 # serial 5
 # Check for flexible array member support.
 
-# Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2009-2019 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.
diff --git a/m4/float_h.m4 b/m4/float_h.m4
index 24bd06ec..1cd28a0b 100644
--- a/m4/float_h.m4
+++ b/m4/float_h.m4
@@ -1,5 +1,5 @@
 # float_h.m4 serial 12
-dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2019 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/fnmatch.m4 b/m4/fnmatch.m4
index 7292c1aa..c264ca71 100644
--- a/m4/fnmatch.m4
+++ b/m4/fnmatch.m4
@@ -1,6 +1,6 @@
-# Check for fnmatch - serial 9.  -*- coding: utf-8 -*-
+# Check for fnmatch - serial 13.  -*- coding: utf-8 -*-
 
-# Copyright (C) 2000-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2000-2007, 2009-2019 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.
@@ -13,124 +13,120 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
 [
   m4_divert_text([DEFAULTS], [gl_fnmatch_required=POSIX])
 
-  dnl Persuade glibc <fnmatch.h> to declare FNM_CASEFOLD etc.
-  dnl This is only needed if gl_fnmatch_required = GNU. It would be possible
-  dnl to avoid this dependency for gl_FUNC_FNMATCH_POSIX by putting
-  dnl gl_FUNC_FNMATCH_GNU into a separate .m4 file.
-  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
-
-  FNMATCH_H=
+  AC_REQUIRE([gl_FNMATCH_H])
   gl_fnmatch_required_lowercase=`
     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],
-    [$gl_fnmatch_cache_var],
-    [dnl Some versions of Solaris, SCO, and the GNU C Library
-     dnl have a broken or incompatible fnmatch.
-     dnl So we run a test program.  If we are cross-compiling, take no chance.
-     dnl Thanks to John Oleynick, François Pinard, and Paul Eggert for this
-     dnl test.
-     if test $gl_fnmatch_required = GNU; then
-       gl_fnmatch_gnu_start=
-       gl_fnmatch_gnu_end=
-     else
-       gl_fnmatch_gnu_start='#if 0'
-       gl_fnmatch_gnu_end='#endif'
-     fi
-     AC_RUN_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <fnmatch.h>
-            static int
-            y (char const *pattern, char const *string, int flags)
-            {
-              return fnmatch (pattern, string, flags) == 0;
-            }
-            static int
-            n (char const *pattern, char const *string, int flags)
-            {
-              return fnmatch (pattern, string, flags) == FNM_NOMATCH;
-            }
-          ]],
-          [[char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]";
-            char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]";
-            static char const A_1[] = { 'A' - 1, 0 };
-            static char const A01[] = { 'A' + 1, 0 };
-            static char const a_1[] = { 'a' - 1, 0 };
-            static char const a01[] = { 'a' + 1, 0 };
-            static char const bs_1[] = { '\\\\' - 1, 0 };
-            static char const bs01[] = { '\\\\' + 1, 0 };
-            int result = 0;
-            if (!n ("a*", "", 0))
-              return 1;
-            if (!y ("a*", "abc", 0))
-              return 1;
-            if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */
-              return 1;
-            if (!n ("d*/*1", "d/s/1", FNM_PATHNAME))
-              return 2;
-            if (!y ("a\\\\bc", "abc", 0))
-              return 3;
-            if (!n ("a\\\\bc", "abc", FNM_NOESCAPE))
-              return 3;
-            if (!y ("*x", ".x", 0))
-              return 4;
-            if (!n ("*x", ".x", FNM_PERIOD))
-              return 4;
-            if (!y (Apat, "\\\\", 0))
-              return 5;
-            if (!y (Apat, "A", 0))
-              return 5;
-            if (!y (apat, "\\\\", 0))
-              return 5;
-            if (!y (apat, "a", 0))
-              return 5;
-            if (!(n (Apat, A_1, 0) == ('A' < '\\\\')))
-              return 5;
-            if (!(n (apat, a_1, 0) == ('a' < '\\\\')))
-              return 5;
-            if (!(y (Apat, A01, 0) == ('A' < '\\\\')))
-              return 5;
-            if (!(y (apat, a01, 0) == ('a' < '\\\\')))
-              return 5;
-            if (!(y (Apat, bs_1, 0) == ('A' < '\\\\')))
-              return 5;
-            if (!(y (apat, bs_1, 0) == ('a' < '\\\\')))
-              return 5;
-            if (!(n (Apat, bs01, 0) == ('A' < '\\\\')))
-              return 5;
-            if (!(n (apat, bs01, 0) == ('a' < '\\\\')))
-              return 5;
-            $gl_fnmatch_gnu_start
-            if (!y ("xxXX", "xXxX", FNM_CASEFOLD))
-              result |= 8;
-            if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH))
-              result |= 16;
-            if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME))
-              result |= 32;
-            if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR))
-              result |= 64;
-            if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR))
-              result |= 64;
-            if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR))
-              result |= 64;
-            $gl_fnmatch_gnu_end
-            return result;
-          ]])],
-       [eval "$gl_fnmatch_cache_var=yes"],
-       [eval "$gl_fnmatch_cache_var=no"],
-       [eval "$gl_fnmatch_cache_var=\"guessing no\""])
-    ])
-  eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\""
-  if test "$gl_fnmatch_result" = yes; then
-    dnl Not strictly necessary. Only to avoid spurious leftover files if people
-    dnl don't do "make distclean".
-    rm -f "$gl_source_base/fnmatch.h"
+  AC_CHECK_FUNCS_ONCE([fnmatch])
+  if test $ac_cv_func_fnmatch = no; then
+    HAVE_FNMATCH=0
   else
-    FNMATCH_H=fnmatch.h
+    gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}"
+    AC_CACHE_CHECK([for working $gl_fnmatch_required fnmatch],
+      [$gl_fnmatch_cache_var],
+      [dnl Some versions of Solaris, SCO, and the GNU C Library
+       dnl have a broken or incompatible fnmatch.
+       dnl So we run a test program.  If we are cross-compiling, take no chance.
+       dnl Thanks to John Oleynick, François Pinard, and Paul Eggert for this
+       dnl test.
+       if test $gl_fnmatch_required = GNU; then
+         gl_fnmatch_gnu_start=
+         gl_fnmatch_gnu_end=
+       else
+         gl_fnmatch_gnu_start='#if 0'
+         gl_fnmatch_gnu_end='#endif'
+       fi
+       AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <fnmatch.h>
+              static int
+              y (char const *pattern, char const *string, int flags)
+              {
+                return fnmatch (pattern, string, flags) == 0;
+              }
+              static int
+              n (char const *pattern, char const *string, int flags)
+              {
+                return fnmatch (pattern, string, flags) == FNM_NOMATCH;
+              }
+            ]],
+            [[char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]";
+              char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]";
+              static char const A_1[] = { 'A' - 1, 0 };
+              static char const A01[] = { 'A' + 1, 0 };
+              static char const a_1[] = { 'a' - 1, 0 };
+              static char const a01[] = { 'a' + 1, 0 };
+              static char const bs_1[] = { '\\\\' - 1, 0 };
+              static char const bs01[] = { '\\\\' + 1, 0 };
+              int result = 0;
+              if (!n ("a*", "", 0))
+                return 1;
+              if (!y ("a*", "abc", 0))
+                return 1;
+              if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */
+                return 1;
+              if (!n ("d*/*1", "d/s/1", FNM_PATHNAME))
+                return 2;
+              if (!y ("a\\\\bc", "abc", 0))
+                return 3;
+              if (!n ("a\\\\bc", "abc", FNM_NOESCAPE))
+                return 3;
+              if (!y ("*x", ".x", 0))
+                return 4;
+              if (!n ("*x", ".x", FNM_PERIOD))
+                return 4;
+              if (!y (Apat, "\\\\", 0))
+                return 5;
+              if (!y (Apat, "A", 0))
+                return 5;
+              if (!y (apat, "\\\\", 0))
+                return 5;
+              if (!y (apat, "a", 0))
+                return 5;
+              if (!(n (Apat, A_1, 0) == ('A' < '\\\\')))
+                return 5;
+              if (!(n (apat, a_1, 0) == ('a' < '\\\\')))
+                return 5;
+              if (!(y (Apat, A01, 0) == ('A' < '\\\\')))
+                return 5;
+              if (!(y (apat, a01, 0) == ('a' < '\\\\')))
+                return 5;
+              if (!(y (Apat, bs_1, 0) == ('A' < '\\\\')))
+                return 5;
+              if (!(y (apat, bs_1, 0) == ('a' < '\\\\')))
+                return 5;
+              if (!(n (Apat, bs01, 0) == ('A' < '\\\\')))
+                return 5;
+              if (!(n (apat, bs01, 0) == ('a' < '\\\\')))
+                return 5;
+              $gl_fnmatch_gnu_start
+              if (!y ("xxXX", "xXxX", FNM_CASEFOLD))
+                result |= 8;
+              if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH))
+                result |= 16;
+              if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME))
+                result |= 32;
+              if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR))
+                result |= 64;
+              if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR))
+                result |= 64;
+              if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR))
+                result |= 64;
+              $gl_fnmatch_gnu_end
+              return result;
+            ]])],
+         [eval "$gl_fnmatch_cache_var=yes"],
+         [eval "$gl_fnmatch_cache_var=no"],
+         [eval "$gl_fnmatch_cache_var=\"guessing no\""])
+      ])
+    eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\""
+    if test "$gl_fnmatch_result" != yes; then
+      REPLACE_FNMATCH=1
+    fi
+  fi
+  if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then
+    gl_REPLACE_FNMATCH_H
   fi
-  AC_SUBST([FNMATCH_H])
-  AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_H"])
 ])
 
 # Request a POSIX compliant fnmatch function with GNU extensions.
@@ -143,11 +139,6 @@ AC_DEFUN([gl_FUNC_FNMATCH_GNU],
 
 AC_DEFUN([gl_PREREQ_FNMATCH],
 [
-  dnl We must choose a different name for our function, since on ELF systems
-  dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
-  dnl compiled into a shared library.
-  AC_DEFINE_UNQUOTED([fnmatch], [${gl_fnmatch_required_lowercase}_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>]])
diff --git a/m4/fnmatch_h.m4 b/m4/fnmatch_h.m4
new file mode 100644
index 00000000..fba6f868
--- /dev/null
+++ b/m4/fnmatch_h.m4
@@ -0,0 +1,75 @@
+# fnmatch_h.m4 serial 4
+dnl Copyright (C) 2009-2019 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 From Bruno Haible.
+
+AC_DEFUN_ONCE([gl_FNMATCH_H],
+[
+  AC_REQUIRE([gl_FNMATCH_H_DEFAULTS])
+  m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])])
+  AC_CHECK_HEADERS_ONCE([fnmatch.h])
+  gl_CHECK_NEXT_HEADERS([fnmatch.h])
+
+  dnl Persuade glibc <fnmatch.h> to declare FNM_CASEFOLD etc.
+  dnl This is only needed if gl_fnmatch_required = GNU. It would be possible
+  dnl to avoid this dependency for gl_FUNC_FNMATCH_POSIX by putting
+  dnl gl_FUNC_FNMATCH_GNU into a separate .m4 file.
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  if test $ac_cv_header_fnmatch_h = yes; then
+    HAVE_FNMATCH_H=1
+  else
+    HAVE_FNMATCH_H=0
+  fi
+  AC_SUBST([HAVE_FNMATCH_H])
+
+  m4_ifdef([gl_POSIXCHECK],
+    [FNMATCH_H=fnmatch.h],
+    [FNMATCH_H=''
+     if m4_ifdef([gl_ANSI_CXX], [test "$CXX" != no], [false]); then
+       dnl Override <fnmatch.h> always, to support the C++ GNULIB_NAMESPACE.
+       FNMATCH_H=fnmatch.h
+     else
+       if test $ac_cv_header_fnmatch_h != yes; then
+         dnl Provide a substitute <fnmatch.h> file.
+         FNMATCH_H=fnmatch.h
+       fi
+     fi
+    ])
+  AC_SUBST([FNMATCH_H])
+  AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_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 <fnmatch.h>
+    ]],
+    [fnmatch])
+])
+
+dnl Unconditionally enables the replacement of <fnmatch.h>.
+AC_DEFUN([gl_REPLACE_FNMATCH_H],
+[
+  AC_REQUIRE([gl_FNMATCH_H_DEFAULTS])
+  FNMATCH_H='fnmatch.h'
+  AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_H"])
+])
+
+AC_DEFUN([gl_FNMATCH_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_FNMATCH_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_FNMATCH_H_DEFAULTS],
+[
+  GNULIB_FNMATCH=0;          AC_SUBST([GNULIB_FNMATCH])
+  dnl Assume POSIX behavior unless another module says otherwise.
+  HAVE_FNMATCH=1;            AC_SUBST([HAVE_FNMATCH])
+  REPLACE_FNMATCH=0;         AC_SUBST([REPLACE_FNMATCH])
+])
diff --git a/m4/fpending.m4 b/m4/fpending.m4
index 3a5e934c..402ec403 100644
--- a/m4/fpending.m4
+++ b/m4/fpending.m4
@@ -1,6 +1,6 @@
 # serial 22
 
-# Copyright (C) 2000-2001, 2004-2017 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2004-2019 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.
diff --git a/m4/fseek.m4 b/m4/fseek.m4
index 4664ac16..2dfeecb7 100644
--- a/m4/fseek.m4
+++ b/m4/fseek.m4
@@ -1,5 +1,5 @@
 # fseek.m4 serial 4
-dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2019 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/fseeko.m4 b/m4/fseeko.m4
index 5c30df22..1e2b08db 100644
--- a/m4/fseeko.m4
+++ b/m4/fseeko.m4
@@ -1,5 +1,5 @@
-# fseeko.m4 serial 18
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
+# fseeko.m4 serial 19
+dnl Copyright (C) 2007-2019 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.
@@ -68,7 +68,10 @@ AC_DEFUN([gl_STDIN_LARGE_OFFSET],
 # Prerequisites of lib/fseeko.c.
 AC_DEFUN([gl_PREREQ_FSEEKO],
 [
-  dnl Native Windows has the function _fseeki64. mingw hides it, but mingw64
-  dnl makes it usable again.
+  dnl Native Windows has the function _fseeki64. mingw hides it in some
+  dnl circumstances, but mingw64 makes it usable again.
   AC_CHECK_FUNCS([_fseeki64])
+  if test $ac_cv_func__fseeki64 = yes; then
+    AC_CHECK_DECLS([_fseeki64])
+  fi
 ])
diff --git a/m4/fstat.m4 b/m4/fstat.m4
index e70e533e..2a59c8ff 100644
--- a/m4/fstat.m4
+++ b/m4/fstat.m4
@@ -1,5 +1,5 @@
-# fstat.m4 serial 5
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+# fstat.m4 serial 6
+dnl Copyright (C) 2011-2019 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,9 +10,10 @@ AC_DEFUN([gl_FUNC_FSTAT],
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
 
   case "$host_os" in
-    mingw*)
-      dnl On this platform, the original stat() returns st_atime, st_mtime,
+    mingw* | solaris*)
+      dnl On MinGW, the original stat() returns st_atime, st_mtime,
       dnl st_ctime values that are affected by the time zone.
+      dnl Solaris stat can return a negative tv_nsec.
       REPLACE_FSTAT=1
       ;;
   esac
diff --git a/m4/fstatat.m4 b/m4/fstatat.m4
index 7dba5279..489a55a3 100644
--- a/m4/fstatat.m4
+++ b/m4/fstatat.m4
@@ -1,5 +1,5 @@
-# fstatat.m4 serial 3
-dnl Copyright (C) 2004-2017 Free Software Foundation, Inc.
+# fstatat.m4 serial 4
+dnl Copyright (C) 2004-2019 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,7 +13,7 @@ AC_DEFUN([gl_FUNC_FSTATAT],
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_CHECK_FUNCS_ONCE([fstatat])
 
   if test $ac_cv_func_fstatat = no; then
@@ -46,15 +46,20 @@ AC_DEFUN([gl_FUNC_FSTATAT],
 
     case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in
     *yes+*yes) ;;
-    *) REPLACE_FSTATAT=1
-       case $gl_cv_func_fstatat_zero_flag in
-       *yes)
+    *) REPLACE_FSTATAT=1 ;;
+    esac
+
+    case $host_os in
+      solaris*)
+        REPLACE_FSTATAT=1 ;;
+    esac
+
+    case $REPLACE_FSTATAT,$gl_cv_func_fstatat_zero_flag in
+      1,*yes)
          AC_DEFINE([HAVE_WORKING_FSTATAT_ZERO_FLAG], [1],
            [Define to 1 if fstatat (..., 0) works.
             For example, it does not work in AIX 7.1.])
          ;;
-       esac
-       ;;
     esac
   fi
 ])
diff --git a/m4/futimens.m4 b/m4/futimens.m4
index d68bff3a..3cfa4a19 100644
--- a/m4/futimens.m4
+++ b/m4/futimens.m4
@@ -1,7 +1,7 @@
 # serial 7
 # See if we need to provide futimens replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/getcwd-abort-bug.m4 b/m4/getcwd-abort-bug.m4
index b16bb5ab..7929b674 100644
--- a/m4/getcwd-abort-bug.m4
+++ b/m4/getcwd-abort-bug.m4
@@ -1,9 +1,9 @@
-# serial 8
+# serial 9
 # Determine whether getcwd aborts when the length of the working directory
 # name is unusually large.  Any length between 4k and 16k trigger the bug
 # when using glibc-2.4.90-9 or older.
 
-# Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2009-2019 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,13 @@ AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG],
   AC_CHECK_DECLS_ONCE([getcwd])
   AC_CHECK_HEADERS_ONCE([unistd.h])
   AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ])
-  AC_CHECK_FUNCS([getpagesize])
+
+  gl_CHECK_FUNC_GETPAGESIZE
+  if test $gl_cv_func_getpagesize = yes; then
+    AC_DEFINE_UNQUOTED([HAVE_GETPAGESIZE], [1],
+      [Define to 1 if the system has the 'getpagesize' function.])
+  fi
+
   AC_CACHE_CHECK([whether getcwd aborts when 4k < cwd_length < 16k],
     [gl_cv_func_getcwd_abort_bug],
     [# Remove any remnants of a previous test.
diff --git a/m4/getcwd-path-max.m4 b/m4/getcwd-path-max.m4
index 71e7cd07..2cefc00a 100644
--- a/m4/getcwd-path-max.m4
+++ b/m4/getcwd-path-max.m4
@@ -1,4 +1,4 @@
-# serial 20
+# serial 21
 # Check for several getcwd bugs with long file names.
 # If so, arrange to compile the wrapper function.
 
@@ -6,7 +6,7 @@
 # I've heard that this is due to a Linux kernel bug, and that it has
 # been fixed between 2.4.21-pre3 and 2.4.21-pre4.
 
-# Copyright (C) 2003-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2003-2007, 2009-2019 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.
@@ -209,9 +209,21 @@ main ()
         32) gl_cv_func_getcwd_path_max='yes, but with shorter paths';;
         *) gl_cv_func_getcwd_path_max=no;;
         esac],
-       [case "$host_os" in
-          aix*) gl_cv_func_getcwd_path_max='no, it has the AIX bug';;
-          *) gl_cv_func_getcwd_path_max=no;;
-        esac])
+       [# Cross-compilation guesses:
+        case "$host_os" in
+          aix*) # On AIX, it has the AIX bug.
+            gl_cv_func_getcwd_path_max='no, it has the AIX bug' ;;
+          gnu*) # On Hurd, it is 'yes'.
+            gl_cv_func_getcwd_path_max=yes ;;
+          linux* | kfreebsd*)
+            # On older Linux+glibc it's 'no, but it is partly working',
+            # on newer Linux+glibc it's 'yes'.
+            # On Linux+musl libc, it's 'no, but it is partly working'.
+            # On kFreeBSD+glibc, it's 'no, but it is partly working'.
+            gl_cv_func_getcwd_path_max='no, but it is partly working' ;;
+          *) # If we don't know, assume the worst.
+            gl_cv_func_getcwd_path_max=no ;;
+        esac
+       ])
     ])
 ])
diff --git a/m4/getcwd.m4 b/m4/getcwd.m4
index a3f62c46..4929b511 100644
--- a/m4/getcwd.m4
+++ b/m4/getcwd.m4
@@ -1,12 +1,12 @@
 # getcwd.m4 - check for working getcwd that is compatible with glibc
 
-# Copyright (C) 2001, 2003-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2019 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 14
+# serial 16
 
 AC_DEFUN([gl_FUNC_GETCWD_NULL],
   [
@@ -25,7 +25,7 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
          char *getcwd ();
 #        endif
 ]], [[
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 /* mingw cwd does not start with '/', but getcwd does allocate.
    However, mingw fails to honor non-zero size.  */
 #else
@@ -48,12 +48,12 @@ 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";;
+                           # Guess yes on glibc systems.
+            *-gnu* | 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
         ]])])
 ])
diff --git a/m4/getdelim.m4 b/m4/getdelim.m4
index 67afdbab..bf17c572 100644
--- a/m4/getdelim.m4
+++ b/m4/getdelim.m4
@@ -1,6 +1,6 @@
 # getdelim.m4 serial 12
 
-dnl Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc.
 dnl
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/getdtablesize.m4 b/m4/getdtablesize.m4
index f1e4f5f6..96aa241b 100644
--- a/m4/getdtablesize.m4
+++ b/m4/getdtablesize.m4
@@ -1,5 +1,5 @@
 # getdtablesize.m4 serial 7
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2019 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/getgroups.m4 b/m4/getgroups.m4
index 17f74099..2ce986ea 100644
--- a/m4/getgroups.m4
+++ b/m4/getgroups.m4
@@ -1,9 +1,9 @@
-# serial 19
+# serial 21
 
 dnl From Jim Meyering.
 dnl A wrapper around AC_FUNC_GETGROUPS.
 
-# Copyright (C) 1996-1997, 1999-2004, 2008-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2004, 2008-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -34,16 +34,16 @@ AC_DEFUN([AC_FUNC_GETGROUPS],
       [AC_RUN_IFELSE(
          [AC_LANG_PROGRAM(
             [AC_INCLUDES_DEFAULT],
-            [[/* On Ultrix 4.3, getgroups (0, 0) always fails.  */
+            [[/* On NeXTstep 3.2, getgroups (0, 0) always fails.  */
               return getgroups (0, 0) == -1;]])
          ],
          [ac_cv_func_getgroups_works=yes],
          [ac_cv_func_getgroups_works=no],
          [case "$host_os" in # ((
-                    # Guess yes on glibc systems.
-            *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      ac_cv_func_getgroups_works="guessing no" ;;
+                           # Guess yes on glibc systems.
+            *-gnu* | gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
+                           # If we don't know, assume the worst.
+            *)             ac_cv_func_getgroups_works="guessing no" ;;
           esac
          ])
       ])
@@ -93,10 +93,10 @@ AC_DEFUN([gl_FUNC_GETGROUPS],
           [gl_cv_func_getgroups_works=yes],
           [gl_cv_func_getgroups_works=no],
           [case "$host_os" in
-                     # Guess yes on glibc systems.
-             *-gnu*) gl_cv_func_getgroups_works="guessing yes" ;;
-                     # If we don't know, assume the worst.
-             *)      gl_cv_func_getgroups_works="guessing no" ;;
+                            # Guess yes on glibc systems.
+             *-gnu* | gnu*) gl_cv_func_getgroups_works="guessing yes" ;;
+                            # If we don't know, assume the worst.
+             *)             gl_cv_func_getgroups_works="guessing no" ;;
            esac
           ])])
       case "$gl_cv_func_getgroups_works" in
diff --git a/m4/getline.m4 b/m4/getline.m4
index bd91befa..5b2ead28 100644
--- a/m4/getline.m4
+++ b/m4/getline.m4
@@ -1,6 +1,6 @@
 # getline.m4 serial 28
 
-dnl Copyright (C) 1998-2003, 2005-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 1998-2003, 2005-2007, 2009-2019 Free Software Foundation,
 dnl Inc.
 dnl
 dnl This file is free software; the Free Software Foundation
diff --git a/m4/getopt.m4 b/m4/getopt.m4
index 3ebc7b7e..5991bf83 100644
--- a/m4/getopt.m4
+++ b/m4/getopt.m4
@@ -1,5 +1,5 @@
 # getopt.m4 serial 46
-dnl Copyright (C) 2002-2006, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2019 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/getpagesize.m4 b/m4/getpagesize.m4
index f891200f..546c3ad1 100644
--- a/m4/getpagesize.m4
+++ b/m4/getpagesize.m4
@@ -1,5 +1,5 @@
-# getpagesize.m4 serial 9
-dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2017 Free Software Foundation,
+# getpagesize.m4 serial 10
+dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2019 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,
@@ -9,8 +9,8 @@ AC_DEFUN([gl_FUNC_GETPAGESIZE],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_CHECK_FUNCS([getpagesize])
-  if test $ac_cv_func_getpagesize = no; then
+  gl_CHECK_FUNC_GETPAGESIZE
+  if test $gl_cv_func_getpagesize = no; then
     HAVE_GETPAGESIZE=0
     AC_CHECK_HEADERS([OS.h])
     if test $ac_cv_header_OS_h = yes; then
@@ -30,3 +30,20 @@ AC_DEFUN([gl_FUNC_GETPAGESIZE],
   dnl mingw has getpagesize() in libgcc.a but doesn't declare it.
   AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0])
 ])
+
+dnl Tests whether the function getpagesize() exists.
+dnl Sets gl_cv_func_getpagesize.
+AC_DEFUN([gl_CHECK_FUNC_GETPAGESIZE],
+[
+  dnl We can't use AC_CHECK_FUNC here, because getpagesize() is defined as a
+  dnl static inline function when compiling for Android 4.4 or older.
+  AC_CACHE_CHECK([for getpagesize], [gl_cv_func_getpagesize],
+    [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <unistd.h>]],
+          [[return getpagesize();]])
+       ],
+       [gl_cv_func_getpagesize=yes],
+       [gl_cv_func_getpagesize=no])
+    ])
+])
diff --git a/m4/getprogname.m4 b/m4/getprogname.m4
index efc06e78..4a96d066 100644
--- a/m4/getprogname.m4
+++ b/m4/getprogname.m4
@@ -1,6 +1,6 @@
 # getprogname.m4 - check for getprogname or replacements for it
 
-# Copyright (C) 2016-2017 Free Software Foundation, Inc.
+# Copyright (C) 2016-2019 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.
diff --git a/m4/gettext.m4 b/m4/gettext.m4
index eef5073b..fec38045 100644
--- a/m4/gettext.m4
+++ b/m4/gettext.m4
@@ -1,5 +1,5 @@
-# gettext.m4 serial 68 (gettext-0.19.8)
-dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+# gettext.m4 serial 69 (gettext-0.19.9)
+dnl Copyright (C) 1995-2014, 2016, 2018-2019 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.
@@ -91,8 +91,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
   dnl again, outside any 'if'. There are two solutions:
   dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
   dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
-  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
-  dnl documented, we avoid it.
+  dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it.
   ifelse(gt_included_intl, yes, , [
     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
   ])
diff --git a/m4/gettime.m4 b/m4/gettime.m4
index 1cdab278..60d8ea18 100644
--- a/m4/gettime.m4
+++ b/m4/gettime.m4
@@ -1,5 +1,5 @@
-# gettime.m4 serial 8
-dnl Copyright (C) 2002, 2004-2006, 2009-2017 Free Software Foundation, Inc.
+# gettime.m4 serial 9
+dnl Copyright (C) 2002, 2004-2006, 2009-2019 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,5 +9,5 @@ AC_DEFUN([gl_GETTIME],
   dnl Prerequisites of lib/gettime.c.
   AC_REQUIRE([gl_CLOCK_TIME])
   AC_REQUIRE([gl_TIMESPEC])
-  AC_CHECK_FUNCS_ONCE([gettimeofday nanotime])
+  AC_CHECK_FUNCS_ONCE([gettimeofday])
 ])
diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4
index efa114df..d29b4bff 100644
--- a/m4/gettimeofday.m4
+++ b/m4/gettimeofday.m4
@@ -1,6 +1,6 @@
-# serial 24
+# serial 25
 
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2019 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.
@@ -103,12 +103,12 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
      [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" ;;
-                # Guess no on native Windows.
-        mingw*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
-                # If we don't know, assume the worst.
-        *)      gl_cv_func_gettimeofday_clobber="guessing yes" ;;
+                       # Guess all is fine on glibc systems.
+        *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                       # Guess no on native Windows.
+        mingw*)        gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                       # If we don't know, assume the worst.
+        *)             gl_cv_func_gettimeofday_clobber="guessing yes" ;;
       esac
      ])])
 
diff --git a/m4/glibc21.m4 b/m4/glibc21.m4
index 2e30ed68..0ab0f235 100644
--- a/m4/glibc21.m4
+++ b/m4/glibc21.m4
@@ -1,5 +1,5 @@
 # glibc21.m4 serial 5
-dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2017 Free Software Foundation,
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2019 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,
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index bea5a650..7c0e3e8f 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -1,9 +1,11 @@
-# gnulib-common.m4 serial 38
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 41
+dnl Copyright (C) 2007-2019 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_PREREQ([2.62])
+
 # gl_COMMON
 # is expanded unconditionally through gnulib-tool magic.
 AC_DEFUN([gl_COMMON], [
@@ -14,12 +16,15 @@ AC_DEFUN([gl_COMMON], [
 AC_DEFUN([gl_COMMON_BODY], [
   AH_VERBATIM([_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)
+#ifndef _Noreturn
+# if 201103 <= (defined __cplusplus ? __cplusplus : 0)
+#  define _Noreturn [[noreturn]]
+# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+        || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))
+   /* _Noreturn works as-is.  */
+# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
 #  define _Noreturn __attribute__ ((__noreturn__))
-# elif defined _MSC_VER && 1200 <= _MSC_VER
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
 #  define _Noreturn __declspec (noreturn)
 # else
 #  define _Noreturn
@@ -72,6 +77,13 @@ AC_DEFUN([gl_COMMON_BODY], [
 #else
 # define _GL_ATTRIBUTE_CONST /* empty */
 #endif
+
+/* The __malloc__ attribute was added in gcc 3.  */
+#if 3 <= __GNUC__
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+#else
+# define _GL_ATTRIBUTE_MALLOC /* empty */
+#endif
 ])
   dnl Preparation for running test programs:
   dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not
@@ -207,13 +219,6 @@ AC_DEFUN([gl_FEATURES_H],
   AC_SUBST([HAVE_FEATURES_H])
 ])
 
-# m4_foreach_w
-# is a backport of autoconf-2.59c's m4_foreach_w.
-# Remove this macro when we can assume autoconf >= 2.60.
-m4_ifndef([m4_foreach_w],
-  [m4_define([m4_foreach_w],
-    [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
-
 # AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH])
 # ----------------------------------------------------
 # Backport of autoconf-2.63b's macro.
@@ -226,7 +231,6 @@ m4_ifndef([AS_VAR_IF],
 # 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
 #   <https://lists.gnu.org/r/bug-gnulib/2011-09/msg00367.html>,
 #   but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99
@@ -315,25 +319,6 @@ Amsterdam
   AC_SUBST([RANLIB])
 ])
 
-# AC_PROG_MKDIR_P
-# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix
-# 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],
-    m4_defn([AC_PROG_MKDIR_P])[
-    AC_SUBST([MKDIR_P])])], [
-  dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P.
-  AC_DEFUN_ONCE([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 is copied from post-2.69 Autoconf and overrides the
 # AC_C_RESTRICT macro from autoconf 2.60..2.69.  It can be removed
@@ -347,16 +332,16 @@ AC_DEFUN([AC_C_RESTRICT],
    for ac_kw in __restrict __restrict__ _Restrict restrict; do
      AC_COMPILE_IFELSE(
       [AC_LANG_PROGRAM(
-	 [[typedef int *int_ptr;
-	   int foo (int_ptr $ac_kw ip) { return ip[0]; }
-	   int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
-	   int bar (int ip[$ac_kw]) { return ip[0]; }
-	 ]],
-	 [[int s[1];
-	   int *$ac_kw t = s;
-	   t[0] = 0;
-	   return foo (t) + bar (t);
-	 ]])],
+         [[typedef int *int_ptr;
+           int foo (int_ptr $ac_kw ip) { return ip[0]; }
+           int bar (int [$ac_kw]); /* Catch GCC bug 14050.  */
+           int bar (int ip[$ac_kw]) { return ip[0]; }
+         ]],
+         [[int s[1];
+           int *$ac_kw t = s;
+           t[0] = 0;
+           return foo (t) + bar (t);
+         ]])],
       [ac_cv_c_restrict=$ac_kw])
      test "$ac_cv_c_restrict" != no && break
    done
@@ -407,61 +392,3 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
 # AS_VAR_COPY was added in autoconf 2.63b
 m4_define_default([AS_VAR_COPY],
 [AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
-
-# AC_PROG_SED was added in autoconf 2.59b
-m4_ifndef([AC_PROG_SED],
-[AC_DEFUN([AC_PROG_SED],
-[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
-    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
-     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 /usr/ucb/sed.
-     ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     AS_UNSET([ac_script])
-     if test -z "$SED"; then
-       ac_path_SED_found=false
-       _AS_PATH_WALK([], [
-         for ac_prog in sed gsed; do
-           for ac_exec_ext in '' $ac_executable_extensions; do
-             ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-             AS_EXECUTABLE_P(["$ac_path_SED"]) || continue
-             case `"$ac_path_SED" --version 2>&1` in
-               *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;;
-               *)
-                 ac_count=0
-                 _AS_ECHO_N([0123456789]) >conftest.in
-                 while :
-                 do
-                   cat conftest.in conftest.in >conftest.tmp
-                   mv conftest.tmp conftest.in
-                   cp conftest.in conftest.nl
-                   echo >> conftest.nl
-                   "$ac_path_SED" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
-                   diff conftest.out conftest.nl >/dev/null 2>&1 || break
-                   ac_count=`expr $ac_count + 1`
-                   if test $ac_count -gt ${ac_path_SED_max-0}; then
-                     # Best so far, but keep looking for better
-                     ac_cv_path_SED=$ac_path_SED
-                     ac_path_SED_max=$ac_count
-                   fi
-                   test $ac_count -gt 10 && break
-                 done
-                 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-             esac
-             $ac_path_SED_found && break 3
-           done
-         done])
-       if test -z "$ac_cv_path_SED"; then
-         AC_ERROR([no acceptable sed could be found in \$PATH])
-       fi
-     else
-       ac_cv_path_SED=$SED
-     fi
-    ])
- SED="$ac_cv_path_SED"
- AC_SUBST([SED])dnl
- rm -f conftest.sed
-])
-])
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 15e7c4b7..1800eab0 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+# Copyright (C) 2002-2019 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
@@ -101,6 +101,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module fchownat:
   # Code from module fcntl:
   # Code from module fcntl-h:
+  # Code from module fcntl-safer:
   # Code from module fd-hook:
   # Code from module fd-safer-flag:
   # Code from module fdopendir:
@@ -113,6 +114,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module float:
   # Code from module fnmatch:
   # Code from module fnmatch-gnu:
+  # Code from module fnmatch-h:
   # Code from module fpending:
   # Code from module fprintftime:
   # Code from module fseek:
@@ -141,7 +143,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module hard-locale:
   # Code from module hash:
   # Code from module havelib:
-  # Code from module host-cpu-c-abi:
   # Code from module human:
   # Code from module include_next:
   # Code from module intprops:
@@ -153,6 +154,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module largefile:
   AC_REQUIRE([AC_SYS_LARGEFILE])
   # Code from module lchown:
+  # Code from module libc-config:
   # Code from module limits-h:
   # Code from module link:
   # Code from module link-follow:
@@ -198,7 +200,9 @@ AC_DEFUN([gl_EARLY],
   # Code from module openat:
   # Code from module openat-die:
   # Code from module openat-h:
+  # Code from module openat-safer:
   # Code from module opendir:
+  # Code from module opendirat:
   # Code from module parse-datetime:
   # Code from module pathmax:
   # Code from module priv-set:
@@ -216,7 +220,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module regex:
   # Code from module rename:
   # Code from module renameat:
-  # Code from module renameat2:
+  # Code from module renameatu:
   # Code from module rewinddir:
   # Code from module rmdir:
   # Code from module root-uid:
@@ -246,9 +250,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module stdalign:
   # 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 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.
+  dnl for the builtin va_copy to work.  gl_PROG_CC_C99 arranges for this.
   gl_PROG_CC_C99
   # Code from module stdbool:
   # Code from module stddef:
@@ -467,6 +469,8 @@ AC_DEFUN([gl_INIT],
   fi
   gl_FCNTL_MODULE_INDICATOR([fcntl])
   gl_FCNTL_H
+  gl_FCNTL_SAFER
+  gl_MODULE_INDICATOR([fcntl-safer])
   gl_MODULE_INDICATOR([fd-safer-flag])
   gl_FUNC_FDOPENDIR
   if test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1; then
@@ -491,15 +495,18 @@ AC_DEFUN([gl_INIT],
     AC_LIBOBJ([itold])
   fi
   gl_FUNC_FNMATCH_POSIX
-  if test -n "$FNMATCH_H"; then
+  if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then
     AC_LIBOBJ([fnmatch])
     gl_PREREQ_FNMATCH
   fi
+  gl_FNMATCH_MODULE_INDICATOR([fnmatch])
   gl_FUNC_FNMATCH_GNU
-  if test -n "$FNMATCH_H"; then
+  if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then
     AC_LIBOBJ([fnmatch])
     gl_PREREQ_FNMATCH
   fi
+  gl_MODULE_INDICATOR([fnmatch-gnu])
+  gl_FNMATCH_H
   gl_FUNC_FPENDING
   if test $gl_cv_func___fpending = no; then
     AC_LIBOBJ([fpending])
@@ -606,8 +613,6 @@ AC_DEFUN([gl_INIT],
     gl_PREREQ_GROUP_MEMBER
   fi
   gl_UNISTD_MODULE_INDICATOR([group-member])
-  gl_HARD_LOCALE
-  AC_REQUIRE([gl_HOST_CPU_C_ABI])
   gl_HUMAN
   gl_INTTOSTR
   gl_INTTYPES_H
@@ -628,6 +633,7 @@ AC_DEFUN([gl_INIT],
     AC_LIBOBJ([lchown])
   fi
   gl_UNISTD_MODULE_INDICATOR([lchown])
+  gl___INLINE
   gl_LIMITS_H
   gl_FUNC_LINK
   if test $HAVE_LINK = 0 || test $REPLACE_LINK = 1; then
@@ -642,7 +648,8 @@ AC_DEFUN([gl_INIT],
   fi
   gl_UNISTD_MODULE_INDICATOR([linkat])
   gl_LOCALCHARSET
-  LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
+  dnl For backward compatibility. Some packages still use this.
+  LOCALCHARSET_TESTS_ENVIRONMENT=
   AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
   gl_LOCALE_H
   gl_FUNC_LOCALECONV
@@ -800,6 +807,8 @@ AC_DEFUN([gl_INIT],
   fi
   gl_MODULE_INDICATOR([openat]) dnl for lib/getcwd.c
   gl_FCNTL_MODULE_INDICATOR([openat])
+  gl_OPENAT_SAFER
+  gl_MODULE_INDICATOR([openat-safer])
   gl_FUNC_OPENDIR
   if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then
     AC_LIBOBJ([opendir])
@@ -1067,7 +1076,7 @@ AC_DEFUN([gl_INIT],
   gl_UNISTD_SAFER
   gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h])
   gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h])
-  gl_LIBUNISTRING_MODULE([0.9.6], [uniwidth/width])
+  gl_LIBUNISTRING_MODULE([0.9.8], [uniwidth/width])
   gl_FUNC_UNLINK
   if test $REPLACE_UNLINK = 1; then
     AC_LIBOBJ([unlink])
@@ -1119,6 +1128,7 @@ AC_DEFUN([gl_INIT],
   gl_FUNC_WCWIDTH
   if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then
     AC_LIBOBJ([wcwidth])
+    gl_PREREQ_WCWIDTH
   fi
   gl_WCHAR_MODULE_INDICATOR([wcwidth])
   gl_FUNC_WRITE
@@ -1337,6 +1347,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/canonicalize-lgpl.c
   lib/careadlinkat.c
   lib/careadlinkat.h
+  lib/cdefs.h
   lib/chdir-long.c
   lib/chdir-long.h
   lib/chmodat.c
@@ -1350,7 +1361,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/closedir.c
   lib/closeout.c
   lib/closeout.h
-  lib/config.charset
+  lib/creat-safer.c
   lib/dirent--.h
   lib/dirent-private.h
   lib/dirent-safer.h
@@ -1377,6 +1388,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/fchmodat.c
   lib/fchown-stub.c
   lib/fchownat.c
+  lib/fcntl--.h
+  lib/fcntl-safer.h
   lib/fcntl.c
   lib/fcntl.in.h
   lib/fd-hook.c
@@ -1447,6 +1460,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/itold.c
   lib/langinfo.in.h
   lib/lchown.c
+  lib/libc-config.h
   lib/limits.in.h
   lib/link.c
   lib/linkat.c
@@ -1461,7 +1475,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/malloc.c
   lib/malloca.c
   lib/malloca.h
-  lib/malloca.valgrind
   lib/mbchar.c
   lib/mbchar.h
   lib/mbrtowc.c
@@ -1499,14 +1512,18 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/obstack.c
   lib/obstack.h
   lib/offtostr.c
+  lib/open-safer.c
   lib/open.c
   lib/openat-die.c
   lib/openat-priv.h
   lib/openat-proc.c
+  lib/openat-safer.c
   lib/openat.c
   lib/openat.h
   lib/opendir-safer.c
   lib/opendir.c
+  lib/opendirat.c
+  lib/opendirat.h
   lib/parse-datetime.h
   lib/parse-datetime.y
   lib/pathmax.h
@@ -1530,8 +1547,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/readlink.c
   lib/readlinkat.c
   lib/realloc.c
-  lib/ref-add.sin
-  lib/ref-del.sin
   lib/regcomp.c
   lib/regex.c
   lib/regex.h
@@ -1540,8 +1555,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/regexec.c
   lib/rename.c
   lib/renameat.c
-  lib/renameat2.c
-  lib/renameat2.h
+  lib/renameatu.c
+  lib/renameatu.h
   lib/rewinddir.c
   lib/rmdir.c
   lib/root-uid.h
@@ -1608,6 +1623,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/strtoumax.c
   lib/symlink.c
   lib/symlinkat.c
+  lib/sys-limits.h
   lib/sys_stat.in.h
   lib/sys_time.in.h
   lib/sys_types.in.h
@@ -1679,11 +1695,11 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/xvasprintf.c
   lib/xvasprintf.h
   m4/00gnulib.m4
+  m4/__inline.m4
   m4/absolute-header.m4
   m4/acl.m4
   m4/alloca.m4
   m4/argp.m4
-  m4/asm-underscore.m4
   m4/backupfile.m4
   m4/bison.m4
   m4/btowc.m4
@@ -1719,6 +1735,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/fchmodat.m4
   m4/fchownat.m4
   m4/fcntl-o.m4
+  m4/fcntl-safer.m4
   m4/fcntl.m4
   m4/fcntl_h.m4
   m4/fdopendir.m4
@@ -1727,6 +1744,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/flexmember.m4
   m4/float_h.m4
   m4/fnmatch.m4
+  m4/fnmatch_h.m4
   m4/fpending.m4
   m4/fseek.m4
   m4/fseeko.m4
@@ -1750,12 +1768,12 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/glibc21.m4
   m4/gnulib-common.m4
   m4/group-member.m4
-  m4/hard-locale.m4
   m4/host-cpu-c-abi.m4
   m4/human.m4
   m4/iconv.m4
   m4/include_next.m4
   m4/intdiv0.m4
+  m4/intl-thread-locale.m4
   m4/intl.m4
   m4/intldir.m4
   m4/intlmacosx.m4
diff --git a/m4/group-member.m4 b/m4/group-member.m4
index a68538d2..77d389de 100644
--- a/m4/group-member.m4
+++ b/m4/group-member.m4
@@ -1,6 +1,6 @@
 # serial 14
 
-# Copyright (C) 1999-2001, 2003-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/hard-locale.m4 b/m4/hard-locale.m4
deleted file mode 100644
index d79acd65..00000000
--- a/m4/hard-locale.m4
+++ /dev/null
@@ -1,11 +0,0 @@
-# hard-locale.m4 serial 8
-dnl Copyright (C) 2002-2006, 2009-2017 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 No prerequisites of lib/hard-locale.c.
-AC_DEFUN([gl_HARD_LOCALE],
-[
-  :
-])
diff --git a/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4
index 9370c318..4407296d 100644
--- a/m4/host-cpu-c-abi.m4
+++ b/m4/host-cpu-c-abi.m4
@@ -1,5 +1,5 @@
-# host-cpu-c-abi.m4 serial 8
-dnl Copyright (C) 2002-2017 Free Software Foundation, Inc.
+# host-cpu-c-abi.m4 serial 11
+dnl Copyright (C) 2002-2019 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.
@@ -135,7 +135,7 @@ changequote([,])dnl
             echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c
             # Look for a reference to the register d0 in the .s file.
             AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1
-            if LC_ALL=C grep -E 'd0,' conftest.$gl_asmext >/dev/null; then
+            if LC_ALL=C grep 'd0,' conftest.$gl_asmext >/dev/null; then
               gl_cv_host_cpu_c_abi=armhf
             else
               gl_cv_host_cpu_c_abi=arm
@@ -237,6 +237,60 @@ changequote([,])dnl
          gl_cv_host_cpu_c_abi=powerpc
          ;;
 
+       riscv32 | riscv64 )
+         # There are 2 architectures (with variants): rv32* and rv64*.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if __riscv_xlen == 64
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [cpu=riscv64],
+           [cpu=riscv32])
+         # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+         # Size of 'long' and 'void *':
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __LP64__
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [main_abi=lp64],
+           [main_abi=ilp32])
+         # Float ABIs:
+         # __riscv_float_abi_double:
+         #   'float' and 'double' are passed in floating-point registers.
+         # __riscv_float_abi_single:
+         #   'float' are passed in floating-point registers.
+         # __riscv_float_abi_soft:
+         #   No values are passed in floating-point registers.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#if defined __riscv_float_abi_double
+                  int ok;
+                #else
+                  error fail
+                #endif
+              ]])],
+           [float_abi=d],
+           [AC_COMPILE_IFELSE(
+              [AC_LANG_SOURCE(
+                 [[#if defined __riscv_float_abi_single
+                     int ok;
+                   #else
+                     error fail
+                   #endif
+                 ]])],
+              [float_abi=f],
+              [float_abi=''])
+           ])
+         gl_cv_host_cpu_c_abi="${cpu}-${main_abi}${float_abi}"
+         ;;
+
        s390* )
          # On s390x, the C compiler may be generating 64-bit (= s390x) code
          # or 31-bit (= s390) code.
@@ -349,6 +403,39 @@ EOF
 #ifndef __powerpc64_elfv2__
 #undef __powerpc64_elfv2__
 #endif
+#ifndef __riscv32__
+#undef __riscv32__
+#endif
+#ifndef __riscv64__
+#undef __riscv64__
+#endif
+#ifndef __riscv32_ilp32__
+#undef __riscv32_ilp32__
+#endif
+#ifndef __riscv32_ilp32f__
+#undef __riscv32_ilp32f__
+#endif
+#ifndef __riscv32_ilp32d__
+#undef __riscv32_ilp32d__
+#endif
+#ifndef __riscv64_ilp32__
+#undef __riscv64_ilp32__
+#endif
+#ifndef __riscv64_ilp32f__
+#undef __riscv64_ilp32f__
+#endif
+#ifndef __riscv64_ilp32d__
+#undef __riscv64_ilp32d__
+#endif
+#ifndef __riscv64_lp64__
+#undef __riscv64_lp64__
+#endif
+#ifndef __riscv64_lp64f__
+#undef __riscv64_lp64f__
+#endif
+#ifndef __riscv64_lp64d__
+#undef __riscv64_lp64d__
+#endif
 #ifndef __s390__
 #undef __s390__
 #endif
@@ -367,3 +454,191 @@ EOF
 ])
 
 ])
+
+
+dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
+dnl (application binary interface) is a 32-bit one, or to 'no' otherwise.
+dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
+AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit],
+    [if test -n "$gl_cv_host_cpu_c_abi"; then
+       case "$gl_cv_host_cpu_c_abi" in
+         i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+           gl_cv_host_cpu_c_abi_32bit=yes ;;
+         *)
+           gl_cv_host_cpu_c_abi_32bit=no ;;
+       esac
+     else
+       case "$host_cpu" in
+
+changequote(,)dnl
+         i[4567]86 )
+changequote([,])dnl
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         x86_64 )
+           # On x86_64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
+           # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
+           #   with native Windows (mingw, MSVC).
+           # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if (defined __x86_64__ || defined __amd64__ \
+                       || defined _M_X64 || defined _M_AMD64) \
+                      && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         arm* | aarch64 )
+           # Assume arm with EABI.
+           # On arm64 systems, the C compiler may be generating code in one of
+           # these ABIs:
+           # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
+           # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32.
+           # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
+           # On hppa, the C compiler may be generating 32-bit code or 64-bit
+           # code. In the latter case, it defines _LP64 and __LP64__.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#ifdef __LP64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         ia64* )
+           # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
+           # 32-bit code. In the latter case, it defines _ILP32.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#ifdef _ILP32
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=yes],
+             [gl_cv_host_cpu_c_abi_32bit=no])
+           ;;
+
+         mips* )
+           # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
+           # at 32.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         powerpc* )
+           # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
+           # No need to distinguish them here; the caller may distinguish
+           # them based on the OS.
+           # On powerpc64 systems, the C compiler may still be generating
+           # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
+           # be generating 64-bit code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         rs6000 )
+           gl_cv_host_cpu_c_abi_32bit=yes
+           ;;
+
+         riscv32 | riscv64 )
+           # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
+           # Size of 'long' and 'void *':
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __LP64__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         s390* )
+           # On s390x, the C compiler may be generating 64-bit (= s390x) code
+           # or 31-bit (= s390) code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __LP64__ || defined __s390x__
+                    int ok;
+                  #else
+                    error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         sparc | sparc64 )
+           # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
+           # C compiler still generates 32-bit code.
+           AC_COMPILE_IFELSE(
+             [AC_LANG_SOURCE(
+                [[#if defined __sparcv9 || defined __arch64__
+                   int ok;
+                  #else
+                   error fail
+                  #endif
+                ]])],
+             [gl_cv_host_cpu_c_abi_32bit=no],
+             [gl_cv_host_cpu_c_abi_32bit=yes])
+           ;;
+
+         *)
+           gl_cv_host_cpu_c_abi_32bit=no
+           ;;
+       esac
+     fi
+    ])
+
+  HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
+])
diff --git a/m4/human.m4 b/m4/human.m4
index 550c9bfd..6f02956a 100644
--- a/m4/human.m4
+++ b/m4/human.m4
@@ -1,5 +1,5 @@
 #serial 11
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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/iconv.m4 b/m4/iconv.m4
index b33ecd04..a285e9da 100644
--- a/m4/iconv.m4
+++ b/m4/iconv.m4
@@ -1,5 +1,6 @@
 # iconv.m4 serial 21
-dnl Copyright (C) 2000-2002, 2007-2014, 2016-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2007-2014, 2016-2019 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.
diff --git a/m4/include_next.m4 b/m4/include_next.m4
index 068f6f60..86eb2c97 100644
--- a/m4/include_next.m4
+++ b/m4/include_next.m4
@@ -1,5 +1,5 @@
 # include_next.m4 serial 24
-dnl Copyright (C) 2006-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2019 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/intlmacosx.m4 b/m4/intlmacosx.m4
index aca924c6..7a474270 100644
--- a/m4/intlmacosx.m4
+++ b/m4/intlmacosx.m4
@@ -1,5 +1,5 @@
-# intlmacosx.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc.
+# intlmacosx.m4 serial 6 (gettext-0.19.9)
+dnl Copyright (C) 2004-2014, 2016, 2019 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 @@ 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 Mac OS X 10.2.
+  dnl Check for API introduced in Mac OS X 10.4.
   AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
     [gt_cv_func_CFPreferencesCopyAppValue],
     [gt_save_LIBS="$LIBS"
@@ -33,7 +33,7 @@ AC_DEFUN([gt_INTL_MACOSX],
     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 Mac OS X 10.3.
+  dnl Check for API introduced in Mac OS X 10.5.
   AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
@@ -48,8 +48,24 @@ AC_DEFUN([gt_INTL_MACOSX],
     AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
       [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
   fi
+  AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages],
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <CoreFoundation/CFLocale.h>]],
+          [[CFLocaleCopyPreferredLanguages();]])],
+       [gt_cv_func_CFLocaleCopyPreferredLanguages=yes],
+       [gt_cv_func_CFLocaleCopyPreferredLanguages=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYPREFERREDLANGUAGES], [1],
+      [Define to 1 if you have the Mac OS X function CFLocaleCopyPreferredLanguages in the CoreFoundation framework.])
+  fi
   INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
+     || test $gt_cv_func_CFLocaleCopyCurrent = yes \
+     || test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
     INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
   fi
   AC_SUBST([INTL_MACOSX_LIBS])
diff --git a/m4/intmax_t.m4 b/m4/intmax_t.m4
index ff143e9d..5ded16e3 100644
--- a/m4/intmax_t.m4
+++ b/m4/intmax_t.m4
@@ -1,5 +1,5 @@
 # intmax_t.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 1997-2004, 2006-2007, 2009-2019 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,
diff --git a/m4/inttostr.m4 b/m4/inttostr.m4
index 3120f959..e0ea533e 100644
--- a/m4/inttostr.m4
+++ b/m4/inttostr.m4
@@ -1,5 +1,5 @@
 #serial 8
-dnl Copyright (C) 2004-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2006, 2009-2019 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/inttypes-pri.m4 b/m4/inttypes-pri.m4
index 20557878..38fe118a 100644
--- a/m4/inttypes-pri.m4
+++ b/m4/inttypes-pri.m4
@@ -1,5 +1,5 @@
 # inttypes-pri.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1997-2002, 2006, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 2008-2019 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/inttypes.m4 b/m4/inttypes.m4
index 434a7ee2..c58a1bec 100644
--- a/m4/inttypes.m4
+++ b/m4/inttypes.m4
@@ -1,5 +1,5 @@
-# inttypes.m4 serial 26
-dnl Copyright (C) 2006-2017 Free Software Foundation, Inc.
+# inttypes.m4 serial 27
+dnl Copyright (C) 2006-2019 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.
@@ -147,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])
+  HAVE_IMAXDIV_T=1;      AC_SUBST([HAVE_IMAXDIV_T])
   REPLACE_STRTOIMAX=0;   AC_SUBST([REPLACE_STRTOIMAX])
   REPLACE_STRTOUMAX=0;   AC_SUBST([REPLACE_STRTOUMAX])
   INT32_MAX_LT_INTMAX_MAX=1;  AC_SUBST([INT32_MAX_LT_INTMAX_MAX])
diff --git a/m4/inttypes_h.m4 b/m4/inttypes_h.m4
index 92403050..d20422a4 100644
--- a/m4/inttypes_h.m4
+++ b/m4/inttypes_h.m4
@@ -1,5 +1,5 @@
 # inttypes_h.m4 serial 10
-dnl Copyright (C) 1997-2004, 2006, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2019 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/iswblank.m4 b/m4/iswblank.m4
index e9d6975e..ad216cc9 100644
--- a/m4/iswblank.m4
+++ b/m4/iswblank.m4
@@ -1,5 +1,5 @@
 # iswblank.m4 serial 4
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/langinfo_h.m4 b/m4/langinfo_h.m4
index ea94b4ed..76385d81 100644
--- a/m4/langinfo_h.m4
+++ b/m4/langinfo_h.m4
@@ -1,5 +1,5 @@
-# langinfo_h.m4 serial 7
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# langinfo_h.m4 serial 8
+dnl Copyright (C) 2009-2019 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,7 @@ AC_DEFUN([gl_LANGINFO_H],
   dnl Determine whether <langinfo.h> exists. It is missing on mingw and BeOS.
   HAVE_LANGINFO_CODESET=0
   HAVE_LANGINFO_T_FMT_AMPM=0
+  HAVE_LANGINFO_ALTMON=0
   HAVE_LANGINFO_ERA=0
   HAVE_LANGINFO_YESEXPR=0
   AC_CHECK_HEADERS_ONCE([langinfo.h])
@@ -24,6 +25,7 @@ AC_DEFUN([gl_LANGINFO_H],
     HAVE_LANGINFO_H=1
     dnl Determine what <langinfo.h> defines. CODESET and ERA etc. are missing
     dnl on OpenBSD 3.8. T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3.
+    dnl ALTMON_* are missing on glibc 2.26 and many other systems.
     AC_CACHE_CHECK([whether langinfo.h defines CODESET],
       [gl_cv_header_langinfo_codeset],
       [AC_COMPILE_IFELSE(
@@ -48,6 +50,18 @@ int a = T_FMT_AMPM;
     if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
       HAVE_LANGINFO_T_FMT_AMPM=1
     fi
+    AC_CACHE_CHECK([whether langinfo.h defines ALTMON_1],
+      [gl_cv_header_langinfo_altmon],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = ALTMON_1;
+]])],
+         [gl_cv_header_langinfo_altmon=yes],
+         [gl_cv_header_langinfo_altmon=no])
+      ])
+    if test $gl_cv_header_langinfo_altmon = yes; then
+      HAVE_LANGINFO_ALTMON=1
+    fi
     AC_CACHE_CHECK([whether langinfo.h defines ERA],
       [gl_cv_header_langinfo_era],
       [AC_COMPILE_IFELSE(
@@ -78,6 +92,7 @@ int a = YESEXPR;
   AC_SUBST([HAVE_LANGINFO_H])
   AC_SUBST([HAVE_LANGINFO_CODESET])
   AC_SUBST([HAVE_LANGINFO_T_FMT_AMPM])
+  AC_SUBST([HAVE_LANGINFO_ALTMON])
   AC_SUBST([HAVE_LANGINFO_ERA])
   AC_SUBST([HAVE_LANGINFO_YESEXPR])
 
diff --git a/m4/largefile.m4 b/m4/largefile.m4
index edc1a9b4..1938188c 100644
--- a/m4/largefile.m4
+++ b/m4/largefile.m4
@@ -1,6 +1,6 @@
 # Enable large files on systems where this is not the default.
 
-# Copyright 1992-1996, 1998-2017 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2019 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.
diff --git a/m4/lchown.m4 b/m4/lchown.m4
index 0a5d871f..3d524199 100644
--- a/m4/lchown.m4
+++ b/m4/lchown.m4
@@ -1,7 +1,7 @@
 # serial 17
 # Determine whether we need the lchown wrapper.
 
-dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 1998, 2001, 2003-2007, 2009-2019 Free Software Foundation,
 dnl Inc.
 
 dnl This file is free software; the Free Software Foundation
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
index 0f0c599f..a1871963 100644
--- a/m4/lib-ld.m4
+++ b/m4/lib-ld.m4
@@ -1,5 +1,5 @@
 # lib-ld.m4 serial 9
-dnl Copyright (C) 1996-2003, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2009-2019 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/lib-link.m4 b/m4/lib-link.m4
index 1ce9a5ab..0ff10731 100644
--- a/m4/lib-link.m4
+++ b/m4/lib-link.m4
@@ -1,12 +1,12 @@
-# lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# lib-link.m4 serial 28
+dnl Copyright (C) 2001-2019 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 From Bruno Haible.
 
-AC_PREREQ([2.54])
+AC_PREREQ([2.61])
 
 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
@@ -124,8 +124,8 @@ dnl   acl_hardcode_direct,
 dnl   acl_hardcode_minus_L.
 AC_DEFUN([AC_LIB_RPATH],
 [
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+  dnl Complain if config.rpath is missing.
+  AC_REQUIRE_AUX_FILE([config.rpath])
   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
@@ -187,17 +187,15 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
   pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
                                      [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
-  dnl Autoconf >= 2.61 supports dots in --with options.
-  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
   AC_LIB_WITH_FINAL_PREFIX([
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
   ])
-  AC_ARG_WITH(P_A_C_K[-prefix],
-[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
-  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
+  AC_ARG_WITH(PACK[-prefix],
+[[  --with-]]PACK[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
+  --without-]]PACK[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -211,7 +209,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
         if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
+           && test ! -d "$withval/$acl_libdirstem"; then
           additional_libdir="$withval/$acl_libdirstem2"
         fi
       fi
@@ -670,7 +668,6 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
     done
   fi
-  popdef([P_A_C_K])
   popdef([PACKLIBS])
   popdef([PACKUP])
   popdef([PACK])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
index 9fc47a16..8adb17bb 100644
--- a/m4/lib-prefix.m4
+++ b/m4/lib-prefix.m4
@@ -1,18 +1,11 @@
-# lib-prefix.m4 serial 11
-dnl Copyright (C) 2001-2005, 2008-2017 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 14
+dnl Copyright (C) 2001-2005, 2008-2019 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 From Bruno Haible.
 
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
 dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
 dnl to access previously installed libraries. The basic assumption is that
 dnl a user will want packages to use other packages he previously installed
@@ -32,9 +25,9 @@ AC_DEFUN([AC_LIB_PREFIX],
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
   ])
-  AC_LIB_ARG_WITH([lib-prefix],
-[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir],
+  AC_ARG_WITH([lib-prefix],
+[[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -174,7 +167,24 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
   dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
   dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
   AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([gl_HOST_CPU_C_ABI])
+  AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT])
+
+  case "$host_os" in
+    solaris*)
+      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+        [AC_COMPILE_IFELSE(
+           [AC_LANG_SOURCE(
+              [[#ifdef _LP64
+                 int ok;
+                #else
+                 error fail
+                #endif
+              ]])],
+           [gl_cv_solaris_64bit=yes],
+           [gl_cv_solaris_64bit=no])
+        ]);;
+  esac
+
   dnl Allow the user to override the result by setting acl_cv_libdirstems.
   AC_CACHE_CHECK([for the common suffixes of directories in the library search path],
     [acl_cv_libdirstems],
@@ -187,18 +197,6 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
          dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
          dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
          dnl symlink is missing, so we set acl_libdirstem2 too.
-         AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
-           [AC_COMPILE_IFELSE(
-              [AC_LANG_SOURCE(
-                 [[#ifdef _LP64
-                    int ok;
-                   #else
-                    error fail
-                   #endif
-                 ]])],
-              [gl_cv_solaris_64bit=yes],
-              [gl_cv_solaris_64bit=no])
-           ])
          if test $gl_cv_solaris_64bit = yes; then
            acl_libdirstem=lib/64
            case "$host_cpu" in
@@ -210,40 +208,36 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
        *)
          dnl If $CC generates code for a 32-bit ABI, the libraries are
          dnl surely under $prefix/lib, not $prefix/lib64.
-         case "$gl_cv_host_cpu_c_abi" in
-           i386 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | s390 | sparc)
-             ;;
-           *) # x86_64 | arm64 | hppa64 | ia64 | mips64 | powerpc64* | s390x | sparc64 | ...
-             dnl The result is a property of the system. However, non-system
-             dnl compilers sometimes have odd library search paths. Therefore
-             dnl prefer asking /usr/bin/gcc, if available, rather than $CC.
-             searchpath=`(if test -f /usr/bin/gcc \
-                             && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
-                            LC_ALL=C /usr/bin/gcc -print-search-dirs; \
-                          else \
-                            LC_ALL=C $CC -print-search-dirs; \
-                          fi) 2>/dev/null \
-                         | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-             if test -n "$searchpath"; then
-               acl_save_IFS="${IFS= 	}"; IFS=":"
-               for searchdir in $searchpath; do
-                 if test -d "$searchdir"; then
-                   case "$searchdir" in
-                     */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-                     */../ | */.. )
-                       # Better ignore directories of this form. They are misleading.
-                       ;;
-                     *) searchdir=`cd "$searchdir" && pwd`
-                        case "$searchdir" in
-                          */lib64 ) acl_libdirstem=lib64 ;;
-                        esac ;;
-                   esac
-                 fi
-               done
-               IFS="$acl_save_IFS"
-             fi
-             ;;
-         esac
+         if test "$HOST_CPU_C_ABI_32BIT" != yes; then
+           dnl The result is a property of the system. However, non-system
+           dnl compilers sometimes have odd library search paths. Therefore
+           dnl prefer asking /usr/bin/gcc, if available, rather than $CC.
+           searchpath=`(if test -f /usr/bin/gcc \
+                           && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
+                          LC_ALL=C /usr/bin/gcc -print-search-dirs; \
+                        else \
+                          LC_ALL=C $CC -print-search-dirs; \
+                        fi) 2>/dev/null \
+                       | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+           if test -n "$searchpath"; then
+             acl_save_IFS="${IFS= 	}"; IFS=":"
+             for searchdir in $searchpath; do
+               if test -d "$searchdir"; then
+                 case "$searchdir" in
+                   */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+                   */../ | */.. )
+                     # Better ignore directories of this form. They are misleading.
+                     ;;
+                   *) searchdir=`cd "$searchdir" && pwd`
+                      case "$searchdir" in
+                        */lib64 ) acl_libdirstem=lib64 ;;
+                      esac ;;
+                 esac
+               fi
+             done
+             IFS="$acl_save_IFS"
+           fi
+         fi
          ;;
      esac
      test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
diff --git a/m4/libunistring-base.m4 b/m4/libunistring-base.m4
index ee648f27..829e71cf 100644
--- a/m4/libunistring-base.m4
+++ b/m4/libunistring-base.m4
@@ -1,5 +1,5 @@
 # libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2019 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/limits-h.m4 b/m4/limits-h.m4
index 443f91b4..68f724c7 100644
--- a/m4/limits-h.m4
+++ b/m4/limits-h.m4
@@ -1,6 +1,6 @@
 dnl Check whether limits.h has needed features.
 
-dnl Copyright 2016-2017 Free Software Foundation, Inc.
+dnl Copyright 2016-2019 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,18 @@ AC_DEFUN_ONCE([gl_LIMITS_H],
 [
   gl_CHECK_NEXT_HEADERS([limits.h])
 
-  AC_CACHE_CHECK([whether limits.h has ULLONG_WIDTH etc.],
+  AC_CACHE_CHECK([whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.],
     [gl_cv_header_limits_width],
     [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM([[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
-                           #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
-                          #endif
-                          #include <limits.h>
-                          int ullw = ULLONG_WIDTH;]])],
+       [AC_LANG_PROGRAM(
+          [[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+            #endif
+            #include <limits.h>
+            long long llm = LLONG_MAX;
+            int wb = WORD_BIT;
+            int ullw = ULLONG_WIDTH;
+          ]])],
        [gl_cv_header_limits_width=yes],
        [gl_cv_header_limits_width=no])])
   if test "$gl_cv_header_limits_width" = yes; then
@@ -29,3 +33,11 @@ AC_DEFUN_ONCE([gl_LIMITS_H],
   AC_SUBST([LIMITS_H])
   AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
 ])
+
+dnl Unconditionally enables the replacement of <limits.h>.
+AC_DEFUN([gl_REPLACE_LIMITS_H],
+[
+  AC_REQUIRE([gl_LIMITS_H])
+  LIMITS_H='limits.h'
+  AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
+])
diff --git a/m4/link-follow.m4 b/m4/link-follow.m4
index 587b03ff..cbd2dcad 100644
--- a/m4/link-follow.m4
+++ b/m4/link-follow.m4
@@ -1,8 +1,8 @@
-# serial 19
+# serial 20
 dnl Run a program to determine whether link(2) follows symlinks.
 dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
 
-# Copyright (C) 1999-2001, 2004-2006, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2001, 2004-2006, 2009-2019 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.
@@ -86,10 +86,10 @@ AC_DEFUN([gl_FUNC_LINK_FOLLOWS_SYMLINK],
             dnl The past results are "yes" on Mac OS X, FreeBSD, NetBSD,
             dnl OpenBSD, Minix, AIX, HP-UX, OSF/1, and "no" on Linux, Cygwin.
             case "$host_os" in
-                           # On glibc/Linux we know the result.
-              linux*-gnu*) gl_cv_func_link_follows_symlink="guessing no" ;;
-                           # Otherwise, we don't know.
-              *)           gl_cv_func_link_follows_symlink=unknown ;;
+                                  # On glibc/Linux we know the result.
+              linux*-gnu* | gnu*) gl_cv_func_link_follows_symlink="guessing no" ;;
+                                  # Otherwise, we don't know.
+              *)                  gl_cv_func_link_follows_symlink=unknown ;;
             esac
            ])
          rm -f conftest.file conftest.sym conftest.hard
diff --git a/m4/link.m4 b/m4/link.m4
index 021c3014..a6d77b8a 100644
--- a/m4/link.m4
+++ b/m4/link.m4
@@ -1,5 +1,5 @@
-# link.m4 serial 8
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# link.m4 serial 10
+dnl Copyright (C) 2009-2019 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,10 +39,12 @@ AC_DEFUN([gl_FUNC_LINK],
            ]])],
          [gl_cv_func_link_works=yes], [gl_cv_func_link_works=no],
          [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_link_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_link_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_link_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_link_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_link_works="guessing no" ;;
           esac
          ])
        rm -f conftest.a conftest.b conftest.lnk])
diff --git a/m4/linkat.m4 b/m4/linkat.m4
index 31d87289..860abf36 100644
--- a/m4/linkat.m4
+++ b/m4/linkat.m4
@@ -1,7 +1,7 @@
-# serial 7
+# serial 9
 # See if we need to provide linkat replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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.
@@ -96,10 +96,14 @@ AC_DEFUN([gl_FUNC_LINKAT],
             ]])],
          [gl_cv_func_linkat_slash=yes],
          [gl_cv_func_linkat_slash=no],
-         [# Guess yes on glibc systems, no otherwise.
+         [
           case "$host_os" in
-            *-gnu*) gl_cv_func_linkat_slash="guessing yes";;
-            *)      gl_cv_func_linkat_slash="guessing no";;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_linkat_slash="guessing yes";;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_linkat_slash="guessing yes";;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_linkat_slash="guessing no";;
           esac
          ])
        rm -rf conftest.a conftest.b conftest.c conftest.d conftest.e conftest.s])
diff --git a/m4/localcharset.m4 b/m4/localcharset.m4
index 0c1ff386..2a7f82d0 100644
--- a/m4/localcharset.m4
+++ b/m4/localcharset.m4
@@ -1,5 +1,5 @@
-# localcharset.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2009-2017 Free Software Foundation, Inc.
+# localcharset.m4 serial 8
+dnl Copyright (C) 2002, 2004, 2006, 2009-2019 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,10 +8,4 @@ AC_DEFUN([gl_LOCALCHARSET],
 [
   dnl Prerequisites of lib/localcharset.c.
   AC_REQUIRE([AM_LANGINFO_CODESET])
-  AC_REQUIRE([gl_FCNTL_O_FLAGS])
-  AC_CHECK_DECLS_ONCE([getc_unlocked])
-
-  dnl Prerequisites of the lib/Makefile.am snippet.
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([gl_GLIBC21])
 ])
diff --git a/m4/locale-fr.m4 b/m4/locale-fr.m4
index d974b035..cfa068d5 100644
--- a/m4/locale-fr.m4
+++ b/m4/locale-fr.m4
@@ -1,5 +1,5 @@
-# locale-fr.m4 serial 18
-dnl Copyright (C) 2003, 2005-2017 Free Software Foundation, Inc.
+# locale-fr.m4 serial 19
+dnl Copyright (C) 2003, 2005-2019 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,7 +31,7 @@ int main () {
   return 1;
 #else
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* 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 specified, it succeeds but sets the LC_CTYPE
@@ -160,7 +160,7 @@ int main () {
      variables, and all locales use the UTF-8 encoding.  */
 #if !(defined __BEOS__ || defined __HAIKU__)
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* 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 specified, it succeeds but sets the LC_CTYPE
diff --git a/m4/locale-ja.m4 b/m4/locale-ja.m4
index 48d18d61..487f68bd 100644
--- a/m4/locale-ja.m4
+++ b/m4/locale-ja.m4
@@ -1,5 +1,5 @@
-# locale-ja.m4 serial 13
-dnl Copyright (C) 2003, 2005-2017 Free Software Foundation, Inc.
+# locale-ja.m4 serial 14
+dnl Copyright (C) 2003, 2005-2019 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.
@@ -32,7 +32,7 @@ int main ()
   return 1;
 #else
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* 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 specified, it succeeds but sets the LC_CTYPE
diff --git a/m4/locale-zh.m4 b/m4/locale-zh.m4
index 5fb7f538..8b813263 100644
--- a/m4/locale-zh.m4
+++ b/m4/locale-zh.m4
@@ -1,5 +1,5 @@
-# locale-zh.m4 serial 13
-dnl Copyright (C) 2003, 2005-2017 Free Software Foundation, Inc.
+# locale-zh.m4 serial 14
+dnl Copyright (C) 2003, 2005-2019 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,7 +33,7 @@ int main ()
   return 1;
 #else
   /* Check whether the given locale name is recognized by the system.  */
-# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+# if defined _WIN32 && !defined __CYGWIN__
   /* 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 specified, it succeeds but sets the LC_CTYPE
diff --git a/m4/locale_h.m4 b/m4/locale_h.m4
index db005a5b..d28ba0c2 100644
--- a/m4/locale_h.m4
+++ b/m4/locale_h.m4
@@ -1,5 +1,5 @@
-# locale_h.m4 serial 20
-dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+# locale_h.m4 serial 21
+dnl Copyright (C) 2007, 2009-2019 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.
@@ -96,7 +96,7 @@ AC_DEFUN([gl_LOCALE_H],
 # include <xlocale.h>
 #endif
     ]],
-    [setlocale duplocale])
+    [setlocale newlocale duplocale freelocale])
 ])
 
 AC_DEFUN([gl_LOCALE_MODULE_INDICATOR],
@@ -113,10 +113,15 @@ 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])
+  GNULIB_LOCALENAME=0; AC_SUBST([GNULIB_LOCALENAME])
   dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_NEWLOCALE=1;       AC_SUBST([HAVE_NEWLOCALE])
   HAVE_DUPLOCALE=1;       AC_SUBST([HAVE_DUPLOCALE])
+  HAVE_FREELOCALE=1;      AC_SUBST([HAVE_FREELOCALE])
   REPLACE_LOCALECONV=0;   AC_SUBST([REPLACE_LOCALECONV])
   REPLACE_SETLOCALE=0;    AC_SUBST([REPLACE_SETLOCALE])
+  REPLACE_NEWLOCALE=0;    AC_SUBST([REPLACE_NEWLOCALE])
   REPLACE_DUPLOCALE=0;    AC_SUBST([REPLACE_DUPLOCALE])
+  REPLACE_FREELOCALE=0;   AC_SUBST([REPLACE_FREELOCALE])
   REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV])
 ])
diff --git a/m4/localeconv.m4 b/m4/localeconv.m4
index c287aa52..9bb78f0d 100644
--- a/m4/localeconv.m4
+++ b/m4/localeconv.m4
@@ -1,5 +1,5 @@
 # localeconv.m4 serial 1
-dnl Copyright (C) 2012-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2019 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/localtime-buffer.m4 b/m4/localtime-buffer.m4
index 3965b5d9..6d998287 100644
--- a/m4/localtime-buffer.m4
+++ b/m4/localtime-buffer.m4
@@ -1,5 +1,5 @@
 # localtime-buffer.m4 serial 1
-dnl Copyright (C) 2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2017-2019 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/longlong.m4 b/m4/longlong.m4
index 9a3294bc..08d0e363 100644
--- a/m4/longlong.m4
+++ b/m4/longlong.m4
@@ -1,14 +1,15 @@
-# longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2017 Free Software Foundation, Inc.
+# longlong.m4 serial 18
+dnl Copyright (C) 1999-2007, 2009-2019 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 From Paul Eggert.
 
+AC_PREREQ([2.62])
+
 # Define HAVE_LONG_LONG_INT if 'long long int' works.
-# This fixes a bug in Autoconf 2.61, and can be faster
-# than what's in Autoconf 2.62 through 2.68.
+# This 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
@@ -56,8 +57,7 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT],
 ])
 
 # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
-# This fixes a bug in Autoconf 2.61, and can be faster
-# than what's in Autoconf 2.62 through 2.68.
+# This 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
diff --git a/m4/lseek.m4 b/m4/lseek.m4
index 627e772e..d55ec2a3 100644
--- a/m4/lseek.m4
+++ b/m4/lseek.m4
@@ -1,5 +1,5 @@
 # lseek.m4 serial 10
-dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2019 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/lstat.m4 b/m4/lstat.m4
index 0b6e5d70..ace16386 100644
--- a/m4/lstat.m4
+++ b/m4/lstat.m4
@@ -1,6 +1,6 @@
-# serial 29
+# serial 32
 
-# Copyright (C) 1997-2001, 2003-2017 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -10,14 +10,15 @@ dnl From Jim Meyering.
 
 AC_DEFUN([gl_FUNC_LSTAT],
 [
+  AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
   dnl If lstat does not exist, the replacement <sys/stat.h> does
   dnl "#define lstat stat", and lstat.c is a no-op.
   AC_CHECK_FUNCS_ONCE([lstat])
   if test $ac_cv_func_lstat = yes; then
     AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
-    case "$gl_cv_func_lstat_dereferences_slashed_symlink" in
-      *no)
+    case $host_os,$gl_cv_func_lstat_dereferences_slashed_symlink in
+      solaris* | *no)
         REPLACE_LSTAT=1
         ;;
     esac
@@ -52,7 +53,10 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
        [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
        [gl_cv_func_lstat_dereferences_slashed_symlink=no],
        [case "$host_os" in
-          *-gnu*)
+          linux-* | linux)
+            # Guess yes on Linux systems.
+            gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
+          *-gnu* | gnu*)
             # Guess yes on glibc systems.
             gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
           mingw*)
diff --git a/m4/malloc.m4 b/m4/malloc.m4
index 5e6a83a6..f78a484f 100644
--- a/m4/malloc.m4
+++ b/m4/malloc.m4
@@ -1,5 +1,5 @@
-# malloc.m4 serial 15
-dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+# malloc.m4 serial 17
+dnl Copyright (C) 2007, 2009-2019 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.
@@ -32,7 +32,7 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
        [ac_cv_func_malloc_0_nonnull=no],
        [case "$host_os" in
           # Guess yes on platforms where we know the result.
-          *-gnu* | freebsd* | netbsd* | openbsd* \
+          *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \
           | hpux* | solaris* | cygwin* | mingw*)
             ac_cv_func_malloc_0_nonnull=yes ;;
           # If we don't know, assume the worst.
@@ -91,7 +91,7 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX],
       AC_COMPILE_IFELSE(
         [AC_LANG_PROGRAM(
            [[]],
-           [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+           [[#if defined _WIN32 && ! defined __CYGWIN__
              choke me
              #endif
             ]])],
diff --git a/m4/malloca.m4 b/m4/malloca.m4
index 6956baf2..820f40a8 100644
--- a/m4/malloca.m4
+++ b/m4/malloca.m4
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2019 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,
diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4
index d10bcd08..e0488a5c 100644
--- a/m4/manywarnings.m4
+++ b/m4/manywarnings.m4
@@ -1,5 +1,5 @@
-# manywarnings.m4 serial 13
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+# manywarnings.m4 serial 17
+dnl Copyright (C) 2008-2019 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.
@@ -51,54 +51,53 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
 
     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], [
-      gl_save_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
-      AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM([[]], [[]])],
-        [gl_cv_cc_nomfi_supported=yes],
-        [gl_cv_cc_nomfi_supported=no])
-      CFLAGS="$gl_save_CFLAGS"])
-    AC_MSG_RESULT([$gl_cv_cc_nomfi_supported])
+    AC_CACHE_CHECK([whether -Wno-missing-field-initializers is supported],
+      [gl_cv_cc_nomfi_supported],
+      [gl_save_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
+       AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[]], [[]])],
+         [gl_cv_cc_nomfi_supported=yes],
+         [gl_cv_cc_nomfi_supported=no])
+       CFLAGS="$gl_save_CFLAGS"
+      ])
 
     if test "$gl_cv_cc_nomfi_supported" = yes; then
       dnl Now check whether -Wno-missing-field-initializers is needed
       dnl for the { 0, } construct.
-      AC_MSG_CHECKING([whether -Wno-missing-field-initializers is needed])
-      AC_CACHE_VAL([gl_cv_cc_nomfi_needed], [
-        gl_save_CFLAGS="$CFLAGS"
-        CFLAGS="$CFLAGS -W -Werror"
-        AC_COMPILE_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[int f (void)
-               {
-                 typedef struct { int a; int b; } s_t;
-                 s_t s1 = { 0, };
-                 return s1.b;
-               }
-             ]],
-             [[]])],
-          [gl_cv_cc_nomfi_needed=no],
-          [gl_cv_cc_nomfi_needed=yes])
-        CFLAGS="$gl_save_CFLAGS"
-      ])
-      AC_MSG_RESULT([$gl_cv_cc_nomfi_needed])
+      AC_CACHE_CHECK([whether -Wno-missing-field-initializers is needed],
+        [gl_cv_cc_nomfi_needed],
+        [gl_save_CFLAGS="$CFLAGS"
+         CFLAGS="$CFLAGS -W -Werror"
+         AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[int f (void)
+                {
+                  typedef struct { int a; int b; } s_t;
+                  s_t s1 = { 0, };
+                  return s1.b;
+                }
+              ]],
+              [[]])],
+           [gl_cv_cc_nomfi_needed=no],
+           [gl_cv_cc_nomfi_needed=yes])
+         CFLAGS="$gl_save_CFLAGS"
+        ])
     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])
+    AC_CACHE_CHECK([whether -Wuninitialized is supported],
+      [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"
+      ])
 
   fi
 
@@ -106,18 +105,17 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
   # To compare this list to your installed GCC's, run this Bash command:
   #
   # comm -3 \
-  #  <(sed -n 's/^  *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \
-  #  <(gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort |
-  #      grep -v -x -F -f <(
-  #         awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec))
+  #  <((sed -n 's/^  *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \
+  #     awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec) | sort) \
+  #  <(LC_ALL=C gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort)
 
   gl_manywarn_set=
   for gl_manywarn_item in -fno-common \
     -W \
-    -Wabi \
     -Waddress \
     -Waggressive-loop-optimizations \
     -Wall \
+    -Wattribute-alias \
     -Wattributes \
     -Wbad-function-cast \
     -Wbool-compare \
@@ -125,8 +123,9 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
     -Wbuiltin-declaration-mismatch \
     -Wbuiltin-macro-redefined \
     -Wcast-align \
+    -Wcast-align=strict \
+    -Wcast-function-type \
     -Wchar-subscripts \
-    -Wchkp \
     -Wclobbered \
     -Wcomment \
     -Wcomments \
@@ -160,6 +159,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
     -Wframe-address \
     -Wfree-nonheap-object \
     -Whsa \
+    -Wif-not-aligned \
     -Wignored-attributes \
     -Wignored-qualifiers \
     -Wimplicit \
@@ -173,7 +173,6 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
     -Wint-to-pointer-cast \
     -Winvalid-memory-model \
     -Winvalid-pch \
-    -Wjump-misses-init \
     -Wlogical-not-parentheses \
     -Wlogical-op \
     -Wmain \
@@ -181,6 +180,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
     -Wmemset-elt-size \
     -Wmemset-transposed-args \
     -Wmisleading-indentation \
+    -Wmissing-attributes \
     -Wmissing-braces \
     -Wmissing-declarations \
     -Wmissing-field-initializers \
@@ -188,6 +188,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
     -Wmissing-parameter-type \
     -Wmissing-prototypes \
     -Wmultichar \
+    -Wmultistatement-macros \
     -Wnarrowing \
     -Wnested-externs \
     -Wnonnull \
@@ -202,6 +203,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
     -Woverride-init \
     -Wpacked \
     -Wpacked-bitfield-compat \
+    -Wpacked-not-aligned \
     -Wparentheses \
     -Wpointer-arith \
     -Wpointer-compare \
@@ -219,20 +221,23 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
     -Wshift-count-overflow \
     -Wshift-negative-value \
     -Wsizeof-array-argument \
+    -Wsizeof-pointer-div \
     -Wsizeof-pointer-memaccess \
     -Wstack-protector \
     -Wstrict-aliasing \
     -Wstrict-overflow \
     -Wstrict-prototypes \
+    -Wstringop-truncation \
+    -Wsuggest-attribute=cold \
     -Wsuggest-attribute=const \
     -Wsuggest-attribute=format \
+    -Wsuggest-attribute=malloc \
     -Wsuggest-attribute=noreturn \
     -Wsuggest-attribute=pure \
     -Wsuggest-final-methods \
     -Wsuggest-final-types \
     -Wswitch \
     -Wswitch-bool \
-    -Wswitch-default \
     -Wswitch-unreachable \
     -Wsync-nand \
     -Wsystem-headers \
diff --git a/m4/mbchar.m4 b/m4/mbchar.m4
index 60ea1244..3d163422 100644
--- a/m4/mbchar.m4
+++ b/m4/mbchar.m4
@@ -1,5 +1,5 @@
 # mbchar.m4 serial 9
-dnl Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2019 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/mbiter.m4 b/m4/mbiter.m4
index add40344..58889fef 100644
--- a/m4/mbiter.m4
+++ b/m4/mbiter.m4
@@ -1,5 +1,5 @@
 # mbiter.m4 serial 7
-dnl Copyright (C) 2005, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008-2019 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/mbrtowc.m4 b/m4/mbrtowc.m4
index 216594eb..4811af5d 100644
--- a/m4/mbrtowc.m4
+++ b/m4/mbrtowc.m4
@@ -1,5 +1,5 @@
-# mbrtowc.m4 serial 29  -*- coding: utf-8 -*-
-dnl Copyright (C) 2001-2002, 2004-2005, 2008-2017 Free Software Foundation,
+# mbrtowc.m4 serial 31  -*- coding: utf-8 -*-
+dnl Copyright (C) 2001-2002, 2004-2005, 2008-2019 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,
@@ -563,12 +563,11 @@ AC_DEFUN([gl_MBRTOWC_EMPTY_INPUT],
       dnl is present.
 changequote(,)dnl
       case "$host_os" in
-                    # Guess no on AIX and glibc systems.
-        aix* | *-gnu*)
-                    gl_cv_func_mbrtowc_empty_input="guessing no" ;;
-                    # Guess yes on native Windows.
-        mingw*)     gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
-        *)          gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+                              # Guess no on AIX and glibc systems.
+        aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
+                              # Guess yes on native Windows.
+        mingw*)               gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
+        *)                    gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
       esac
 changequote([,])dnl
       AC_RUN_IFELSE(
@@ -635,6 +634,7 @@ AC_DEFUN([gl_MBRTOWC_C_LOCALE],
 
 # Prerequisites of lib/mbrtowc.c.
 AC_DEFUN([gl_PREREQ_MBRTOWC], [
+  AC_REQUIRE([AC_C_INLINE])
   :
 ])
 
diff --git a/m4/mbsinit.m4 b/m4/mbsinit.m4
index 5904a510..e2f45e75 100644
--- a/m4/mbsinit.m4
+++ b/m4/mbsinit.m4
@@ -1,5 +1,5 @@
 # mbsinit.m4 serial 8
-dnl Copyright (C) 2008, 2010-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2019 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/mbsrtowcs.m4 b/m4/mbsrtowcs.m4
index 79b8d767..cbdde2c5 100644
--- a/m4/mbsrtowcs.m4
+++ b/m4/mbsrtowcs.m4
@@ -1,5 +1,5 @@
 # mbsrtowcs.m4 serial 13
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2019 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/mbstate_t.m4 b/m4/mbstate_t.m4
index 6325cf3a..f669753c 100644
--- a/m4/mbstate_t.m4
+++ b/m4/mbstate_t.m4
@@ -1,5 +1,5 @@
 # mbstate_t.m4 serial 13
-dnl Copyright (C) 2000-2002, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2008-2019 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/mbtowc.m4 b/m4/mbtowc.m4
index 378a4e25..202c3fbd 100644
--- a/m4/mbtowc.m4
+++ b/m4/mbtowc.m4
@@ -1,5 +1,5 @@
 # mbtowc.m4 serial 2
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/memchr.m4 b/m4/memchr.m4
index 0cca69d6..db227e7d 100644
--- a/m4/memchr.m4
+++ b/m4/memchr.m4
@@ -1,5 +1,5 @@
 # memchr.m4 serial 13
-dnl Copyright (C) 2002-2004, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2009-2019 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/mempcpy.m4 b/m4/mempcpy.m4
index 3faec3c8..b6090eed 100644
--- a/m4/mempcpy.m4
+++ b/m4/mempcpy.m4
@@ -1,5 +1,5 @@
 # mempcpy.m4 serial 11
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2019 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,
diff --git a/m4/memrchr.m4 b/m4/memrchr.m4
index e180f610..e907590e 100644
--- a/m4/memrchr.m4
+++ b/m4/memrchr.m4
@@ -1,5 +1,5 @@
 # memrchr.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2019 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,
diff --git a/m4/minmax.m4 b/m4/minmax.m4
index 6845fce8..1e0d30b9 100644
--- a/m4/minmax.m4
+++ b/m4/minmax.m4
@@ -1,5 +1,5 @@
 # minmax.m4 serial 4
-dnl Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2019 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/mkdir.m4 b/m4/mkdir.m4
index fa15b157..4cd95903 100644
--- a/m4/mkdir.m4
+++ b/m4/mkdir.m4
@@ -1,6 +1,6 @@
-# serial 12
+# serial 14
 
-# Copyright (C) 2001, 2003-2004, 2006, 2008-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2004, 2006, 2008-2019 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.
@@ -23,19 +23,21 @@ AC_DEFUN([gl_FUNC_MKDIR],
       [gl_cv_func_mkdir_trailing_slash_works=yes],
       [gl_cv_func_mkdir_trailing_slash_works=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
-                 # Guess yes on MSVC, no on mingw.
-         mingw*) AC_EGREP_CPP([Known], [
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu* | gnu*)   gl_cv_func_mkdir_trailing_slash_works="guessing yes" ;;
+                          # Guess yes on MSVC, no on mingw.
+         mingw*)          AC_EGREP_CPP([Known], [
 #ifdef _MSC_VER
  Known
 #endif
-                   ],
-                   [gl_cv_func_mkdir_trailing_slash_works="guessing yes"],
-                   [gl_cv_func_mkdir_trailing_slash_works="guessing no"])
-                 ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_mkdir_trailing_slash_works="guessing no" ;;
+                            ],
+                            [gl_cv_func_mkdir_trailing_slash_works="guessing yes"],
+                            [gl_cv_func_mkdir_trailing_slash_works="guessing no"])
+                          ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_mkdir_trailing_slash_works="guessing no" ;;
        esac
       ])
     rm -rf conftest.dir
@@ -58,12 +60,12 @@ AC_DEFUN([gl_FUNC_MKDIR],
       [gl_cv_func_mkdir_trailing_dot_works=yes],
       [gl_cv_func_mkdir_trailing_dot_works=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
+                        # Guess yes on glibc systems.
+         *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
+                        # Guess no on native Windows.
+         mingw*)        gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
+                        # If we don't know, assume the worst.
+         *)             gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
        esac
       ])
     rm -rf conftest.dir
diff --git a/m4/mkdirat.m4 b/m4/mkdirat.m4
index b54cf2a5..76719938 100644
--- a/m4/mkdirat.m4
+++ b/m4/mkdirat.m4
@@ -1,5 +1,5 @@
 # mkdirat.m4 serial 1
-dnl Copyright (C) 2004-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2019 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/mkdtemp.m4 b/m4/mkdtemp.m4
index e66c195f..412bb39b 100644
--- a/m4/mkdtemp.m4
+++ b/m4/mkdtemp.m4
@@ -1,5 +1,5 @@
 # mkdtemp.m4 serial 8
-dnl Copyright (C) 2001-2003, 2006-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2001-2003, 2006-2007, 2009-2019 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,
diff --git a/m4/mkfifo.m4 b/m4/mkfifo.m4
index f2516a9d..37a6fc70 100644
--- a/m4/mkfifo.m4
+++ b/m4/mkfifo.m4
@@ -1,7 +1,7 @@
-# serial 4
+# serial 8
 # See if we need to provide mkfifo replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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,10 +12,23 @@ AC_DEFUN([gl_FUNC_MKFIFO],
 [
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CHECK_FUNCS_ONCE([mkfifo])
-  if test $ac_cv_func_mkfifo = no; then
+
+  dnl We can't use AC_CHECK_FUNC here, because mkfifo() is defined as a
+  dnl static inline function when compiling for Android 4.4 or older.
+  AC_CACHE_CHECK([for mkfifo], [gl_cv_func_mkfifo],
+    [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <sys/stat.h>]],
+          [[return mkfifo("/",0);]])
+       ],
+       [gl_cv_func_mkfifo=yes],
+       [gl_cv_func_mkfifo=no])
+    ])
+  if test $gl_cv_func_mkfifo = no; then
     HAVE_MKFIFO=0
   else
+    AC_DEFINE([HAVE_MKFIFO], [1],
+      [Define to 1 if you have a 'mkfifo' function.])
     dnl Check for Solaris 9 and FreeBSD bug with trailing slash.
     AC_CHECK_FUNCS_ONCE([lstat])
     AC_CACHE_CHECK([whether mkfifo rejects trailing slashes],
@@ -39,10 +52,12 @@ AC_DEFUN([gl_FUNC_MKFIFO],
            ]])],
          [gl_cv_func_mkfifo_works=yes], [gl_cv_func_mkfifo_works=no],
          [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_mkfifo_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_mkfifo_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_mkfifo_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_mkfifo_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_mkfifo_works="guessing no" ;;
           esac
          ])
        rm -f conftest.tmp conftest.lnk])
diff --git a/m4/mkfifoat.m4 b/m4/mkfifoat.m4
index e8bc027f..c48cbc2b 100644
--- a/m4/mkfifoat.m4
+++ b/m4/mkfifoat.m4
@@ -1,7 +1,7 @@
 # serial 3
 # See if we need to provide mkfifoat/mknodat replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/mknod.m4 b/m4/mknod.m4
index 98ecea29..710784d0 100644
--- a/m4/mknod.m4
+++ b/m4/mknod.m4
@@ -1,7 +1,7 @@
-# serial 5
+# serial 7
 # See if we need to provide mknod replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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.
@@ -43,10 +43,12 @@ AC_DEFUN([gl_FUNC_MKNOD],
           fi
           gl_cv_func_mknod_works=no],
          [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_mknod_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_mknod_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_mknod_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_mknod_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_mknod_works="guessing no" ;;
           esac
          ])
        rm -f conftest.fifo])
diff --git a/m4/mktime.m4 b/m4/mktime.m4
index 1461905f..a86e1eeb 100644
--- a/m4/mktime.m4
+++ b/m4/mktime.m4
@@ -1,5 +1,5 @@
 # serial 30
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2019 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,
diff --git a/m4/mmap-anon.m4 b/m4/mmap-anon.m4
index 263687d1..50c38082 100644
--- a/m4/mmap-anon.m4
+++ b/m4/mmap-anon.m4
@@ -1,5 +1,5 @@
 # mmap-anon.m4 serial 10
-dnl Copyright (C) 2005, 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2019 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/mode_t.m4 b/m4/mode_t.m4
index 75d372a4..ba840dca 100644
--- a/m4/mode_t.m4
+++ b/m4/mode_t.m4
@@ -1,5 +1,5 @@
 # mode_t.m4 serial 2
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/modechange.m4 b/m4/modechange.m4
index 025c3814..65705a8b 100644
--- a/m4/modechange.m4
+++ b/m4/modechange.m4
@@ -1,5 +1,5 @@
 # modechange.m4 serial 7
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 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,
diff --git a/m4/msvc-inval.m4 b/m4/msvc-inval.m4
index 33243751..4b958762 100644
--- a/m4/msvc-inval.m4
+++ b/m4/msvc-inval.m4
@@ -1,5 +1,5 @@
 # msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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-nothrow.m4 b/m4/msvc-nothrow.m4
index 3014661f..7e73b40b 100644
--- a/m4/msvc-nothrow.m4
+++ b/m4/msvc-nothrow.m4
@@ -1,5 +1,5 @@
 # msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/multiarch.m4 b/m4/multiarch.m4
index 30006cb3..d48316e0 100644
--- a/m4/multiarch.m4
+++ b/m4/multiarch.m4
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 7
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2019 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/nl_langinfo.m4 b/m4/nl_langinfo.m4
index 16de8de3..66eee41d 100644
--- a/m4/nl_langinfo.m4
+++ b/m4/nl_langinfo.m4
@@ -1,5 +1,5 @@
-# nl_langinfo.m4 serial 5
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# nl_langinfo.m4 serial 6
+dnl Copyright (C) 2009-2019 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,8 +36,11 @@ AC_DEFUN([gl_FUNC_NL_LANGINFO],
     AC_DEFINE_UNQUOTED([FUNC_NL_LANGINFO_YESEXPR_WORKS],
       [$FUNC_NL_LANGINFO_YESEXPR_WORKS],
       [Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string.])
-    if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \
-        && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
+    if test $HAVE_LANGINFO_CODESET = 1 \
+       && test $HAVE_LANGINFO_T_FMT_AMPM = 1 \
+       && test $HAVE_LANGINFO_ALTMON = 1 \
+       && test $HAVE_LANGINFO_ERA = 1 \
+       && test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
       :
     else
       REPLACE_NL_LANGINFO=1
diff --git a/m4/nls.m4 b/m4/nls.m4
index afdb9cac..b62f6148 100644
--- a/m4/nls.m4
+++ b/m4/nls.m4
@@ -1,5 +1,5 @@
 # nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019 Free Software
 dnl Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/nocrash.m4 b/m4/nocrash.m4
index 2c2c5fb4..4d9f0226 100644
--- a/m4/nocrash.m4
+++ b/m4/nocrash.m4
@@ -1,5 +1,5 @@
-# nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
+# nocrash.m4 serial 5
+dnl Copyright (C) 2005, 2009-2019 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.
@@ -79,7 +79,7 @@ nocrash_init (void)
     }
   }
 }
-#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#elif defined _WIN32 && ! defined __CYGWIN__
 /* Avoid a crash on native Windows.  */
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
diff --git a/m4/nstrftime.m4 b/m4/nstrftime.m4
index d2dac9e2..546c2408 100644
--- a/m4/nstrftime.m4
+++ b/m4/nstrftime.m4
@@ -1,6 +1,6 @@
 # serial 34
 
-# Copyright (C) 1996-1997, 1999-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2007, 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/obstack.m4 b/m4/obstack.m4
index 61237620..b56fca4c 100644
--- a/m4/obstack.m4
+++ b/m4/obstack.m4
@@ -1,6 +1,6 @@
 # See if we need to provide obstacks.
 
-dnl Copyright 1996-2017 Free Software Foundation, Inc.
+dnl Copyright 1996-2019 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/off_t.m4 b/m4/off_t.m4
index 92c45ef7..711a2d44 100644
--- a/m4/off_t.m4
+++ b/m4/off_t.m4
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2019 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/open-cloexec.m4 b/m4/open-cloexec.m4
index 897af669..52498d95 100644
--- a/m4/open-cloexec.m4
+++ b/m4/open-cloexec.m4
@@ -1,6 +1,6 @@
 # Test whether O_CLOEXEC is defined.
 
-dnl Copyright 2017 Free Software Foundation, Inc.
+dnl Copyright 2017-2019 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/open.m4 b/m4/open.m4
index 68253e15..5d73f4de 100644
--- a/m4/open.m4
+++ b/m4/open.m4
@@ -1,5 +1,5 @@
 # open.m4 serial 15
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2019 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/openat.m4 b/m4/openat.m4
index d0d244a0..005a2b43 100644
--- a/m4/openat.m4
+++ b/m4/openat.m4
@@ -1,7 +1,7 @@
 # serial 46
 # See if we need to use our replacement for Solaris' openat et al functions.
 
-dnl Copyright (C) 2004-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2019 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/opendir.m4 b/m4/opendir.m4
index 0047d349..8f0d8042 100644
--- a/m4/opendir.m4
+++ b/m4/opendir.m4
@@ -1,5 +1,5 @@
 # opendir.m4 serial 5
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/parse-datetime.m4 b/m4/parse-datetime.m4
index c01d237c..597a44c5 100644
--- a/m4/parse-datetime.m4
+++ b/m4/parse-datetime.m4
@@ -1,5 +1,5 @@
 # parse-datetime.m4 serial 22
-dnl Copyright (C) 2002-2006, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2019 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/pathmax.m4 b/m4/pathmax.m4
index c6c9f24d..0770aca3 100644
--- a/m4/pathmax.m4
+++ b/m4/pathmax.m4
@@ -1,5 +1,5 @@
-# pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation,
+# pathmax.m4 serial 11
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 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,
@@ -29,7 +29,7 @@ AC_DEFUN([gl_PATHMAX_SNIPPET], [[
 # undef PATH_MAX
 # define PATH_MAX 1024
 #endif
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#if defined _WIN32 && ! defined __CYGWIN__
 # undef PATH_MAX
 # define PATH_MAX 260
 #endif
diff --git a/m4/po.m4 b/m4/po.m4
index c5a2f6bf..ce72d017 100644
--- a/m4/po.m4
+++ b/m4/po.m4
@@ -1,5 +1,5 @@
-# po.m4 serial 24 (gettext-0.19)
-dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+# po.m4 serial 24a
+dnl Copyright (C) 1995-2014, 2016, 2018-2019 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.
@@ -83,12 +83,6 @@ changequote([,])dnl
   AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
     [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
 
-  dnl Installation directories.
-  dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
-  dnl have to define it here, so that it can be used in po/Makefile.
-  test -n "$localedir" || localedir='${datadir}/locale'
-  AC_SUBST([localedir])
-
   dnl Support for AM_XGETTEXT_OPTION.
   test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
   AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
@@ -130,14 +124,11 @@ changequote([,])dnl
             if test -n "$OBSOLETE_ALL_LINGUAS"; then
               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 assignment from automake < 1.5.
-            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
             POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
           else
             # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assignment from automake < 1.5.
-            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+            ALL_LINGUAS=$OBSOLETE_ALL_LINGUAS
           fi
           # Compute POFILES
           # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
@@ -208,9 +199,8 @@ changequote([,])dnl
       esac
     done]],
    [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
-    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
-    # from automake < 1.5.
-    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS.
+    OBSOLETE_ALL_LINGUAS="$ALL_LINGUAS"
     # Capture the value of LINGUAS because we need it to compute CATALOGS.
     LINGUAS="${LINGUAS-%UNSET%}"
    ])
@@ -311,15 +301,13 @@ changequote([,])dnl
   fi
   if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
     # The LINGUAS file contains the set of available languages.
-    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+    ALL_LINGUAS=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
     POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
   else
     # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
     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"`
+    ALL_LINGUAS=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
   fi
-  # Hide the ALL_LINGUAS assignment from automake < 1.5.
-  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
   # Compute POFILES
   # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
   # Compute UPDATEPOFILES
diff --git a/m4/printf.m4 b/m4/printf.m4
index 3b167ecb..1db13bf8 100644
--- a/m4/printf.m4
+++ b/m4/printf.m4
@@ -1,5 +1,5 @@
-# printf.m4 serial 57
-dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc.
+# printf.m4 serial 59
+dnl Copyright (C) 2003, 2007-2019 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.
@@ -61,7 +61,7 @@ int main ()
          case "$host_os" in
 changequote(,)dnl
                                  # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_printf_sizes_c99="guessing yes";;
+           *-gnu* | gnu*)        gl_cv_func_printf_sizes_c99="guessing yes";;
                                  # 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";;
@@ -234,7 +234,7 @@ int main ()
          case "$host_os" in
 changequote(,)dnl
                                  # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_printf_infinite="guessing yes";;
+           *-gnu* | gnu*)        gl_cv_func_printf_infinite="guessing yes";;
                                  # Guess yes on FreeBSD >= 6.
            freebsd[1-5].*)       gl_cv_func_printf_infinite="guessing no";;
            freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
@@ -449,7 +449,7 @@ int main ()
                  case "$host_os" in
 changequote(,)dnl
                                          # Guess yes on glibc systems.
-                   *-gnu*)               gl_cv_func_printf_infinite_long_double="guessing yes";;
+                   *-gnu* | gnu*)        gl_cv_func_printf_infinite_long_double="guessing yes";;
                                          # Guess yes on FreeBSD >= 6.
                    freebsd[1-5].*)       gl_cv_func_printf_infinite_long_double="guessing no";;
                    freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
@@ -554,7 +554,7 @@ int main ()
         [
          case "$host_os" in
                                  # Guess yes on glibc >= 2.5 systems.
-           *-gnu*)
+           *-gnu* | gnu*)
              AC_EGREP_CPP([BZ2908], [
                #include <features.h>
                #ifdef __GNU_LIBRARY__
@@ -613,7 +613,7 @@ int main ()
          case "$host_os" in
 changequote(,)dnl
                                  # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_printf_directive_f="guessing yes";;
+           *-gnu* | gnu*)        gl_cv_func_printf_directive_f="guessing yes";;
                                  # 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";;
@@ -935,14 +935,14 @@ int main ()
         [
 changequote(,)dnl
          case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
-                   # Guess yes on BeOS.
-           beos*)  gl_cv_func_printf_flag_zero="guessing yes";;
-                   # Guess no on native Windows.
-           mingw*) gl_cv_func_printf_flag_zero="guessing no";;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_printf_flag_zero="guessing no";;
+                          # Guess yes on glibc systems.
+           *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
+                          # Guess yes on BeOS.
+           beos*)         gl_cv_func_printf_flag_zero="guessing yes";;
+                          # Guess no on native Windows.
+           mingw*)        gl_cv_func_printf_flag_zero="guessing no";;
+                          # If we don't know, assume the worst.
+           *)             gl_cv_func_printf_flag_zero="guessing no";;
          esac
 changequote([,])dnl
         ])
@@ -1095,28 +1095,28 @@ changequote([,])dnl
       if test "$gl_cv_func_printf_enomem" = "guessing no"; then
 changequote(,)dnl
         case "$host_os" in
-                    # Guess yes on glibc systems.
-          *-gnu*)   gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on Solaris.
-          solaris*) gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on AIX.
-          aix*)     gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on HP-UX/hppa.
-          hpux*)    case "$host_cpu" in
-                      hppa*) gl_cv_func_printf_enomem="guessing yes";;
-                      *)     gl_cv_func_printf_enomem="guessing no";;
-                    esac
-                    ;;
-                    # Guess yes on IRIX.
-          irix*)    gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on OSF/1.
-          osf*)     gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on BeOS.
-          beos*)    gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on Haiku.
-          haiku*)   gl_cv_func_printf_enomem="guessing yes";;
-                    # If we don't know, assume the worst.
-          *)        gl_cv_func_printf_enomem="guessing no";;
+                         # Guess yes on glibc systems.
+          *-gnu* | gnu*) gl_cv_func_printf_enomem="guessing yes";;
+                         # Guess yes on Solaris.
+          solaris*)      gl_cv_func_printf_enomem="guessing yes";;
+                         # Guess yes on AIX.
+          aix*)          gl_cv_func_printf_enomem="guessing yes";;
+                         # Guess yes on HP-UX/hppa.
+          hpux*)         case "$host_cpu" in
+                           hppa*) gl_cv_func_printf_enomem="guessing yes";;
+                           *)     gl_cv_func_printf_enomem="guessing no";;
+                         esac
+                         ;;
+                         # Guess yes on IRIX.
+          irix*)         gl_cv_func_printf_enomem="guessing yes";;
+                         # Guess yes on OSF/1.
+          osf*)          gl_cv_func_printf_enomem="guessing yes";;
+                         # Guess yes on BeOS.
+          beos*)         gl_cv_func_printf_enomem="guessing yes";;
+                         # Guess yes on Haiku.
+          haiku*)        gl_cv_func_printf_enomem="guessing yes";;
+                         # If we don't know, assume the worst.
+          *)             gl_cv_func_printf_enomem="guessing no";;
         esac
 changequote([,])dnl
       fi
@@ -1176,7 +1176,7 @@ int main ()
 changequote(,)dnl
          case "$host_os" in
                                  # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_snprintf_truncation_c99="guessing yes";;
+           *-gnu* | gnu*)        gl_cv_func_snprintf_truncation_c99="guessing yes";;
                                  # 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";;
@@ -1276,7 +1276,7 @@ int main ()
         [case "$host_os" in
 changequote(,)dnl
                                  # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_snprintf_retval_c99="guessing yes";;
+           *-gnu* | gnu*)        gl_cv_func_snprintf_retval_c99="guessing yes";;
                                  # 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";;
@@ -1366,7 +1366,7 @@ int main ()
 changequote(,)dnl
          case "$host_os" in
                                  # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_snprintf_directive_n="guessing yes";;
+           *-gnu* | gnu*)        gl_cv_func_snprintf_directive_n="guessing yes";;
                                  # 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";;
@@ -1516,7 +1516,7 @@ int main()
 changequote(,)dnl
          case "$host_os" in
                                  # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+           *-gnu* | gnu*)        gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
                                  # 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";;
@@ -1606,6 +1606,7 @@ 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.4                   .  .  #  #  #  .  .  #  .  .  .  #  .  .  .  .  .  .  .  .
 dnl   Solaris 11.3                   .  .  .  .  #  .  .  #  .  .  .  .  .  .  .  .  .  .  .  .
 dnl   Solaris 11.0                   .  .  #  #  #  .  .  #  .  .  .  #  .  .  .  .  .  .  .  .
 dnl   Solaris 10                     .  .  #  #  #  .  .  #  .  .  .  #  #  .  .  .  .  .  .  .
diff --git a/m4/priv-set.m4 b/m4/priv-set.m4
index 48e35b7c..258dc431 100644
--- a/m4/priv-set.m4
+++ b/m4/priv-set.m4
@@ -1,6 +1,6 @@
 # serial 8
 
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/progtest.m4 b/m4/progtest.m4
index 303bc318..5f186b14 100644
--- a/m4/progtest.m4
+++ b/m4/progtest.m4
@@ -1,5 +1,5 @@
 # progtest.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1996-2003, 2005, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2005, 2008-2019 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/quote.m4 b/m4/quote.m4
index 92be1e72..feaa7351 100644
--- a/m4/quote.m4
+++ b/m4/quote.m4
@@ -1,5 +1,5 @@
 # quote.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 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,
diff --git a/m4/quotearg.m4 b/m4/quotearg.m4
index 5fae4f3e..c478f505 100644
--- a/m4/quotearg.m4
+++ b/m4/quotearg.m4
@@ -1,5 +1,5 @@
 # quotearg.m4 serial 9
-dnl Copyright (C) 2002, 2004-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004-2019 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
index fe6e0685..f7661e65 100644
--- a/m4/raise.m4
+++ b/m4/raise.m4
@@ -1,5 +1,5 @@
 # raise.m4 serial 4
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/rawmemchr.m4 b/m4/rawmemchr.m4
index f800ed4d..03a88049 100644
--- a/m4/rawmemchr.m4
+++ b/m4/rawmemchr.m4
@@ -1,5 +1,5 @@
 # rawmemchr.m4 serial 2
-dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2019 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/read.m4 b/m4/read.m4
index 24668028..b1e77d2e 100644
--- a/m4/read.m4
+++ b/m4/read.m4
@@ -1,5 +1,5 @@
 # read.m4 serial 5
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/readdir.m4 b/m4/readdir.m4
index cb7f2ea4..d09cb9fe 100644
--- a/m4/readdir.m4
+++ b/m4/readdir.m4
@@ -1,5 +1,5 @@
 # readdir.m4 serial 1
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/readlink.m4 b/m4/readlink.m4
index d3ba0ad4..2d768157 100644
--- a/m4/readlink.m4
+++ b/m4/readlink.m4
@@ -1,5 +1,5 @@
-# readlink.m4 serial 12
-dnl Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc.
+# readlink.m4 serial 14
+dnl Copyright (C) 2003, 2007, 2009-2019 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.
@@ -34,10 +34,12 @@ AC_DEFUN([gl_FUNC_READLINK],
       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" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_readlink_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | 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])
diff --git a/m4/readlinkat.m4 b/m4/readlinkat.m4
index e173e413..b63f213d 100644
--- a/m4/readlinkat.m4
+++ b/m4/readlinkat.m4
@@ -1,7 +1,7 @@
 # serial 5
 # See if we need to provide readlinkat replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/realloc.m4 b/m4/realloc.m4
index dbac45f1..1281a353 100644
--- a/m4/realloc.m4
+++ b/m4/realloc.m4
@@ -1,5 +1,5 @@
-# realloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+# realloc.m4 serial 15
+dnl Copyright (C) 2007, 2009-2019 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.
@@ -32,7 +32,7 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF],
        [ac_cv_func_realloc_0_nonnull=no],
        [case "$host_os" in
           # Guess yes on platforms where we know the result.
-          *-gnu* | freebsd* | netbsd* | openbsd* \
+          *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \
           | hpux* | solaris* | cygwin* | mingw*)
             ac_cv_func_realloc_0_nonnull=yes ;;
           # If we don't know, assume the worst.
diff --git a/m4/regex.m4 b/m4/regex.m4
index 55524033..35119c5c 100644
--- a/m4/regex.m4
+++ b/m4/regex.m4
@@ -1,6 +1,6 @@
-# serial 67
+# serial 68
 
-# Copyright (C) 1996-2001, 2003-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -213,6 +213,17 @@ AC_DEFUN([gl_REGEX],
             if (! REG_STARTEND)
               result |= 64;
 
+            /* Matching with the compiled form of this regexp would provoke
+               an assertion failure prior to glibc-2.28:
+                 regexec.c:1375: pop_fail_stack: Assertion 'num >= 0' failed
+               With glibc-2.28, compilation fails and reports the invalid
+               back reference.  */
+            re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+            memset (&regex, 0, sizeof regex);
+            s = re_compile_pattern ("0|()0|\\1|0", 10, &regex);
+            if (!s || strcmp (s, "Invalid back reference"))
+              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
diff --git a/m4/rename.m4 b/m4/rename.m4
index 33cd00a0..7318e757 100644
--- a/m4/rename.m4
+++ b/m4/rename.m4
@@ -1,6 +1,6 @@
-# serial 29
+# serial 31
 
-# Copyright (C) 2001, 2003, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005-2006, 2009-2019 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.
@@ -19,7 +19,7 @@ AC_DEFUN([gl_FUNC_RENAME],
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   AC_CHECK_FUNCS_ONCE([lstat])
 
-  dnl Solaris 11, AIX 7.1 mistakenly allow rename("file","name/").
+  dnl Solaris 11.3, AIX 7.1 mistakenly allow rename("file","name/").
   dnl NetBSD 1.6 mistakenly forbids rename("dir","name/").
   dnl FreeBSD 7.2 mistakenly allows rename("file","link-to-file/").
   dnl The Solaris bug can be worked around without stripping
@@ -55,12 +55,14 @@ AC_DEFUN([gl_FUNC_RENAME],
       [gl_cv_func_rename_slash_dst_works=no],
       dnl When crosscompiling, assume rename is broken.
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_rename_slash_dst_works="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_rename_slash_dst_works="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_rename_slash_dst_works="guessing yes" ;;
+                          # Guess no on native Windows.
+         mingw*)          gl_cv_func_rename_slash_dst_works="guessing no" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_rename_slash_dst_works="guessing no" ;;
        esac
       ])
     rm -rf conftest.f conftest.f1 conftest.f2 conftest.d1 conftest.d2 conftest.lnk
@@ -109,12 +111,14 @@ AC_DEFUN([gl_FUNC_RENAME],
       [gl_cv_func_rename_slash_src_works=no],
       dnl When crosscompiling, assume rename is broken.
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
-                 # Guess yes on native Windows.
-         mingw*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_rename_slash_src_works="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_rename_slash_src_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_rename_slash_src_works="guessing yes" ;;
+                          # Guess yes on native Windows.
+         mingw*)          gl_cv_func_rename_slash_src_works="guessing yes" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_rename_slash_src_works="guessing no" ;;
        esac
       ])
     rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.d3 conftest.lnk
@@ -169,12 +173,14 @@ AC_DEFUN([gl_FUNC_RENAME],
            [gl_cv_func_rename_link_works=no],
            dnl When crosscompiling, assume rename is broken.
            [case "$host_os" in
-                      # Guess yes on glibc systems.
-              *-gnu*) gl_cv_func_rename_link_works="guessing yes" ;;
-                      # Guess yes on native Windows.
-              mingw*) gl_cv_func_rename_link_works="guessing yes" ;;
-                      # If we don't know, assume the worst.
-              *)      gl_cv_func_rename_link_works="guessing no" ;;
+                               # Guess yes on Linux systems.
+              linux-* | linux) gl_cv_func_rename_link_works="guessing yes" ;;
+                               # Guess yes on glibc systems.
+              *-gnu*)          gl_cv_func_rename_link_works="guessing yes" ;;
+                               # Guess yes on native Windows.
+              mingw*)          gl_cv_func_rename_link_works="guessing yes" ;;
+                               # If we don't know, assume the worst.
+              *)               gl_cv_func_rename_link_works="guessing no" ;;
             esac
            ])
        else
@@ -220,12 +226,14 @@ AC_DEFUN([gl_FUNC_RENAME],
       [gl_cv_func_rename_dest_works=no],
       dnl When crosscompiling, assume rename is broken.
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_rename_dest_works="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_rename_dest_works="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_rename_dest_works="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_rename_dest_works="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_rename_dest_works="guessing yes" ;;
+                          # Guess no on native Windows.
+         mingw*)          gl_cv_func_rename_dest_works="guessing no" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_rename_dest_works="guessing no" ;;
        esac
       ])
     rm -rf conftest.f conftest.d1 conftest.d2
diff --git a/m4/renameat.m4 b/m4/renameat.m4
index 1b977744..fdbaeafc 100644
--- a/m4/renameat.m4
+++ b/m4/renameat.m4
@@ -1,7 +1,7 @@
 # serial 3
 # See if we need to provide renameat replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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 @@ AC_DEFUN([gl_FUNC_RENAMEAT],
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_CHECK_HEADERS([linux/fs.h])
-  AC_CHECK_FUNCS_ONCE([renameat])
+  AC_CHECK_FUNCS_ONCE([renameat renameat2])
   if test $ac_cv_func_renameat = no; then
     HAVE_RENAMEAT=0
   elif test $REPLACE_RENAME = 1; then
diff --git a/m4/rewinddir.m4 b/m4/rewinddir.m4
index a73c886f..c14224c3 100644
--- a/m4/rewinddir.m4
+++ b/m4/rewinddir.m4
@@ -1,5 +1,5 @@
 # rewinddir.m4 serial 1
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/rmdir.m4 b/m4/rmdir.m4
index 37237d2a..5d32caaa 100644
--- a/m4/rmdir.m4
+++ b/m4/rmdir.m4
@@ -1,5 +1,5 @@
-# rmdir.m4 serial 14
-dnl Copyright (C) 2002, 2005, 2009-2017 Free Software Foundation, Inc.
+# rmdir.m4 serial 16
+dnl Copyright (C) 2002, 2005, 2009-2019 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,12 +33,14 @@ AC_DEFUN([gl_FUNC_RMDIR],
     ]])],
        [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no],
        [case "$host_os" in
-                  # Guess yes on glibc systems.
-          *-gnu*) gl_cv_func_rmdir_works="guessing yes" ;;
-                  # Guess no on native Windows.
-          mingw*) gl_cv_func_rmdir_works="guessing no" ;;
-                  # If we don't know, assume the worst.
-          *)      gl_cv_func_rmdir_works="guessing no" ;;
+                           # Guess yes on Linux systems.
+          linux-* | linux) gl_cv_func_rmdir_works="guessing yes" ;;
+                           # Guess yes on glibc systems.
+          *-gnu* | gnu*)   gl_cv_func_rmdir_works="guessing yes" ;;
+                           # Guess no on native Windows.
+          mingw*)          gl_cv_func_rmdir_works="guessing no" ;;
+                           # If we don't know, assume the worst.
+          *)               gl_cv_func_rmdir_works="guessing no" ;;
         esac
        ])
      rm -rf conftest.dir conftest.file])
diff --git a/m4/rpmatch.m4 b/m4/rpmatch.m4
index dfa3315a..d10a005b 100644
--- a/m4/rpmatch.m4
+++ b/m4/rpmatch.m4
@@ -1,5 +1,5 @@
 # rpmatch.m4 serial 10
-dnl Copyright (C) 2002-2003, 2007-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2007-2019 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/safe-read.m4 b/m4/safe-read.m4
index 022bb654..d133e056 100644
--- a/m4/safe-read.m4
+++ b/m4/safe-read.m4
@@ -1,5 +1,5 @@
 # safe-read.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 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,
diff --git a/m4/safe-write.m4 b/m4/safe-write.m4
index 09a2226e..907a5c62 100644
--- a/m4/safe-write.m4
+++ b/m4/safe-write.m4
@@ -1,5 +1,5 @@
 # safe-write.m4 serial 4
-dnl Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2019 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/save-cwd.m4 b/m4/save-cwd.m4
index 4b00f9b4..816fd703 100644
--- a/m4/save-cwd.m4
+++ b/m4/save-cwd.m4
@@ -1,5 +1,5 @@
 # serial 10
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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/savedir.m4 b/m4/savedir.m4
index 1ec1063a..55d2d9d2 100644
--- a/m4/savedir.m4
+++ b/m4/savedir.m4
@@ -1,5 +1,5 @@
 # savedir.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 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,
diff --git a/m4/selinux-context-h.m4 b/m4/selinux-context-h.m4
index 761113dd..c45026f2 100644
--- a/m4/selinux-context-h.m4
+++ b/m4/selinux-context-h.m4
@@ -1,5 +1,5 @@
 # serial 3   -*- Autoconf -*-
-# Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2019 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.
diff --git a/m4/selinux-selinux-h.m4 b/m4/selinux-selinux-h.m4
index f25cd43b..8bbbf053 100644
--- a/m4/selinux-selinux-h.m4
+++ b/m4/selinux-selinux-h.m4
@@ -1,5 +1,5 @@
 # serial 5   -*- Autoconf -*-
-# Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2019 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.
diff --git a/m4/setenv.m4 b/m4/setenv.m4
index 005aa8cf..6101274e 100644
--- a/m4/setenv.m4
+++ b/m4/setenv.m4
@@ -1,5 +1,5 @@
-# setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2017 Free Software Foundation, Inc.
+# setenv.m4 serial 27
+dnl Copyright (C) 2001-2004, 2006-2019 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.
@@ -35,10 +35,10 @@ AC_DEFUN([gl_FUNC_SETENV],
       ]])],
       [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=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" ;;
+                        # Guess yes on glibc systems.
+         *-gnu* | 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
diff --git a/m4/signal_h.m4 b/m4/signal_h.m4
index eaf5ce98..3acec64f 100644
--- a/m4/signal_h.m4
+++ b/m4/signal_h.m4
@@ -1,5 +1,5 @@
 # signal_h.m4 serial 18
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2019 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/size_max.m4 b/m4/size_max.m4
index 05ad1b60..ab79052d 100644
--- a/m4/size_max.m4
+++ b/m4/size_max.m4
@@ -1,11 +1,13 @@
-# size_max.m4 serial 10
-dnl Copyright (C) 2003, 2005-2006, 2008-2017 Free Software Foundation, Inc.
+# size_max.m4 serial 11
+dnl Copyright (C) 2003, 2005-2006, 2008-2019 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 From Bruno Haible.
 
+AC_PREREQ([2.61])
+
 AC_DEFUN([gl_SIZE_MAX],
 [
   AC_CHECK_HEADERS([stdint.h])
@@ -71,9 +73,3 @@ Found it
 # undef SIZE_MAX
 #endif])
 ])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
diff --git a/m4/sleep.m4 b/m4/sleep.m4
index e2d27be2..5f71cc78 100644
--- a/m4/sleep.m4
+++ b/m4/sleep.m4
@@ -1,5 +1,5 @@
-# sleep.m4 serial 8
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
+# sleep.m4 serial 9
+dnl Copyright (C) 2007-2019 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.
@@ -46,12 +46,12 @@ handle_alarm (int sig)
     ]])],
       [gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_sleep_works="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_sleep_works="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_sleep_works="guessing no" ;;
+                        # Guess yes on glibc systems.
+         *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;;
+                        # Guess no on native Windows.
+         mingw*)        gl_cv_func_sleep_works="guessing no" ;;
+                        # If we don't know, assume the worst.
+         *)             gl_cv_func_sleep_works="guessing no" ;;
        esac
       ])])
     case "$gl_cv_func_sleep_works" in
diff --git a/m4/snprintf.m4 b/m4/snprintf.m4
index e5155f79..6fd566de 100644
--- a/m4/snprintf.m4
+++ b/m4/snprintf.m4
@@ -1,5 +1,5 @@
 # snprintf.m4 serial 7
-dnl Copyright (C) 2002-2004, 2007-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2019 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/ssize_t.m4 b/m4/ssize_t.m4
index 66ba9d4e..38bcee1c 100644
--- a/m4/ssize_t.m4
+++ b/m4/ssize_t.m4
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2019 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/stat-time.m4 b/m4/stat-time.m4
index 4017fc9d..1685788e 100644
--- a/m4/stat-time.m4
+++ b/m4/stat-time.m4
@@ -1,6 +1,6 @@
 # Checks for stat-related time functions.
 
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2017 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2019 Free Software
 # Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
diff --git a/m4/stat.m4 b/m4/stat.m4
index 286fcba8..60040d13 100644
--- a/m4/stat.m4
+++ b/m4/stat.m4
@@ -1,6 +1,6 @@
-# serial 12
+# serial 15
 
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -43,10 +43,12 @@ AC_DEFUN([gl_FUNC_STAT],
              ]])],
            [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=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" ;;
+                               # Guess yes on Linux systems.
+              linux-* | linux) gl_cv_func_stat_file_slash="guessing yes" ;;
+                               # Guess yes on glibc systems.
+              *-gnu* | 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])
@@ -56,6 +58,11 @@ AC_DEFUN([gl_FUNC_STAT],
           AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs
             help when passed a file name with a trailing slash]);;
       esac
+      case $host_os in
+        dnl Solaris stat can return a negative tv_nsec.
+        solaris*)
+          REPLACE_FSTAT=1 ;;
+      esac
       ;;
   esac
 ])
diff --git a/m4/stdalign.m4 b/m4/stdalign.m4
index f091aa58..601fd21f 100644
--- a/m4/stdalign.m4
+++ b/m4/stdalign.m4
@@ -1,6 +1,6 @@
 # Check for stdalign.h that conforms to C11.
 
-dnl Copyright 2011-2017 Free Software Foundation, Inc.
+dnl Copyright 2011-2019 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/stdarg.m4 b/m4/stdarg.m4
index 40db5e43..f43fe20b 100644
--- a/m4/stdarg.m4
+++ b/m4/stdarg.m4
@@ -1,5 +1,5 @@
-# stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2017 Free Software Foundation, Inc.
+# stdarg.m4 serial 7
+dnl Copyright (C) 2006, 2008-2019 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,19 +11,19 @@ AC_DEFUN([gl_STDARG_H],
 [
   STDARG_H=''
   NEXT_STDARG_H='<stdarg.h>'
-  AC_MSG_CHECKING([for va_copy])
-  AC_CACHE_VAL([gl_cv_func_va_copy], [
-    AC_COMPILE_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[#include <stdarg.h>]],
-         [[
+  AC_CACHE_CHECK([for va_copy],
+    [gl_cv_func_va_copy],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdarg.h>]],
+          [[
 #ifndef va_copy
 void (*func) (va_list, va_list) = va_copy;
 #endif
-         ]])],
-      [gl_cv_func_va_copy=yes],
-      [gl_cv_func_va_copy=no])])
-  AC_MSG_RESULT([$gl_cv_func_va_copy])
+          ]])],
+       [gl_cv_func_va_copy=yes],
+       [gl_cv_func_va_copy=no])
+    ])
   if test $gl_cv_func_va_copy = no; then
     dnl Provide a substitute.
     dnl Usually a simple definition in <config.h> is enough. Not so on AIX 5
diff --git a/m4/stdbool.m4 b/m4/stdbool.m4
index 9e714d47..acb85224 100644
--- a/m4/stdbool.m4
+++ b/m4/stdbool.m4
@@ -1,6 +1,6 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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/stddef_h.m4 b/m4/stddef_h.m4
index f45def10..979e3cf7 100644
--- a/m4/stddef_h.m4
+++ b/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for <stddef.h>, for platforms that have issues.
-# stddef_h.m4 serial 5
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# stddef_h.m4 serial 6
+dnl Copyright (C) 2009-2019 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,13 +10,33 @@ AC_DEFUN([gl_STDDEF_H],
   AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
   AC_REQUIRE([gt_TYPE_WCHAR_T])
   STDDEF_H=
-  AC_CHECK_TYPE([max_align_t], [], [HAVE_MAX_ALIGN_T=0; STDDEF_H=stddef.h],
-    [[#include <stddef.h>
-    ]])
+
+  dnl Test whether the type max_align_t exists and whether its alignment
+  dnl "is as great as is supported by the implementation in all contexts".
+  AC_CACHE_CHECK([for good max_align_t],
+    [gl_cv_type_max_align_t],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stddef.h>
+            unsigned int s = sizeof (max_align_t);
+            #if defined __GNUC__ || defined __IBM__ALIGNOF__
+            int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1];
+            int check2[2 * (__alignof__ (long double) <= __alignof__ (max_align_t)) - 1];
+            #endif
+          ]])],
+       [gl_cv_type_max_align_t=yes],
+       [gl_cv_type_max_align_t=no])
+    ])
+  if test $gl_cv_type_max_align_t = no; then
+    HAVE_MAX_ALIGN_T=0
+    STDDEF_H=stddef.h
+  fi
+
   if test $gt_cv_c_wchar_t = no; then
     HAVE_WCHAR_T=0
     STDDEF_H=stddef.h
   fi
+
   AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions],
     [gl_cv_decl_null_works],
     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h>
@@ -28,6 +48,7 @@ AC_DEFUN([gl_STDDEF_H],
     REPLACE_NULL=1
     STDDEF_H=stddef.h
   fi
+
   AC_SUBST([STDDEF_H])
   AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"])
   if test -n "$STDDEF_H"; then
diff --git a/m4/stdint.m4 b/m4/stdint.m4
index 4bf3e474..11d8e8e5 100644
--- a/m4/stdint.m4
+++ b/m4/stdint.m4
@@ -1,5 +1,5 @@
-# stdint.m4 serial 51
-dnl Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# stdint.m4 serial 53
+dnl Copyright (C) 2001-2019 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,8 @@ dnl with or without modifications, as long as this notice is preserved.
 dnl From Paul Eggert and Bruno Haible.
 dnl Test whether <stdint.h> is supported or must be substituted.
 
+AC_PREREQ([2.61])
+
 AC_DEFUN_ONCE([gl_STDINT_H],
 [
   AC_PREREQ([2.59])dnl
@@ -364,8 +366,7 @@ int32_t i32 = INT32_C (0x7fffffff);
   esac
 
   dnl The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH.
-  LIMITS_H=limits.h
-  AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
+  gl_REPLACE_LIMITS_H
 
   AC_SUBST([HAVE_C99_STDINT_H])
   AC_SUBST([HAVE_SYS_BITYPES_H])
@@ -541,9 +542,3 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
     BITSIZEOF_WINT_T=32
   fi
 ])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
diff --git a/m4/stdint_h.m4 b/m4/stdint_h.m4
index 786eaa3c..6d5f1af0 100644
--- a/m4/stdint_h.m4
+++ b/m4/stdint_h.m4
@@ -1,5 +1,5 @@
 # stdint_h.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2019 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/stdio_h.m4 b/m4/stdio_h.m4
index 9ffbb852..6c9c1040 100644
--- a/m4/stdio_h.m4
+++ b/m4/stdio_h.m4
@@ -1,5 +1,5 @@
-# stdio_h.m4 serial 48
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
+# stdio_h.m4 serial 49
+dnl Copyright (C) 2007-2019 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,7 +28,7 @@ AC_DEFUN([gl_STDIO_H],
        /* For non-mingw systems, compilation will trivially succeed.
           For mingw, compilation will succeed for older mingw (system
           printf, "I64d") and fail for newer mingw (gnu printf, "lld"). */
-       #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) && \
+       #if (defined _WIN32 && ! defined __CYGWIN__) && \
          (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
        extern char PRIdMAX_probe[sizeof PRIdMAX == sizeof "I64d" ? 1 : -1];
        #endif
diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4
index 35373463..cf064284 100644
--- a/m4/stdlib_h.m4
+++ b/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
-# stdlib_h.m4 serial 44
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
+# stdlib_h.m4 serial 45
+dnl Copyright (C) 2007-2019 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,6 +14,9 @@ AC_DEFUN([gl_STDLIB_H],
   dnl guaranteed by C89.
   gl_WARN_ON_USE_PREPARE([[#include <stdlib.h>
 #if HAVE_SYS_LOADAVG_H
+/* OpenIndiana has a bug: <sys/time.h> must be included before
+   <sys/loadavg.h>.  */
+# include <sys/time.h>
 # include <sys/loadavg.h>
 #endif
 #if HAVE_RANDOM_H
diff --git a/m4/stpcpy.m4 b/m4/stpcpy.m4
index 36865672..7af2e818 100644
--- a/m4/stpcpy.m4
+++ b/m4/stpcpy.m4
@@ -1,5 +1,5 @@
 # stpcpy.m4 serial 8
-dnl Copyright (C) 2002, 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007, 2009-2019 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/strcase.m4 b/m4/strcase.m4
index de20eb61..9baef789 100644
--- a/m4/strcase.m4
+++ b/m4/strcase.m4
@@ -1,5 +1,5 @@
 # strcase.m4 serial 11
-dnl Copyright (C) 2002, 2005-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2019 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/strchrnul.m4 b/m4/strchrnul.m4
index 320d5fb6..93cf112e 100644
--- a/m4/strchrnul.m4
+++ b/m4/strchrnul.m4
@@ -1,5 +1,5 @@
 # strchrnul.m4 serial 9
-dnl Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2019 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/strdup.m4 b/m4/strdup.m4
index a92dbd63..82d74202 100644
--- a/m4/strdup.m4
+++ b/m4/strdup.m4
@@ -1,6 +1,6 @@
 # strdup.m4 serial 13
 
-dnl Copyright (C) 2002-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/strerror.m4 b/m4/strerror.m4
index 279efd60..b452f7f8 100644
--- a/m4/strerror.m4
+++ b/m4/strerror.m4
@@ -1,5 +1,5 @@
-# strerror.m4 serial 18
-dnl Copyright (C) 2002, 2007-2017 Free Software Foundation, Inc.
+# strerror.m4 serial 19
+dnl Copyright (C) 2002, 2007-2019 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,10 +24,10 @@ AC_DEFUN([gl_FUNC_STRERROR],
         [gl_cv_func_working_strerror=yes],
         [gl_cv_func_working_strerror=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" ;;
+                          # Guess yes on glibc systems.
+           *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;;
+                          # If we don't know, assume the worst.
+           *)             gl_cv_func_working_strerror="guessing no" ;;
          esac
         ])
     ])
@@ -78,12 +78,12 @@ AC_DEFUN([gl_FUNC_STRERROR_0],
       [gl_cv_func_strerror_0_works=yes],
       [gl_cv_func_strerror_0_works=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
-                 # Guess yes on native Windows.
-         mingw*) gl_cv_func_strerror_0_works="guessing yes" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_strerror_0_works="guessing no" ;;
+                        # Guess yes on glibc systems.
+         *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
+                        # Guess yes on native Windows.
+         mingw*)        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
       ])
   ])
diff --git a/m4/string_h.m4 b/m4/string_h.m4
index 8c42cf1b..0c0e3a71 100644
--- a/m4/string_h.m4
+++ b/m4/string_h.m4
@@ -1,6 +1,6 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2017 Free Software Foundation, Inc.
+# Copyright (C) 2007-2019 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.
diff --git a/m4/strings_h.m4 b/m4/strings_h.m4
index 1163a632..76128cfb 100644
--- a/m4/strings_h.m4
+++ b/m4/strings_h.m4
@@ -1,7 +1,7 @@
 # Configure a replacement for <strings.h>.
 # serial 6
 
-# Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2019 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.
diff --git a/m4/strndup.m4 b/m4/strndup.m4
index 7a28f21c..325af5d1 100644
--- a/m4/strndup.m4
+++ b/m4/strndup.m4
@@ -1,5 +1,5 @@
 # strndup.m4 serial 22
-dnl Copyright (C) 2002-2003, 2005-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2005-2019 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/strnlen.m4 b/m4/strnlen.m4
index bf050271..c283c3ec 100644
--- a/m4/strnlen.m4
+++ b/m4/strnlen.m4
@@ -1,5 +1,5 @@
 # strnlen.m4 serial 13
-dnl Copyright (C) 2002-2003, 2005-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2007, 2009-2019 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,
diff --git a/m4/strtoimax.m4 b/m4/strtoimax.m4
index 61809c8b..9632279a 100644
--- a/m4/strtoimax.m4
+++ b/m4/strtoimax.m4
@@ -1,5 +1,5 @@
 # strtoimax.m4 serial 15
-dnl Copyright (C) 2002-2004, 2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006, 2009-2019 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/strtol.m4 b/m4/strtol.m4
index a45e128c..3ba3b552 100644
--- a/m4/strtol.m4
+++ b/m4/strtol.m4
@@ -1,5 +1,5 @@
 # strtol.m4 serial 6
-dnl Copyright (C) 2002-2003, 2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2006, 2009-2019 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/strtoll.m4 b/m4/strtoll.m4
index 9c2a9034..3ba7e223 100644
--- a/m4/strtoll.m4
+++ b/m4/strtoll.m4
@@ -1,5 +1,5 @@
 # strtoll.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2008-2019 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/strtoul.m4 b/m4/strtoul.m4
index b0eea6a2..46d11081 100644
--- a/m4/strtoul.m4
+++ b/m4/strtoul.m4
@@ -1,5 +1,5 @@
 # strtoul.m4 serial 5
-dnl Copyright (C) 2002, 2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2006, 2009-2019 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/strtoull.m4 b/m4/strtoull.m4
index c6b21507..532139c5 100644
--- a/m4/strtoull.m4
+++ b/m4/strtoull.m4
@@ -1,5 +1,5 @@
 # strtoull.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2008-2019 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/strtoumax.m4 b/m4/strtoumax.m4
index 43ef5b5a..89b503f2 100644
--- a/m4/strtoumax.m4
+++ b/m4/strtoumax.m4
@@ -1,5 +1,5 @@
 # strtoumax.m4 serial 12
-dnl Copyright (C) 2002-2004, 2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006, 2009-2019 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/symlink.m4 b/m4/symlink.m4
index 220ea192..508e94dd 100644
--- a/m4/symlink.m4
+++ b/m4/symlink.m4
@@ -1,7 +1,7 @@
-# serial 6
+# serial 8
 # See if we need to provide symlink replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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,10 +36,12 @@ AC_DEFUN([gl_FUNC_SYMLINK],
            ]])],
          [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=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" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | 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])
diff --git a/m4/symlinkat.m4 b/m4/symlinkat.m4
index b1a8a993..99ff2580 100644
--- a/m4/symlinkat.m4
+++ b/m4/symlinkat.m4
@@ -1,7 +1,7 @@
-# serial 7
+# serial 9
 # See if we need to provide symlinkat replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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,10 +37,12 @@ AC_DEFUN([gl_FUNC_SYMLINKAT],
          [gl_cv_func_symlinkat_works=yes],
          [gl_cv_func_symlinkat_works=no],
          [case "$host_os" in
-                    # Guess yes on glibc systems.
-            *-gnu*) gl_cv_func_symlinkat_works="guessing yes" ;;
-                    # If we don't know, assume the worst.
-            *)      gl_cv_func_symlinkat_works="guessing no" ;;
+                             # Guess yes on Linux systems.
+            linux-* | linux) gl_cv_func_symlinkat_works="guessing yes" ;;
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_symlinkat_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+            *)               gl_cv_func_symlinkat_works="guessing no" ;;
           esac
          ])
       rm -f conftest.f conftest.link conftest.lnk2])
diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4
index 3ecbe7c0..1ea7b0b3 100644
--- a/m4/sys_socket_h.m4
+++ b/m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
 # sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2019 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/sys_stat_h.m4 b/m4/sys_stat_h.m4
index 89342789..361ac3fc 100644
--- a/m4/sys_stat_h.m4
+++ b/m4/sys_stat_h.m4
@@ -1,5 +1,5 @@
 # sys_stat_h.m4 serial 31   -*- Autoconf -*-
-dnl Copyright (C) 2006-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2019 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/sys_time_h.m4 b/m4/sys_time_h.m4
index 1c8c3cfc..3d9233aa 100644
--- a/m4/sys_time_h.m4
+++ b/m4/sys_time_h.m4
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/time.h>.
 # serial 9
 
-# Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2019 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.
diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4
index 75097713..be065590 100644
--- a/m4/sys_types_h.m4
+++ b/m4/sys_types_h.m4
@@ -1,5 +1,5 @@
 # sys_types_h.m4 serial 9
-dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2019 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/sysexits.m4 b/m4/sysexits.m4
index 64deb70e..1e9f171b 100644
--- a/m4/sysexits.m4
+++ b/m4/sysexits.m4
@@ -1,5 +1,5 @@
 # sysexits.m4 serial 6
-dnl Copyright (C) 2003, 2005, 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005, 2007, 2009-2019 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/tempname.m4 b/m4/tempname.m4
index a59f4c08..664a6322 100644
--- a/m4/tempname.m4
+++ b/m4/tempname.m4
@@ -1,6 +1,6 @@
 #serial 5
 
-# Copyright (C) 2006-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2006-2007, 2009-2019 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.
diff --git a/m4/time_h.m4 b/m4/time_h.m4
index 28e22092..f08f29b3 100644
--- a/m4/time_h.m4
+++ b/m4/time_h.m4
@@ -1,6 +1,6 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
 # serial 11
 
diff --git a/m4/time_r.m4 b/m4/time_r.m4
index 3e24ccb2..5caeca75 100644
--- a/m4/time_r.m4
+++ b/m4/time_r.m4
@@ -1,6 +1,6 @@
 dnl Reentrant time functions: localtime_r, gmtime_r.
 
-dnl Copyright (C) 2003, 2006-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006-2019 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/time_rz.m4 b/m4/time_rz.m4
index 3991118b..5564559c 100644
--- a/m4/time_rz.m4
+++ b/m4/time_rz.m4
@@ -1,6 +1,6 @@
 dnl Time zone functions: tzalloc, localtime_rz, etc.
 
-dnl Copyright (C) 2015-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2015-2019 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,39 @@ AC_DEFUN([gl_TIME_RZ],
   AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
   AC_REQUIRE([AC_STRUCT_TIMEZONE])
 
+  # Mac OS X 10.6 loops forever with some time_t values.
+  # See Bug#27706, Bug#27736, and
+  # https://lists.gnu.org/r/bug-gnulib/2017-07/msg00142.html
+  AC_CACHE_CHECK([whether localtime loops forever near extrema],
+    [gl_cv_func_localtime_infloop_bug],
+    [gl_cv_func_localtime_infloop_bug=no
+     AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdlib.h>
+            #include <string.h>
+            #include <unistd.h>
+            #include <time.h>
+          ]], [[
+            time_t t = -67768038400666600;
+            struct tm *tm;
+            char *tz = getenv ("TZ");
+            if (! (tz && strcmp (tz, "QQQ0") == 0))
+              return 0;
+            alarm (2);
+            tm = localtime (&t);
+            /* Use TM and *TM to suppress over-optimization.  */
+            return tm && tm->tm_isdst;
+          ]])],
+       [(TZ=QQQ0 ./conftest$EXEEXT) >/dev/null 2>&1 ||
+           gl_cv_func_localtime_infloop_bug=yes],
+       [],
+       [gl_cv_func_localtime_infloop_bug="guessing no"])])
+  if test "$gl_cv_func_localtime_infloop_bug" = yes; then
+      AC_DEFINE([HAVE_LOCALTIME_INFLOOP_BUG], 1,
+        [Define if localtime-like functions can loop forever on
+         extreme arguments.])
+  fi
+
   AC_CHECK_TYPES([timezone_t], [], [], [[#include <time.h>]])
   if test "$ac_cv_type_timezone_t" = yes; then
     HAVE_TIMEZONE_T=1
diff --git a/m4/timegm.m4 b/m4/timegm.m4
index 1f18552e..d9d40de6 100644
--- a/m4/timegm.m4
+++ b/m4/timegm.m4
@@ -1,5 +1,5 @@
 # timegm.m4 serial 12
-dnl Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2019 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/timespec.m4 b/m4/timespec.m4
index c901468e..3db9943a 100644
--- a/m4/timespec.m4
+++ b/m4/timespec.m4
@@ -1,6 +1,6 @@
 #serial 15
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/tm_gmtoff.m4 b/m4/tm_gmtoff.m4
index 32db008d..31b841fe 100644
--- a/m4/tm_gmtoff.m4
+++ b/m4/tm_gmtoff.m4
@@ -1,5 +1,5 @@
 # tm_gmtoff.m4 serial 3
-dnl Copyright (C) 2002, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2019 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/tzset.m4 b/m4/tzset.m4
index 11ceeabe..12788015 100644
--- a/m4/tzset.m4
+++ b/m4/tzset.m4
@@ -1,6 +1,6 @@
-# serial 10
+# serial 11
 
-# Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2007, 2009-2019 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.
@@ -68,12 +68,12 @@ main ()
        [gl_cv_func_tzset_clobber=no],
        [gl_cv_func_tzset_clobber=yes],
        [case "$host_os" in
-                  # Guess all is fine on glibc systems.
-          *-gnu*) gl_cv_func_tzset_clobber="guessing no" ;;
-                  # Guess no on native Windows.
-          mingw*) gl_cv_func_tzset_clobber="guessing no" ;;
-                  # If we don't know, assume the worst.
-          *)      gl_cv_func_tzset_clobber="guessing yes" ;;
+                         # Guess all is fine on glibc systems.
+          *-gnu* | gnu*) gl_cv_func_tzset_clobber="guessing no" ;;
+                         # Guess no on native Windows.
+          mingw*)        gl_cv_func_tzset_clobber="guessing no" ;;
+                         # If we don't know, assume the worst.
+          *)             gl_cv_func_tzset_clobber="guessing yes" ;;
         esac
        ])
     ])
diff --git a/m4/unistd-safer.m4 b/m4/unistd-safer.m4
index 7a3e4c52..5e2a1bed 100644
--- a/m4/unistd-safer.m4
+++ b/m4/unistd-safer.m4
@@ -1,5 +1,5 @@
 #serial 9
-dnl Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2019 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/unistd_h.m4 b/m4/unistd_h.m4
index 60e7ea4d..a04055d2 100644
--- a/m4/unistd_h.m4
+++ b/m4/unistd_h.m4
@@ -1,5 +1,5 @@
-# unistd_h.m4 serial 71
-dnl Copyright (C) 2006-2017 Free Software Foundation, Inc.
+# unistd_h.m4 serial 74
+dnl Copyright (C) 2006-2019 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,13 +37,13 @@ AC_DEFUN([gl_UNISTD_H],
 # include <fcntl.h>
 # include <stdio.h>
 # include <stdlib.h>
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# if defined _WIN32 && ! defined __CYGWIN__
 #  include <io.h>
 # endif
 #endif
     ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat
     fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups
-    gethostname getlogin getlogin_r getpagesize
+    gethostname getlogin getlogin_r getpagesize getpass
     getusershell setusershell endusershell
     group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite
     readlink readlinkat rmdir sethostname sleep symlink symlinkat
@@ -83,6 +83,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_GETLOGIN=0;             AC_SUBST([GNULIB_GETLOGIN])
   GNULIB_GETLOGIN_R=0;           AC_SUBST([GNULIB_GETLOGIN_R])
   GNULIB_GETPAGESIZE=0;          AC_SUBST([GNULIB_GETPAGESIZE])
+  GNULIB_GETPASS=0;              AC_SUBST([GNULIB_GETPASS])
   GNULIB_GETUSERSHELL=0;         AC_SUBST([GNULIB_GETUSERSHELL])
   GNULIB_GROUP_MEMBER=0;         AC_SUBST([GNULIB_GROUP_MEMBER])
   GNULIB_ISATTY=0;               AC_SUBST([GNULIB_ISATTY])
@@ -126,6 +127,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_GETHOSTNAME=1;     AC_SUBST([HAVE_GETHOSTNAME])
   HAVE_GETLOGIN=1;        AC_SUBST([HAVE_GETLOGIN])
   HAVE_GETPAGESIZE=1;     AC_SUBST([HAVE_GETPAGESIZE])
+  HAVE_GETPASS=1;         AC_SUBST([HAVE_GETPASS])
   HAVE_GROUP_MEMBER=1;    AC_SUBST([HAVE_GROUP_MEMBER])
   HAVE_LCHOWN=1;          AC_SUBST([HAVE_LCHOWN])
   HAVE_LINK=1;            AC_SUBST([HAVE_LINK])
@@ -140,7 +142,6 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_SLEEP=1;           AC_SUBST([HAVE_SLEEP])
   HAVE_SYMLINK=1;         AC_SUBST([HAVE_SYMLINK])
   HAVE_SYMLINKAT=1;       AC_SUBST([HAVE_SYMLINKAT])
-  HAVE_TRUNCATE=1;        AC_SUBST([HAVE_TRUNCATE])
   HAVE_UNLINKAT=1;        AC_SUBST([HAVE_UNLINKAT])
   HAVE_USLEEP=1;          AC_SUBST([HAVE_USLEEP])
   HAVE_DECL_ENVIRON=1;    AC_SUBST([HAVE_DECL_ENVIRON])
@@ -152,6 +153,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   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_TRUNCATE=1;   AC_SUBST([HAVE_DECL_TRUNCATE])
   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])
@@ -168,6 +170,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   REPLACE_GETLOGIN_R=0;   AC_SUBST([REPLACE_GETLOGIN_R])
   REPLACE_GETGROUPS=0;    AC_SUBST([REPLACE_GETGROUPS])
   REPLACE_GETPAGESIZE=0;  AC_SUBST([REPLACE_GETPAGESIZE])
+  REPLACE_GETPASS=0;      AC_SUBST([REPLACE_GETPASS])
   REPLACE_ISATTY=0;       AC_SUBST([REPLACE_ISATTY])
   REPLACE_LCHOWN=0;       AC_SUBST([REPLACE_LCHOWN])
   REPLACE_LINK=0;         AC_SUBST([REPLACE_LINK])
diff --git a/m4/unlink.m4 b/m4/unlink.m4
index ac86e7fe..69fd1af7 100644
--- a/m4/unlink.m4
+++ b/m4/unlink.m4
@@ -1,5 +1,5 @@
-# unlink.m4 serial 12
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# unlink.m4 serial 13
+dnl Copyright (C) 2009-2019 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.
@@ -43,12 +43,14 @@ AC_DEFUN([gl_FUNC_UNLINK],
       [gl_cv_func_unlink_honors_slashes=yes],
       [gl_cv_func_unlink_honors_slashes=no],
       [case "$host_os" in
-                 # Guess yes on glibc systems.
-         *-gnu*) gl_cv_func_unlink_honors_slashes="guessing yes" ;;
-                 # Guess no on native Windows.
-         mingw*) gl_cv_func_unlink_honors_slashes="guessing no" ;;
-                 # If we don't know, assume the worst.
-         *)      gl_cv_func_unlink_honors_slashes="guessing no" ;;
+                          # Guess yes on Linux systems.
+         linux-* | linux) gl_cv_func_unlink_honors_slashes="guessing yes" ;;
+                          # Guess yes on glibc systems.
+         *-gnu*)          gl_cv_func_unlink_honors_slashes="guessing yes" ;;
+                          # Guess no on native Windows.
+         mingw*)          gl_cv_func_unlink_honors_slashes="guessing no" ;;
+                          # If we don't know, assume the worst.
+         *)               gl_cv_func_unlink_honors_slashes="guessing no" ;;
        esac
       ])
      rm -f conftest.file conftest.lnk])
diff --git a/m4/unlinkat.m4 b/m4/unlinkat.m4
index ca46c21d..8a1e2758 100644
--- a/m4/unlinkat.m4
+++ b/m4/unlinkat.m4
@@ -1,5 +1,5 @@
 # unlinkat.m4 serial 2
-dnl Copyright (C) 2004-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2019 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/unlinkdir.m4 b/m4/unlinkdir.m4
index abee7ccd..7a9c0273 100644
--- a/m4/unlinkdir.m4
+++ b/m4/unlinkdir.m4
@@ -1,6 +1,6 @@
 # serial 7
 
-# Copyright (C) 2005-2007, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/unlocked-io.m4 b/m4/unlocked-io.m4
index 448ccac2..ea55a1a2 100644
--- a/m4/unlocked-io.m4
+++ b/m4/unlocked-io.m4
@@ -1,6 +1,6 @@
 # unlocked-io.m4 serial 15
 
-# Copyright (C) 1998-2006, 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 1998-2006, 2009-2019 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/utime.m4 b/m4/utime.m4
index 7d4a6032..ddd4ee15 100644
--- a/m4/utime.m4
+++ b/m4/utime.m4
@@ -1,5 +1,5 @@
 # utime.m4 serial 1
-dnl Copyright (C) 2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2017-2019 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/utime_h.m4 b/m4/utime_h.m4
index 550f7642..b0950d01 100644
--- a/m4/utime_h.m4
+++ b/m4/utime_h.m4
@@ -1,5 +1,5 @@
-# utime_h.m4 serial 1
-dnl Copyright (C) 2017 Free Software Foundation, Inc.
+# utime_h.m4 serial 3
+dnl Copyright (C) 2017-2019 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,7 @@ AC_DEFUN([gl_UTIME_H],
 [
   AC_REQUIRE([AC_CANONICAL_HOST])
   AC_REQUIRE([gl_UTIME_H_DEFAULTS])
+  m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])])
   AC_CHECK_HEADERS_ONCE([utime.h])
   gl_CHECK_NEXT_HEADERS([utime.h])
 
@@ -20,17 +21,25 @@ AC_DEFUN([gl_UTIME_H],
   fi
   AC_SUBST([HAVE_UTIME_H])
 
-  UTIME_H=''
-  if test $ac_cv_header_utime_h != yes; then
-    dnl Provide a substitute <utime.h> file.
-    UTIME_H=utime.h
-  else
-    case "$host_os" in
-      mingw*) dnl Need special handling of 'struct utimbuf'.
-        UTIME_H=utime.h
-        ;;
-    esac
-  fi
+  m4_ifdef([gl_POSIXCHECK],
+    [UTIME_H=utime.h],
+    [UTIME_H=''
+     if m4_ifdef([gl_ANSI_CXX], [test "$CXX" != no], [false]); then
+       dnl Override <utime.h> always, to support the C++ GNULIB_NAMESPACE.
+       UTIME_H=utime.h
+     else
+       if test $ac_cv_header_utime_h != yes; then
+         dnl Provide a substitute <utime.h> file.
+         UTIME_H=utime.h
+       else
+         case "$host_os" in
+           mingw*) dnl Need special handling of 'struct utimbuf'.
+             UTIME_H=utime.h
+             ;;
+         esac
+       fi
+     fi
+    ])
   AC_SUBST([UTIME_H])
   AM_CONDITIONAL([GL_GENERATE_UTIME_H], [test -n "$UTIME_H"])
 
diff --git a/m4/utimens.m4 b/m4/utimens.m4
index f3feab38..dda86b09 100644
--- a/m4/utimens.m4
+++ b/m4/utimens.m4
@@ -1,9 +1,9 @@
-dnl Copyright (C) 2003-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2019 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 serial 8
+dnl serial 9
 
 AC_DEFUN([gl_UTIMENS],
 [
@@ -31,10 +31,12 @@ AC_DEFUN([gl_UTIMENS],
         [gl_cv_func_futimesat_works=yes],
         [gl_cv_func_futimesat_works=no],
         [case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_futimesat_works="guessing no" ;;
+                            # Guess yes on Linux systems.
+           linux-* | linux) gl_cv_func_futimesat_works="guessing yes" ;;
+                            # Guess yes on glibc systems.
+           *-gnu*)          gl_cv_func_futimesat_works="guessing yes" ;;
+                            # If we don't know, assume the worst.
+           *)               gl_cv_func_futimesat_works="guessing no" ;;
          esac
         ])
       rm -f conftest.file])
diff --git a/m4/utimensat.m4 b/m4/utimensat.m4
index 78da3cc9..5628f8ef 100644
--- a/m4/utimensat.m4
+++ b/m4/utimensat.m4
@@ -1,7 +1,7 @@
 # serial 6
 # See if we need to provide utimensat replacement.
 
-dnl Copyright (C) 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2019 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/utimes.m4 b/m4/utimes.m4
index 847b2eba..7209b6dd 100644
--- a/m4/utimes.m4
+++ b/m4/utimes.m4
@@ -1,7 +1,7 @@
 # Detect some bugs in glibc's implementation of utimes.
 # serial 5
 
-dnl Copyright (C) 2003-2005, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2009-2019 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/vasnprintf.m4 b/m4/vasnprintf.m4
index 47c5951c..b763a3da 100644
--- a/m4/vasnprintf.m4
+++ b/m4/vasnprintf.m4
@@ -1,5 +1,5 @@
 # vasnprintf.m4 serial 36
-dnl Copyright (C) 2002-2004, 2006-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006-2019 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/vasprintf.m4 b/m4/vasprintf.m4
index a75c6f18..cd96229c 100644
--- a/m4/vasprintf.m4
+++ b/m4/vasprintf.m4
@@ -1,5 +1,5 @@
 # vasprintf.m4 serial 6
-dnl Copyright (C) 2002-2003, 2006-2007, 2009-2017 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2006-2007, 2009-2019 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,
diff --git a/m4/version-etc.m4 b/m4/version-etc.m4
index c099101f..4b2c4ffa 100644
--- a/m4/version-etc.m4
+++ b/m4/version-etc.m4
@@ -1,5 +1,5 @@
 # version-etc.m4 serial 1
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2009-2019 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.
diff --git a/m4/vsnprintf.m4 b/m4/vsnprintf.m4
index 9c37bca9..739c9048 100644
--- a/m4/vsnprintf.m4
+++ b/m4/vsnprintf.m4
@@ -1,5 +1,5 @@
 # vsnprintf.m4 serial 7
-dnl Copyright (C) 2002-2004, 2007-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2019 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/warn-on-use.m4 b/m4/warn-on-use.m4
index 25ce7378..7ebe2d31 100644
--- a/m4/warn-on-use.m4
+++ b/m4/warn-on-use.m4
@@ -1,11 +1,13 @@
-# warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2017 Free Software Foundation, Inc.
+# warn-on-use.m4 serial 6
+dnl Copyright (C) 2010-2019 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.
 
 # gl_WARN_ON_USE_PREPARE(INCLUDES, NAMES)
 # ---------------------------------------
+# If the module 'posixcheck' is in use:
+#
 # For each whitespace-separated element in the list of NAMES, define
 # HAVE_RAW_DECL_name if the function has a declaration among INCLUDES
 # even after being undefined as a macro.
@@ -23,25 +25,27 @@ dnl with or without modifications, as long as this notice is preserved.
 # needing gl_WARN_ON_USE_PREPARE.
 AC_DEFUN([gl_WARN_ON_USE_PREPARE],
 [
-  m4_foreach_w([gl_decl], [$2],
-    [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])),
-      [Define to 1 if ]m4_defn([gl_decl])[ is declared even after
-       undefining macros.])])dnl
+  m4_ifdef([gl_POSIXCHECK],
+    [m4_foreach_w([gl_decl], [$2],
+       [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])),
+         [Define to 1 if ]m4_defn([gl_decl])[ is declared even after
+          undefining macros.])])dnl
 dnl FIXME: gl_Symbol must be used unquoted until we can assume
 dnl autoconf 2.64 or newer.
-  for gl_func in m4_flatten([$2]); do
-    AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl
-    AC_CACHE_CHECK([whether $gl_func is declared without a macro],
-      gl_Symbol,
-      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1],
+     for gl_func in m4_flatten([$2]); do
+       AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl
+       AC_CACHE_CHECK([whether $gl_func is declared without a macro],
+         gl_Symbol,
+         [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1],
 [@%:@undef $gl_func
   (void) $gl_func;])],
-        [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])])
-    AS_VAR_IF(gl_Symbol, [yes],
-      [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
-       dnl shortcut - if the raw declaration exists, then set a cache
-       dnl variable to allow skipping any later AC_CHECK_DECL efforts
-       eval ac_cv_have_decl_$gl_func=yes])
-    AS_VAR_POPDEF([gl_Symbol])dnl
-  done
+           [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])])
+       AS_VAR_IF(gl_Symbol, [yes],
+         [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
+          dnl shortcut - if the raw declaration exists, then set a cache
+          dnl variable to allow skipping any later AC_CHECK_DECL efforts
+          eval ac_cv_have_decl_$gl_func=yes])
+       AS_VAR_POPDEF([gl_Symbol])dnl
+     done
+    ])
 ])
diff --git a/m4/warnings.m4 b/m4/warnings.m4
index 870472b6..235cac61 100644
--- a/m4/warnings.m4
+++ b/m4/warnings.m4
@@ -1,5 +1,5 @@
-# warnings.m4 serial 13
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+# warnings.m4 serial 14
+dnl Copyright (C) 2008-2019 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.
@@ -76,6 +76,15 @@ m4_defun([gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)],
   AC_LANG_POP([C++])
 ])
 
+# Specialization for _AC_LANG = Objective C. This macro can be AC_REQUIREd.
+# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b.
+m4_defun([gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)],
+[
+  AC_LANG_PUSH([Objective C])
+  gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL
+  AC_LANG_POP([Objective C])
+])
+
 AC_DEFUN([gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL],
 [gl_COMPILER_OPTION_IF([-Werror -Wunknown-warning-option],
    [gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror'],
diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4
index d09ea08c..cd20e7a0 100644
--- a/m4/wchar_h.m4
+++ b/m4/wchar_h.m4
@@ -1,13 +1,13 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2019 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 Written by Eric Blake.
 
-# wchar_h.m4 serial 42
+# wchar_h.m4 serial 43
 
 AC_DEFUN([gl_WCHAR_H],
 [
@@ -90,7 +90,8 @@ int main () { return zero(); }
      dnl that the object file has the latter name from the start.
      save_ac_compile="$ac_compile"
      ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
-     if AC_TRY_EVAL([ac_compile]); then
+     if echo '#include "conftest.c"' >conftest1.c &&
+        AC_TRY_EVAL([ac_compile]); then
        AC_LANG_CONFTEST([
          AC_LANG_SOURCE([[#define wcstod renamed_wcstod
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
@@ -105,7 +106,8 @@ int zero (void) { return 0; }
 ]])])
        dnl See note above about renaming object files.
        ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
-       if AC_TRY_EVAL([ac_compile]); then
+       if echo '#include "conftest.c"' >conftest2.c &&
+          AC_TRY_EVAL([ac_compile]); then
          if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
            :
          else
@@ -114,7 +116,7 @@ int zero (void) { return 0; }
        fi
      fi
      ac_compile="$save_ac_compile"
-     rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
+     rm -f conftest[12].c conftest[12].$ac_objext conftest$ac_exeext
     ])
   if test $gl_cv_header_wchar_h_correct_inline = no; then
     AC_MSG_ERROR([<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
diff --git a/m4/wchar_t.m4 b/m4/wchar_t.m4
index 11783d29..5db58152 100644
--- a/m4/wchar_t.m4
+++ b/m4/wchar_t.m4
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2019 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/wcrtomb.m4 b/m4/wcrtomb.m4
index fcc3f8c8..f4f37f56 100644
--- a/m4/wcrtomb.m4
+++ b/m4/wcrtomb.m4
@@ -1,5 +1,5 @@
-# wcrtomb.m4 serial 12
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+# wcrtomb.m4 serial 13
+dnl Copyright (C) 2008-2019 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.
@@ -34,8 +34,8 @@ AC_DEFUN([gl_FUNC_WCRTOMB],
     if test $REPLACE_MBSTATE_T = 1; then
       REPLACE_WCRTOMB=1
     else
-      dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes
-      dnl returns 0 instead of 1.
+      dnl On AIX 4.3, OSF/1 5.1 and Solaris <= 11.3, wcrtomb (NULL, 0, NULL)
+      dnl sometimes returns 0 instead of 1.
       AC_REQUIRE([AC_PROG_CC])
       AC_REQUIRE([gt_LOCALE_FR])
       AC_REQUIRE([gt_LOCALE_FR_UTF8])
diff --git a/m4/wctype_h.m4 b/m4/wctype_h.m4
index 596f26b5..6903d758 100644
--- a/m4/wctype_h.m4
+++ b/m4/wctype_h.m4
@@ -2,7 +2,7 @@
 
 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
 
-dnl Copyright (C) 2006-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2019 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/wcwidth.m4 b/m4/wcwidth.m4
index 12436063..baa20029 100644
--- a/m4/wcwidth.m4
+++ b/m4/wcwidth.m4
@@ -1,5 +1,5 @@
-# wcwidth.m4 serial 25
-dnl Copyright (C) 2006-2017 Free Software Foundation, Inc.
+# wcwidth.m4 serial 27
+dnl Copyright (C) 2006-2019 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.
@@ -98,9 +98,9 @@ int main ()
           [
 changequote(,)dnl
            case "$host_os" in
-                     # Guess yes on glibc and AIX 7 systems.
-             *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
-             *)                  gl_cv_func_wcwidth_works="guessing no";;
+                                        # Guess yes on glibc and AIX 7 systems.
+             *-gnu* | gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
+             *)                         gl_cv_func_wcwidth_works="guessing no";;
            esac
 changequote([,])dnl
           ])
@@ -115,3 +115,9 @@ changequote([,])dnl
   dnl We don't substitute HAVE_WCWIDTH. We assume that if the system does not
   dnl have the wcwidth function, then it does not declare it.
 ])
+
+# Prerequisites of lib/wcwidth.c.
+AC_DEFUN([gl_PREREQ_WCWIDTH], [
+  AC_REQUIRE([AC_C_INLINE])
+  :
+])
diff --git a/m4/wint_t.m4 b/m4/wint_t.m4
index d30b8bcf..61e8a23d 100644
--- a/m4/wint_t.m4
+++ b/m4/wint_t.m4
@@ -1,5 +1,5 @@
 # wint_t.m4 serial 7
-dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2019 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/write.m4 b/m4/write.m4
index 2f4a2353..34cb42ea 100644
--- a/m4/write.m4
+++ b/m4/write.m4
@@ -1,5 +1,5 @@
 # write.m4 serial 6
-dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2019 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/xalloc.m4 b/m4/xalloc.m4
index 53aba149..dfff9431 100644
--- a/m4/xalloc.m4
+++ b/m4/xalloc.m4
@@ -1,5 +1,5 @@
 # xalloc.m4 serial 18
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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/xgetcwd.m4 b/m4/xgetcwd.m4
index e261a628..c7e5e014 100644
--- a/m4/xgetcwd.m4
+++ b/m4/xgetcwd.m4
@@ -1,5 +1,5 @@
 #serial 8
-dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2019 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/xsize.m4 b/m4/xsize.m4
index 5f850577..f2898ba1 100644
--- a/m4/xsize.m4
+++ b/m4/xsize.m4
@@ -1,5 +1,5 @@
 # xsize.m4 serial 5
-dnl Copyright (C) 2003-2004, 2008-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2004, 2008-2019 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/xstrndup.m4 b/m4/xstrndup.m4
index efb94a1a..32dc51be 100644
--- a/m4/xstrndup.m4
+++ b/m4/xstrndup.m4
@@ -1,5 +1,5 @@
 # xstrndup.m4 serial 2
-dnl Copyright (C) 2003, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2019 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/xstrtol.m4 b/m4/xstrtol.m4
index 035588ea..ee86a563 100644
--- a/m4/xstrtol.m4
+++ b/m4/xstrtol.m4
@@ -1,5 +1,5 @@
 #serial 11
-dnl Copyright (C) 2002-2007, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2007, 2009-2019 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
index b7ce7b52..c6a7f7c8 100644
--- a/m4/xvasprintf.m4
+++ b/m4/xvasprintf.m4
@@ -1,5 +1,5 @@
 # xvasprintf.m4 serial 2
-dnl Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2019 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/po/Makefile.in.in b/po/Makefile.in.in
index 38c293d2..69155a75 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -1,5 +1,6 @@
 # Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 2000-2019 Free Software Foundation, Inc.
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
@@ -232,13 +233,15 @@ $(POFILES): $(POFILESDEPS)
 	if test -f "$(srcdir)/$${lang}.po"; then \
 	  test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
 	  test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
 	  cd $(srcdir) \
 	    && { 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].*) \
+	           '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
 	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+	           0.1[6-7] | 0.1[6-7].*) \
+	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
 	           *) \
-	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
 	         esac; \
 	       }; \
 	else \
@@ -373,6 +376,8 @@ check: all
 
 info dvi ps pdf html tags TAGS ctags CTAGS ID:
 
+install-dvi install-ps install-pdf install-html:
+
 mostlyclean:
 	rm -f remove-potcdate.sed
 	rm -f stamp-poT
@@ -439,13 +444,15 @@ update-po: Makefile
 	tmpdir=`pwd`; \
 	echo "$$lang:"; \
 	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+	echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
 	cd $(srcdir); \
 	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].*) \
+	       '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
 	         $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+	       0.1[6-7] | 0.1[6-7].*) \
+	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
 	       *) \
-	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
 	     esac; \
 	   }; then \
 	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 21bc9a67..8fac9f34 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,7 +1,6 @@
 # List of files which contain translatable strings.
 
-# Copyright 1996, 1999-2000, 2003-2005, 2007, 2013-2014, 2016-2017 Free
-# Software Foundation, Inc.
+# Copyright 1996-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 4aa0f25860eb37e90dfe006a24882e60d5e50adc..4bdf73e2a0c1440075519993af993fae00874d89 100644
GIT binary patch
literal 87513
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

delta 19165
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

diff --git a/po/bg.po b/po/bg.po
index 34cc57a0..04ebe59a 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -1,23 +1,19 @@
-# Bulgarian translation of GNU tar
-# Message catalog for coreutils
-# Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as GNU tar.
-# Anton Zinoviev <zinoviev@debian.org>, 2000,2006.
+# Bulgarian translation of GNU tar po-file.
+# Copyright (C) 2006, 2018 Free Software Foundation, Inc.
+# This file is distributed under the same license as the tar package.
+# Anton Zinoviev <zinoviev@debian.org>, 2000, 2006.
+# Alexander Shopov <ash@kambanaria.org>, 2018.
 #
 # WARNING: Everywhere NUMBER is translated as N rather than as БРОЙ or ЧИСЛО
-#
-# This file should be sent to translation@iro.umontreal.ca with the
-# following subject line: TP-Robot tar-1.16.bg.po 
-#
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.16\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2006-11-23 22:40+0200\n"
-"Last-Translator: Anton Zinoviev <zinoviev@debian.org>\n"
-"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-10-23 22:00+0200\n"
+"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
+"Language-Team: Bulgarian <dict@ludost.net>\n"
 "Language: bg\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -28,36 +24,36 @@ msgstr ""
 #: gnu/argmatch.c:134
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "неправилен аргумент %s за %s"
+msgstr "аргументът „%s“ на опцията „%s“ е неправилен"
 
 #: gnu/argmatch.c:135
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "двусмислен аргумент %s за %s"
+msgstr "аргументът „%s“ на опцията „%s“ не е еднозначен"
 
 #: gnu/argmatch.c:154
 msgid "Valid arguments are:"
-msgstr "Допустими аргументи са:"
+msgstr "Възможните аргументи са:"
 
 #: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr "ARGP_HELP_FMT: стойността %s е по-малка или равна на %s"
+msgstr "„ARGP_HELP_FMT“: стойността %s е по-малка или равна на %s"
 
 #: gnu/argp-help.c:224
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr "%.*s: параметърът ARGP_HELP_FMT изисква стойност"
+msgstr "%.*s: параметърът „ARGP_HELP_FMT“ изисква стойност"
 
 #: gnu/argp-help.c:234
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr "%.*s: непознат параметър ARGP_HELP_FMT"
+msgstr "%.*s: непознат параметър „ARGP_HELP_FMT“"
 
 #: gnu/argp-help.c:247
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr "Боклук в ARGP_HELP_FMT: %s"
+msgstr "Грешки в „ARGP_HELP_FMT“: %s"
 
 #: gnu/argp-help.c:1228
 msgid ""
@@ -77,12 +73,12 @@ msgstr "  или: "
 
 #: gnu/argp-help.c:1631
 msgid " [OPTION...]"
-msgstr " [ОПЦИЯ...]"
+msgstr " [ОПЦИЯ…]"
 
 #: gnu/argp-help.c:1658
-#, fuzzy, c-format
+#, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
-msgstr "Използвайте „%s --help“ or „%s --usage“ за повече информация.\n"
+msgstr "За повече информация използвайте „%s --help“ или „%s --usage“.\n"
 
 #: gnu/argp-help.c:1686
 #, c-format
@@ -93,32 +89,32 @@ msgstr ""
 
 #: gnu/argp-help.c:1887 gnu/error.c:195
 msgid "Unknown system error"
-msgstr "Непозната системна грешка"
+msgstr "Неизвестна системна грешка"
 
 #: gnu/argp-parse.c:81
 msgid "give this help list"
-msgstr "показва тази справка"
+msgstr "извеждане на тази справка"
 
 #: gnu/argp-parse.c:82
 msgid "give a short usage message"
-msgstr "показва кратко съобщение за използването"
+msgstr "извеждане на кратко съобщение за използването"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "ИМЕ"
 
 #: gnu/argp-parse.c:84
 msgid "set the program name"
-msgstr "посочва името на програмата"
+msgstr "задаване на името на програмата"
 
 #: gnu/argp-parse.c:85
 msgid "SECS"
-msgstr "СЕК"
+msgstr "СЕКУНДИ"
 
 #: gnu/argp-parse.c:86
 msgid "hang for SECS seconds (default 3600)"
-msgstr "спира за СЕК секунди (подразбира се 3600)"
+msgstr "спиране за толкова СЕКУНДИ (стандартно е 3600)"
 
 #: gnu/argp-parse.c:143
 msgid "print program version"
@@ -126,7 +122,7 @@ msgstr "показва версията на програмата"
 
 #: gnu/argp-parse.c:160
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Не е известна версията!?"
+msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Неизвестна версия!"
 
 #: gnu/argp-parse.c:613
 #, c-format
@@ -135,60 +131,60 @@ msgstr "%s: Твърде много аргументи\n"
 
 #: gnu/argp-parse.c:759
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Опцията би трябвало да е била разпозната!?"
+msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Опцията би трябвало да е била разпозната!"
 
 #: gnu/closeout.c:122
 msgid "write error"
-msgstr ""
+msgstr "грешка при запис"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: опцията „%s“ е двусмислена\n"
+msgstr "%s: опцията „%s%s“ не е еднозначна\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: опцията „%s“ е двусмислена\n"
+msgstr "%s: опцията „%s%s“ не е еднозначна.  Възможности:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: непозната опция „%c%s“\n"
+msgstr "%s: непозната опция „%s%s“\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: опцията „%c%s“ не допуска аргумент\n"
+msgstr "%s: опцията „%s%s“ се използва без аргументи\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: опцията „%s“ изисква аргумент\n"
+msgstr "%s: опцията „%s%s“ изисква аргумент\n"
 
 #: gnu/getopt.c:621
-#, fuzzy, c-format
+#, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: неправилна опция -- %c\n"
+msgstr "%s: неправилна опция — „%c“\n"
 
 #: gnu/getopt.c:636 gnu/getopt.c:682
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: опцията изисква аргумент -- %c\n"
+msgstr "%s: опцията изисква аргумент — „%c“\n"
 
 #: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
 msgstr "паметта е изчерпана"
 
 #: gnu/openat-die.c:38
-#, fuzzy, c-format
+#, c-format
 msgid "unable to record current working directory"
-msgstr "Не може да се смени работният каталог"
+msgstr "не може да се запише коя е текущата работна директория"
 
 #: gnu/openat-die.c:57
-#, fuzzy, c-format
+#, c-format
 msgid "failed to return to initial working directory"
-msgstr "Не може да се запази работният каталог"
+msgstr "не може да се върне към първоначалната работна директория"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -227,7 +223,7 @@ msgstr "“"
 #. locale -k LC_MESSAGES | grep '^yesexpr='
 #: gnu/rpmatch.c:150
 msgid "^[yY]"
-msgstr "^[дДoOyY]"
+msgstr "^[yYдДщЩ]"
 
 #. TRANSLATORS: A regular expression testing for a negative answer
 #. (english: "no").  Testing the first character may be sufficient.
@@ -237,26 +233,26 @@ msgstr "^[дДoOyY]"
 #. locale -k LC_MESSAGES | grep '^noexpr='
 #: gnu/rpmatch.c:163
 msgid "^[nN]"
-msgstr "^[нНkKnN]"
+msgstr "^[nNнНхХ]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Пакетирано от %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Пакетирано от %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
-msgstr ""
+msgstr "©"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -265,24 +261,33 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Лиценз — Общ публичен лиценз на GNU (GNU GPL), както е публикуван от "
+"Фондацията\n"
+"за свободен софтуер — версия 3 на лиценза или (по ваше решение) по-късна "
+"версия.\n"
+"<https://gnu.org/licenses/gpl.html>\n"
+"Тази програма е свободен софтуер. Можете да я разпространявате и/или "
+"променяте.\n"
+"Тя се разпространява БЕЗ НИКАКВИ ГАРАНЦИИ доколкото е позволено от закона.\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
-msgstr ""
+msgstr "Създадено от %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
-msgstr ""
+msgstr "Създадено от %s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr ""
+msgstr "Създадено от %s, %s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -293,6 +298,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Създадено от %s, %s, %s\n"
+"и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -303,6 +310,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Създадено от %s, %s, %s,\n"
+"%s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -313,6 +322,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"Създадено от %s, %s, %s,\n"
+"%s, %s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -323,6 +334,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"Създадено от %s, %s, %s,\n"
+"%s, %s, %s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -334,6 +347,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Създадено от %s, %s, %s,\n"
+"%s, %s, %s, %s\n"
+"и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -345,6 +361,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Създадено от %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s и %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -356,40 +375,42 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"Създадено от %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s и др.\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).
 #: gnu/version-etc.c:245
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
-"Съобщавайте за програмни грешки на %s.\n"
-"За грешки в българския превод на <dict@fsa-bg.org>.\n"
+"\n"
+"Докладвайте грешки в програмата на адрес: %s\n"
+"Докладвайте грешки в превода на адрес: <dict@ludost.net>\n"
 
 #: gnu/version-etc.c:247
-#, fuzzy, c-format
+#, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr ""
-"Съобщавайте за програмни грешки на %s.\n"
-"За грешки в българския превод на <dict@fsa-bg.org>.\n"
+msgstr "Докладвайте грешки в „%s“ на адрес: %s\n"
 
 #: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Уеб страница на „%s“: <%s>\n"
 
 #: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr ""
+msgstr "Уеб страница на „%s“: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr ""
+msgstr "Обща помощ за програмите на GNU: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -398,7 +419,7 @@ msgstr ""
 #: lib/paxerror.c:60 lib/paxerror.c:73
 #, c-format
 msgid "%s: Cannot %s"
-msgstr "%s: Функцията %s не успя"
+msgstr "%s: неуспешно изпълнение на функцията „%s“"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -407,83 +428,83 @@ msgstr "%s: Функцията %s не успя"
 #: lib/paxerror.c:86
 #, c-format
 msgid "%s: Warning: Cannot %s"
-msgstr "%s: Внимание: Функцията %s не успя"
+msgstr "%s: ВНИМАНИЕ: неуспешно изпълнение на функцията „%s“"
 
 #: lib/paxerror.c:95
 #, c-format
 msgid "%s: Cannot change mode to %s"
-msgstr "%s: Режимът за достъп не може да се смени на %s"
+msgstr "%s: неуспешна смяна на режима за достъп на %s"
 
 #: lib/paxerror.c:103
 #, c-format
 msgid "%s: Cannot change ownership to uid %lu, gid %lu"
-msgstr "%s: Собствеността не може да се смени на потребител %lu, група %lu"
+msgstr "%s: неуспешна смяна на собствеността на потребител %lu, група %lu"
 
 #: lib/paxerror.c:129
 #, c-format
 msgid "%s: Cannot hard link to %s"
-msgstr "%s: Не може да се направи твърда връзка с %s"
+msgstr "%s: неуспешно създаване на твърда връзка към „%s“"
 
 #: lib/paxerror.c:181 lib/paxerror.c:213
 #, c-format
 msgid "%s: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s: Грешка при четене при байт %s, при четенето на %lu байт"
-msgstr[1] "%s: Грешка при четене при байт %s, при четенето на %lu байта"
+msgstr[0] "%s: грешка при четене при байт %s, при четенето на %lu байт"
+msgstr[1] "%s: грешка при четене при байт %s, при четенето на %lu байта"
 
 #: lib/paxerror.c:194
 #, c-format
 msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
 msgstr[0] ""
-"%s: Внимание: Грешка при четене при байт %s, при четенето на %lu байт"
+"%s: ВНИМАНИЕ: грешка при четене при байт %s, при четенето на %lu байт"
 msgstr[1] ""
-"%s: Внимание: Грешка при четене при байт %s, при четенето на %lu байта"
+"%s: ВНИМАНИЕ: грешка при четене при байт %s, при четенето на %lu байта"
 
 #: lib/paxerror.c:261
 #, c-format
 msgid "%s: Cannot seek to %s"
-msgstr "%s: Не може да се отиде на отместване %s във файла"
+msgstr "%s: неуспешно позициониране към отместване %s във файла"
 
 #: lib/paxerror.c:277
 #, c-format
 msgid "%s: Warning: Cannot seek to %s"
-msgstr "%s: Внимание: Не може да се отиде на отместване %s във файла"
+msgstr "%s: ВНИМАНИЕ: неуспешно позициониране към отместване %s във файла"
 
 #: lib/paxerror.c:286
 #, c-format
 msgid "%s: Cannot create symlink to %s"
-msgstr "%s: Не може да се направи символна връзка към %s"
+msgstr "%s: неуспешно създаване на символна връзка към %s"
 
 #: lib/paxerror.c:351
 #, c-format
 msgid "%s: Wrote only %lu of %lu byte"
 msgid_plural "%s: Wrote only %lu of %lu bytes"
-msgstr[0] "%s: Записани са само %lu от %lu байт"
-msgstr[1] "%s: Записани са само %lu от %lu байта"
+msgstr[0] "%s: записани са само %lu от %lu байт"
+msgstr[1] "%s: записани са само %lu от %lu байта"
 
 #: lib/paxnames.c:140
 #, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Премахва се началното „%s“ от имената на членове"
+msgstr "Премахване на началния префикс „%s“ от имената на членовете"
 
 #: lib/paxnames.c:141
 #, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "Премахва се началното „%s“ от целите на твърдите връзки"
+msgstr "Премахване на началния префикс „%s“ от целите на твърдите връзки"
 
 #: lib/paxnames.c:154
 msgid "Substituting `.' for empty member name"
-msgstr "Полага се „.“ вместо празно име на член"
+msgstr "Използване на „.“ вместо празно име на член"
 
 #: lib/paxnames.c:155
 msgid "Substituting `.' for empty hard link target"
-msgstr "Полага се „.“ вместо празна цел на твърда връзка"
+msgstr "Използване на „.“ вместо празна цел на твърда връзка"
 
 #: lib/rtapelib.c:299
 #, c-format
 msgid "exec/tcp: Service not available"
-msgstr "exec/tcp: Услугата не е достъпна"
+msgstr "exec/tcp: услугата не е достъпна"
 
 #: lib/rtapelib.c:303
 #, c-format
@@ -498,578 +519,573 @@ msgstr "стандартен изход"
 #: lib/rtapelib.c:429
 #, c-format
 msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Неуспешно свързване към „%s“: адресът не може да се открие"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Не може да се стартира отдалечена командна обвивка"
+msgstr "Неуспешно пренасочване на файлове за отдалечена командна обвивка"
 
 #: lib/rtapelib.c:516
 #, c-format
 msgid "Cannot execute remote shell"
-msgstr "Не може да се стартира отдалечена командна обвивка"
+msgstr "Неуспешно стартиране на отдалечена командна обвивка"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
-msgstr "Посоката за отместване е недопустима"
+msgstr "Посоката за отместване е извън допустимия диапазон"
 
-#: rmt/rmt.c:438
-#, fuzzy
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
-msgstr "На опция е подаден неправилен режим"
+msgstr "Неправилна посока за търсене"
 
-#: rmt/rmt.c:446
-#, fuzzy
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
-msgstr "Неправилен размер: %s"
+msgstr "Неправилно отместване при търсене"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Мястото за позициониране е извън допустимия диапазон"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
-#, fuzzy
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
-msgstr "Неправилна дължина на лента"
+msgstr "Неправилен брой байтове"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
-#, fuzzy
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
-msgstr "Мястото за позициониране е извън допустимия диапазон"
+msgstr "Броят байтове е извън допустимия диапазон"
 
-#: rmt/rmt.c:558
-#, fuzzy
+#: rmt/rmt.c:562
 msgid "Premature eof"
-msgstr "rmtd: Преждевременен край (eof)\n"
+msgstr "Преждевременен край (EOF)"
 
-#: rmt/rmt.c:601
-#, fuzzy
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
-msgstr "Вид основно действие:"
+msgstr "Неправилен код на действие"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
-msgstr ""
+msgstr "Действието не се поддържа"
 
-#: rmt/rmt.c:664
-#, fuzzy
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
-msgstr "Неочакван EOF"
+msgstr "Неочаквани аргументи"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
+"Управление на устройство за магнитна лента, като се приемат команди от "
+"отдалечен процес"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "N"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
-msgstr ""
+msgstr "ниво за изчистване на грешки"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
-msgstr ""
+msgstr "задаване на файл за изхода за изчистване на грешки"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
-#, fuzzy, c-format
+#: rmt/rmt.c:719 rmt/rmt.c:787
+#, c-format
 msgid "cannot open %s"
-msgstr "Не може да се отвори „%s“"
+msgstr "„%s“ не може да се отвори"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
-msgstr "твърде много аргументи"
+msgstr "прекалено много аргументи"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Непозната команда"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
-msgstr "Това не прилича на tar-архив"
+msgstr "Това не прилича на архив на „tar“"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Общо прочетени байтове"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Общо записани байтове"
 
-#: src/buffer.c:593
-#, fuzzy
+#: src/buffer.c:595
 msgid "Total bytes deleted"
-msgstr "Общо изтрити байтове: %s\n"
+msgstr "Общо изтрити байтове"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Отказ за изчитане на съдържанието на архива от терминала (дали не сте "
+"пропуснали опцията „-f“?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Отказ за записването на съдържанието на архива от терминала (дали не сте "
+"пропуснали опцията „-f“?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
-msgstr "Неправилна стойност на record_size"
+msgstr "Неправилна стойност на „record_size“"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Не е посочено име на архив"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Не може да се проверяват архиви на стандартните вход/изход"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архивът е компресиран.  Използвайте опцията %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Не може да се актуализират компресирани архиви"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
-msgstr "В началото на лентата, край на изпълнението"
+msgstr "В началото на лентата.  Край на изпълнението"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
-msgstr "Твърде много грешки, край на изпълнението"
+msgstr "Твърде много грешки.  Край на изпълнението"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Размер на записа = %lu блок"
 msgstr[1] "Размер на записа = %lu блока"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Неподравнен блок (%lu байт) в архива"
 msgstr[1] "Неподравнен блок (%lu байта) в архива"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
-"Невъзможно е връщане назад в архивния файл; той може да е нечитаем без опция "
-"-i"
+"Невъзможно е връщане назад в архивния файл — той може и да не се чете без "
+"опция „-i“"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
-msgstr "rmtlseek не завърши при граница на запис"
+msgstr "„rmtlseek“ не завърши при граница на запис"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: съдържа неправилен номер на том"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Препълване на номера на том"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
-msgstr "Подгответе том №%d за %s и натиснете return: "
+msgstr "Подгответе том №%d за %s и натиснете „Return“: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
-msgstr "EOF, когато се очакваше отговор от потребителя"
+msgstr "EOF, а се очакваше отговор от потребителя"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "ВНИМАНИЕ: Архивът е незавършен"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
 " q             Abort tar\n"
 " y or newline  Continue operation\n"
 msgstr ""
-" n име         Посочва ново файлово име за следващия том и томовете след "
-"него\n"
-" q             Прекратява tar\n"
-" y или return  Продължава изпълнението\n"
+" n ИМЕ         Задаване на ново име на файл име за следващите томове\n"
+" q             Прекратяване на изпълнението на „tar“\n"
+" y/Return      Продължаване на изпълнението\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
-msgstr " !             Поражда вторична командна обвивка\n"
+msgstr " !             Стартиране на вторична командна обвивка\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
-msgstr " ?             Извежда този списък\n"
+msgstr " ?             Извеждане на този списък\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
-msgstr "Няма повече томове; изход.\n"
+msgstr "Няма повече томове — изход.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Не е посочено име на файл.  Опитайте отново.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
-msgstr "Неправилна команда.  Използвайте ? за справка.\n"
+msgstr "Неправилна команда.  Използвайте „?“ за справка.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
-msgstr "командата %s не успя"
+msgstr "неуспешно изпълнение на командата „%s“"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
-msgstr "%s не продължава с този том"
+msgstr "„%s“ не продължава с този том"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
-"%s вероятно продължава в този том: заглавният запис съдържа отрязано име"
+"„%s“ вероятно продължава в този том: заглавният запис съдържа отрязано име"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s е грешен размер (%s != %s + %s)"
 
-#: src/buffer.c:1574
-#, fuzzy, c-format
+#: src/buffer.c:1576
+#, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
-msgstr "Този том е извън поредицата"
+msgstr "Този том е извън поредицата (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
-msgstr "Архивът не е етикетиран да отговаря на %s"
+msgstr "Архивът не е етикетиран да отговаря на „%s“"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
-msgstr "Томът %s не съответства на %s"
+msgstr "Томът „%s“ не съответства на „%s“"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 "%s: името на файла е твърде дълго, за да се побере в заглавен запис на "
-"многотомен ГНУ-архив и бе съкратено"
+"многотомен архив на ГНУ и бе съкратено"
 
-#: src/buffer.c:1965
-#, fuzzy
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
-msgstr "EOF на архив %s не е на границата на блок"
+msgstr "записът не завърши на границата на блок"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
-msgstr[0] "Само %lu от %lu байт можаха да се прочетат"
-msgstr[1] "Само %lu от %lu байта можаха да се прочетат"
+msgstr[0] "Само %lu от %lu байт би прочетен"
+msgstr[1] "Само %lu от %lu байта бяха прочетени"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
-msgstr "Съдържанието се различава"
+msgstr "Различно съдържание"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Неочакван знак за край (EOF) в архива"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
-msgstr "Файловите типове се различават"
+msgstr "Различни видове файлове"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
-msgstr "Режимите за достъп се различават"
+msgstr "Различни режими на достъп"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
-msgstr "Собствениците се различават"
+msgstr "Различни идентификатори на собственици"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
-msgstr "Групите се различават"
+msgstr "Различни идентификатори на групи"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
-msgstr "Времената на промяна се различават"
+msgstr "Различни времена на промяна"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
-msgstr "Размерите се различават"
+msgstr "Различни размери"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
-msgstr "Не е свързан с %s"
+msgstr "Не е свързан с „%s“"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
-msgstr "Символните връзки се различават"
+msgstr "Различни символни връзки"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
-msgstr "Номерата на устройство се различават"
+msgstr "Различни номера на устройства"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Проверка"
 
-#: src/compare.c:480
-#, fuzzy, c-format
+#: src/compare.c:479
+#, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
-msgstr "%s: Непознат файлов тип „%c“, сравнява се като обикновен файл"
+msgstr "%s: Непознат вид файл „%c“, сравнява се като обикновен файл"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
-msgstr "Архивът съдържа файлови имена, с отстранени префикси."
+msgstr "Архивът съдържа файлови имена с отстранени префикси."
 
-#: src/compare.c:541
-#, fuzzy
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
-msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)"
+msgstr "Архивът съдържа преобразувани имена на файлове."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Проверката може и да не открие оригиналните файлове."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
-msgstr[0] "НЕУСПЕШНА ПРОВЕРКА: открита е %d неправилен заглавен запис"
+msgstr[0] "НЕУСПЕШНА ПРОВЕРКА: открит е %d неправилен заглавен запис"
 msgstr[1] "НЕУСПЕШНА ПРОВЕРКА: открити са %d неправилни заглавни записа"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Изолиран блок от нули при %s"
 
-#: src/create.c:74
-#, fuzzy, c-format
+#: src/create.c:73
+#, c-format
 msgid "%s: contains a cache directory tag %s; %s"
-msgstr "%s: каталогът е обозначен като кеш; не се архивира"
+msgstr "%s: директорията съдържа етикет, че е кешираща — „%s“: %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
-msgstr ""
-"стойността на %s е извън границите %s на диапазона %s..%s; замества се с %s"
+msgstr "стойността %s е извън диапазона на „%s“: [%s; %s], замества се с „%s“"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
-msgstr "стойността %s е извън границите %s на диапазона %s..%s"
+msgstr "стойността %s е извън диапазона на „%s“: [%s; %s]"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Генерират се отрицателни осмични заглавни записи"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
-msgstr "%s: файловото име е твърде дълго (максимум %d); не е архивирано"
+msgstr ""
+"%s: името на файл е твърде дълго (максимум %d), затова той не се архивира"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
-"%s: файловото име е твърде дълго (не може да се раздели); не е архивирано"
+"%s: името на файл е твърде дълго (не може да се раздели), затова той не се "
+"архивира"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
-msgstr "%s: името на символната връзка е твърде дълго; не е архивирано"
+msgstr "%s: името на символна връзка е твърде дълго, затова тя не се архивира"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
-msgstr[0] "%s: Файлът намаля с %s байт; допълва се с нула"
-msgstr[1] "%s: Файлът намаля с %s байта; допълва се с нули"
+msgstr[0] "%s: файлът намаля̀ с %s байт, допълва се с нула"
+msgstr[1] "%s: файлът намаля̀ с %s байта, допълва се с нули"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
-msgstr "%s: файлът е в друга файлова система; не се архивира"
+msgstr "%s: файлът е в друга файлова система, затова той не се архивира"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
-msgstr ""
+msgstr "съдържанието не се архивира"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
-msgstr "%s: Непознат файлов тип; файлът се пренебрегва"
+msgstr "%s: непознат вид файл, файлът се прескача"
 
-#: src/create.c:1576
-#, fuzzy, c-format
+#: src/create.c:1575
+#, c-format
 msgid "Missing links to %s."
-msgstr "Неархивирани връзки с %s.\n"
+msgstr "Липсват връзки към „%s“."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
-msgstr "%s: файлът не е променен; не се архивира"
+msgstr "%s: файлът не е променен, затова той не се архивира"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
-msgstr "%s: файлът е архив; не се архивира"
+msgstr "%s: файлът е архив, затова той не се архивира"
 
-#: src/create.c:1774 src/incremen.c:603
-#, fuzzy
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
-msgstr "%s: каталогът е обозначен като кеш; не се архивира"
+msgstr "директорията не се архивира"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: файлът бе изменен по време на четене"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
-msgstr "%s: гнездото се пренебрегва"
+msgstr "%s: гнездото се прескача"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
-msgstr "%s: пренебрегва се специалният файл тип door"
+msgstr "%s: специалният файл тип „door“ се прескача"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
-msgstr "Пропуска се до следващия заглавен запис"
+msgstr "Прескачане до следващия заглавен запис"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
-msgstr "Изтрива се незаглавен запис от архива"
+msgstr "Изтриване на незаглавен запис от архива"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: записано е невероятно старо време %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: записано е време %s, което е %s сек. в бъдещето"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
-msgstr "%s: Неочаквана несъгласуваност при създаване на каталог"
+msgstr "%s: неочаквана несъгласуваност при създаване на директория"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "„%s“: пропускане на съществуващ файл"
 
 #: src/extract.c:901
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
 msgstr ""
-"%s: каталогът бе преименуван преди да може да се извлече състоянието му"
+"%s: директорията бе преименувана, преди да може да се извлече състоянието ѝ"
 
 #: src/extract.c:1086
 msgid "Extracting contiguous files as regular files"
-msgstr "Продължаващи файлове се извличат като обикновени файлове"
+msgstr ""
+"Последователно непрекъснатите файлове се извличат като обикновени файлове"
 
 #: src/extract.c:1433
 msgid "Attempting extraction of symbolic links as hard links"
-msgstr "Опитва се извличането на символни връзки като твърди"
+msgstr "Опит за извличането на символни връзки като твърди"
 
 #: src/extract.c:1596
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
-msgstr "%s: Не може да се извлича -- файлът продължава с друг том"
+msgstr "%s: невъзможно извличане — файлът продължава с друг том"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Неочаквано дълъг заглавен запис"
 
 #: src/extract.c:1610
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "%s: Непознат файлов тип „%c“, извлича се като обикновен файл"
+msgstr "%s: непознат вид файл „%c“, извлича се като обикновен файл"
 
 #: src/extract.c:1636
 #, c-format
 msgid "Current %s is newer or same age"
-msgstr "Текущият %s е по-нов или със същата възраст"
+msgstr "Текущият файл „%s“ е по-нов или със същата възраст"
 
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "„%s“: името на някой от елементите съдържа „..“"
 
 #: src/extract.c:1696
 #, c-format
 msgid "%s: Was unable to backup this file"
-msgstr "%s: Не можа да се направи резервно копие на този файл"
+msgstr "%s: неуспешно създаване на резервно копие на този файл"
 
 #: src/extract.c:1845
 #, c-format
 msgid "Cannot rename %s to %s"
-msgstr "Бе невъзможно %s да се преименува на %s"
+msgstr "Неуспешно преименуване на „%s“ към „%s“"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
-msgstr "%s: Каталогът бе преименуват от %s"
+msgstr "%s: директорията бе преименувана от „%s“"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
-msgstr "%s: Каталогът е нов"
+msgstr "%s: директорията е нова"
 
-#: src/incremen.c:566
-#, fuzzy, c-format
+#: src/incremen.c:565
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: файлът е в друга файлова система; не се архивира"
+msgstr "%s: директорията е в друга файлова система и не се архивира"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
-msgstr "%s: Каталогът бе преименуван"
+msgstr "%s: директорията бе преименувана"
 
 #: src/incremen.c:1003 src/incremen.c:1018
 msgid "Invalid time stamp"
 msgstr "Записано е неправилно време"
 
 #: src/incremen.c:1047
-#, fuzzy
 msgid "Invalid modification time"
-msgstr "Неправилно време на промяна (секунди)"
+msgstr "Неправилно време на промяна"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
@@ -1086,16 +1102,16 @@ msgstr "Неправилен номер на i-възел"
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: байт %s: %s %.*s… твърде голяма дължина"
 
 #: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
-msgstr "Неочакван край на snapshot-файл"
+msgstr "Неочакван край на файла за състоянието (snapshot)"
 
 #: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: байт %s: %s %s следван от неправилен байт 0x%02x"
 
 #: src/incremen.c:1174
 #, c-format
@@ -1103,16 +1119,18 @@ msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: байт %s: (допустим диапазон: [%s; %s]\n"
+"    %s %s"
 
 #: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: байт %s: %s %s"
 
 #: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: байт %s: %s"
 
 #: src/incremen.c:1265
 msgid "Missing record terminator"
@@ -1130,455 +1148,468 @@ msgstr "Неподдържана версия на инкрементален ф
 #: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr "Лошо формиран dumpdir: очаква се „%c“, а вместо това има %#3o"
+msgstr ""
+"Неправилна секция за директориите (dumpdir): очаква се „%c“, а вместо това "
+"бе получен %#3o"
 
 #: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr "Лошо формиран dumpdir: „X“ е дублиран"
+msgstr "Неправилна секция за директориите (dumpdir): „X“ се повтаря"
 
 #: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "Лошо формиран dumpdir: празно име в „R“"
+msgstr "Неправилна секция за директориите (dumpdir): празно име в „R“"
 
 #: src/incremen.c:1585
-#, fuzzy
 msgid "Malformed dumpdir: 'T' not preceded by 'R'"
-msgstr "Лошо формиран dumpdir: „T“ не се предхожда от „R“"
+msgstr ""
+"Неправилна секция за директориите (dumpdir): „T“ не се предхожда от „R“"
 
 #: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Лошо формиран dumpdir: празно име в „T“"
+msgstr "Неправилна секция за директориите (dumpdir): празно име в „T“"
 
 #: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr "Лошо формиран dumpdir: очаква се „%c“, вместо това данните свършват"
+msgstr ""
+"Неправилна секция за директориите (dumpdir): очаква се „%c“, вместо това "
+"данните свършват"
 
 #: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
-msgstr "Лошо формиран dumpdir: „X“ никога не се използва"
+msgstr "Неправилна секция за директориите (dumpdir): „X“ никога не се използва"
 
 #: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
-msgstr "Не може да се създаде временен каталог, използвайки шаблона %s"
+msgstr "Не може да се създаде временна директория по шаблона %s"
 
 #: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
-msgstr "%s: Каталогът не се изчиства: не може да се достъпи"
+msgstr "%s: директорията няма да бъде изчистена, защото няма достъп до нея"
 
 #: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
-msgstr "%s: каталогът е на друго устройство: не се изчиства"
+msgstr "%s: директорията няма да бъде изчистена, защото е на друго устройство"
 
 #: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
-msgstr "%s: Изтрива се %s\n"
+msgstr "%s: изтрива се %s\n"
 
 #: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
-msgstr "%s: Не може да се изтрие"
+msgstr "%s: не може да се изтрие"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
-msgstr "%s: Пропуска се"
+msgstr "%s: пропуска се"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
-msgstr "блок %s: ** Блок от знаци NUL **\n"
+msgstr "блок %s: •• Блок от знаци NUL ••\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
-msgstr "блок %s: ** Край на файла **\n"
+msgstr "блок %s: •• Край на файла ••\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
-msgstr "Интервали в заглавен запис вместо числова стойност на %s"
+msgstr "Интервали в заглавен запис вместо числова стойност за %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
-"Осмичната стойност %.*s в архива е извън диапазона за %s; предполага се, че "
-"е допълнение до две"
+"Осмичната стойност %.*s в архива е извън диапазона за %s.  Приема се, че е "
+"допълнение до две"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Осмичната стойност %.*s в архива е извън диапазона за %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
-msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)"
+msgstr "Архивът съдържа архаични заглавни записи по модул 64 (base-64)"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
-"Архивът е подписан с низ по модул 64 %s, който е е извън диапазона за %s"
+"Архивът е подписан с низ по модул 64 %s (base-64), който е е извън диапазона "
+"за %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
-msgstr "Стойността по модул 256 в архива е извън диапазона %s"
+msgstr "Стойността по модул 256 (base-256) в архива е извън диапазона %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
-msgstr "Архивът съдържа %.*s, вместо това се очаква числова стойност на %s"
+msgstr "Архивът съдържа %.*s, вместо това се очаква числова стойност за %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
-msgstr "Стойността %s в архива е извън допустимия диапазон за %s (%s..%s)"
+msgstr "Стойността %s в архива е извън допустимия диапазон за %s: [%s; %s]"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
-msgstr " връзка към %s\n"
+msgstr " връзка към „%s“\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
-msgstr " непознат файлов тип %s\n"
+msgstr " непознат вид файл %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
-msgstr "--Дълга връзка--\n"
+msgstr "——Дълга връзка——\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
-msgstr "--Дълго име--\n"
+msgstr "——Дълго име——\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
-msgstr "--Заглавен запис на тома--\n"
+msgstr "——Заглавен запис на тома——\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
-msgstr "--Продължава при байт %s--\n"
+msgstr "——Продължава при байт %s——\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
-msgstr "Създава се каталог:"
+msgstr "Създава се директория:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
-msgstr "Преименува се %s на %s\n"
+msgstr "„%s“ се преименува на „%s“\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
-msgstr "%s: Не може да се преименува на %s"
+msgstr "%s: не може да се преименува на „%s“"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
-msgstr "Преименува се %s обратно на %s\n"
+msgstr "„%s“ се преименува обратно на „%s“\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
-msgstr "%s: Файлът бе изтрит преди да бъде прочетен"
+msgstr "%s: Файлът бе изтрит, преди да бъде прочетен"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "породен процес"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "междупроцесен канал"
 
-#: src/names.c:69
-#, fuzzy
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Избор на локален файл:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
-"добавя посочения ФАЙЛ към архива (полезно е, ако името му започва с минус)"
+"добавяне на посочения ФАЙЛ към архива (полезно е, ако името му започва с „-“)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
-msgstr "КАТ"
+msgstr "ДИРЕКТОРИЯ"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
-msgstr "работи в каталога КАТ"
+msgstr "преминаване към ДИРЕКТОРИЯта"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
-msgstr "взема имената за извличане или създаване от ФАЙЛ"
+msgstr "вземане на имената за извличане или създаване от ФАЙЛ"
 
-#: src/names.c:78
-#, fuzzy
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
-msgstr "-T чете имена, завършващи с нулев байт"
+msgstr ""
+"„-T“ изчита имена на файлове, завършващи с нулев байт.  Това задейства "
+"опцията „--verbatim-files-from“"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
-msgstr ""
+msgstr "изключване на ефекта от предходна опция „--null“"
 
-#: src/names.c:83
-#, fuzzy
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
-msgstr "декодира „\\“ във файловите имена на -T (подразб.)"
+msgstr ""
+"декодиране на „\\“ на входния файл или имената на членовете (стандартно)"
 
-#: src/names.c:85
-#, fuzzy
+#: src/names.c:84
 msgid "do not unquote input file or member names"
-msgstr "не декодира „\\“ във файловите имена на -T"
+msgstr "без декодиране на „\\“ на входния файл или имената на членовете"
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
+"„-T“ изчита имената на файловете дословно, без екраниране или други обработки"
 
-#: src/names.c:89
-#, fuzzy
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
-msgstr "декодира „\\“ във файловите имена на -T (подразб.)"
+msgstr ""
+"„-T“ зачита имена на файлове, започващи с тирета, като опции (стандартно)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
-msgstr "ОБРАЗЕЦ"
+msgstr "ШАБЛОН"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
-msgstr "без файловете, отговарящи на ОБРАЗЕЦ"
+msgstr "без файловете, отговарящи на ШАБЛОНа"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
-msgstr "пропуска файловете, отговарящи на образци в ФАЙЛ"
+msgstr "пропускане на файловете, отговарящи на шаблоните във ФАЙЛа"
 
-#: src/names.c:96
-#, fuzzy
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
-msgstr "без каталози, обозначени като кеширащи"
+msgstr ""
+"без директории, които съдържат етикет за кешираща директория („CACHEDIR."
+"TAG“), с изключение на самия него"
 
-#: src/names.c:99
-#, fuzzy
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "без каталози, обозначени като кеширащи"
+msgstr ""
+"без всичко под директориите, които съдържат етикет за кешираща директория "
+"(„CACHEDIR.TAG“)"
 
-#: src/names.c:102
-#, fuzzy
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "без каталози, обозначени като кеширащи"
+msgstr ""
+"без директории, които съдържат етикет за кешираща директория („CACHEDIR.TAG“)"
 
-#: src/names.c:104
-#, fuzzy
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "без каталози, обозначени като кеширащи"
+msgstr "без директории, които съдържат такъв ФАЙЛ, с изключение на самия ФАЙЛ"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
+"изчитане на шаблоните за прескачане за всяка директория от зададения ФАЙЛ, "
+"ако той съществува"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
+"изчитане на шаблоните за прескачане за всяка директория и поддиректориите ѝ "
+"от зададения ФАЙЛ, ако той съществува"
 
-#: src/names.c:113
-#, fuzzy
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
-msgstr "без каталози, обозначени като кеширащи"
+msgstr "без всичко под директориите, които съдържат такъв ФАЙЛ"
 
-#: src/names.c:115
-#, fuzzy
+#: src/names.c:114
 msgid "exclude directories containing FILE"
-msgstr "без каталози, обозначени като кеширащи"
+msgstr "без директории, които съдържат такъв ФАЙЛ"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
-msgstr ""
+msgstr "прескачане на служебните директории за следене на версиите"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
+"изчитане на шаблоните за прескачане от файла с пренебрегваните файлове от "
+"системата за следене на версиите"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
-msgstr ""
+msgstr "без заключващи файлове и резервни копия"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
-msgstr "влиза рекурсивно в подкаталозите (подразбира се)"
+msgstr "рекурсивно обхождане на поддиректориите (стандартно)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
-msgstr "без автоматично влизане в подкаталозите"
+msgstr "без рекурсивно обхождане на поддиректориите"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
-"Съпоставяне с файлови имена (влияе и на включващи, и на изключващи образци):"
+"Съпоставяне с файлови имена (влияе и на включващи, и на изключващи шаблони):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
-msgstr "съпоставянето с образците започва от началото на файловото име"
+msgstr "съпоставянето с шаблоните започва от началото на файловото име"
 
-#: src/names.c:135
-#, fuzzy
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
-msgstr "съпоставянето започва след кой да е „/“ (подразбира се при изключване)"
+msgstr ""
+"напасването се зачита след произволен знак „/“ (стандартно при изключване)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
-msgstr "пренебрегва разликата между големи/малки букви"
+msgstr "без разлика между главни и малки букви"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
-msgstr "отчита се разликата между малки и големи букви (подразбира се)"
+msgstr "с разлика между главни и малки букви (стандартно)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
-msgstr "ползва „*“ и „?“ (подразбира се за изключване)"
+msgstr "използване на „*“ и „?“ (стандартно при прескачане)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
-msgstr "дословно низово сравнение"
+msgstr "дословно сравнение на низове"
 
-#: src/names.c:145
-#, fuzzy
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
-msgstr "„/“ пасва с „*“ и „?“ (подразб. за изключване)"
+msgstr "„*“ и „?“ не напасват „/“ (стандартно при прескачане)"
 
-#: src/names.c:147
-#, fuzzy
+#: src/names.c:146
 msgid "wildcards do not match '/'"
-msgstr "„/“ не пасва с „*“ и „?“"
+msgstr "„*“ и „?“ не напасват „/“"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Използвали сте следните опции след задължителен аргумент в режим на "
+"създаване или промяна на архив, но те са позиционни и се отнасят само за "
+"аргументите, които ги следват.  Преподредете ги."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "„-C %s“ няма ефект"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "„--%s %s“ няма ефект"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "„--%s“ няма ефект"
 
-#: src/names.c:879
-#, fuzzy
+#: src/names.c:878
 msgid "command line"
-msgstr "командата %s не успя"
+msgstr "команден ред"
 
-#: src/names.c:897
-#, fuzzy, c-format
+#: src/names.c:896
+#, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: файловият списък вече е прочетен"
+msgstr "%s: файловият списък заявен от „%s“ вече е прочетен от „%s“"
 
-#: src/names.c:978 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:977 src/checkpoint.c:308
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "не може да се смени времето на „%s“"
+msgstr "низът „%s“ не може да се раздели: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
-msgstr "%s: файловото име съдържа нулев байт"
+msgstr "%s: името на файла съдържа нулев байт"
 
-#: src/names.c:1358
-#, fuzzy
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
-msgstr "Във файловите имена са използвани „*“ и „?“.  Моля,"
+msgstr "В имената на файловете са използвани шаблонни знаци („*“ или „?“)"
 
-#: src/names.c:1360
-#, fuzzy
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
-msgstr "използвайте --wildcards, за да позволите съпоставяне с образци,"
+msgstr ""
+"За напасване по шаблони използвайте „--wildcards“, а за подтискането на това "
+"предупреждение — „--no--wildcards“"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
-msgstr "%s: Не е открит в архива"
+msgstr "%s: не е открит в архива"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
-msgstr "%s: Необходимо срещане не е открито в архива"
+msgstr "%s: необходимо срещане не е открито в архива"
 
-#: src/names.c:1413
-#, fuzzy, c-format
+#: src/names.c:1443
+#, c-format
 msgid "Archive label mismatch"
-msgstr "Архивът не е етикетиран да отговаря на %s"
+msgstr "Разлика в етикет на архива"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
+"Опцията „-C“ в списък с файлове е несъвместима с опцията „--listed-"
+"incremental“"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
-msgstr ""
+msgstr "Опцията „--listed-incremental“ позволява само една опция „-C“"
 
-#: src/tar.c:88
-#, fuzzy, c-format
+#: src/tar.c:87
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "И двете опции „-%s“ и „-%s“ изискват стандартен вход"
+msgstr "И двете опции — „%s“ и „%s“, изискват стандартен вход"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
-msgstr "%s: Неправилен архивен формат"
+msgstr "%s: Неправилен формат на архива"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
-msgstr "Поискани са ГНУ-възможности при несъвместим архивен формат"
+msgstr ""
+"Поискани са възможности поддържани от проекта ГНУ при несъвместим архивен "
+"формат"
 
-#: src/tar.c:265
-#, fuzzy, c-format
+#: src/tar.c:264
+#, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
-"Непознат начин за извеждане на спец. знаци „%s“. Използвайте „%s --quoting-"
-"style=help“, за да получите списък."
+"Непознат начин на екраниране: „%s“.  Използвайте „%s --quoting-style=help“, "
+"за да получите списък."
 
 #: src/tar.c:354
-#, fuzzy
 msgid ""
 "GNU 'tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1588,17 +1619,16 @@ msgid ""
 "  tar -tvf archive.tar         # List all files in archive.tar verbosely.\n"
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
-"„Tar“ на ГНУ запазва последователно много файлове в един лентов или дисков "
-"архив и може да възстановява в последствие отделни файлове от архива.\n"
+"Командата „tar“ на ГНУ запазва последователно много файлове в един лентов "
+"или дисков\n"
+"архив и може да възстановява впоследствие отделни файлове от архива.\n"
 "\n"
 "Примери:\n"
-"  tar -cf архив.tar дрън брън  # Създава архив.tar от файловете дрън и брън\n"
-"  tar -tvf архив.tar           # Изрежда подробно всички файлове в архив."
-"tar\n"
-"  tar -xf архив.tar            # Извлича от архив.tar всички файлове\n"
+"  tar -cf архив.tar дрън мрън  # Създаване на архив.tar от „дрън“ и „мрън“\n"
+"  tar -tvf архив.tar           # Подробно извеждане на всичко в архив.tar\n"
+"  tar -xf архив.tar            # Извличане на всички файлове от архив.tar\n"
 
 #: src/tar.c:363
-#, fuzzy
 msgid ""
 "The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
 "The version control may be set with --backup or VERSION_CONTROL, values "
@@ -1609,72 +1639,72 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"Суфиксът за резервни копия е „~“, освен при промяна с --suffix или с\n"
-"променлива от обкръжението SIMPLE_BACKUP_SUFFIX. Методът за управление на\n"
-"версиите може да се посочва с --backup или с променливата VERSION_CONTROL.\n"
+"Суфиксът за резервни копия е „~“, освен при промяна със „--suffix“ или с\n"
+"променлива на средата „SIMPLE_BACKUP_SUFFIX“.  Методът за управление на\n"
+"версиите може да се посочва с „--backup“ или с променливата "
+"„VERSION_CONTROL“.\n"
 "Допустими стойности са:\n"
 "\n"
 "  none, off       никога да не се правят резервни копия\n"
 "  t, numbered     да се правят номерирани резервни копия\n"
-"  nil, existing   номерирани, ако вече са правени номерирани, а прости "
-"иначе\n"
+"  nil, existing   номерирани, ако вече има номерирани, иначе — прости\n"
 "  never, simple   винаги да се правят прости резервни копия\n"
 
 #: src/tar.c:393
 msgid "Main operation mode:"
-msgstr "Вид основно действие:"
+msgstr "Основно действие:"
 
 #: src/tar.c:396
 msgid "list the contents of an archive"
-msgstr "изрежда съдържанието на архив"
+msgstr "извеждане на съдържанието на архив"
 
 #: src/tar.c:398
 msgid "extract files from an archive"
-msgstr "извлича файлове от архива"
+msgstr "извличане на файлове от архива"
 
 #: src/tar.c:401
 msgid "create a new archive"
-msgstr "създава нов архив"
+msgstr "създаване на нов архив"
 
 #: src/tar.c:403
 msgid "find differences between archive and file system"
-msgstr "намира разликите между архива и файловата система"
+msgstr "откриване на разликите между архива и файловата система"
 
 #: src/tar.c:406
 msgid "append files to the end of an archive"
-msgstr "добавя файлове в края на архив"
+msgstr "добавяне на файлове в края на архив"
 
 #: src/tar.c:408
 msgid "only append files newer than copy in archive"
-msgstr "добавя само файлове, по-нови от копието в архива"
+msgstr "добавяне само на файлове, по-нови от копието в архива"
 
 #: src/tar.c:410
 msgid "append tar files to an archive"
-msgstr "прибавя tar-файлове към архива"
+msgstr "прибавяне на файлове във формат „tar“ към архива"
 
 #: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
-msgstr "трие файлове от архива (не при магнитни ленти!)"
+msgstr "триене на файлове от архива (невъзможно при магнитни ленти!)"
 
 #: src/tar.c:415
 msgid "test the archive volume label and exit"
-msgstr "проверява етикета на тома и завършва"
+msgstr "проверка на етикета на тома и изход"
 
 #: src/tar.c:420
 msgid "Operation modifiers:"
-msgstr "Модификатори на действието:"
+msgstr "Модификатори:"
 
 #: src/tar.c:423
 msgid "handle sparse files efficiently"
-msgstr "работи ефективно с разредени файлове"
+msgstr "ефективна работа с рехави файлове"
 
 #: src/tar.c:424
 msgid "TYPE"
-msgstr ""
+msgstr "ВИД"
 
 #: src/tar.c:425
 msgid "technique to detect holes"
-msgstr ""
+msgstr "начин за откриване на дупки"
 
 #: src/tar.c:426
 msgid "MAJOR[.MINOR]"
@@ -1682,23 +1712,23 @@ msgstr "ГОЛЯМ[.МАЛЪК]"
 
 #: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
-msgstr "определя версията на формата разредени файлове (влече --sparse)"
+msgstr "задаване на версията на форма̀та рехавите файлове (влече „--sparse“)"
 
 #: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
-msgstr "със стар формат ГНУ за инкрементално архивиране"
+msgstr "със стария формат ГНУ за инкрементално архивиране"
 
 #: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
-msgstr "с новия формат на ГНУ за инкрем. архивиране"
+msgstr "с новия формат на ГНУ за инкрементално архивиране"
 
 #: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "ниво на архива за създадения с опцията „--listed-incremental“ архив"
 
 #: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
-msgstr "при нечитаеми файлове не завършва с грешка"
+msgstr "без изход с грешка при нечетими файлове"
 
 #: src/tar.c:437
 msgid ""
@@ -1707,84 +1737,92 @@ msgid ""
 "diff, --extract or --list and when a list of files is given either on the "
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
-"обработва само N-тото срещане на всеки файл в архива; тази опция е правилна "
-"само в съчетание с една от подкомандите --delete, --diff, --extract или --"
-"list и когато списъкът от файлове е зададен или на командния ред, или с "
-"опция -T.  Ако не е посочен N, се подразбира 1."
+"обработка само на N-тото срещане на всеки файл в архива.  Тази опция важи "
+"само в съчетание с една от подкомандите „--delete“, „--diff“, „--extract“ "
+"или „--list“ и когато списъкът от файлове е зададен или на командния ред, "
+"или с опция „-T“.  Ако N не е посочен, се подразбира 1."
 
 #: src/tar.c:443
 msgid "archive is seekable"
 msgstr "архивът е с произволен достъп"
 
 #: src/tar.c:445
-#, fuzzy
 msgid "archive is not seekable"
-msgstr "архивът е с произволен достъп"
+msgstr "архивът не е с произволен достъп"
 
 #: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
+"без проверка на номерата на устройствата при създаване на инкрементални "
+"архиви"
 
 #: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
+"проверка на номерата на устройствата при създаване на инкрементални архиви "
+"(стандартно)"
 
 #: src/tar.c:456
 msgid "Overwrite control:"
-msgstr "Регулиране заместването на файлове:"
+msgstr "Управление на заместването на файлове:"
 
 #: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
-msgstr "след записа опитва да провери архива"
+msgstr "проверка на архива след записа"
 
 #: src/tar.c:461
 msgid "remove files after adding them to the archive"
-msgstr "изтрива файловете след като ги добави в архива"
+msgstr "изтриване файловете след добавянето им в архива"
 
 #: src/tar.c:463
-#, fuzzy
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr "при извличане не замества съществуващи файлове"
+msgstr ""
+"без заместване на съществуващи файлове при извличането, това да се счита за "
+"грешка"
 
 #: src/tar.c:466
-#, fuzzy
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "при извличане не замества съществуващи файлове"
+msgstr ""
+"без заместване на съществуващи файлове при извличането, те да се прескачат "
+"без съобщаване"
 
 #: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
-msgstr ""
-"не замества съществуващи файлове, ако са по-нови от копията им в архива"
+msgstr "без заместване на съществуващи файлове при извличането, ако са по-нови"
 
 #: src/tar.c:471
 msgid "overwrite existing files when extracting"
-msgstr "при извличане замества съществуващи файлове"
+msgstr "заместване на съществуващи файлове при извличане"
 
 #: src/tar.c:473
 msgid "remove each file prior to extracting over it"
-msgstr "изтрива всеки файл преди да извлича върху него"
+msgstr "изтриване на всеки файл преди презаписване върху него"
 
 #: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
-msgstr "изпразва йерархията преди извличане на каталог"
+msgstr "изчистване на йерархията преди извличане на директорията"
 
 #: src/tar.c:477
 msgid "preserve metadata of existing directories"
-msgstr "запазва метаданните на съществуващи каталози"
+msgstr "запазване на метаданните на съществуващите директории"
 
 #: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
-"при извличане замества метаданните на съществуващи каталози (подразбира се)"
+"заместване на метаданните на съществуващите директории при извличане "
+"(стандартно)"
 
 #: src/tar.c:482
-#, fuzzy
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "при извличане замества съществуващи файлове"
+msgstr ""
+"запазване на съществуващите символни връзки към директории при извличането "
+"на файлове"
 
 #: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
+"създаване на поддиректория, за да се избегне извличането на файлове в "
+"началната"
 
 #: src/tar.c:491
 msgid "Select output stream:"
@@ -1792,23 +1830,23 @@ msgstr "Избор на изходен поток:"
 
 #: src/tar.c:494
 msgid "extract files to standard output"
-msgstr "извлича файловете на стандартния изход"
+msgstr "извличане на файловете на стандартния изход"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
 #: src/tar.c:496
 msgid "pipe extracted files to another program"
-msgstr "подава с канал всеки извлечен файл към КОМАНДА"
+msgstr "подаване на всеки извлечен файл към КОМАНДА през канал"
 
 #: src/tar.c:498
 msgid "ignore exit codes of children"
-msgstr "игнорира кода на завършване на породени процеси"
+msgstr "игнориране на изходния код на породени процеси"
 
 #: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
-msgstr "счита за грешка всеки ненулев код на завършване на породен процес"
+msgstr "всеки ненулев код на завършване на породен процес се счита за грешка"
 
 #: src/tar.c:505
 msgid "Handling of file attributes:"
@@ -1816,32 +1854,38 @@ msgstr "Подход спрямо файловите атрибути:"
 
 #: src/tar.c:508
 msgid "force NAME as owner for added files"
-msgstr "прави ИМЕ да е собственик на добавените файлове"
+msgstr "ИМЕ да е собственик на добавените файлове"
 
 #: src/tar.c:510
 msgid "force NAME as group for added files"
-msgstr "прави ИМЕ да бъде групата на добавените файлове"
+msgstr "ИМЕ да е групата на добавените файлове"
 
 #: src/tar.c:512
 msgid "use FILE to map file owner UIDs and names"
 msgstr ""
+"използване на посочения ФАЙЛ за съответствието между идентификатор (UID) и "
+"име на потребител"
 
 #: src/tar.c:514
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
+"използване на посочения ФАЙЛ за съответствието между идентификатор (GID) и "
+"име на група"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
-msgstr "ДАТА-ИЛИ-ФАЙЛ"
+msgstr "ДАТА_ИЛИ_ФАЙЛ"
 
 #: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
-msgstr "прави времето на промяна на добавяни файлове като ДАТА-ИЛИ-ФАЙЛ"
+msgstr "времето на промяна на добавените файлове да е като ДАТА_ИЛИ_ФАЙЛ"
 
 #: src/tar.c:518
 msgid ""
 "only set time when the file is more recent than what was given with --mtime"
 msgstr ""
+"задаване на време, само когато файлът е по-нов от времето посочено с опцията "
+"„--mtime“"
 
 #: src/tar.c:519
 msgid "CHANGES"
@@ -1849,7 +1893,7 @@ msgstr "ПРОМЕНИ"
 
 #: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
-msgstr "модифицира режима за достъп на добавени файлове"
+msgstr "прилага ПРОМЕНИте към режима за достъп на добавените файлове"
 
 #: src/tar.c:522
 msgid "METHOD"
@@ -1861,113 +1905,114 @@ msgid ""
 "reading (METHOD='replace'; default) or by not setting the times in the first "
 "place (METHOD='system')"
 msgstr ""
-"запазва времената на достъп на архивираните файлове като или възстановява "
-"времената след четене (при МЕТОД=„replace“, подразбира се), или не променя "
-"имената изобщо (МЕТОД=„system“)"
+"запазване на времената на достъп на архивираните файлове или чрез "
+"възстановяване на времената след четене (при МЕТОД=„replace“ — стандартно), "
+"или без изобщо да се променят (МЕТОД=„system“)"
 
 #: src/tar.c:527
 msgid "don't extract file modified time"
-msgstr "не извлича времето на промяна на файловете"
+msgstr "без извличане на времето на промяна на файловете"
 
 #: src/tar.c:529
-#, fuzzy
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
-msgstr "опитва да възстановява собствеността на файловете"
+msgstr ""
+"опит за възстановяване на файловете със собственик както е в архива "
+"(стандартно за суперпотребителите)"
 
 #: src/tar.c:531
-#, fuzzy
 msgid "extract files as yourself (default for ordinary users)"
-msgstr "извлича файловете от ваше име"
+msgstr ""
+"възстановяване на файловете, като собственик сте вие (стандартно за "
+"обикновените потребители)"
 
 #: src/tar.c:533
 msgid "always use numbers for user/group names"
-msgstr "използва числа вместо имена за потребител и група"
+msgstr "използване на числа вместо имена за потребител и група"
 
 #: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
-"възстановява точно (без umask) режима на достъп (подразбира се при "
-"привилегирован потребител)"
+"точно възстановяване на режима на достъп, без прилагане на "
+"„umask“ (стандартно при привилегирован потребител)"
 
 #: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
-"прилага umask на потребителя при извличане на файлове (подразбира се при "
+"прилагане на „umask“ на потребителя при извличане на файлове (стандартно при "
 "обикновен потребител)"
 
 #: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
-msgstr ""
+msgstr "аргументите-членове са изведени в същия ред както файловете в архива"
 
 #: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
-"забавя настройката на времето на промяна и режима за достъп на извличаните "
-"каталози докато извличането завърши"
+"задаването на времето на промяна и режима за достъп на извлечените "
+"директории да се извърши след завършването на извличането"
 
 #: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
-msgstr "отменя ефекта на --delay-directory-restore"
+msgstr "отмяна на ефекта на „--delay-directory-restore“"
 
 #: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ПОДРЕДБА"
 
 #: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "подредба на директориите: без (стандартно), по име или по i-възел"
 
 #: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "подредба на директориите: без (стандартно) или по име"
 
 #: src/tar.c:560
-#, fuzzy
 msgid "Handling of extended file attributes:"
-msgstr "Подход спрямо файловите атрибути:"
+msgstr "Подход спрямо разширените файлови атрибути:"
 
 #: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "С поддръжка на разширените файлови атрибути"
 
 #: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Без поддръжка на разширените файлови атрибути"
 
 #: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "МАСКА"
 
 #: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "указване на шаблона за включените разширени файлови атрибути"
 
 #: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "указване на шаблона за изключените разширени файлови атрибути"
 
 #: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "С поддръжка на контекстите на SELinux"
 
 #: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Без поддръжка на контекстите на SELinux"
 
 #: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "С поддръжка на списъците за контрол на достъпа (ACL) на POSIX"
 
 #: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Без поддръжка на списъците за контрол на достъпа (ACL) на POSIX"
 
 #: src/tar.c:582
 msgid "Device selection and switching:"
@@ -1979,43 +2024,43 @@ msgstr "АРХИВ"
 
 #: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
-msgstr "използва архивния файл или устройство АРХИВ"
+msgstr "използване на този АРХИВен файл или устройство"
 
 #: src/tar.c:587
 msgid "archive file is local even if it has a colon"
-msgstr "архивният файл е локален дори при двуеточие"
+msgstr "архивният файл е локален дори името да съдържа „:“"
 
 #: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
-msgstr "използва посочената КОМАНДА вместо rmt"
+msgstr "ползване на посочената КОМАНДА вместо „rmt“"
 
 #: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
-msgstr "използва посочената КОМАНДА вместо rsh"
+msgstr "ползване на посочената КОМАНДА вместо „rsh“"
 
 #: src/tar.c:595
 msgid "specify drive and density"
-msgstr "посочва устройство и гъстота"
+msgstr "указване на устройство и гъстота"
 
 #: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
-msgstr "създава/извежда/извлича многотомен архив"
+msgstr "работа с многотомен архив"
 
 #: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
-msgstr "смяна на лентата след запис на 1024 x N байта"
+msgstr "смяна на лентата след запис на 1024 × N байта"
 
 #: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
-msgstr "изпълнява скрипт в края на всяка лента (влече -M)"
+msgstr "изпълнение на скрипт в края на всяка лента (включва и опцията „-M“)"
 
 #: src/tar.c:616
 msgid "use/update the volume number in FILE"
-msgstr "ползва от и обновява във ФАЙЛ номера на тома"
+msgstr "ползване и обновяване на номер на тома от ФАЙЛ"
 
 #: src/tar.c:621
 msgid "Device blocking:"
-msgstr "Блокуване на устройството:"
+msgstr "Блокове на устройството:"
 
 #: src/tar.c:623
 msgid "BLOCKS"
@@ -2023,31 +2068,31 @@ msgstr "БЛОКОВЕ"
 
 #: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
-msgstr "БЛОКОВЕ x 512 байта в секунда"
+msgstr "БЛОКОВЕ × 512 байта в секунда"
 
 #: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
-msgstr "прави N-байтови записи, кратно на 512"
+msgstr "N-байтови записи, трябва да е кратно на 512"
 
 #: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr "пренебрегва блоковете от нули и продължава"
+msgstr "прескачане на блоковете от нули (означава EOF)"
 
 #: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
-msgstr "преформира при четене блоковете (канали 4.2BSD)"
+msgstr "преразделяне по блокове при четене (при канали в 4.2BSD)"
 
 #: src/tar.c:635
 msgid "Archive format selection:"
-msgstr "Избор на архивен формат:"
+msgstr "Формат на архива:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
 #: src/tar.c:638
 msgid "create archive of the given format"
-msgstr "създава архив с посочения формат"
+msgstr "създаване на архив с посочения ФОРМАТ"
 
 #: src/tar.c:640
 msgid "FORMAT is one of the following:"
@@ -2055,652 +2100,646 @@ msgstr "ФОРМАТ е някой от следните:"
 
 #: src/tar.c:641
 msgid "old V7 tar format"
-msgstr "стар формат tar, V7"
+msgstr "стар формат „tar“, V7"
 
 #: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
-msgstr "формат на ГНУ при tar <= 1.12"
+msgstr "формат на ГНУ при „tar“ ≤ 1.12"
 
 #: src/tar.c:646
 msgid "GNU tar 1.13.x format"
-msgstr "формат на версия 1.13.x на tar на ГНУ"
+msgstr "формат на версия 1.13.x на „tar“ на ГНУ"
 
 #: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
-msgstr "формат POSIX 1003.1-1988 (ustar)"
+msgstr "формат POSIX 1003.1-1988 („ustar“)"
 
 #: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
-msgstr "формат POSIX 1003.1-2001 (pax)"
+msgstr "формат POSIX 1003.1-2001 („pax“)"
 
 #: src/tar.c:651
 msgid "same as pax"
-msgstr "същото като pax"
+msgstr "същото като „pax“"
 
 #: src/tar.c:654
 msgid "same as --format=v7"
-msgstr "същото като --format=v7"
+msgstr "същото като „--format=v7“"
 
 #: src/tar.c:657
 msgid "same as --format=posix"
-msgstr "същото като --format=posix"
+msgstr "същото като „--format=posix“"
 
 #: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr "ключдума[[:]=стойност][,ключдума[[:]=стойност]]..."
+msgstr "КЛЮЧ[[:]=СТОЙНОСТ][,КЛЮЧ[[:]=СТОЙНОСТ]]…"
 
 #: src/tar.c:659
 msgid "control pax keywords"
-msgstr "управляващи ключови думи за pax"
+msgstr "управляващи КЛЮЧове за „pax“"
 
 #: src/tar.c:660
 msgid "TEXT"
-msgstr "ТЕКСТ"
+msgstr "ИМЕ_ИЛИ_ШАБЛОН"
 
 #: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
-"създава архив с име на том ТЕКСТ; при извеждане или извличане сравнява името "
-"на тома с ТЕКСТ"
+"създаване на архив с такова ИМЕ, а при извеждане или извличане името на тома "
+"се сравнява с този ШАБЛОН"
 
 #: src/tar.c:666
-#, fuzzy
 msgid "Compression options:"
-msgstr "Противоречащи си опции за компресиране"
+msgstr "Опции за компресиране:"
 
 #: src/tar.c:668
-#, fuzzy
 msgid "use archive suffix to determine the compression program"
-msgstr "Не може да се пише към компресиращата програма"
+msgstr "определяне на компресиращата програма според суфикса на архива"
 
 #: src/tar.c:670
-#, fuzzy
 msgid "do not use archive suffix to determine the compression program"
-msgstr "Не може да се пише към компресиращата програма"
+msgstr "без определяне на компресиращата програма според суфикса на архива"
 
 #: src/tar.c:672
 msgid "PROG"
-msgstr "ПРОГ"
+msgstr "ПРОГРАМА"
 
 #: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
-msgstr "прекарва архива през ПРОГ (трябва да приема -d)"
+msgstr "прекарва архива през ПРОГРАМАта (тя трябва да приема опция „-d“)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Избор на локален файл:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
-msgstr "работи в рамките на локалната файлова система"
+msgstr "работа в рамките на локалната файлова система"
 
-#: src/tar.c:693
-#, fuzzy
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
-msgstr "не маха „/“ в началото на файлови имена"
+msgstr "оставяне на „/“ в началото на имена на файлове"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
-msgstr "следва симв. връзки; архивира сочените файлове"
+msgstr "следване на символните връзки и архивиране на сочените файлове"
 
-#: src/tar.c:697
-#, fuzzy
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
-msgstr "следва симв. връзки; архивира сочените файлове"
+msgstr "следване на твърдите връзки и архивиране на сочените файлове"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
-msgstr "ЧЛЕН-ИМЕ"
+msgstr "ИМЕ_НА_ЧЛЕН"
 
-#: src/tar.c:699
-#, fuzzy
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "започва от файл с име ЧЛЕН-ИМЕ в архива"
+msgstr "започване от обекта с това ИМЕ_НА_ЧЛЕН при четене на архива"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
-msgstr "съхранява само файлове, по-нови от ДАТА-ИЛИ-ФАЙЛ"
+msgstr "съхраняване само на файлове по-нови от ДАТА_ИЛИ_ФАЙЛ"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
-msgstr "сравнява времето само ако данните са променени"
+msgstr "сравняване на времето, само ако данните са променени"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
-msgstr "МЕТОД"
+msgstr "НОМЕРИРАНЕ"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
-msgstr "резервно копира съществуващи файлове с МЕТОД"
+msgstr "резервно копие с това НОМЕРИРАНЕ преди изтриване"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "НИЗ"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
-"резервно копира преди да трие, използвайки НИЗ вместо обичайния суфикс („~“, "
-"освен ако не е бил сменен с променливата от обкръжението "
-"SIMPLE_BACKUP_SUFFIX)"
+"резервно копие пред изтриване, като се ползва този НИЗ вместо обичайния "
+"суфикс („~“, освен ако не е бил сменен с променливата от обкръжението "
+"„SIMPLE_BACKUP_SUFFIX“)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
-msgstr "Промени на файловите имена:"
+msgstr "Промѐни на файловите имена:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
-msgstr "при извличане маха N начални каталози от файловите пътеки"
+msgstr "махане на N на брой директории от началото на пътищата при извличане"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "ИЗРАЗ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
-msgstr ""
-"преобразува файловите имена, използвайки посочения ИЗРАЗ за замяна на sed"
+msgstr "преобразуване на имената на файловете с този ИЗРАЗ за замяна на „sed“"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Извеждане на информация:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
-msgstr "подробно изрежда обработените файлове"
+msgstr "подробно изреждане на обработените файлове"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
-msgstr ""
+msgstr "КЛЮЧ"
 
-#: src/tar.c:729
-#, fuzzy
+#: src/tar.c:730
 msgid "warning control"
-msgstr "Регулиране заместването на файлове:"
+msgstr "управление на предупрежденията"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
-msgstr "извежда напредъка след всеки N-ти запис (подразбира се 10)"
+msgstr "извеждане на напредъка след всеки N-ти запис (стандартно е 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
-msgstr ""
+msgstr "ДЕЙСТВИЕ"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "изпълнение на ДЕЙСТВИЕ при всяка контролна точка"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
-msgstr "съобщава, ако не всички твърди връзки са включени"
+msgstr "предупреждение, ако не всички твърди връзки са включени в архива"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
 "SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also "
 "accepted"
 msgstr ""
-"извежда общия брой байтове след обработването на архива; с аргумент - "
-"извежда текущите байтове при получаване на СИГНАЛ.  Допустими СИГНАЛи са "
-"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2; имената без SIG също са позволени"
+"отпечатване на общия брой байтове след обработването на архива, ако има "
+"аргумент, той се тълкува като име на сигнал, а извеждането на информацията "
+"става при получаването му.  Допустими СИГНАЛи са „SIGHUP“, „SIGQUIT“, "
+"„SIGINT“, „SIGUSR1“ и „SIGUSR2“, имената без „SIG“ също са позволени"
 
-#: src/tar.c:744
-#, fuzzy
+#: src/tar.c:745
 msgid "print file modification times in UTC"
-msgstr "извежда времената по Гринуич"
+msgstr "извеждане на времената в UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
-msgstr ""
+msgstr "извеждане на времената с пълна точност"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
-msgstr "изпраща подробния изход във ФАЙЛ"
+msgstr "изпращане на подробния изход във ФАЙЛ"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
-msgstr "показва номера на блок в архива с всяко съобщение"
+msgstr "показване на номера на блок в архива с всяко съобщение"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
-msgstr "изисква потвърждение за всяко действие"
+msgstr "изискване на потвърждение за всяко действие"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
-msgstr "показва подразбираното от tar"
+msgstr "извеждане на стандартните стойности на „tar“"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
+"извеждане на диапазоните за полетата на файла за състоянието (snapshot)"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
-"при извеждане или извличане изрежда всеки каталог, който се пропуска по "
-"някаква причина"
+"отпечатване на всяка директория, която се пропуска по някаква причина при "
+"извеждане или извличане"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
-msgstr "показва преобразуваните файлови имена в архива"
+msgstr "извеждане на преобразуваните файлови имена в архива"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "НАЧИН"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
-msgstr ""
-"начин за цитиране на специални знаци; вж. по-долу за стойностите на НАЧИН"
+msgstr "НАЧИН за цитиране на специални знаци, различните видове са по-долу"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
-msgstr "работи и със знаците от НИЗ като със специални"
+msgstr "работа със знаците и от НИЗа като специални"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
-msgstr "не работи със знаците от НИЗ като със специални"
+msgstr "работа със знаците от НИЗа като обикновени"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Опции за съвместимост:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
-"при създаване е същото като --old-archive; при извличане е същото като --no-"
-"same-owner"
+"при създаване е същото като „--old-archive“, а при извличане е същото като "
+"„--no-same-owner“"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Други опции:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
-msgstr "забранява някои потенциално опасни опции"
+msgstr "изключване на някои потенциално опасни опции"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
-#, fuzzy, c-format
+#: src/tar.c:846
+#, c-format
 msgid "'%s' cannot be used with '%s'"
-msgstr "%s: Не може да се отиде на отместване %s във файла"
+msgstr "опциите „%s“ и „%s“ са несъвместими"
 
-#: src/tar.c:933
-#, fuzzy
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
-msgstr "Не може да се използва повече от една опция „-Acdtrux“"
+msgstr ""
+"Не може да се използва повече от една опция „-Acdtrux“, „--delete“ или „--"
+"test-label“"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Противоречащи си опции за компресиране"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
-msgstr "Непознато име на сигнал: %s"
+msgstr "Непознато име на сигнал: „%s“"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
-msgstr "Не е открит еталлонният файл за дата"
+msgstr "Не е открит еталонният файл за дата"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
-msgstr "Използва се %s вместо непознатия файлов формат за дата %s"
+msgstr "Използва се „%s“ вместо непознатия файлов формат за дата „%s„“"
 
-#: src/tar.c:1065
-#, fuzzy, c-format
+#: src/tar.c:1067
+#, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr "Опция %s: Датата „%s“ се разглежда като %s"
+msgstr "Опция „%s“: датата „%s“ се тълкува като „%s“"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
-#, fuzzy, c-format
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
+#, c-format
 msgid "filter the archive through %s"
-msgstr "прекарва архива през gzip"
+msgstr "прекарване на архива през „%s“"
 
-#: src/tar.c:1137
-#, fuzzy
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
-msgstr "Правилни аргументи за опциите --quoting-style са:"
+msgstr "Допустими аргументи за опцията „--quoting-style“ са:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 "\n"
-"*Този* tar подразбира следното:\n"
+"•Този• tar подразбира следното:\n"
 
-#: src/tar.c:1253
-#, fuzzy
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
-msgstr "Неправилен собственик"
+msgstr "Неправилен идентификатор на собственик или група"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
-msgstr "Неправилен фактор за блокуване"
+msgstr "Неправилен коефициент за блоковете (от 512 байта) в запис"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Неправилна дължина на лента"
 
-#: src/tar.c:1481
-#, fuzzy
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
-msgstr "Грешен инкрементален файлов формат"
+msgstr "Неправилно ниво на инкрементален архив"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Повече от една ограничителна дата"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
-msgstr "Неправилна версия на формат разредени файлове"
+msgstr "Неправилна версия на форма̀та на рехавите файлове"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr "--atime-preserve='system' не се поддържа на тази платформа"
+msgstr "„--atime-preserve='system'“ не се поддържа на тази платформа"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
-msgstr "стойността на --checkpoint не е цяло число"
+msgstr "стойността на „--checkpoint“ не е цяло число"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "На опция е подаден неправилен режим"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Неправилно число"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Неправилен размер на запис"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Размерът на запис трябва да е кратен на %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Неправилен брой елементи"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
-msgstr "Позволява се само една опция --to-command"
+msgstr "Позволена е само една опция „--to-command“"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
-msgstr "Лошо образуван аргумент за гъстота: %s"
+msgstr "Неправилен аргумент за гъстота: %s"
 
-#: src/tar.c:2049
-#, fuzzy, c-format
+#: src/tar.c:2058
+#, c-format
 msgid "Unknown density: '%c'"
 msgstr "Непозната гъстота: „%c“"
 
-#: src/tar.c:2066
-#, fuzzy, c-format
+#: src/tar.c:2075
+#, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "Опциите „-[0-7][lmh]“ не се поддържат от *този* tar"
+msgstr "Опциите „-[0-7][lmh]“ не се поддържат от •този• tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
-msgstr ""
+msgstr "%s:%lu: местоположение на грешката"
 
-#: src/tar.c:2076
-#, fuzzy, c-format
+#: src/tar.c:2085
+#, c-format
 msgid "error parsing %s"
-msgstr "Грешка при анализа на число до „%s“"
+msgstr "грешка при анализа на „%s“"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
-msgstr "[ФАЙЛ]..."
+msgstr "[ФАЙЛ]…"
 
-#: src/tar.c:2181
-#, fuzzy, c-format
+#: src/tar.c:2190
+#, c-format
 msgid "non-option arguments in %s"
-msgstr "неправилен аргумент %s за %s"
+msgstr "аргументи, които не са опции, в „%s“"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
-msgstr ""
+msgstr "ОПЦИИТЕ_НА_TAR не може да се раздѐлят: %s"
 
-#: src/tar.c:2291
-#, fuzzy, c-format
+#: src/tar.c:2300
+#, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Старата опция „%c“ изисква аргумент."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
-msgstr "без списък файлове опцията --occurrence е безсмислена"
+msgstr "опцията „--occurrence“ е безсмислена без списък с файлове"
 
-#: src/tar.c:2390
-#, fuzzy
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Използването на много архивни файлове изисква опция „-M“"
 
-#: src/tar.c:2407
-#, fuzzy
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
-msgstr "без списък файлове опцията --occurrence е безсмислена"
+msgstr "опцията „--level“ е е безсмислена без опцията „--listed-incremental“"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
-msgstr[0] "%s: Етикетът на тома е твърде дълъг (не повече от %lu байт)"
-msgstr[1] "%s: Етикетът на тома е твърде дълъг (не повече от %lu байта)"
+msgstr[0] "%s: етикетът на тома е твърде дълъг (не повече от %lu байт)"
+msgstr[1] "%s: етикетът на тома е твърде дълъг (не повече от %lu байта)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Не може да се проверяват многотомни архиви"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Не може да се проверяват компресирани архиви"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Не може да се използват многотомни компресирани архиви"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Не може да се съединяват компресирани архиви"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
-msgstr ""
+msgstr "опцията „--clamp-mtime“ изисква задаване на дата с „--mtime“"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
-"опцията --pax-option може да се използва само при архиви във формат POSIX"
+"опцията „--pax-option“ може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2481
-#, fuzzy
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
-msgstr ""
-"опцията --pax-option може да се използва само при архиви във формат POSIX"
+msgstr "опцията „--acls“ може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2486
-#, fuzzy
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
-"опцията --pax-option може да се използва само при архиви във формат POSIX"
+"опцията „--selinux“ може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2491
-#, fuzzy
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
-"опцията --pax-option може да се използва само при архиви във формат POSIX"
+"опцията „--xattrs“ може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Името на най-горната директория не може да бъде определено.  Задайте го "
+"изрично с опцията „--one-top-level=ДИРЕКТОРИЯ“"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
-msgstr ""
+msgstr "Размерът на тома не може да по-малък от размера на записа"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
-msgstr "Страхлив отказ да се създава празен архив"
+msgstr "Отказ да се създаде празен архив"
 
-#: src/tar.c:2623
-#, fuzzy
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Опциите „-Aru“ са несъвместими с „-f -“"
 
-#: src/tar.c:2711
-#, fuzzy
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Трябва да посочите поне една от опциите „-Acdtrux“"
+msgstr ""
+"Трябва да посочите поне една от опциите „-Acdtrux“, „--delete“ или „--test-"
+"label“"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
-msgstr ""
+msgstr "Изход със статус за грешка поради предходни проблеми"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
-msgstr[0] "%s: Файлът намаля с %s байт"
-msgstr[1] "%s: Файлът намаля с %s байта"
+msgstr[0] "%s: файлът намаля с %s байт"
+msgstr[1] "%s: файлът намаля с %s байта"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Ключовата дума %s е непозната или все още не е реализирана"
 
-#: src/xheader.c:174
-#, fuzzy
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Записано е време извън допустимия диапазон"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
-msgstr "Образецът %s не може да се използва"
+msgstr "Шаблонът „%s“ не може да се използва"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ключовата дума %s не може да се отмени"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
-msgstr "Лошо формиран разширен заглавен запис: не е посочена дължина"
+msgstr "Неправилен разширен заглавен запис: не е посочена дължина"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Дължината %*s на разширен заглавен запис е извън допустимия диапазон"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
-msgstr "Лошо формиран разширен заглавен запис: липсва интервал след дължината"
+msgstr "Неправилен разширен заглавен запис: липсва интервал след дължината"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
-msgstr "Лошо формиран разширен заглавен запис: липсва знак за равенство"
+msgstr "Неправилен разширен заглавен запис: липсва знак за равенство"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
-msgstr "Лошо формиран разширен заглавен запис: липсва знак за нов ред"
+msgstr "Неправилен разширен заглавен запис: липсва знак за нов ред"
 
-#: src/xheader.c:741
-#, fuzzy, c-format
+#: src/xheader.c:759
+#, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
-"Пренебрегва се непознатата ключова дума „%s“ за разширен заглавен запис"
+"Непознатата ключова дума „%s“ за разширен заглавен запис се пренебрегва"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
-"Генерираната двойка <ключова дума, стойност> е твърде дълга (ключова дума="
-"%s, дължина=%s)"
+"Генерираната двойка <ключ, стойност> е твърде дълга (ключ=%s, дължина=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
-msgstr "Разширеният заглавен запис %s=%s е извън диапазона %s..%s"
+msgstr "Разширеният заглавен запис „%s=%s“ е извън диапазона [%s; %s]"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr "Неправилно формиран разширен заглавен запис: неправилен %s=%s"
+msgstr "Неправилен разширен заглавен запис: неправилен „%s=%s“"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
-msgstr "Неправилно формиран разширен заглавен запис: прекомерен %s=%s"
+msgstr "Неправилен разширен заглавен запис: прекомерен „%s=%s“"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
-"Лошо формиран разширен заглавен запис: неправилен %s; очаква се разделител %c"
+"Неправилен разширен заглавен запис: грешка при „%s“ — неочакван разделител "
+"„%c“"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
-"Лошо формиран разширен заглавен запис: неправилен %s; нечетен брой стойности"
+"Неправилен разширен заглавен запис: грешка при „%s“ — нечетен брой стойности"
 
-#: src/checkpoint.c:114
-#, fuzzy, c-format
+#: src/checkpoint.c:133
+#, c-format
 msgid "%s: not a valid timeout"
-msgstr "%s: Неправилна група"
+msgstr "%s: неправилен краен срок"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: непознато действие при контролна точка"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
-msgstr ""
+msgstr "запис"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
-msgstr ""
+msgstr "четене"
 
 #. TRANSLATORS: This is a "checkpoint of write operation",
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Контролна точка при запис %u"
@@ -2709,252 +2748,255 @@ msgstr "Контролна точка при запис %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Контролна точка при четене %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
-"genfile борави с файловете с данни за тестовия пакет GNU paxutils.\n"
-"ОПЦИИТЕ са:\n"
+"„genfile“ борави с файловете с данни за тестовия пакет GNU paxutils.\n"
+"ОПЦИите са:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Опции за създаването на файл:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "РАЗМЕР"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
-msgstr "Създава файл с посочения РАЗМЕР"
+msgstr "Създаване на файл с посочения РАЗМЕР"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
-msgstr "Запис във файл ИМЕ вместо на стандартния изход"
+msgstr "Запис във файл с това ИМЕ вместо на стандартния изход"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
-msgstr "Чете файловите имена от ФАЙЛ"
+msgstr "Четене на файловите имена от ФАЙЛ"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
-msgstr "-T чете имена, завършващи с нулев байт"
+msgstr "„-T“ — четене на имена, завършващи с нулев байт"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
-"Попълва файла с посочения ОБРАЗЕЦ. ОБРАЗЕЦ може да бъде „default“ или „zeros“"
+"Попълва файла с посочения ОБРАЗЕЦ, който е или „default“ (стандартно) или "
+"„zeros“ (нули)"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
-msgstr "Размер на блок за разреден файл"
+msgstr "Размер на блок за рехав файл"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
-"Генерира разреден файл. Останалата част от командния ред дава карта на файла."
+"Генериране на рехав файл.  Останалата част от командния ред дава карта на "
+"файла."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
-msgstr ""
+msgstr "ОТМЕСТВАНЕ"
 
-#: tests/genfile.c:149
-#, fuzzy
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
-msgstr "след записа опитва да провери архива"
+msgstr "Позициониране при зададеното ОТМЕСТВАНЕ преди запис на данни"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
-msgstr ""
+msgstr "Без извеждане на диагностичните съобщения"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Опции за файлови статистики:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
-"Извежда съдържанието на структурата stat за всеки файл. По подразбиране "
-"ФОРМАТ е: "
+"Извеждане съдържанието на структурата „stat“ за всеки файл. По подразбиране "
+"ФОРМАТът е: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
-msgstr "Опции за синхронизирано изпълнение:"
+msgstr "Опции за синхронно изпълнение:"
 
-#: tests/genfile.c:168
-#, fuzzy
-msgid "OPTION"
-msgstr " [ОПЦИЯ...]"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 #, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
-"Изпълнява посочената КОМАНДА. Полезно с --checkpoint и някоя от --cut, --"
-"append, --touch"
+"Изпълняване на посочените АРГУМЕНТИ.  Полезно с опцията „--checkpoint“ и "
+"някоя от „--cut“, „--append“, „--touch“"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
-"Изпълнява посоченото действие (вж. по-долу) до достигането на контролна "
+"Изпълняване на посоченото действие (вж. по-долу) до достигането на контролна "
 "точка N"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
-msgstr "Посочва дата за следващата опция --touch"
+msgstr "Посочване на дата за следващата опция „--touch“"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
-msgstr "Извежда изпълнените контролни точки и кода на завършване на КОМАНДА"
+msgstr ""
+"Извеждане на изпълнените контролни точки и кода на завършване на КОМАНДА"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
-"Синхронизирано изпълнение на действията. Те се изпълняват когато се достигне "
-"контролната точка с номер, посочен с --checkpoint."
+"Синхронно изпълнение на действията.  Те се изпълняват когато се достигне "
+"контролната точка с номер, посочен с „--checkpoint“."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
-"Отсича ФАЙЛ до размера, определен с предхождаща опция --length (подразбира "
-"се 0)"
+"Отсичане на ФАЙЛа до размера, определен с предходна опция „--"
+"length“ (стандартно е 0)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
-"Добавя РАЗМЕР байтове към ФАЙЛ. РАЗМЕРът се определя от предхождаща опция --"
-"length."
+"Добавяне на този РАЗМЕР байтове към ФАЙЛ.  РАЗМЕРът се определя от предходна "
+"опция „--length“."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
-msgstr "Обновява времето на достъп и промяна на FILE"
+msgstr "Обновяване на времето на достъп и промяна на ФАЙЛа"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
-msgstr "Изпълнява КОМАНДА"
+msgstr "Изпълняване на КОМАНДА"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Изтриване на ФАЙЛ"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Неправилен размер: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Номер извън допустимия диапазон: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Отрицателен размер: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
-msgstr "не успя stat(%s)"
+msgstr "неуспешно изпълнение на stat(%s)"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
-msgstr ""
+msgstr "заявената дължина на файл е %lu, а действителната е %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
-msgstr ""
+msgstr "създаденият файл не е рехав"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Грешка при анализа на число до „%s“"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Непознат формат за дата"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
-msgstr "[АРГУМ...]"
+msgstr "[АРГУМЕНТ…]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
-msgstr "Не може да се отвори „%s“"
+msgstr "„%s“ не може да се отвори"
 
-#: tests/genfile.c:448
-#, fuzzy
+#: tests/genfile.c:439
 msgid "cannot seek"
-msgstr "Не може да се изпълни %s"
+msgstr "не може да се търси"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "името на файла съдържа нулев байт"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
-"не може да се създават разредени файлове на стандартния изход, използвайте "
-"опцията --file"
+"рехави файлове не може да се създават на стандартния изход, използвайте "
+"опцията „--file“"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "неправилна маска (до „%s“)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Непознато поле „%s“"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "не може да се смени времето на „%s“"
+msgstr "времето не може да се смени на „%s“"
 
-#: tests/genfile.c:765
-#, fuzzy, c-format
+#: tests/genfile.c:756
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "Не може да се отвори „%s“"
+msgstr "„%s“ не може да се отсече с „truncate“"
 
-#: tests/genfile.c:774
-#, fuzzy, c-format
+#: tests/genfile.c:765
+#, c-format
 msgid "command failed: %s"
-msgstr "командата %s не успя"
+msgstr "командата „%s“ не успя"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "не може да се смени времето на „%s“"
+msgstr "не може да се получи информация със „stat“ за „%s“"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "не може да се смени времето на „%s“"
+msgstr "директорията „%s“ не може да се изтрие"
 
-#: tests/genfile.c:788
-#, fuzzy, c-format
+#: tests/genfile.c:779
+#, c-format
 msgid "cannot unlink `%s'"
-msgstr "Не може да се отвори „%s“"
+msgstr "„%s“ не може да се изтрие"
 
 #: tests/genfile.c:918
 #, c-format
@@ -2964,7 +3006,7 @@ msgstr "Командата завърши успешно\n"
 #: tests/genfile.c:920
 #, c-format
 msgid "Command failed with status %d\n"
-msgstr "Командата завърши с код %d\n"
+msgstr "Командата завърши неуспешно с код %d\n"
 
 #: tests/genfile.c:924
 #, c-format
@@ -2979,7 +3021,7 @@ msgstr "Командата бе спряна със сигнал %d\n"
 #: tests/genfile.c:929
 #, c-format
 msgid "Command dumped core\n"
-msgstr "Командата генерира core\n"
+msgstr "Командата генерира „core“\n"
 
 #: tests/genfile.c:932
 #, c-format
@@ -2989,235 +3031,7 @@ msgstr "Командата бе прекратена\n"
 #: tests/genfile.c:964
 #, c-format
 msgid "--stat requires file names"
-msgstr "--stat изисква файлови имена"
-
-#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-#~ msgstr "%.*s: параметърът ARGP_HELP_FMT трябва да бъде положителен"
-
-#~ msgid "%s: option `--%s' doesn't allow an argument\n"
-#~ msgstr "%s: опцията „--%s“ не допуска аргумент\n"
-
-#~ msgid "%s: unrecognized option `--%s'\n"
-#~ msgstr "%s: непозната опция „--%s“\n"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: неправилна опция -- %c\n"
-
-#~ msgid "%s: option `-W %s' is ambiguous\n"
-#~ msgstr "%s: опцията „-W %s“ е двусмислена\n"
-
-#~ msgid "%s: option `-W %s' doesn't allow an argument\n"
-#~ msgstr "%s: опцията „-W %s“ не допуска аргумент\n"
-
-#~ msgid "block size"
-#~ msgstr "блоковият размер"
-
-#~ msgid "%s: Read error at byte %s, reading %lu byte"
-#~ msgid_plural "%s: Read error at byte %s, reading %lu bytes"
-#~ msgstr[0] "%s: Грешка при четене при байт %s, чете се %lu байт"
-#~ msgstr[1] "%s: Грешка при четене при байт %s, четат се %lu байта"
-
-#~ msgid "Input string too long"
-#~ msgstr "Входният низ е твърде дълъг"
-
-#~ msgid "Number syntax error"
-#~ msgstr "Синтактична грешка в число"
-
-#~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd: Не може да се задели място за буфер\n"
-
-#~ msgid "Cannot allocate buffer space"
-#~ msgstr "Не може да се задели място за буфер"
-
-#~ msgid "Try `%s --help' for more information.\n"
-#~ msgstr "Използвайте „%s --help“ за повече информация.\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]\n"
-#~ "Manipulate a tape drive, accepting commands from a remote process.\n"
-#~ "\n"
-#~ "  --version  Output version info.\n"
-#~ "  --help     Output this help.\n"
-#~ msgstr ""
-#~ "Използване: %s [ОПЦИЯ]\n"
-#~ "Управлява лентово устройство, приемайки команди от отделен процес.\n"
-#~ "\n"
-#~ "  --version  Извежда информация за версията.\n"
-#~ "  --help     Извежда тази справка.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Съобщавайте за програмни грешки на <%s>.\n"
-
-#~ msgid "Seek offset error"
-#~ msgstr "Грешка при позициониране"
-
-#~ msgid "Premature end of file"
-#~ msgstr "Преждевременен край на файла"
-
-#~ msgid "Reading %s\n"
-#~ msgstr "Чете се %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Грешката е непоправима: край на изпълнението"
-
-#~ msgid "Field too long while reading snapshot file"
-#~ msgstr "Твърде дълго поле при четене на snapshot-файл"
-
-#~ msgid "Read error in snapshot file"
-#~ msgstr "Грешка при четене в snapshot-файл"
-
-#~ msgid "Unexpected field value in snapshot file"
-#~ msgstr "Неочаквана стойност на поле в snapshot-файл"
-
-#~ msgid "--Mangled file names--\n"
-#~ msgstr "--Съкратени имена на файлове--\n"
-
-#~ msgid "Unexpected EOF in mangled names"
-#~ msgstr "Неочакван край EOF в съкратени имена"
-
-#~ msgid "Renamed %s to %s"
-#~ msgstr "Преиманувано %s на %s"
-
-#~ msgid "%s: Cannot symlink to %s"
-#~ msgstr "%s: Невъзможна символна връзка към %s"
-
-#~ msgid "Symlinked %s to %s"
-#~ msgstr "Символна връзка %s към %s"
-
-#~ msgid "Unknown demangling command %s"
-#~ msgstr "Непозната команда за оправяне на съкратени имена %s"
-
-#~ msgid "suppress this warning."
-#~ msgstr "или --no-wildcards, за да не се извежда това предупреждение."
-
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "файловете за извличане са сортирани според архива"
-
-#~ msgid "same as both -p and -s"
-#~ msgstr "същото като едновременно -p и -s"
-
-#~ msgid "filter the archive through bzip2"
-#~ msgstr "прекарва архива през bzip2"
-
-#~ msgid "filter the archive through compress"
-#~ msgstr "прекарва архива през compress"
-
-#~ msgid "[.]NUMBER"
-#~ msgstr "[.]N"
-
-#~ msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
-#~ msgstr ""
-#~ "Внимание: опцията -I не се поддържа. Може би имате предвид -j или -T?"
-
-#~ msgid "--occurrence cannot be used in the requested operation mode"
-#~ msgstr "не може да се използва --occurrence при пожелания начин на работа"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Не може да се съчетават --listed-incremental с --newer"
-
-#~ msgid "Error exit delayed from previous errors"
-#~ msgstr "Изходът с грешка бе забавен поради предхождащи грешки"
-
-#~ msgid "Extended header length is out of allowed range"
-#~ msgstr "Дължината на разширен заглавен запис е извън допустимия диапазон"
-
-#~ msgid "Modification time (seconds) out of range"
-#~ msgstr "Времето на промяна (секунди) е извън допустимия диапазон"
-
-#~ msgid "Modification time (nanoseconds) out of range"
-#~ msgstr "Времето на промяна (наносекунди) е извън допустимия диапазон"
-
-#~ msgid "Device number out of range"
-#~ msgstr "Номерът на устройство е извън допустимия диапазон"
-
-#~ msgid "Error reading time stamp"
-#~ msgstr "Грешка при четене на записаното време"
-
-#~ msgid "same as -N"
-#~ msgstr "същото като -N"
-
-#~ msgid ""
-#~ "creating multi-volume archives in posix format requires using --tape-"
-#~ "length (-L) option"
-#~ msgstr ""
-#~ "създаването на многотомен архив във формат POSIX изисква опция --tape-"
-#~ "length (-L)"
-
-#~ msgid "Cannot close file #%d"
-#~ msgstr "Не може да се затвори файл #%d"
-
-#~ msgid "Cannot close descriptor %d"
-#~ msgstr "Не може да се затвори дескриптор %d"
-
-#~ msgid "Cannot properly duplicate %s"
-#~ msgstr "Не може да се клонира правилно %s"
-
-#~ msgid "Cannot use compressed or remote archives"
-#~ msgstr "Не може да се използват компресирани или отдалечени архиви"
-
-#~ msgid "Cannot open pipe"
-#~ msgstr "Не може да се отвори именован канал"
-
-#~ msgid "Cannot fork"
-#~ msgstr "Не може да се породи процес"
-
-#~ msgid "tar (child)"
-#~ msgstr "tar (потомък)"
-
-#~ msgid "(child) Pipe to stdin"
-#~ msgstr "(потомък) Именован канал към стандартен изход"
-
-#~ msgid "Cannot open archive %s"
-#~ msgstr "Не може да се отвори архив %s"
-
-#~ msgid "Archive to stdout"
-#~ msgstr "Архив на стандартния изход"
-
-#~ msgid "Child cannot fork"
-#~ msgstr "Потомъкът не може да породи процес"
-
-#~ msgid "((child)) Pipe to stdout"
-#~ msgstr "((потомък)) Именован канал към стандартния изход"
-
-#~ msgid "tar (grandchild)"
-#~ msgstr "tar (подпотомък)"
-
-#~ msgid "(grandchild) Pipe to stdin"
-#~ msgstr "(подпотомък) Именован канал към стандартния изход"
-
-#~ msgid "Cannot read from compression program"
-#~ msgstr "Не може да се чете от компресиращата програма"
-
-#~ msgid "(child) Pipe to stdout"
-#~ msgstr "(потомък) Именован канал към стандартния изход"
-
-#~ msgid "((child)) Pipe to stdin"
-#~ msgstr "((потомък)) Именован канал към стандартния изход"
-
-#~ msgid "(grandchild) Pipe to stdout"
-#~ msgstr "(подпотомък) Именован канал към стандартния изход"
-
-#~ msgid "Write to compression program short %d bytes"
-#~ msgstr "Записът към компресиращата програма е по-къс с %d байта"
-
-#~ msgid "WARNING: No volume header"
-#~ msgstr "ВНИМАНИЕ: Томът е без заглавна част"
-
-#~ msgid "Only read %d bytes from archive %s"
-#~ msgstr "Прочетени са само %d байта от архив %s"
-
-#~ msgid "WARNING: Cannot close %s (%d, %d)"
-#~ msgstr "ВНИМАНИЕ: Не може да се затвори %s (%d, %d)"
-
-#~ msgid "Child died with signal %d%s"
-#~ msgstr "Потомъкът е прекратен чрез сигнал %d%s"
-
-#~ msgid "Cannot fork!"
-#~ msgstr "Не може да се породи процес!"
+msgstr "„--stat“ изисква файлови имена"
 
-#~ msgid "Cannot exec a shell %s"
-#~ msgstr "Не може да се изпълни командната обвивка %s"
+#~ msgid "OPTION"
+#~ msgstr "ОПЦИЯ"
diff --git a/po/ca.gmo b/po/ca.gmo
index 7614f19eb94c3f312d71400a15da29da027a7d98..82ad155657aef4c23149eace43990d31bbec1b41 100644
GIT binary patch
delta 14840
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
LyEi|-psxY|i?Q)>

delta 12835
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

diff --git a/po/ca.po b/po/ca.po
index be1d7fcc..e3a3133b 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the tar package.
 # Àngel Mompó <mecatxis@gmail.com>, 2010, 2011.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.29\n"
+"Project-Id-Version: tar-1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-10-23 18:26+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-22 11:37+0100\n"
 "Last-Translator: Angel Mompo <mecatxis@mecatxis.cat>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
 "Language: ca\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=n !=1;\n"
-"X-Generator: Poedit 1.8.4\n"
+"X-Generator: Poedit 2.0.4\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -97,7 +97,7 @@ msgid "give a short usage message"
 msgstr "dóna un missatge curt sobre utilització"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOM"
 
@@ -135,29 +135,29 @@ msgid "write error"
 msgstr "error d'escriptura"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: l'opció «%s» és ambigua\n"
+msgstr "%s: l'opció «%s%s» és ambigua\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: l'opció «%s» és ambigua. Possibilitats:"
+msgstr "%s: l'opció «%s%s» és ambigua. Possibilitats:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: opció no reconeguda «%c%s»\n"
+msgstr "%s: opció no reconeguda «%s%s»\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: l'opció «%c%s» no permet cap paràmetre\n"
+msgstr "%s: l'opció «%s%s» no permet cap paràmetre\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: l'opció «--%s» necessita un paràmetre\n"
+msgstr "%s: l'opció «%s%s» necessita un paràmetre\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -232,12 +232,12 @@ msgstr "^[sS]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Empaquetat per %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Empaquetat per %s\n"
@@ -245,12 +245,11 @@ msgstr "Empaquetat per %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -260,7 +259,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Llicència GPLV3+: GNU GPL versió 3 o posterior <http://gnu.org/licenses/gpl."
+"Llicència GPLV3+: GNU GPL versió 3 o posterior <https://gnu.org/licenses/gpl."
 "html>\n"
 "Això és programari lliure: podeu modificar-lo i redistribuir-lo si voleu.\n"
 "No hi ha CAP GARANTIA, en la mesura que ho permeti la llei.\n"
@@ -397,15 +396,14 @@ msgid "%s home page: <%s>\n"
 msgstr "%s pàgina inicial <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "%s pàgina inicial: <http://www.gnu.org/software/%s/>\n"
+msgstr "%s pàgina d'inici: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Ajuda general per quan es fa servir programari de GNU: <http://www.gnu.org/"
+"Ajuda general per quan es fa servir programari de GNU: <https://www.gnu.org/"
 "gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
@@ -526,192 +524,192 @@ msgstr "No es poden redirigir els fitxers a un interpret d'ordres remot"
 msgid "Cannot execute remote shell"
 msgstr "No es pot executar un interpret d'ordres remot"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "La direcció de cerca està fora de rang"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "La direcció de cerca no és vàlida"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "L'òfset de cerca no és vàlid"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "L'òfset de cerca està fora de rang"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "La mida en bytes no és vàlida"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "La mida en bytes està fora de rang"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Final del fitxer prematur"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "El codi de l'operació no és vàlid"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "L'operació no és compatible"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Arguments inesperats"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Manipula una unitat de cinta, acceptant comandes d'un procés remot"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NÚMERO"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "estableix el nivell de depuració"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FITXER"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "estableix el nom del fitxer de sortida de la depuració"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "no es pot obrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "massa arguments"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Ordre escombraria"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "No sembla un arxiu tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Bytes totals llegits"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Bytes totals escrits"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Bytes totals esborrats"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(conducte)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "No es poden llegir continguts de l'arxiu des del terminal (falta l'opció -f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "No es poden escriure continguts de l'arxiu al terminal (falta l'opció -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "El valor de record_size no és vàlid"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "No s'ha donat el nom de l'arxiu"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "No es pot verificar l'arxiu stdin/stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "L'arxiu està comprimit. Feu servir l'opció %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "No es poden actualitzar els arxius comprimits"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Al principi de la cinta, se surt"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Massa errors, se surt"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Mida del registre = %lu bloc"
 msgstr[1] "Mida del registre = %lu blocs"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Bloc desalineat(byte %lu) a l'arxiu"
 msgstr[1] "Bloc desalineat(bytes %lu) a l'arxiu"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "No es pot tornar enrere al fitxer d'arxiu; potser no es pot llegir sense -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek no s'ha aturat als límits d'un registre "
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: conté un número de volum invàlid"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Desbordament del número de volum"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepareu el volum #%d per %s i premeu retorn: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Final del fitxer on s'esperava una resposta de l'usuari"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "AVÍS: L'arxiu és incomplet"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -723,66 +721,66 @@ msgstr ""
 " q            Interromp tar\n"
 " y            Continua l'operació\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Engendra un interpret d'ordres\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Mostra aquesta ajuda\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "No hi ha cap volum nou; se surt.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "No s'ha especificat cap nom de fitxer. Torneu-ho a provar.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Entrada invàlida. Tecleja ? per mostrar l'ajuda.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "L'ordre %s ha fallat"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s no continua a aquest volum"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s possiblement continua en aquest volum: la capçalera conté un nom truncat"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s té una mida equivocada (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Aquest volum és fora de la seqüència (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "L'arxiu no està etiquetat per coincidir amb %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "El Volum %s no coincideix amb %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -790,212 +788,212 @@ msgstr ""
 "%s: El nom del fitxer és massa llarg per ser desat en una capçalera "
 "multivolum GNU. S'ha truncat"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "l'escriptura no ha acabat al límit d'un bloc"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Només es pot llegir %lu de %lu byte"
 msgstr[1] "Només es poden llegir %lu de %lu bytes"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "El contingut no coincideix"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Final de l'arxiu inesperat"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "El tipus de fitxer no coincideix"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "El mode no coincideix"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "L'identificador d'usuari no coincideix"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "L'identificador de grup d'usuaris no coincideix"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "La data de modificació no coincideix"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "La mida no coincideix"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "No s'ha enllaçat amb %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "L'enllaç tou no coincideix"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "El número de dispositiu no coincideix"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verifiqueu "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: Tipus de fitxer «%c» desconegut. S'hi fa servir el diff com si es "
 "tractés d'un fitxer normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "L'arxiu conté noms de fitxers amb els prefixes inicials esborrats."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "L'arxiu conté noms de fitxers transformats."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Pot ser que la verificació no pugui trobar els fitxers originals."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "HA FALLAT LA VERIFICACIÓ: %d s'ha detectat una capçalera invàlida"
 msgstr[1] "HA FALLAT LA VERIFICACIÓ: %d s'han detectat capçaleres invàlides"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Un sol bloc zero a %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: conté una etiqueta de directori de memòria cau %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "el valor %s està fora del rang%s %s..%s; es substitueix per %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "el valor %s està fora del rang %s %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "S'estan generant les capçaleres octals negatives"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: el nom del fitxer és massa llarg (màx %d); no s'aboca"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: el nom del fitxer és massa llarg (no es pot dividir); no s'aboca"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: el nom de l'enllaç és massa llarg; no s'aboca"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: El fitxer s'encongeix %s byte; s'omple amb zero"
 msgstr[1] "%s: El fitxer s'encongeix %s bytes; s'omple amb zeros"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: el fitxer es troba a un sistema de fitxers diferent; no s'aboca"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "els continguts no s'aboquen"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipus de fitxer desconegut; el fitxer s'ignora"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Falten els enllaços a %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: el fitxer no ha canviat; no s'aboca"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: el fitxer és l'arxiu; no s'aboca"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "el directori no s'aboca"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: el fitxer ha canviat mentre es llegia"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: sòcol ignorat"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: porta ignorada"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Se salta fins a la propera capçalera"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "S'esborra la no-capçalera de l'arxiu"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: marca horària inversemblantment antiga %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: la marca horària %s pertany %s s al futur"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistència inesperada en crear el directori"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: se salta el fitxer existent"
@@ -1019,7 +1017,7 @@ msgstr "Es prova d'extreure els enllaços simbòlics com enllaços durs"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: No espot extreure -- el fitxer continua des d'un altre volum"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Nom de la capçalera inesperadament llarg"
 
@@ -1036,7 +1034,7 @@ msgstr "L'actual %s és igual d'antic o més nou"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: el nom del membre conté «..»"
 
 #: src/extract.c:1696
 #, c-format
@@ -1048,23 +1046,23 @@ msgstr "%s: No es pot fer la còpia de seguretat d'aquest fitxer"
 msgid "Cannot rename %s to %s"
 msgstr "No es pot canviar el nom de %s a %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: El directori ha canviat de nom a partir de %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: El directori és nou"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr ""
 "%s: el directori es troba en un sistema de fitxers diferent. No s'aboca"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: El directori ha canviat de nom"
@@ -1192,35 +1190,35 @@ msgstr "%s: S'elimina %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: No es pot esborrar"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: S'ometen"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloc %s: ** Bloc de NULs **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s: ** Final del Fitxer **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Capçalera amb blancs on hi hauria d'haver un valor numèric %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1228,163 +1226,162 @@ msgstr ""
 "complement a dos"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "El valor octal de l'arxiu %.*s està fora del rang %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "L'arxiu conté capçaleres amb base 64 que estan esdevenint obsoletes"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "La cadena de signatura %s amb base 64 de l'arxiu està fora del rang %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "El valor amb base 256 de l'arxiu està fora del rang %s "
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "L'arxiu conté %.*s on hi hauria d'haver un valor numèric de tipus %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "El valor %s de l'arxiu està fora del rang %s %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " enllaç cap a %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipus de fitxer desconegut %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Enllaç llarg--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nom Llarg--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Capçalera del volum--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua al byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Es crea el directori:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Es canvia el nom %s per %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: No es pot canviar el nom a %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Es torna a canviar el nom %s a %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: El fitxer s'ha esborrat abans de poder-lo llegir"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "procés descendent"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "canal d'intercomunicació"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Selecció de fitxer local:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "afegeix el FITXER a l'arxiu (útil si el nom comença per un guió)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIRECTORI"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "Canvia al directori DIRECTORI"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "obté els noms que cal extreure u crear del FITXER"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T llegeix els noms acabats en nul; inclou -verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "deshabilita l'efecte de l'opció --null prèvia"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "treu les cometes dels noms dels membres o dels fitxers d'entrada (per "
 "defecte)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 "no treguis les cometes dels noms dels dels membres o dels fitxers d'entrada "
 "(per defecte)"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T llegeix noms de fitxer verbatim (no permet opcions)"
+msgstr "-T llegeix noms de fitxer verbatim (no permet opcions ni escapada)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T tracta els noms de fitxer que comencen per guió com a opcions (per "
 "defecte)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATRÓ"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "exclou els fitxers que es donen com un PATRÓ"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "exclou els patrons que es llisten al FITXER"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1392,25 +1389,25 @@ msgstr ""
 "exclou el contingut dels directoris que continguin CACHEDIR.TAG, excepte el "
 "propi fitxer d'etiquetes"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "exclou tot el que estigui als directoris que continguin CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "exclou els directoris que continguin CACHEDIR.TAG "
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "exclou el contingut dels directoris que contenen el FITXER, excepte el "
 "FITXER mateix"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "si existeix, llegeix els patrons exclosos de cada directori del FITXER"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1418,120 +1415,124 @@ msgstr ""
 "si existeix, llegeix els patrons exclosos de cada directori i subdirectoris "
 "del FITXER"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "exclou tot el que hi hagi al directori que contingui el FITXER"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "exclou els directoris que continguin el FITXER"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "exclou els directoris del sistema de control de versions"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "llegeix els patrons exclosos dels fitxers d'ignorat VCS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "exclou els fitxers de còpia de seguretat i de blocat"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "incloure els subdirectoris (per defecte)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "no baixa automàticament als directoris"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "opcions de concordança de nom de fitxer (afecta tant als patrons de inclusió "
 "com als d'exclusió):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "comprova els patrons del començament del nom del fitxer"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "comprova els patrons després de qualsevol «/» (per defecte a les exclusions) "
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "ignora diferències majúscules/minúscules"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "comprova diferències majúscules/minúscules (per defecte)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "fa servir comodins (per defecte a les exclusions)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "concordància exacte a les cadenes"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "els comodins han de concordar amb «/» (per defecte a les exclusions)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "els comodins no concorden amb «/»"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"S'han fet servir les següents opcions després dels paràmetres no opcionals "
+"en la creació d'arxius o el mode d'actualització. Aquestes opcions són "
+"posicionals i només afecten als paràmetres que els segueixen. Ajusteu-les "
+"correctament."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s no té cap efecte"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s no té cap efecte"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s no té cap efecte"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "línia de comandes"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: la llista de fitxers demanada des de %s ja s'ha llegit des de %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "no es pot dividir la cadena «%s»:%s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: la lectura del nom del fitxer conté un caràcter nul"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 "Caràcters de patró de coincidència que es fan servir en noms de fitxers"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1539,48 +1540,48 @@ msgstr ""
 "Feu servir --wildcards per habilitar els patrons de coincidència, o --no-"
 "wildcars per eliminar aquest avís."
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: No s'ha trobat a l'arxiu"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: No s'ha trobat cap coincidència a l'arxiu"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "L'etiqueta de l'arxiu no coincideix"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "No podeu fer servir l'opció -C als llistats de fitxer amb --listed-"
 "incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Només podeu fer servit una opció -C amb --listed-incemental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Ambdues opcions «-%s» i «-%s» volen l'entrada estàndard"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Format de fitxer invàlid"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 "El format de l'arxiu és incompatible perquè requereix característiques de GNU"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1809,7 +1810,7 @@ msgstr "Selecciona la sortida del flux de dades:"
 msgid "extract files to standard output"
 msgstr "extreu els fitxers a la sortida estàndard"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "COMANDA"
 
@@ -1849,7 +1850,7 @@ msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 "fa servir FITXER per mapar els noms i GIDs dels propietaris dels fitxers"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATA-O-FITXER"
 
@@ -2065,7 +2066,7 @@ msgstr "refés els blocs mentre els llegeixes (per conductes de 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Selecció del format de l'arxiu: "
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2150,62 +2151,62 @@ msgstr "PROGRAMA"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtra mitjançant PROGRAMA (ha d'acceptar -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Selecció de fitxer local:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "queda't al sistema de fitxers local quan creïs l'arxiu"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "no treguis les «/» del començament dels noms dels fitxers"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "segueix els enllaços simbòlics; arxiva i aboca els fitxers als quals apunten"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "segueix els enllaços durs; arxiva i aboca els fitxers als quals es refereix"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NOM-DEL-MEMBRE"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "comença al membre NOM-DEL MEMBRE quan llegeixis l'arxiu"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "desa només els fitxers més nous que DATA-O-FITXER"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "compara la data i l'hora només quan les dades hagin canviat"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 "fes una còpia de seguretat abans d'esborrar, tria el CONTROL de versions"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "CADENA"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2213,62 +2214,62 @@ msgstr ""
 "fa una còpia de seguretat abans d'esborrar, substitueix el sufix usual («~» "
 "si no s'ha definit la variable d'entorn SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Transformacions del nom del fitxer:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "treu NÚMERO components de la capçalera dels noms dels fitxers quan extreu"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "EXPRESSIÓ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "fes servir l'EXPRESSIÓ de substitució sed per transformar els noms dels "
 "fitxers"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Sortida informativa:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "llista els fitxers processats detalladament"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "PARAULA CLAU"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "control d'avisos"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "mostra els missatges de progres cada NÚMERO registres (per defecte 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ACCIÓ"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "executa ACCIÓ a cada punt de comprovació"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "mostra un missatge si no s'aboquen tots els enllaços"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SENYAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2280,35 +2281,35 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. També s'accepta els noms sense "
 "el prefix SIG"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "mostra l'hora de modificació del fitxer en UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "Mostra l'hora del fitxer amb alta precisió"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "envia la sortida detallada al FITXER"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "mostra el número de bloc de dins l'arxiu a cada missatge"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "demana la confirmació per cada acció"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "mostra els valors per defecte de tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "mostra els intervals vàlids pels camps del fitxer instantània"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2316,33 +2317,33 @@ msgstr ""
 "quan es llisti o s'extregui, llista tots els directoris que no es "
 "corresponguin amb el criteri de cerca"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "mostra el nom del fitxer o de l'arxiu després de la transformació"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "ESTIL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "estableix el nom de l'estil de citació; vegeu més avall una llista de valors "
 "vàlids per ESTIL"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "més caràcters de cometes des de CADENA"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "deshabilita els caràcters de cometa de la CADENA"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Opcions de compatibilitat:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2350,62 +2351,62 @@ msgstr ""
 "quan es crea, el mateix que --old-archive; quan s'extreu, el mateix que --no-"
 "same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Altres opcions:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "desactiva l'ús de certes opcions potencialment perjudicials"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "«%s» no es pot fer servir amb «%s»"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
 "No podeu especificar més d'una opció «-Acdtrux», «--delete» o «--test-label»"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opcions de compressió conflictives"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nom del senyal desconegut: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "No s'ha trobat el fitxer de mostra de la data"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "S'està substituint %s pel format de data desconegut %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Opció %s: S'està tractant la data «%s» com a %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtra l'arxiu a mitjançant %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Les opcions vàlides per l'opció --quoting-style són:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2413,163 +2414,163 @@ msgstr ""
 "\n"
 "*Aquest* tar va per defecte en:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "L'ID del grup o del propietari no és vàlid"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Factor de blocs invàlid"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Longitud de la cinta invàlida"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "valor invàlid del nivell d'increment"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Més d'una data del llindar"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "valor de la versió de l'opció de dispersió invalid"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "No es permet l'ús de --atime-preserve=«system» en aquesta plataforma"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "El valor --checkpoint no és un enter"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Mode invàlid donat a les opcions"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Número invàlid"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Mida del registre invàlida"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "La mida del registre ha de ser múltiple de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Nombre d'elements invàlid"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Només es permet una opció --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argument de densitat mal format: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densitat desconeguda: «%c»"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Les opcions «-[0-7][lmh]» no són compatibles amb *aquest* tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: ubicació de l'error"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "error en analitzar %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FITXER]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "arguments sense opcions a %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "no es pot dividir TAR_OPCIONS:%s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "L'opció antiga «%c» necessita un argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence no té sentit sense una llista de fitxers"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Per a múltiples arxius de fitxers es necessita l'opció «-M»"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level no té sentit sense --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: l'etiqueta del volum és massa llarga (el limit és %lu byte)"
 msgstr[1] "%s: l'etiqueta del volum és massa llarga (el limit és %lu bytes)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "No es poden verificar els arxius multi-volum"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "No es poden verificar els arxius comprimits"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "No es poden utilitzar arxius comprimits multi-volum"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "No es poden concatenar arxius comprimits"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime necessita una data que s'especifica emprant --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option només es pot utilitzar en arxius POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls només es pot fer servir en arxius POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux només es pot utilitzar en arxius POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs només es pot utilitzar en arxius POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2577,81 +2578,90 @@ msgstr ""
 "No es pot deduir el nom del directori de dalt de tot. Establiu-lo "
 "explícitament amb l'opció --one-top-level=DIR"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "La llargada del volum no pot ser inferior que la mida del registre"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "S'està refusant covardament crear un arxiu buit"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Les opcions «-Aru» no són compatibles amb «-f -»"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Heu d'especificar una opció «-Acdtrux», «--delete» o «--test-label»"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Se surt amb estat de fallida degut a errors prèvis"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: El fitxer s'encongeix %s byte"
 msgstr[1] "%s: El fitxer s'encongeix %s bytes"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "La paraula clau %s és desconeguda o encara no s'ha implementat"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "La marca horària està fora del rang permés"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "No s'ha pogut utilitzar el patró %s "
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "No s'ha pogut sobreescriure la paraula clau %s"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Capçalera estesa mal formada: falta la longitud"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "La longitud de la capçalera estesa %*s està fora de rang"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Capçalera estesa mal formada: falta l'espai després de la longitud"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Capçalera estesa mal formada: falta el signe igual"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Capçalera estesa mal formada: falta el salt de línia"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "S'ignora la paraula clau desconeguda de la capçalera estesa «%s»"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2660,46 +2670,46 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "La capçalera estesa %s=%s està fora del rang %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Capçalera estesa mal formada: %s=%s invàlid"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Capçalera estesa mal formada: excedeix %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Capçalera estesa mal formada: %s invàlid, delimitador %c inesperat"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Capçalera estesa mal formada: %s invàlid: nombre de valors incorrecte"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: no és un temps d'espera vàlid"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: acció del punt de comprovació desconegut"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "escriu"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "llegeix"
 
@@ -2707,7 +2717,7 @@ msgstr "llegeix"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Punt de comprovació d'escriptura %u"
@@ -2716,12 +2726,12 @@ msgstr "Punt de comprovació d'escriptura %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Punt de comprovació de lectura %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2730,99 +2740,103 @@ msgstr ""
 "paxutils.\n"
 "Les OPCIONS són:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Opcions de creació de fitxers:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "MIDA"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Crea un fitxer de la MIDA indicada"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Escriu al fitxer amb NOM, en comptes de la sortida estàndard"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Llegeix els noms dels fitxers del FITXER"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T llegeix els noms acabats en nul"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Omple el fitxer amb el PATRÓ indicat. El PATRÓ és «per defecte» o «zeros»"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Mida d'un bloc per fitxer dispers"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Genera un fitxer dispers. La resta de la línia de comandes indica el mapa "
 "del fitxer"
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "ÒFSET"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Cerca l'òfset donat abans d'escriure les dades"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "S'han eliminat els missatges de diagnosi que no eren fatals"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Opcions de les estadístiques dels fitxers:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Mostra el contingut de l'estructura stat per cadascun dels fitxers indicats. "
 "El FORMAT per defecte és:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Opcions d'execució sincrónica:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPCIÓ"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Executa ARGS. Útil amb --checkpoint i i una entre --cut, --append, --touch, "
 "--unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Realitzar les accions donades (mirar avall) quan s'arrivi al punt de "
 "comprovació NÚMERO"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Defineix la data per a la següent opció --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Mostra els punts de comprovació executats i l'estat de sortida de la COMANDA"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2830,7 +2844,7 @@ msgstr ""
 "Accions d'execució sincrónica. Aquestes son executades quan s'arriba al "
 "númerode punts de comprovació donat per --checkpoint"
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2838,126 +2852,126 @@ msgstr ""
 "Talla el FITXER a la mida especificada amb l'opció --length prèvia (o 0, si "
 "no s'ha especificat)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Afegeix MIDA bytes al FITXER. MIDA s'ha especificat amb l'opció --length "
 "prèvia."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Actualitza les hores d'accés i modificació del FITXER"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Executa COMANDA"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Esborra FITXER"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Mida invàlida: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Número fora de l'abast permés: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Mida negativa: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "Ha fallat la petició d'stat(%s)"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "mida del fitxer sol·licitada %lu, actual %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "el fitxer creat no és dispers"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Error en analitzar el número prop de «%s»"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Format de data desconegut"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "no es pot obrir «%s»"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "no es pot cercar"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "el nom del fitxer conté un caràcter nul"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "no es poden generar fitxers dispersos a la sortida estàndard, empreu l'opció "
 "--file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "màscara incorrecta (prop de «%s»)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Camp desconegut «%s»"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "no es pot definir el temps de «%s»"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "no es pot truncar «%s»"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "ha fallat la comanda: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "no es pot truncar «%s»"
+msgstr "no es pot fer estadístiques de «%s»"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "no es pot definir el temps de «%s»"
+msgstr "no es pot esborrar el directori «%s»"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "no es pot desfer l'enllaç «%s»"
@@ -2997,6 +3011,9 @@ msgstr "Comanda finalitzada\n"
 msgid "--stat requires file names"
 msgstr "--stat requereix noms de fitxers"
 
+#~ msgid "OPTION"
+#~ msgstr "OPCIÓ"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: El paràmetre ARGP_HELP_FMT ha de ser positiu"
 
diff --git a/po/cs.gmo b/po/cs.gmo
index 61ab3410458b403e9fb7b20b00bf8de00db3a3c0..125828d3f2676af18dfeec83e169f7771d39a65b 100644
GIT binary patch
delta 14915
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
E0MTn!p8x;=

delta 12848
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

diff --git a/po/cs.po b/po/cs.po
index 3d5cd4d0..5bf9df41 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -2,7 +2,7 @@
 # Copyright (C) 1997 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Vladimir Michl <Vladimir.Michl@seznam.cz>, 1997.
-# Petr Pisar <petr.pisar@atlas.cz>, 2009, 2010, 2011, 2013, 2014, 2016.
+# Petr Pisar <petr.pisar@atlas.cz>, 2009, 2010, 2011, 2013, 2014, 2016, 2017.
 #
 # Pozor: program sám zalamuje dlouhé řádky, ale místo (širokých) znaků počítá
 # bajty. Proto je nutné dodržovat nezlomitelné mezery, které program rovněž
@@ -13,13 +13,13 @@
 # tape → páska (rod ženský, vzor žena; ne pásek)
 # seek offset → pozice posunu (pásky)
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-16 22:38+02:00\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-18 21:48+01:00\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -109,7 +109,7 @@ msgstr "vypíše stručný návod na použití"
 
 # JMÉNO jako v příslušné položce nápovědy
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "JMÉNO"
 
@@ -147,29 +147,29 @@ msgid "write error"
 msgstr "chyba zápisu"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: přepínač „%s“ není jednoznačný\n"
+msgstr "%s: přepínač „%s%s“ není jednoznačný\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: přepínač „%s“ není jednoznačný; možnosti:"
+msgstr "%s: přepínač „%s%s“ není jednoznačný; možnosti:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: nerozpoznaný přepínač „%c%s“\n"
+msgstr "%s: nerozpoznaný přepínač „%s%s“\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: přepínač „%c%s“ musí být zadán bez argumentu\n"
+msgstr "%s: přepínač „%s%s“ musí být zadán bez argumentu\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: přepínač „--%s“ vyžaduje argument\n"
+msgstr "%s: přepínač „%s%s“ vyžaduje argument\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -244,12 +244,12 @@ msgstr "^[aAyY].*"
 msgid "^[nN]"
 msgstr "^[nN].*"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Zabaleno kým: %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Zabaleno kým: %s\n"
@@ -257,12 +257,11 @@ msgstr "Zabaleno kým: %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -272,10 +271,11 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Licence GPLv3+: GNU GPL verze 3 nebo novější <http://gnu.org/licenses/gpl."
-"html>.\n"
-"Toto je svobodné programové vybavení: máte právo měnit jej a dále šířit.\n"
-"Není poskytována ŽÁDNÁ ZÁRUKA, jak jen zákon dovoluje.\n"
+"Licence GPLv3+: GNU GPL verze 3 nebo novější\n"
+"<https://gnu.org/licenses/gpl.html>. Toto je svobodné programové vybavení:\n"
+"máte právo jej měnit a dále šířit. Není poskytována ŽÁDNÁ ZÁRUKA, jak jen\n"
+"zákon dovoluje.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: gnu/version-etc.c:102
@@ -416,15 +416,14 @@ msgid "%s home page: <%s>\n"
 msgstr "Domovská stránka %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Domovská stránka programu %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Domovská stránka programu %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Obecná pomoc při používání softwaru GNU: <http://www.gnu.org/gethelp/>\n"
+"Obecná pomoc při používání softwaru GNU: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -548,145 +547,145 @@ msgstr "Soubory nelze přesměrovat ke vzdálenému shellu"
 msgid "Cannot execute remote shell"
 msgstr "Vzdálený shell není možné spustit"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Směr posunu je mimo rozsah"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Chybný směr posunu"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Neplatná pozice posunu"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Pozice posunu je je mimo rozsah"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Neplatný počet bajtů"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Počet bajtů je mimo rozsah"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Předčasný konec souboru"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Neplatní kód operace"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operace není podporována"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Neočekávané argumenty"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Ovládá páskovou jednotku přijímaje příkazy ze vzdáleného procesu"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "ČÍSLO"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "nastaví úroveň ladění"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "SOUBOR"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "nastaví název souboru pro výstup ladění"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "„%s“ nelze otevřít"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "příliš mnoho argumentů"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Neznámý příkaz"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Toto pravděpodobně není tar archiv"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Celkem přečteno bajtů"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Celkem zapsáno bajtů"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Celkem smazáno bajtů"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(roura)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Čtení obsahu archivu z terminálu se zamítá (nechybí přepínač -f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Zápis obsahu archivu do terminálu se zamítá (nechybí přepínač -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Chybná hodnota pro velikost záznamu"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Název archivu nebyl zadán"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Stdin/Stdout archiv nelze ověřit"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archiv je komprimován. Použijte přepínač %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Komprimovaný archiv nelze aktualizovat"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Páska na začátku, končím"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Příliš mnoho chyb, končím"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -694,7 +693,7 @@ msgstr[0] "Velikost záznamu = %'lu blok"
 msgstr[1] "Velikost záznamu = %'lu bloky"
 msgstr[2] "Velikost záznamu = %'lu bloků"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -702,37 +701,37 @@ msgstr[0] "Nezarovnaný blok (%'lu bajt) v archivu"
 msgstr[1] "Nezarovnaný blok (%'lu bajty) v archivu"
 msgstr[2] "Nezarovnaný blok (%'lu bajtů) v archivu"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "V archivu se nelze vrátit, bez -i může být nečitelný"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek se nezastavil na hranici záznamu"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: obsahuje neplatné číslo svazku"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "U čísla svazku nastalo přetečení"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Připravte svazek #%d pro archiv %s a stiskněte return:"
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Místo uživatelské odpovědi byl zadán konec souboru"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROVÁNÍ: Archiv je nekompletní"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -743,65 +742,65 @@ msgstr ""
 " q                   Ukončit program tar\n"
 " y nebo odřádkování  Pokračovat v operaci\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !                   Vytvořit podshell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?                   Vypsat tuto nápovědu\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Není nový svazek; končím.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Název souboru nebyl zadán. Zkuste to znovu.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Neplatný vstup. Nápovědu obdržíte napsáním „?“ (otazníku).\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "příkaz %s selhal"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nepokračuje na tomto svazku"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s možná pokračuje na tomto svazku: hlavička obsahuje zkrácený název"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je špatné délky (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tento svazek není je mimo pořadí (%s − %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Pro vyhodnocení vzorku %s musí být archiv pojmenován"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Svazek %s neodpovídá vzorku %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -809,11 +808,11 @@ msgstr ""
 "%s: název souboru je příliš dlouhý, aby byl uložen do vícesvazkové hlavičky "
 "GNU, bude zkrácen"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "zápis neskončil na konci hranice bloku"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
@@ -821,75 +820,75 @@ msgstr[0] "Bylo možné načíst pouze %'lu z %'lu bajtu"
 msgstr[1] "Bylo možné načíst pouze %'lu z %'lu bajtů"
 msgstr[2] "Bylo možné načíst pouze %'lu z %'lu bajtů"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Obsahy se liší"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Neočekávaný konec archivu"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Typ souboru se liší"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Práva se liší"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "UID se liší"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "GID se liší"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Čas poslední modifikace se liší"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Velikost se liší"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Není odkazem na %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symbolický odkaz se liší"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Číslo zařízení se liší"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Ověřuji "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Neznámý typ souboru „%c“, porovnáván jako normální soubor"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Archiv obsahuje názvy souborů, kterým byly odstraněny předpony."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Archiv obsahuje transformované názvy souborů."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Při kontrole může selhat nalezení původních souborů."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -897,46 +896,46 @@ msgstr[0] "SELHÁNÍ KONTROLY: zjištěna %d chybná hlavička"
 msgstr[1] "SELHÁNÍ KONTROLY: zjištěny %d chybné hlavičky"
 msgstr[2] "SELHÁNÍ KONTROLY: zjištěno %d chybných hlaviček"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Osiřelý nulový blok na pozici %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: obsahuje značku keše adresáře %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "hodnota %s typu %s je mimo rozsah %s..%s; nahrazuji za %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "hodnota %s typu %s je mimo rozsah %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Generuji záporné osmičkové hlavičky"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: název souboru je příliš dlouhý (max. %d); nezpracován"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: název souboru je příliš dlouhý (nelze jej rozdělit); nezpracován"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: název odkazu je příliš dlouhý; nezpracován"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -944,78 +943,78 @@ msgstr[0] "%s: Soubor je kratší o %s bajt; Doplňuji nulami."
 msgstr[1] "%s: Soubor je kratší o %s bajty; Doplňuji nulami."
 msgstr[2] "%s: Soubor je kratší o %s bajtů; Doplňuji nulami."
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: soubor je na jiném souborovém systému; nearchivován"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "obsah nezpracován"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Neznámý typ souboru; soubor ignorován"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Chybí odkazy na %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: soubor není změněn; neaktualizován"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: soubor je archiv; nearchivován"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "adresář nezpracován"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: soubor byl během čtení změněn"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket ignorován"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: dveře ignorovány"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Přeskakuji na další hlavičku"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Z archivu je mazáno to, co není hlavička"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: nemožně stará časová značka %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: časová značka %s je %s s v budoucnosti"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Neočekávaná inkonzistence, při vytváření adresáře"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: existující soubor se přeskakuje"
@@ -1038,7 +1037,7 @@ msgstr "Zkouším rozbalit symbolické odkazy jako pevné odkazy"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Nelze rozbalit – soubor je pokračováním jiného svazku"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Neočekávaná hlavička dlouhého názvu"
 
@@ -1053,7 +1052,7 @@ msgid "Current %s is newer or same age"
 msgstr "Současný soubor %s je novější nebo stejně starý"
 
 #: src/extract.c:1664
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Member name contains '..'"
 msgstr "%s: Název souboru obsahuje „..“"
 
@@ -1067,22 +1066,22 @@ msgstr "%s: Tento soubor nebylo možné zálohovat"
 msgid "Cannot rename %s to %s"
 msgstr "%s nelze přejmenovat na %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Adresář byl přejmenován z %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Adresář je nový"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: adresář je na jiném souborovém systému; nearchivován"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Adresář byl přejmenován"
@@ -1208,194 +1207,195 @@ msgstr "%s: Mažu %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Nelze smazat"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Vynechávám"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok NUL **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec souboru **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Mezery v hlavičce na místě, kde je očekávána číselná hodnota typu %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
 "Osmičková hodnota %.*s typu %s je mimo rozsah; přiřazuji dvojkový complement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Osmičková hodnota %.*s typu %s je mimo rozsah"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiv obsahuje zastaralé base-64 hlavičky"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Base-64 řetězec %s je mimo rozsah typu %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Hodnota base-256 je mimo rozsah typu %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Archiv obsahuje %.*s tam, kde je očekávána číselná hodnota typu %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Hodnota %s typu %s je mimo rozsah %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " odkaz na %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " neznámý souborový typ %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Dlouhý odkaz--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Dlouhý název--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Hlavička svazku--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Pokračováno od %s bajtu--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Vytvářím adresář:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Přejmenovávám %s na %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: nelze přejmenovat na %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Přejmenovávám %s zpět na %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Soubor smazán dříve než mohl být přečten"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "potomek"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "meziprocesový kanál"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Výběr názvu místního souboru:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "zadaný SOUBOR přidá do archivu (užitečné, začíná-li jeho název spojovníkem)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "ADRESÁŘ"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "změní adresář na ADRESÁŘ"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "seznam jmen souborů na rozbalení nebo zabalení získá ze SOUBORU"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T čte názvy zakončené nulovým znakem, zapne --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "zruší účinek předchozího přepínače --null"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "odčiní citování (escapování) názvů vstupních souborů nebo prvků (implicitní)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "neodčiní citování (escapování) názvů vstupních souborů nebo prvků"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T čte názvy souborů doslovně (přepínače se nezpracovávají)"
+msgstr ""
+"-T čte názvy souborů doslovně (přepínače ani escape sekvence se "
+"nezpracovávají)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T považuje názvy souborů začínající pomlčkou za přepínače (výchozí)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "VZOR"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "vynechá soubory, které odpovídají VZORU"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "vynechá vzorky vyjmenované v SOUBORU"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1403,23 +1403,23 @@ msgstr ""
 "vynechá obsah adresářů obsahujících CACHEADR.ZNAČKA, kromě souboru značky "
 "samotného"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "vynechá vše pod adresáři obsahujícími CACHEADR.ZNAČKA"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "vynechá adresáře obsahující CACHEADR.ZNAČKA"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "vynechá obsah adresářů obsahujících SOUBOR, vyjma SOUBORU samotného"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "čte vzorky na vynechání pro každý adresář ze SOUBORU, pokud existuje"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1427,118 +1427,122 @@ msgstr ""
 "čte vzorky na vynechání pro každý adresář a jeho podadresáře ze SOUBORU, "
 "pokud existuje"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "vynechá vše pod adresáři obsahujícími SOUBOR"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "vynechá adresáře obsahující SOUBOR"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "vynechá adresáře systému správy verzí"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "čte vzorky na vynechání ze souboru ignorací verzovacího systému"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "vynechá soubory záloh a zámků"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "sestupuje rekurzivně do adresářů (implicitní)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "zabrání automatickému sestupu do adresářů"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Přepínače řídicí výběr souborů podle názvu (ovlivňuje vzory jak pro "
 "vyloučení, tak pro zahrnutí)"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "vzory se testují název souboru od začátku"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "vzory se testují po každém „/“ (implicitní u vyloučení)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "ignoruje velikost písmen"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "testování je citlivé na velikost (implicitní)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "použije žolíkové znaky (implicitní u vyloučení)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "testuje se přesný řetězec"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "žolíkové znaky zahrnují „/“ (implicitní u vyloučení)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "žolíkové znaky nezahrnují „/“"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Následující přepínače byly použity po nepřepínačových argumentech při "
+"vytváření archivu nebo jeho aktualizaci. Tyto přepínače jsou poziční a "
+"ovlivňují pouze argumenty, které je následují. Prosím, řádně je "
+"přeuspořádejte."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s nemá žádný vliv"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s nemá žádný vliv"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s nemá žádný vliv"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "příkazový řádek"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: seznam souborů požadovaný z %s již načten z %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "řetězec „%s“ nelze rozdělit: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: načtený název souboru obsahuje nulový znak"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "V názvech souborů se nachází žolíkové znaky"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1546,47 +1550,47 @@ msgstr ""
 "Porovnávání proti žolíkových znaků zapněte pomocí --wildcards, nebo varování "
 "potlačte prostřednictvím --no-wildcards"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: V archivu nenalezen"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Požadovaný výskyt nebyl v archivu nalezen"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Název archivu se neodpovídá"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Použití přepínače -C uvnitř seznamu souborů není spolu s --listed-"
 "incremental dovoleno"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "S --listed-incremental je dovolen pouze jediný přepínač -C"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Oba dva přepínače „%s“ a „%s“ chtějí standardní vstup"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Neplatný formát archivu"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU rozšíření požadovány na nekompatibilním formátu archivu"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1805,7 +1809,7 @@ msgstr "Výběr výstupního proudu:"
 msgid "extract files to standard output"
 msgstr "soubory vybaluje na standardní výstup"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "PŘÍKAZ"
 
@@ -1841,7 +1845,7 @@ msgstr "použije SOUBOR k převodu UID a jmen vlastníků souborů"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "použije SOUBOR k převodu GID a jmen vlastníků souborů"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATUM_NEBO_SOUBOR"
 
@@ -2053,7 +2057,7 @@ msgstr "předělat bloky v průběhu čtení (pro roury na BSD 4.2)"
 msgid "Archive format selection:"
 msgstr "Výběr formátu archivu:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMÁT"
 
@@ -2137,63 +2141,63 @@ msgstr "PROGRAM"
 msgid "filter through PROG (must accept -d)"
 msgstr "archiv protáhne PROGRAMEM (musí znát -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Výběr místního souboru:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "při tvorbě archivu se zdrží v místním systému souborů"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "neodstraní z názvů souborů úvodní „/“"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "následuje symbolické odkazy; archivuje a vybaluje soubory, na které je "
 "odkazováno"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "následuje pevné odkazy; archivuje a vybaluje soubory, na které je odkazováno"
 
 # část cesty (adresář)
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "SLOŽKA_NÁZVU"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "čtení archivu začne na složce SLOŽKA_NÁZVU"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "ukládá jen soubory novější než DATUM_NEBO_SOUBOR"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "při změně dat porovná datum i čas"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "STRATEGIE"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "před odstraněním vytvoří záložní kopii za použití STRATEGIE"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "ŘETĚZEC"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2201,59 +2205,59 @@ msgstr ""
 "před odstraněním vytvoří záložní kopii, potlačí obvyklou příponu („~“, není-"
 "li uvedeno jinak v proměnné prostředí SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Transformace názvů souborů:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "při rozbalování odřízne ČÍSLO úvodních složek z názvů souborů"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "VÝRAZ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "názvy souborů transformuje pomocí nahrazovacího VÝRAZU sedu"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informativní výstup:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "vypisuje zpracovávané soubory"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "KLÍČOVÉ_SLOVO"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "řídí varování"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "zobrazuje zprávy o postupu každých ČÍSLO. záznam (implicitně 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "AKCE"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "v každém kontrolním bodu vykoná AKCI"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "hlásí, že nebyly zpracovány všechny odkazy"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNÁL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2264,35 +2268,35 @@ msgstr ""
 "hlášení, až bude doručen SIGNÁL; Povolené signály jsou SIGHUP, SIGQUIT, "
 "SIGINT, SIGUSR1 a SIGUSR2; názvy bez předpony SIG jsou rovněž přípustné"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "časy změn obsahu souborů vypisuje v UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "časy souborů vypisuje v plném znění"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "informativní výstup pošle do SOUBORU"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "každou zprávu opatří číslem bloku uvnitř archivu"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "na každou akcí žádá potvrzení"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "zobrazí implicitní argumenty taru"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "zobrazí platné rozsahy pro položky souborů snímků"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2300,31 +2304,31 @@ msgstr ""
 "při vypisování nebo rozbalování zobrazí každý adresář, který neodpovídá "
 "vyhledávacím podmínkám"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "zobrazuje názvy souborů a archivů po transformaci"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STYL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "nastaví styl citování názvů; platné hodnoty STYLŮ nalezte níže"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "cituje navíc znaky z ŘETĚZCE"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "zakáže citování znaků z ŘETĚZCE"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Přepínače pro kompatibilitu"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2332,22 +2336,22 @@ msgstr ""
 "při vytváření archivu má stejný význam jako --old-archive, při rozbalování "
 "jako --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Další přepínače:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "zakáže použití některých potenciálně nebezpečných přepínačů"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "Přepínač „%s“ nelze použít s „%s“"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2355,40 +2359,40 @@ msgstr ""
 "Nemůže být zadán více jak jeden přepínač z „-Acdtrux“, „--delete“ nebo „--"
 "test-label“"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Odporující si kompresní přepínače"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Neznámý název signálu: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Soubor, ze kterého se má vzít datum a čas, nebyl nalezen"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Datum neznámého formátu %2$s nahrazuji %1$s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Přepínač %s: S datem „%s“ bude zacházeno jako s %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "archiv protáhne skrze filtr %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Pro přepínač --quoting-style jsou platné argumenty:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2396,120 +2400,120 @@ msgstr ""
 "\n"
 "Implicitní přepínače *tohoto* taru:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Neplatné ID vlastníka nebo skupiny"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Neplatný počet bajtů na záznam"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Neplatná délka pásky"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Chybná hodnota úrovně přírůstku"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Více než jedeno počáteční datum"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Neplatná hodnota verze řídkého formátu"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' není na této platformě podporován"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "hodnota --checkpoint není celé číslo"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Zadána chybná práva"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Neplatné číslo"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Chybná velikost záznamu"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Velikost záznamu musí být násobek %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Neplatný počet prvků"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Povolen je jen jeden přepínač --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Neplatný argument hustoty: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Neznámá hustota: „%c“"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Přepínače „-[0-7][lmh]“ nejsou *tímto* tarem podporovány"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: umístění chyby"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "Chyba při rozebírání %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[SOUBOR]…"
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "nepřepínačový argument v %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "TAR_OPTIONS nelze rozdělit: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Starý přepínač „%c“ vyžaduje argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "bez seznamu souborů nemá --occurrence smysl"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Více archivačních souborů vyžaduje přepínač „-M“"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level bez --listed-incremental postrádá smysl"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2517,43 +2521,43 @@ msgstr[0] "%s: Název svazku je příliš dlouhý (limit je %'lu bajt)"
 msgstr[1] "%s: Název svazku je příliš dlouhý (limit je %'lu bajty)"
 msgstr[2] "%s: Název svazku je příliš dlouhý (limit je %'lu bajtů)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Vícesvazkový archiv není možné ověřit"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Komprimovaný archiv nelze ověřit"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Vícesvazkový komprimovaný archiv nelze vytvořit"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimované archivy nelze zřetězit"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime potřebuje datum určené pomocí --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "Přepínač --pax-option lze použít jen na posixových archivech"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "Přepínač --acls lze použít jen na posixových archivech"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "Přepínač --selinux lze použít jen na posixových archivech"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "Přepínač --xattrs lze použít jen na posixových archivech"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2561,30 +2565,30 @@ msgstr ""
 "Název vrcholového adresáře nelze odvodit; prosím, zadejte jej explicitně "
 "pomocí --one-top-level=ADRESÁŘ"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Délka svazku nemůže být kratší než délka záznamu"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vytvoření prázdného archivu odmítnuto."
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Přepínače „-Aru“ jsou neslučitelné s přepínačem „-f -“"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Musíte zadat jeden z přepínačů „-Acdtrux“, „--delete“ nebo „--test-label“"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Končí se chybovým kódem, protože byly zaznamenány chyby"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
@@ -2592,52 +2596,61 @@ msgstr[0] "%s: Soubor zkrácen o %s bajt"
 msgstr[1] "%s: Soubor zkrácen o %s bajty"
 msgstr[2] "%s: Soubor zkrácen o %s bajtů"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Klíčové slovo %s není známo nebo ještě nebylo implementováno"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Časový údaj je mimo povolený rozsah"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Vzor %s nelze použít"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Klíčové slovo %s nelze přebít"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Chybná rozšířená hlavička: chybí délka"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Délka rozšířené hlavičky %*s je mimo rozsah"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Chybná rozšířená hlavička: po délce chybí bílé místo"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Chybná rozšířená hlavička: chybí znak rovná se"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Chybná rozšířená hlavička: chybí odřádkování"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignoruje se neznámé klíčové slovo „%s“ rozšířené hlavičky"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2646,46 +2659,46 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "%s=%s v rozšířené hlavičce je mimo rozsah %s–%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Chybná rozšířená hlavička: %s=%s není platné"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Chybná rozšířená hlavička: nadbytečná %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Chybná rozšířená hlavička: neplatný %s: neočekávaný oddělovač %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Chybná rozšířená hlavička: neplatný %s: lichý počet hodnot"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: neplatný časový limit"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: neznámá akce kontrolního bodu"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "zápis"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "čtení"
 
@@ -2693,7 +2706,7 @@ msgstr "čtení"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Kontrolní bod zápisu %u"
@@ -2702,12 +2715,12 @@ msgstr "Kontrolní bod zápisu %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Kontrolní bod čtení %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2715,93 +2728,97 @@ msgstr ""
 "genfile pracuje s datovými soubory testovacího balíku GNU paxutils.\n"
 "PŘEPÍNAČE jsou:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Přepínače tvorby souboru:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "VELIKOST"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Vytvoří soubor zadané VELIKOSTI"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Místo na standardní výstup píše do souboru JMÉNO"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Názvy souborů čte ze SOUBORU"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T čte názvy zakončené nulovými znaky"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Vyplní soubor zadaným VZOREM. VZOR je „default“ (výchozí) nebo „zeros“ (nuly)"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Velikost bloku pro řídké soubory"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Vytvoří řídký soubor. Zbytek příkazové řádku definuje mapu souboru."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "POZICE"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Před zápisem dat se přesune na zadanou POZICI"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Potlačí diagnostické hlášky, které nevedou k přerušení programu"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Přepínače statistiky souboru:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "U každého zadaného souboru vypíše obsah struktury stat. Implicitní FORMÁT je:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Přepínače synchronního vykonávání:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "PŘEPÍNAČ"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Provede ARGUMENTY. Užitečné s --checkpoint a jedním z --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Provede zadanou akci (vizte níže) při dosažení kontrolního bodu ČÍSLO"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Nastaví datum pro následující přepínač --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Zobrazuje prováděné kontrolní body a návratové kódy PŘÍKAZU"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2809,7 +2826,7 @@ msgstr ""
 "Synchronní vykonávání akcí. Tyto budou provedeny, když bude dosaženo číslo "
 "kontrolního bodu zadaného přepínačem --checkpoint."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2817,125 +2834,125 @@ msgstr ""
 "Zkrátí SOUBOR na velikost zadanou předchozím přepínačem --length (nebo na 0, "
 "není-li uveden)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "K SOUBORU připojí VELIKOST bajtů. VELIKOST se zadává předcházejícím "
 "přepínačem --length."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Aktualizuje časy přístupu a změny obsahu SOUBORU"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Vykoná PŘÍKAZ"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Smaže SOUBOR"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Neplatná velikost: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Číslo je mimo povolený rozsah: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Záporná velikost: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) selhalo"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "požadovaná délka souboru %'lu, aktuální %'lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "vytvořený soubor není řídký"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Chyba při rozebírání čísla poblíž „%s“"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Neznámý formát data"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENT…]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "„%s“ nelze otevřít"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "v souboru se nelze pohybovat"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "název souboru obsahuje nulový znak"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "na standardní výstup nelze generovat řídké soubory, použijte přepínač --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "nesprávná maska (poblíž „%s“)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Neznámá položka „%s“"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "Souboru „%s“ nelze nastavit čas"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "„%s“ nelze zkrátit"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "příkaz selhal: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "„%s“ nelze zkrátit"
+msgstr "nelze získat údaje o „%s“"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "Souboru „%s“ nelze nastavit čas"
+msgstr "adresář „%s“ nelze odstranit"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "„%s“ nelze odstranit (unlink)"
@@ -2975,6 +2992,9 @@ msgstr "Příkaz ukončen\n"
 msgid "--stat requires file names"
 msgstr "--stat potřebuje název souboru"
 
+#~ msgid "OPTION"
+#~ msgstr "PŘEPÍNAČ"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: parametr ARGP_HELP_FMT musí být kladný"
 
diff --git a/po/da.gmo b/po/da.gmo
index 054ec688ab1f012274b91c22647630d90658a507..38c15de5fa4954488624b73a06eab02579911bc0 100644
GIT binary patch
delta 15939
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

delta 12604
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
F0|1p26C(fs

diff --git a/po/da.po b/po/da.po
index 0b6d3189..390e70a0 100644
--- a/po/da.po
+++ b/po/da.po
@@ -4,14 +4,14 @@
 #
 # Claus Hindsgaul <claus_h@image.dk>, 2001.
 # Keld J�rn Simonsen <keld@keldix.com>, 2000-2001,2009,2010.
-# Keld Simonsen <keld@keldix.com>, 2010-2011, 2015.
-#: src/create.c:1599
+# Keld Simonsen <keld@keldix.com>, 2010-2011, 2015, 2017.
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.28\n"
+"Project-Id-Version: GNU tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2015-04-26 10:18+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-20 17:18+0100\n"
 "Last-Translator: Keld Simonsen <keld@keldix.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "Language: da\n"
@@ -99,7 +99,7 @@ msgid "give a short usage message"
 msgstr "vis en kort hj�lpemeddelelse"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAVN"
 
@@ -137,29 +137,29 @@ msgid "write error"
 msgstr "skrivefejl"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: flag '-W %s' er flertydigt\n"
+msgstr "%s: flag '%s%s' er flertydigt\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: flag '%s' er flertydigt; muligheder:"
+msgstr "%s: flag '%s%s' er flertydigt; muligheder:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: ukendt flag '%c%s'\n"
+msgstr "%s: ukendt flag '%s%s'\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: flag '%c%s' tillader ikke et argument\n"
+msgstr "%s: flag '%s%s' tillader ikke et argument\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: flag '--%s' kr�ver et argument\n"
+msgstr "%s: flag '%s%s' kr�ver et argument\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -234,12 +234,12 @@ msgstr "^[jJyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakket af %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakket af %s\n"
@@ -247,12 +247,11 @@ msgstr "Pakket af %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "�"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -264,7 +263,7 @@ msgstr ""
 "\n"
 "Licens GPLv3+: GNU GPL version 3 eller senere <http://gnu.org/licenses/gpl."
 "html>.\n"
-"Dette program er frit programmel. Du kan �ndre og distribuere det.\n"
+"Dette program er frit programmel. Du m� �ndre og distribuere det.\n"
 "Der er ikke NOGEN SOM HELST GARANTI, i det omfang som lov tillader.\n"
 
 #. TRANSLATORS: %s denotes an author name.
@@ -399,15 +398,14 @@ msgid "%s home page: <%s>\n"
 msgstr "%s hjemmeside: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "%s hjemmeside: <http://www.gnu.org/software/%s/>.\n"
+msgstr "%s hjemmeside: <http://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Generel brugerhj�lp for GNU-programmel: <http://www.gnu.org/gethelp/>.\n"
+"Generel brugerhj�lp for GNU-programmel: <http://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -526,189 +524,189 @@ msgstr "Kan ikke omdirigere filer for fjern sk
 msgid "Cannot execute remote shell"
 msgstr "Kan ikke eksekvere fjern sk�l"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "S�geretning udenfor interval"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Ugyldig s�geretning"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Ugyldig positioneringsv�rdi"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "S�geposition udenfor interval"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Ugyldigt byteantal"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Byteantal udenfor interval"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "For tidlig filafslutning"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Ugyldig operationskode"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operation underst�ttes ikke"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Uventede argumenter"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Styr en b�ndstation via accept af kommandoer fra en fjernproces"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUMMER"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "s�t fejls�gningsniveau"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FIL"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "s�t fejls�gningsfilnavn"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "kan ikke �bne %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "for mange argumenter"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Ugyldig kommando"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Dette ligner ikke et tar-arkiv"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Totalt antal byte l�st"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Totalt antal byte skrevet"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Totalt antal byte slettet"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(datakanal)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "N�gter at l�se arkivindhold fra terminal (manglende -f-flag?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "N�gter at skrive arkivindhold til terminal (manglende -f-flag?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Ugyldig v�rdi for record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Arkivnavn er ikke opgivet"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan ikke verificere standard-ind/standard-ud arkiver"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkivet er komprimeret. Brug flaget %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Kan ikke opdatere komprimerede arkiver"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Ved begyndelsen af b�ndet, afslutter nu"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "For mange fejl, afslutter"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Postst�rrelse = %lu blok"
 msgstr[1] "Postst�rrelse = %lu blokke"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Ikke-justeret blok (%lu byte) i arkiv"
 msgstr[1] "Ikke-justerede blokke (%lu byte) i arkiv"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Kunne ikke g� tilbage i arkivfilen. Den kan v�re ul�selig uden -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek stoppede ikke p� en postgr�nse"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: indeholder ugyldigt delarkivs-nummer"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Overl�b p� delarkiv-nummer"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Klarg�r delarkiv nummer %d for %s og tryk retur: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Filafslutning hvor svar fra bruger var forventet"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "ADVARSEL: Arkivet er ufuldst�ndigt"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -720,66 +718,66 @@ msgstr ""
 " q                   Afbryd tar\n"
 " y eller ny linje    Forts�t handling\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !            Start en ny sk�l\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?            Udskriv denne liste\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Intet nyt delarkiv; afslutter.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Filnavn ikke angivet, pr�v igen.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ugyldigt inddata. Skriv ? for at f� hj�lp.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "'%s'-kommando mislykkedes"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s forts�tter ikke i dette delarkiv"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s forts�ttes muligvis i dette delarkiv: hoved indeholder afkortet navn"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s har forkert st�rrelse (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Dette delarkiv er ude af r�kkef�lge (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkivet er ikke navngivet til at passe med %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Delarkivet '%s' stemmer ikke overens med %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -787,210 +785,210 @@ msgstr ""
 "%s: filnavnet er for langt til at gemmes i hovedet p� et GNU-flerdelarkiv, "
 "afkortes"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "skrivning stoppede ikke p� en blokgr�nse"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Kunne kun l�se %lu af %lu byte"
 msgstr[1] "Kunne kun l�se %lu af %lu byte"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Indhold er forskelligt"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Uventet filslutning i arkivet"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Filtype er forskellig"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Modus er forskellig"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Bruger-ID er forskellig"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gruppe-ID er forskellig"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Modificeringstid er forskellig"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "St�rrelse er forskellig"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Ikke l�nket til %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symbolsk l�nke er forskellig"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Enhedsnummer er forskellig"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verific�r "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Ukendt filtype '%c', diff'et som en almindelig fil"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arkivet indeholder filnavne med indledende prefixer borttaget."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arkiv indeholder transformerede filnavne."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Verificering kan mislykkes med at finde originalfiler."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "VERIFICERINGSFEJL: %d ukendt hoved fundet"
 msgstr[1] "VERIFICERINGSFEJL: %d ukendte hoveder fundet"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "En enkeltst�ende nulblok ved %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: indeholder et cachekatalog-m�rke %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "v�rdi %s ud af %s interval %s..%s; erstatter %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "v�rdi %s ud af %s interval %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Genererer negative oktale hoveder"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: filnavnet er for langt (max %d); ikke arkiveret"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: filnavnet er for langt (kan ikke opdeles); ikke arkiveret"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: l�nkenavn er for langt; ikke arkiveret"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Filen formindsket med %s byte, fylder ud med nul"
 msgstr[1] "%s: Filen formindsket med %s byte, fylder ud med nuller"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fil er p� et andet filesystem; ikke arkiveret"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "indholdet ikke arkiveret"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Ukendt filtype; filen blev ignoreret"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Mangler l�nke til %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fil er u�ndret; ikke arkiveret"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fil er det samme som arkivet; ikke arkiveret"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "katalog ikke arkiveret"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: Fil �ndredes mens vi l�ste den"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: sokkel ignoreret"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: d�r ignoreret"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Hopper til n�ste hoved"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Sletter ikke-hoved fra arkivet"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: usandsynligt gammelt tidsstempel %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: tidsstempel %s er %s sekunder ud i fremtiden"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Uventet uoverensstemmelse ved oprettelse af katalog"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: skipper eksisterende fil"
@@ -1013,7 +1011,7 @@ msgstr "Fors
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Kan ikke udpakke -- filen er fortsat fra et andet delarkiv"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Uventet langt filnavnshoved"
 
@@ -1030,7 +1028,7 @@ msgstr "Nuv
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: Medlemsnavn indeholder '..'"
 
 #: src/extract.c:1696
 #, c-format
@@ -1042,22 +1040,22 @@ msgstr "%s: Kunne ikke sikkerhedskopiere denne fil"
 msgid "Cannot rename %s to %s"
 msgstr "Kan ikke omd�be %s til %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Kataloget er blevet omd�bt fra %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Kataloget er nyt"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: katalog er p� et andet filesystem; ikke arkiveret"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Kataloget er blevet omd�bt"
@@ -1144,9 +1142,8 @@ msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Fejlagtigt dumpkatalog: tomt navn i \"R\""
 
 #: src/incremen.c:1585
-#, fuzzy
 msgid "Malformed dumpdir: 'T' not preceded by 'R'"
-msgstr "Fejlagtigt dumpkatalog: \"T\" foreg�s ikke af \"R\""
+msgstr "Fejlagtigt dumpkatalog: 'T' foreg�s ikke af 'R'"
 
 #: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
@@ -1186,192 +1183,191 @@ msgstr "%s: Sletter %s\n"
 msgid "%s: Cannot remove"
 msgstr "Kan ikke slette %s"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Udelader"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok med NULler **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Slut p� fil **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Blank-tegn i hovedet hvor numerisk %s v�rdi var forventet"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr "Oktal v�rdi %.*s i arkiv er udenfor %s interval; antager to-komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Oktal v�rdi %.*s i arkiv er udenfor %s interval"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkiv indeholder for�ldede base-64 hoveder"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Base-64 streng med fortegn %s i arkiv er udenfor %s interval"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Base-256 v�rdi i arkiv er udenfor %s interval"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arkiv indeholder %.*s hvor numerisk %s-v�rdi var forventet"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Arkiv v�rdi %s er udenfor %s interval %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " l�nke til %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ukendt filtype %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lang l�nke--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Langt navn--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Delarkivhoved--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Fortsat ved byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Opretter katalog:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Omd�ber %s til %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Kan ikke omd�be til %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Omd�ber %s tilbage til %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fil fjernet f�r vi l�ste den"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "underproces"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "mellemproces-kanal"
 
-#: src/names.c:69
-#, fuzzy
+#: src/names.c:68
 msgid "Local file name selection:"
-msgstr "Lokalt filvalg:"
+msgstr "Lokalt valg af filnavn:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "tilf�j angivet FIL til arkivet (brugbart hvis FIL begynder med \"-\")"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "KATALOG"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "g� til arbejdskatalog KATALOG"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "hent navne at udpakke eller oprette fra FIL"
 
-#: src/names.c:78
-#, fuzzy
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
-msgstr "-T l�ser navne adskilt med nultegn, deaktiv�r -C"
+msgstr "-T l�ser navne adskilt med nultegn; indeb�rer --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "fjern effekten af foreg�ende --null-flag"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "afcit�r inddata fil eller medlemsnavne (standardv�rdi)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "afcit�r ikke inddata fil eller medlemsnavne"
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
+"-T l�ser filnavne bogstaveligt (ingen beskyttelsestegn eller flagbehandling)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
-msgstr ""
+msgstr "-T behandler filnavne der begynder med '-' som flag (standard)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "M�NSTER"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "udelad filer som matcher M�NSTER"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "udelad filer som matcher m�nster listet i FIL"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1379,24 +1375,24 @@ msgstr ""
 "udelad indholdet i kataloger som indeholder CACHEDIR.TAG, undtagen "
 "m�rkefilen CACHEDIR.TAG selv"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "udelad alt i kataloger som indeholder CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "udelad kataloger som indeholder CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "udelad indholdet i kataloger som indeholder FIL, undtagen FIL selv"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 "indl�s ekskluderingsm�nstre for hvert katalog fra FIL, hvis den eksisterer"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1404,118 +1400,121 @@ msgstr ""
 "indl�s ekskluderingsm�nstre for hvert katalog og dets underkataloger fra "
 "FIL, hvis den eksisterer"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "udelad alting i kataloger som indeholder FIL"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "udelad kataloger som indeholder FIL"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "udelad kataloger fra versionsh�ndteringssystemer"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "indl�s ekskluderingsm�nstre fra VCS ignoreingsfiler"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "udelad sikkerhedskopier og l�sefiler"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "g� rekursivt ned i kataloger (standardv�rdi)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "g� ikke ned i kataloger automatisk"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Flag for match af filnavne (p�virker b�de ekskluderings- og "
 "inkluderingsm�nstre):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "m�nstre skal matche med begyndelsen p� filnavne"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "m�nstre matches efter alle '/'-er (standardv�rdi ved ekskludering)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "ingen forskel p� store og sm� bogstaver"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "match store og sm� bogstaver forskelligt (standardv�rdi)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "brug jokertegn (standardv�rdi for ekskludering)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "ordret strengsammenligning"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "jokertegn matcher '/' (standardv�rdi for ekskludering)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "jokertegn matcher ikke '/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"De f�lgende flag blev brugt efter nogen valgfri argumenter i oprettelses- "
+"eller opdaterings-tilstand for arkiv. Disse flag er positionelle og p�virker "
+"kun argumenter som f�lger efter dem. Omarrang�r dem venligst korrekt."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s har ingen virkning"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s har ingen virkning"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s har ingen virkning"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "kommandolinje"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: filliste forespurgt fra %s allerede l�st fra %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "kan ikke opsplitte streng '%s': %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: filnavnet som l�stes indeholder nultegn"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "M�nstermatchningstegn bruges i filnavne"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1523,46 +1522,46 @@ msgstr ""
 "Brug --wildcards for at aktivere m�nstermatchning, eller --no-wildcards for "
 "at undertrykke denne advarsel"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ikke fundet i arkivet"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Kr�vet forekomst blev ikke fundet i arkivet"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arkivetiket stemmer ikke overrens"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "At bruge -C-flaget i en filliste er ikke tilladt med --listed-incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Kun �t -C-flag er tilladt med --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Flagene '%s' and '%s' vil begge have standard inddata"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: ugyldigt arkivformat"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-funktioner fors�gt p� inkompatibelt arkiv-format"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1661,11 +1660,11 @@ msgstr "h
 
 #: src/tar.c:424
 msgid "TYPE"
-msgstr ""
+msgstr "TYPE"
 
 #: src/tar.c:425
 msgid "technique to detect holes"
-msgstr ""
+msgstr "teknik til at finde huller"
 
 #: src/tar.c:426
 msgid "MAJOR[.MINOR]"
@@ -1785,7 +1784,7 @@ msgstr "V
 msgid "extract files to standard output"
 msgstr "udpak filer til standard-ud"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "KOMMANDO"
 
@@ -1815,13 +1814,13 @@ msgstr "s
 
 #: src/tar.c:512
 msgid "use FILE to map file owner UIDs and names"
-msgstr ""
+msgstr "brug FIL til at associere filejer UID'er og navne"
 
 #: src/tar.c:514
 msgid "use FILE to map file owner GIDs and names"
-msgstr ""
+msgstr "brug FIL til at associere filejer GID'er og navne"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATO-ELLER-FIL"
 
@@ -1832,7 +1831,7 @@ msgstr "s
 #: src/tar.c:518
 msgid ""
 "only set time when the file is more recent than what was given with --mtime"
-msgstr ""
+msgstr "s�t kun tid n�r filen er nyere end hvad der er givet med --mtime"
 
 #: src/tar.c:519
 msgid "CHANGES"
@@ -2030,7 +2029,7 @@ msgstr "lav nye blokke ved l
 msgid "Archive format selection:"
 msgstr "Valg af arkivformat:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2114,59 +2113,59 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtr�r med PROG (skal acceptere -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Lokalt filvalg:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "skift ikke filsystem n�r arkivet oprettes"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "fjern ikke indledende '/'-er fra filnavne"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "f�lg symbolske l�nker, arkiv�r filerne de peger p�"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "f�lg h�rde l�nker, arkiv�r filerne de peger p�"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "MEDLEMSNAVN"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "begynd med medlem MEDLEMSNAVN ved l�sning af arkivet"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "arkiv�r kun filer nyere end DATO-ELLER-FIL"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATO"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "sammenlign kun dato og tid for data�ndringer"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "lav sikkerhedskopier f�r fjernelse, v�lg type af versionsh�ndtering"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRENG"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2174,60 +2173,60 @@ msgstr ""
 "lav sikkerhedskopier f�r fjernelse, erstat den normale sikkerhedskopiendelse "
 "(\"~\" hvis ikke �ndret med milj�variablen SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Filnavnstransformationer:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "fjern ANTAL indledende komponenter fra filnavne ved udpakning"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "UDTRYK"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "brug sed's erstatnings-UDTRYK for at transformere filnavne"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informativ udskrift:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "v�s navne p� alle filer som bliver behandlet"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "N�GLEORD"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "advarselskontrol"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "vis forl�bsmeddelelser efter hver gruppe af ANTAL poster (standardv�rdi 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "HANDLING"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "udf�r HANDLING ved hvert kontrolpunkt"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "vis en meddelelse hvis ikke alle l�nker bliver arkiveret"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2239,35 +2238,35 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 coh SIGUSR2. Navne uden SIG-pr�fix "
 "accepteres ogs�."
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "vis filers modificeringstid i UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "vis fuld opl�sning p� filtider"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "send informative meddelelser til FIL"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "vis bloknummer i arkivet for hver meddelelse"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "bed om bekr�ftelse for hver handling"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "vis standardv�rdier for \"tar\""
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "vis gyldige omr�der for felter i snapshot-filer"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2275,31 +2274,31 @@ msgstr ""
 "ved visning eller udpakning vises hvert katalog som ikke matcher "
 "s�gekriterium"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "vis fil- eller arkivnavne efter transformering"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "ST�L"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "s�t citatst�l for navne. Se nedenfor for gyldige v�rdier p� ST�L."
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "cit�r ogs� tegn i STRENG"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "cit�r ikke tegn fra STRENG"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Kompatibilitetsflag:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2307,22 +2306,22 @@ msgstr ""
 "ved oprettelse det samme som --old-archive; ved udpakning det samme som --no-"
 "same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Andre flag:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "begr�ns brugen af potentielt farlige flag"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s: kan ikke bruges med '%s'"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2330,40 +2329,40 @@ msgstr ""
 "Du kan ikke angive mere end �t af '-Acdtrux', --delete eller `--test-label' "
 "flagene"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konflikt i komprimeringsflag"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Ukendt signalnavn: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Tidsfil blev ikke fundet"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Erstatter %s for ukendt dato-format %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Flag %s: Behandler tidsangivelse '%s' som %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtr�r arkivet igennem %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Gyldige argumenter til flaget --quoting-style er:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2371,164 +2370,164 @@ msgstr ""
 "\n"
 "*Denne* tar har standardv�rdierne:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Ugyldig ejer eller gruppe-ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Ugyldig blokfaktor"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Ugyldig b�ndl�ngde"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Fejlagtig v�rdi for inkrementelt niveau"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Mere end �n gr�nse-dato"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Ugyldig version for filer med huller"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve=\"system\" underst�ttes ikke p� denne platform"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint-v�rdien er ikke et heltal"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Ugyldig modus angivet i flag"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Ugyldigt nummer"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Ugyldig postst�rrelse"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Postst�rrelse skal v�re deleligt med %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Ugyldigt antal elementer"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Kun �t --to-command flag tilladt"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Ugyldig densitetsangivelse: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Ukendt densitet: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr ""
 "Flagene '-[0-7][lmh]' underst�ttes ikke af *denne* implementering af tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
-msgstr ""
+msgstr "%s:%lu: sted for fejlen"
 
-#: src/tar.c:2076
-#, fuzzy, c-format
+#: src/tar.c:2085
+#, c-format
 msgid "error parsing %s"
-msgstr "Fejl ved fortolkning af tal n�r \"%s\""
+msgstr "Fejl ved fortolkning af %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FIL]..."
 
-#: src/tar.c:2181
-#, fuzzy, c-format
+#: src/tar.c:2190
+#, c-format
 msgid "non-option arguments in %s"
-msgstr "ugyldigt argument %s for %s"
+msgstr "argumenter uden flag i %s"
 
-#: src/tar.c:2196
-#, fuzzy, c-format
+#: src/tar.c:2205
+#, c-format
 msgid "cannot split TAR_OPTIONS: %s"
-msgstr "kan ikke opsplitte streng '%s': %s"
+msgstr "kan ikke opsplitte TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Gammelt flag '%c' beh�ver et argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence er meningsl�s uden en filliste"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Ved flere arkivfiler kr�ves '-M'-flaget"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level er meningsl�s uden --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: etiket p� delarkiv er for lang (gr�nse er %lu byte)"
 msgstr[1] "%s: etiket p� delarkiv er for lang (gr�nse er %lu byte)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Kan ikke verificere arkiv som g�r over flere delarkiver"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Kan ikke verificere komprimerede arkiver"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan ikke bruge komprimerede arkiver som g�r over flere delarkiver"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Kan ikke sammenl�gge (konkatenere) komprimerede arkiver"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
-msgstr ""
+msgstr "--clamp-mtime beh�ver en dato angivet med --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option kan kun bruges p� POSIX-arkiver"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls kan kun bruges p� POSIX-arkiver"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux kan kun bruges p� POSIX-arkiver"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs kan kun bruges p� POSIX-arkiver"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2536,128 +2535,137 @@ msgstr ""
 "Kan ikke udlede topniveau-katalognav; s�t det eksplicit med --one-top-"
 "level=KAT"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Delarkivl�ngden kan ikke v�re mindre end postst�rrelsen"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "N�gter st�digt at oprette et tomt arkiv"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Flagene '-Aru' er inkompatible med '-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Du skal angive et af '-Acdtrux', '--delete' eller '--test-label' flagene"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Afslutter med fejlstatus p� grund af tidligere fejl"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Filen formindskedes med %s byte"
 msgstr[1] "%s: Filen formindskedes med %s byte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "N�gleordet %s er ukendt eller ikke implementeret endnu"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Tidsstempel udenfor tilladt interval"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "M�nster %s kan ikke bruges"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "N�gleord %s kan ikke erstattes"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Fejlagtigt udvidet hoved: l�ngden mangles"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "L�ngde %*s p� udvidet hoved er udenfor gyldigt interval"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Fejlagtigt udvidet hoved: blanktegn efter l�ngdangivelse mangles"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Fejlagtigt udvidet hoved: ligmedtegn mangles"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Fejlagtigt udvidet hoved: nylinje mangles"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignorerer n�gleord '%s' i udvidet hoved"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Genereret n�gle/v�rdi-par er for langt (n�gle=%s, l�ngde=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Udvidet hoved %s=%s er udenfor intervallet %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Fejlagtigt udvidet hoved: ugyldig %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Fejlagtigt udvidet hoved: for mange %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: uventet skilletegn %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: ulige antal v�rdier"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: ugyldig tidsudl�b"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: ukendt kontrolpunktshandling"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "skrive"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "l�se"
 
@@ -2665,7 +2673,7 @@ msgstr "l
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Skrivekontrolpunkt %u"
@@ -2674,12 +2682,12 @@ msgstr "Skrivekontrolpunkt %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "L�sekontrolpunkt %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2687,93 +2695,97 @@ msgstr ""
 "genfile bearbejder datafiler i testsuiten for GNU paxutils.\n"
 "FLAG er:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Flag for filoprettelse:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "ST�RRELSE"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Opret en fil med angivet ST�RRELSE"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Skriv til filen NAVN i stedet for til standard-ud"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "L�s filnavne fra FIL"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T l�ser navne adskilte med nultegn"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Fyld filen med det angivne M�NSTER. M�NSTER er 'default' eller 'zeros'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "St�rrelse af en blok for filer med huller"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Gener�r fil med huller. Resten af kommandolinjen giver filmapningen."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "POSITION"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Flyt til given position inden data skrives"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
-msgstr ""
+msgstr "Undertryk ikke-fataler diagnosebeskeder"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Flag for filstatistik:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "V�s indholdet i \"struct stat\" for hver given fil. Standardv�rdi p� FORMAT "
 "er:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Flag for synkron udf�relse:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "FLAG"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Udf�r ARGUMENTER. Nyttigt ved --checkpoint og en af --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Udf�r angivet handling (se nedenfor) n�r kontrolpunkt NUMMER n�s"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "S�t dato for n�ste --touch flag"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "V�s udf�rte kontrolpunkter og slutstatus p� KOMMANDO"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2781,7 +2793,7 @@ msgstr ""
 "Synkront udf�rte handlinger. Disse udf�res n�r kontrolpunktnummeret givet "
 "med flaget --checkpoint n�s."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2789,127 +2801,127 @@ msgstr ""
 "Afkort FIL til st�rrelsen givet med det foreg�ende --length flag (eller 0 "
 "hvis det ikke er angivet)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Tilf�j ST�RRELSE antal byte til FIL. ST�RRELSE er givet med foreg�ende --"
 "length flag."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Opdat�r acces- og modifikationstider for FIL"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Udf�r KOMMANDO"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Slet FIL"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ugyldig st�rrelse %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Nummer udenfor tilladt interval: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativ st�rrelse: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "status (stat) kunne ikke tages p� %s"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "�nsket fill�ngde %lu, virkelig %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "oprettet fil har ikke huller"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fejl ved fortolkning af tal n�r \"%s\""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Ukendt datoformat"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENTER...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "kan ikke �bne '%s'"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "Kan ikke s�ge"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "filnavnet indeholder nultegn"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "kan ikke oprette filer med huller til standard-ud, brug flaget --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "fejlagtig maske (n�r \"%s\")"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Ukendt felt '%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "kan ikke s�tte tid p� \"%s\""
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "kan ikke trunkere '%s'"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "kommando mislykkedes: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "kan ikke trunkere '%s'"
+msgstr "kan ikke tage status via stat() p� '%s'"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "kan ikke s�tte tid p� \"%s\""
+msgstr "kan ikke fjerne katalog '%s'"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
-msgstr "kan ikke fjerne (unlink) \"%s\""
+msgstr "kan ikke fjerne (unlink) '%s'"
 
 #: tests/genfile.c:918
 #, c-format
@@ -2946,6 +2958,9 @@ msgstr "Kommandoen afsluttedes\n"
 msgid "--stat requires file names"
 msgstr "--stat kr�ver filnavne"
 
+#~ msgid "OPTION"
+#~ msgstr "FLAG"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: Parameter fra ARGP_HELP_FMT skal v�re positiv."
 
diff --git a/po/de.gmo b/po/de.gmo
index 84214d9cb815f0521da939e53d30b7d8706e299f..86f3b0fd3467b01623bc0ac9d7dbf7d160b2be8d 100644
GIT binary patch
delta 14926
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
YMyo1KFG|f!OU;{n@S^DEd6(*x0bN=Z9smFU

delta 12935
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

diff --git a/po/de.po b/po/de.po
index be2430a7..60e50fa1 100644
--- a/po/de.po
+++ b/po/de.po
@@ -4,15 +4,15 @@
 # Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995?
 # Karl Eichwalder <ke@ke.central.de>, 1996
 # Christian Kirsch <ck@held.mind.de>, 1996, 2001
-# Michael Piefel <piefel@informatik.hu-berlin.de>, 2003, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2016
+# Michael Piefel <piefel@informatik.hu-berlin.de>, 2003, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2018
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-17 20:20+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-02-11 14:45+0200\n"
 "Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -99,7 +99,7 @@ msgid "give a short usage message"
 msgstr "eine kurze Benutzungsübersicht ausgeben"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAME"
 
@@ -137,29 +137,29 @@ msgid "write error"
 msgstr "Schreibfehler"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: Option „%s“ ist mehrdeutig\n"
+msgstr "%s: Option „%s%s“ ist mehrdeutig\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: Option „%s“ ist mehrdeutig; Möglichkeiten:"
+msgstr "%s: Option „%s%s“ ist mehrdeutig; Möglichkeiten:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: Unbekannte Option „%c%s“\n"
+msgstr "%s: Unbekannte Option „%s%s“\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: Option „%c%s“ erlaubt keinen Parameter\n"
+msgstr "%s: Option „%s%s“ erlaubt kein Argument\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: Option „--%s“ benötigt einen Parameter\n"
+msgstr "%s: Option „%s%s“ benötigt ein Argument\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -169,7 +169,7 @@ msgstr "%s: Ungültige Option -- „%c“\n"
 #: gnu/getopt.c:636 gnu/getopt.c:682
 #, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: Option benötigt einen Parameter -- „%c“.\n"
+msgstr "%s: Option benötigt ein Argument -- „%c“.\n"
 
 #: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
@@ -234,12 +234,12 @@ msgstr "^[yYjJ]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketiert von %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketiert von %s\n"
@@ -247,12 +247,11 @@ msgstr "Paketiert 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -262,7 +261,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"License GPLv3+: GNU GPL Version 3 oder später <http://gnu.org/licenses/gpl."
+"License GPLv3+: GNU GPL Version 3 oder später <https://gnu.org/licenses/gpl."
 "html>\n"
 "Dies ist freie Software: Sie dürfen sie ändern und weiter verbreiten.\n"
 "Es gibt KEINERLEI GARANTIE, so weit das Gesetz es erlaubt.\n"
@@ -400,14 +399,13 @@ msgid "%s home page: <%s>\n"
 msgstr "Homepage von %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Homepage von %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Homepage von %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr "Allgemeine Hilfe zu GNU-Software: <http://www.gnu.org/gethelp/>\n"
+msgstr "Allgemeine Hilfe zu GNU-Software: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -526,190 +524,190 @@ msgstr "Kann Dateien für Remote-Shell nicht umleiten."
 msgid "Cannot execute remote shell"
 msgstr "Kann Remote-Shell nicht ausführen."
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Richtung für Positionierung nicht zulässig."
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Ungültige Richtung für Positionierung"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Ungültiger Betrag für Positionierung"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Positionierungsangabe außerhalb des zulässigen Bereichs."
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Ungültige Bytezahl"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Bytezahl außerhalb des zulässigen Bereichs"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Vorzeitiges Dateiende"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Ungültiger Arbeitsmodus"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operation nicht gestattet"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Unerwartete Argumente"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 "Ein Bandlaufwerk bearbeiten, dabei Befehle von entferntem Prozess annehmen"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "ZAHL"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "Debug-Level setzen"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "DATEI"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "Dateinamen für Debug-Ausschriften setzen"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "kann „%s“ nicht öffnen"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "zu viele Argumente"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Ungültiger Befehl"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Das sieht nicht wie ein „tar“-Archiv aus."
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Gesamtzahl gelesener Bytes"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Gesamtzahl geschriebener Bytes"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Gesamtzahl gelöschter Bytes"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Verweigere, Archivinhalt vom Terminal zu lesen (fehlt Option -f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Verweigere, Archivinhalt aufs Terminal zu schreiben (fehlt Option -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Ungültiger Wert für „record_size“."
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Kein Archivname angegeben"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kann Archive auf Standard-Ein-/Ausgabe nicht prüfen."
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archiv ist komprimiert. Benutzen Sie die Option %s."
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Kann komprimierte Archive nicht aktualisieren"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Am Anfang des Mediums, beende jetzt."
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Zu viele Fehler, beende."
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Recordgröße = %lu Block"
 msgstr[1] "Recordgröße = %lu Blöcke"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Falsch ausgerichteter Block (ein Byte) im Archiv."
 msgstr[1] "Falsch ausgerichteter Block (%lu Bytes) im Archiv."
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Kann Archiv-Datei nicht zurücksetzen; könnte ohne „-i“ unlesbar sein."
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "„rmtlseek“ nicht an Recordgrenze angehalten"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: enthält ungültige Teil-Nummer."
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Teil-Nummer zu groß."
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Medium #%d für %s einlegen und Eingabetaste drücken: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Dateiende gefunden, Benutzereingabe erwartet"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "WARNUNG: Archiv unvollständig"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -721,67 +719,67 @@ msgstr ""
 " q             „tar“ abbrechen\n"
 " j oder Enter  fortfahren\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Shell in einem Unterprozess starten\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             diese Liste ausgeben\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Kein neues Medium; halte an.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Dateiname nicht angegeben. Versuchen Sie es noch einmal.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ungültige Eingabe. Geben Sie „?“ für Hilfe ein.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "„%s“-Befehl gescheitert."
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "Dieser Teil ist keine Fortsetzung von %s."
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s wird möglicherweise auf diesem Teil fortgesetzt: Kopf enthält "
 "abgeschnittenen Namen."
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s hat die falsche Größe (%s != %s + %s)."
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Dieser Teil ist nicht an der Reihe (%s - %s != %s)."
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Kennzeichnung des Archivs passt nicht zu „%s“."
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Teil „%s“ passt nicht zu „%s“."
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -789,211 +787,211 @@ msgstr ""
 "%s: Dateiname zu lang, um in einem GNU-Mehrteil-Kopf abgelegt werden zu "
 "können, abgeschnitten"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "Schreiben endete nicht an Blockgrenze"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Konnte nur %lu von %lu Byte lesen"
 msgstr[1] "Konnte nur %lu von %lu Bytes lesen"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Unterschiedliche Inhalte"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Unerwartetes Dateiende im Archiv."
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Unterschiedliche Dateitypen "
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Modus ist unterschiedlich"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Benutzerkennung ist unterschiedlich"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gruppenkennung ist unterschiedlich"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Änderungszeit ist unterschiedlich"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Größe ist unterschiedlich"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Nicht mit „%s“ verknüpft"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symbolische Verknüpfung ist unterschiedlich"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Unterschiedliche Gerätenummern"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Prüfe "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Unbekannter Dateityp „%c“, Differenz wie für eine normale Datei."
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Archiv enthält Dateinamen, deren Präfixe entfernt wurden."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Archiv enthält transformierte Dateinamen."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Die Überprüfung findet möglicherweise die Originaldateien nicht."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "FEHLER BEI PRÜFUNG: %d ungültiger Kopfteil erkannt."
 msgstr[1] "FEHLER BEI PRÜFUNG: %d ungültige Kopfteile erkannt."
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Ein einzelner Nullblock bei %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: enthält eine „Cache-Verzeichnis“-Markierung %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "Wert %s außerhalb des %s-Bereich %s..%s; ersetze durch %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "Wert %s außerhalb des %s-Bereichs %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Erzeuge negative oktale Kopfteile"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: Dateiname ist zu lang (max. %d); nicht gesichert."
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: Dateiname ist zu lang (kann nicht aufgeteilt werden); nicht gesichert."
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: Verknüpfungsname ist zu lang; nicht gesichert."
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "Datei %s ist um ein Byte geschrumpft, fülle mit Null auf."
 msgstr[1] "Datei %s ist um %s Bytes geschrumpft, fülle mit Nullen auf."
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "Datei %s liegt auf einem anderen Dateisystem; nicht gesichert."
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "Inhalt nicht gesichert"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Unbekannter Dateityp; Datei ignoriert."
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Fehlende Verknüpfungen zu %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "Datei %s ist unverändert; nicht gesichert."
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s ist das Archiv; nicht gesichert."
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "Verzeichnis nicht gesichert"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: Datei hat sich beim Lesen geändert."
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: Socket ignoriert"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: Klappe ignoriert"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Springe zum nächsten Kopfteil."
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Lösche nicht-Kopfteil aus dem Archiv"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: unplausibel alter Zeitstempel %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: Zeitstempel %s liegt %s Sekunden in der Zukunft."
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Unerwarteter Inkonsitenz beim Erstellen des Verzeichnisses."
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: überspringe existierende Datei"
@@ -1018,7 +1016,7 @@ msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr ""
 "Kann „%s“ nicht herausholen – Datei ist Fortsetzung eines anderen Teils."
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Unerwarteter Kopfteil mit langem Namen"
 
@@ -1035,7 +1033,7 @@ msgstr "Aktuelles %s ist neuer oder hat dasselbe Alter."
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: Elementname enthält „..“"
 
 #: src/extract.c:1696
 #, c-format
@@ -1047,22 +1045,22 @@ msgstr "%s: Konnte keine Sicherheitskopie von dieser Datei erstellen"
 msgid "Cannot rename %s to %s"
 msgstr "Kann %s nicht in %s umbenennen."
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Verzeichnis wurde von „%s“ umbenannt."
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "Verzeichnis „%s“ ist neu."
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "Verzeichnis %s liegt auf einem anderen Dateisystem; nicht gesichert."
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Verzeichnis wurde umbenannt."
@@ -1190,87 +1188,87 @@ msgstr "%s: Lösche %s.\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Kann nicht entfernen."
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Ausgelassen"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "Block %s: ** Block aus NULlen **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "Block %s: ** Ende der Datei **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "Block %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Leerzeichen im Kopfteil, wo numerische %s-Werte stehen sollten."
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
-msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs, nehme Zweierkomplement an?"
+msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs, nehme Zweierkomplement an"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiv enthält veraltete Base64-Kopfteile"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
-msgstr "Base64-Text %s außerhalb des %s-Bereichs."
+msgstr "Base64-Text %s außerhalb des %s-Bereichs"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
-msgstr "Base-256-Wert ist außerhalb des %s-Bereichs."
+msgstr "Base-256-Wert ist außerhalb des %s-Bereichs"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
-msgstr "Archiv enthält „%.*s“ wo numerische %s-Werte stehen sollten."
+msgstr "Archiv enthält „%.*s“ wo numerische %s-Werte stehen sollten"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
-msgstr "Wert %s außerhalb des %s-Bereichs %s..%s."
+msgstr "Wert %s außerhalb des %s-Bereichs %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " Verknüpfung zu %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " unbekannter Dateityp %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "––Lange Verknüpfung––\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "––Langer Name––\n"
@@ -1278,112 +1276,112 @@ msgstr "––Langer Name––\n"
 # Alte Üs: Band Kopfteil.  Kann diese Meldung auch bei Disketten
 # ausgegeben werden?  Dann kann man ja nicht "Band" sagen; am besten
 # einfach "Volume" lassen. ke.
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "––Vorspann des Teils––\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "––Fortgesetzt bei Byte %s––\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Erzeuge Verzeichnis:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
-msgstr "Benenne „%s“ in „%s“ um.\n"
+msgstr "Benenne „%s“ in „%s“ um\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Kann nicht in %s umbenennen"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
-msgstr "Benenne „%s“ zurück in „%s“.\n"
+msgstr "Benenne „%s“ zurück in „%s“\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
-msgstr "%s: Datei gelöscht, bevor sie gelesen wurde."
+msgstr "%s: Datei gelöscht, bevor sie gelesen wurde"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "Kindprozess"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "Interprocess-Kanal"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Auswahl der lokalen Dateinamen:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "angegebene Datei zum Archiv hinzufügen (nützlich, wenn Datei mit einem "
 "Strich beginnt)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "VERZEICHNIS"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "zu VERZEICHNIS wechseln"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "Namen der zu bearbeitenden Dateien aus DATEI lesen"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T liest null-terminierte Namen; impliziert --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "die Wirkung der vorangehenden Option --null aufheben"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "Namen von Eingabedateien oder Bestandteilen von Zitat befreien "
 "(Voreinstellung)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "Namen von Eingabedateien oder Bestandteilen nicht von Zitat befreien"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T liest Dateinamen wortwörtlich (keine Erkennung von Optionen)"
+msgstr ""
+"-T liest Dateinamen wortwörtlich (keine Behandlung von Escapes oder Optionen)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T behandelt Dateinamen, die mit Strich beginnen, als Optionen "
 "(Voreinstellung)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MUSTER"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "Dateien auslassen, auf die MUSTER passt"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "Dateien auslassen, auf die in DATEI angegebene Muster passen"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1391,26 +1389,26 @@ msgstr ""
 "Inhalt von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten, außer der "
 "Markierungsdatei selbst"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 "alles unterhalb von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "Verzeichnisse auslassen, die CACHEDIR.TAG enthalten"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "Inhalt von Verzeichnissen auslassen, die DATEI enthalten, außer DATEI selbst"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 "Ausschlussmuster für jedes Verzeichnis aus DATEI lesen, wenn sie existiert"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1418,118 +1416,122 @@ msgstr ""
 "Ausschlussmuster für jedes Verzeichnis und seine Unterverzeichnisse aus "
 "DATEI lesen, wenn sie existiert"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "alles unterhalb von Verzeichnissen auslassen, die DATEI enthalten"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "Verzeichnisse auslassen, die DATEI enthalten"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "Verzeichnisse von Versionskontrollsystemen auslassen"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "Ausschlussmuster aus der VCS-Ignorierdatei lesen"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "Backup- und Lock-Dateien ausschließen"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "in Verzeichnisse absteigen (Voreinstellung)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "automatischen Abstieg in Vezeichnisse vermeiden"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Dateinamenauswahloptionen (sowohl für ein- als auch ausschließende Muster):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "Muster am Dateinamensanfang ausrichten"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "Muster passen nach jedem „/“ (Voreinstellung beim Ausschluss)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "Groß-/Kleinschreibung ignorieren"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "Groß-/Kleinschreibung beachten (Voreinstellung)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "Muster benutzen (Voreinstellung für Ausschluss)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "Zeichenketten sind buchstabengetreu"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "Jokerzeichen passen auf „/“ (Voreinstellung für Ausschluss)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "Jokerzeichen passen nicht auf „/“"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Die folgenden Optionen wurden im Modus zum Erzeugen oder Aktualisieren von "
+"Archiven hinter nicht optionalen Argumenten angegeben. Diese Optionen sind "
+"positionsabhängig und haben nur auf Argumente Einfluss, die hinter ihnen "
+"stehen. Bitte ordnen Sie sie entsprechend an."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s hat keinen Einfluss"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s hat keinen Einfluss"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s hat keinen Einfluss"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "Kommandozeile"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 "%s: Dateiliste, die von %s angefordert wurde, wurde schon von %s gelesen"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "kann Zeichenkette „%s“ nicht zerteilen: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: gelesener Dateiname enthält ein NULL-Zeichen"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Zeichen für Musterüberdeckung im Dateinamen benutzt"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1537,45 +1539,45 @@ msgstr ""
 "Benutzen Sie --wildcards, um Musterüberdeckung zu ermöglichen oder\n"
 "--no-wildcards, um diese Warnung zu unterdrücken."
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nicht im Archiv gefunden."
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Erforderliches Auftreten nicht im Archiv gefunden."
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Kennzeichnung des Archivs passt nicht"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr "Option -C in Dateiliste ist nicht erlaubt mit --listed-incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "In --listed-incremental ist nur eine Option -C erlaubt"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Sowohl Option „%s“ als auch „%s“ verlangen Standard-Eingabe."
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Ungültiges Archivformat"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-Erweiterungen bei einem inkompatiblen Archiv-Format verlangt."
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1806,7 +1808,7 @@ msgstr "Wahl des Ausgabestroms:"
 msgid "extract files to standard output"
 msgstr "Dateien auf die Standardausgabe extrahieren"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "BEFEHL"
 
@@ -1842,7 +1844,7 @@ msgstr "DATEI benutzen, um UIDs und Namen der Besitzer abzubilden"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "DATEI benutzen, um GIDs und Namen der Besitzer abzubilden"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ODER-DATEI"
 
@@ -2062,7 +2064,7 @@ msgstr "erneut Blocken beim Lesen (für 4.2BSD‐Pipes)"
 msgid "Archive format selection:"
 msgstr "Auswahl des Archiv-Formats:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2146,63 +2148,63 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "durch PROG filten (muss -d akzeptieren)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Auswahl der lokalen Dateien:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "beim Anlegen eines Archivs im lokalen Dateisystem bleiben"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "führende „/“-Zeichen in den Dateinamen erhalten"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "symbolischen Verknüpfungen folgen; die Dateien archivieren und abspeichern, "
 "auf die sie zeigen"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "harten Verknüpfungen folgen; die Dateien archivieren und abspeichern, auf "
 "die sie sich beziehen"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "ELEMENT-NAME"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "beim Lesen der Archivs mit ELEMENT-NAME beginnen"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "nur Dateien ablegen, die neuer als DATUM-ODER-DATEI sind"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "Datum und Zeit nur überprüfen, wenn Daten geändert wurden"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROLLE"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "Sicherung vor dem Entfernen, wähle Versions-KONTROLLE"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "ZEICHENKETTE"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2210,61 +2212,61 @@ msgstr ""
 "Sicherung vor dem Entfernen, übliches Suffix ersetzen („~“, wenn nicht durch "
 "Umgebungsvariable SIMPLE_BACKUP_SUFFIX anders gesetzt)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Dateinamentransformationen:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "ZAHL führende Komponenten beim Extrahieren von Dateinamen entfernen"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "AUSDRUCK"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "den sed-AUSDRUCK zur Dateinamentransformation benutzen"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informationen:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "bearbeitete Dateien ausführlich listen"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "SCHLÜSSELWORT"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "Warnungssteuerung"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Fortschrittsnachrichten bei jedem ZAHLten Record (Voreinstellung 10) anzeigen"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "AKTION"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "AKTION bei jedem Kontrollpunkt ausführen"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr ""
 "eine Nachricht ausgeben, wenn nicht alle Verknüpfungen abgespeichert werden"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2276,35 +2278,35 @@ msgstr ""
 "wird; erlaubte Signale sind: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 und SIGUSR2; "
 "die Namen ohne das Präfix SIG sind auch erlaubt"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "Dateiänderungszeiten in UTC anzeigen"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "Dateizeit in voller Auflösung anzeigen"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "ausführliche Ausgabe in DATEI schreiben"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "bei jeder Nachricht die Blocknummer innerhalb des Archivs mit anzeigen"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "für jede Aktion um Bestätigung bitten"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "Voreinstellungen von tar anzeigen"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "gültige Bereiche für die Felder von Snapshot-Dateien anzeigen"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2312,52 +2314,52 @@ msgstr ""
 "beim Listen oder Extrahieren jedes Verzeichnis auflisten, dass nicht den "
 "Suchkriterien entspricht"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "Datei- oder Archivnamen nach der Transformation anzeigen"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "Zitatstil setzen; siehe unten für gültige STIL-Werte"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "zusätzliche Zeichen aus ZEICHENKETTE zitieren"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "Zeichen aus ZEICHENKETTE nicht zitieren"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Kompatibilitätsoptionen:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "beim Anlegen wie --old-archive; beim Extrahieren wie --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Weitere Optionen:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "möglicherweise schädliche Optionen deaktivieren"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "„%s“ kann nicht mit %s benutzt werden"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2365,40 +2367,40 @@ msgstr ""
 "Von den Optionen „-Acdtrux“, „--delete“ oder „--test-label“ ist jeweils nur "
 "eine erlaubt"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Kompressionsoptionen schließen sich gegenseitig aus."
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Unbekannter Signalname: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Datumsdatei nicht gefunden"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Ersetze %s für unbekanntes Datumsformat %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Option %s: Behandle Datum „%s“ als %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "Archiv durch %s filtern"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Gültige Argumente für die Option --quoting-style sind:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2406,163 +2408,163 @@ msgstr ""
 "\n"
 "*Dieses* „tar“ hat als Voreinstellung:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Ungültige Benutzer- oder Gruppen-ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Ungültige Blockgröße"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Ungültige Bandlänge"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "unzulässiger Wert für inkrementelles Niveau"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Mehr als ein Datum angegeben."
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Ungültiger Wert für Sparse-Version (für löchrige Dateien)"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' wird auf dieser Plattform nicht unterstützt"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "Wert für --checkpoint ist keine ganze Zahl"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Ungültige Zugriffsrechte angegeben."
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Ungültige Zahl"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Ungültiger Wert für Recordgröße."
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Die Recordgröße muss ein Vielfaches von %d sein."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Ungültige Elementanzahl"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Nur eine Option --to-command erlaubt"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Fehlgeformtes Dichteargument: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Unbekannte Dichte: „%c“"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Die Optionen „-[0-7][lmh]“ unterstützt *dieses* „tar“ nicht."
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: Stelle des Fehlers"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "Fehler beim Parser von %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[DATEI]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "Argumente, die keine Optionen sind, in %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "kann TAR_OPTIONS nicht zerteilen: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
-msgstr "Die alte Option „%c“ benötigt einen Parameter."
+msgstr "Die alte Option „%c“ benötigt ein Argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence ist ohne Dateiliste bedeutungslos"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Mehrere Archivdateien verlangen die Option „-M“."
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level ist ohne --listed-incremental bedeutungslos"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Band-Nummer ist zu lang (Maximum ist ein Byte)."
 msgstr[1] "%s: Band-Nummer ist zu lang (Maximum ist %lu Bytes)."
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Kann mehrteilige Archive nicht prüfen."
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Kann komprimierte Archive nicht prüfen"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kann keine mehrteiligen komprimierten Archive verwenden."
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Kann komprimierte Archive nicht aneinanderhängen"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime benötigt ein mit --mtime gesetztes Datum"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2570,82 +2572,91 @@ msgstr ""
 "Kann Namen des obersten Verzeichnisses nicht ableiten; bitte explizit mit --"
 "one-top-level=VERZ setzen"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Teillänge kann nicht unter der Recordgröße liegen"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Anlegen eines leeren Archivs wird feige verweigert."
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Die Optionen „-Aru“ sind nicht kompatibel mit „-f -“."
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Eine der Optionen „-Acdtrux“, „--delete“ oder „--test-label“ ist notwendig."
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Beende mit Fehlerstatus aufgrund vorheriger Fehler"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Datei ist um ein Byte geschrumpft."
 msgstr[1] "%s: Datei ist um %s Bytes geschrumpft."
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Schlüsselwort %s ist unbekannt oder noch nicht implementiert"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Zeitstempel außerhalb des zulässigen Bereichs"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Muster %s kann nicht benutzt werden"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Schlüsselwort %s kann nicht überschrieben werden"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Fehlgeformter erweiterter Kopfteil: fehlende Länge"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Länge %*s des erweiterten Kopfteils ist außerhalb des Bereichs"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Leerraum nach der Länge"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Fehlgeformter erweiterter Kopfteil: fehlendes Gleichheitszeichen"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Zeilenvorschub"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignoriere unbekanntes Schlüsselwort „%s“ für erweiterten Kopfteil"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2653,50 +2664,50 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Erweiterter Kopfteil %s=%s ist außerhalb des Bereichs %s..%s."
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Fehlgeformter erweiterter Kopfteil: ungültiges %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Fehlgeformter erweiterter Kopfteil: überzähliges %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Fehlgeformter erweiterter Kopfteil: ungültiges %s: unerwarteter Trenner %c"
 
 # Ist „odd“ hier ungerade oder merkwürdig?
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 "Fehlgeformter erweiterter Kopfteil: ungültiges %s: ungewöhnliche Anzahl von "
 "Werten"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: kein gültiger Zeitüberschreitungswert"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: unbekannte Kontrollpunkt-Aktion"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "lesen"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "schreiben"
 
@@ -2704,7 +2715,7 @@ msgstr "schreiben"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Schreib-Kontrollpunkt %u"
@@ -2713,12 +2724,12 @@ msgstr "Schreib-Kontrollpunkt %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Lese-Kontrollpunkt %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2726,99 +2737,103 @@ msgstr ""
 "genfile manipuliert Datendateien für die Testsuite der GNU paxutils.\n"
 "OPTIONEN sind:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Optionen beim Anlegen von Dateien:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "GRÖßE"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Datei der gegebenen GRÖßE anlegen"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "in Datei NAME anstelle der Standardausgabe schreiben"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Dateinamenlist aus DATEI lesen"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T liest null-terminierte Namen"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Die Datei mit dem gegebenen MUSTER füllen. MUSTER ist „default“ oder „zeros“."
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Größe eines Blocks für löchrige Dateien"
 
 # „map“: Karte, Abbildung?
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
-"Löchrige („sparse“) Datei erzeugen. Der Rest der Kommandozeile gibt die die "
+"Löchrige („sparse“) Datei erzeugen. Der Rest der Kommandozeile gibt die "
 "Dateibildungsvorschrift an."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "POSITION"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "vor dem Schreiben zur gegebenen Position springen"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Diagnosemeldungen, die nicht schwerwiegend sind, unterdrücken"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Dateistatistikoptionen:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Inhalt des „struct stat“ für jede gegebene Datei ausgeben. Standard-FORMAT "
 "ist:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Optionen für synchrone Ausführung:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPTION"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "ARGUMENTE ausführen. Nützlich mit --checkpoint und einem aus --cut, --"
 "append, --touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "gegebene Aktion (siehe unten) beim Erreichen des Kontrollpunkts ZAHL "
 "ausführen"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Datum für nächste „--touch“-Operation setzen"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "ausgeführte Kontrollpunkte und Beendigungsstatus von BEFEHL anzeigen"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2826,7 +2841,7 @@ msgstr ""
 "Aktionen für synchrone Ausführung. Diese werden beim Erreichen des "
 "Kontrollpunkts, der mit der Option --checkpoint gesetzt wurde, ausgeführt."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2834,126 +2849,126 @@ msgstr ""
 "DATEI kürzen auf die Länge, die mit einer vorhergehenden Option --length "
 "(oder 0 bei Abwesenheit) gesetzt wurde"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "GRÖßE Bytes an DATEI anfügen. GRÖßE wird mit einer vorhergehenden Option --"
 "length gesetzt."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Zugriffs- und Änderungszeiten der DATEI neu setzen"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "BEFEHL ausführen"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "DATEI löschen"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ungültige Größe: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Zahl außerhalb des zulässigen Bereichs: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negative Größe: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) fehlgeschlagen"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "Dateilänge %lu verlangt, tatsächlich %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "erzeugte Datei ist nicht löchrig"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fehler beim Parser der Zahl in der Nähe von „%s“"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Unbekanntes Datumsformat"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENTE...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "kann „%s“ nicht öffnen"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "kann nicht positionieren"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "Dateiname enthält Null-Zeichen"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "kann auf der Standardausgabe keine löchrige Datei erstellen, benutzen Sie "
 "die Option --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "inkorrekte Maske (nahe „%s“)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "unbekannte Feld „%s“"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "kann an „%s“ keine Zeit setzen"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "kann „%s“ nicht abschneiden"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "Befehl fehlgeschlagen: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "kann „%s“ nicht abschneiden"
+msgstr "kann nicht auf „%s“ zugreifen"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "kann an „%s“ keine Zeit setzen"
+msgstr "kann Verzeichnis „%s“ nicht entfernen"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "kann „%s“ nicht entfernen (unlink)"
@@ -2993,11 +3008,11 @@ msgstr "Befehl beendet\n"
 msgid "--stat requires file names"
 msgstr "--stat erfordert Dateinamen"
 
-#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-#~ msgstr "%.*s: ARGP_HELP_FMT-Parameter muss positiv sein"
+#~ msgid "OPTION"
+#~ msgstr "OPTION"
 
 #~ msgid "%s: option '--%s' doesn't allow an argument\n"
-#~ msgstr "%s: Option „--%s“ erlaubt keinen Parameter\n"
+#~ msgstr "%s: Option „--%s“ erlaubt kein Argument\n"
 
 #~ msgid "%s: unrecognized option '--%s'\n"
 #~ msgstr "%s: Unbekannte Option „--%s“\n"
@@ -3006,10 +3021,10 @@ msgstr "--stat erfordert Dateinamen"
 #~ msgstr "%s: Option „-W %s“ ist mehrdeutig\n"
 
 #~ msgid "%s: option '-W %s' doesn't allow an argument\n"
-#~ msgstr "%s: Option „-W %s“ erlaubt keinen Parameter\n"
+#~ msgstr "%s: Option „-W %s“ erlaubt kein Argument\n"
 
 #~ msgid "%s: option '-W %s' requires an argument\n"
-#~ msgstr "%s: Option „-W %s“ benötigt einen Parameter\n"
+#~ msgstr "%s: Option „-W %s“ benötigt ein Argument\n"
 
 #~ msgid "Unlink FILE"
 #~ msgstr "FILE entfernen (unlink)"
@@ -3017,13 +3032,6 @@ msgstr "--stat erfordert Dateinamen"
 #~ msgid "same as both -p and -s"
 #~ msgstr "wie -p und -s zusammen"
 
-#~ msgid ""
-#~ "The --preserve option is deprecated, use --preserve-permissions --"
-#~ "preserve-order instead"
-#~ msgstr ""
-#~ "Die Option --preserve ist veraltet, benutzen Sie stattdessen --preserve-"
-#~ "permissions --preserve-order"
-
 #~ msgid "--occurrence cannot be used with %s"
 #~ msgstr "--occurrence kann mit %s nicht benutzt werden"
 
@@ -3067,13 +3075,6 @@ msgstr "--stat erfordert Dateinamen"
 #~ msgid "%s: illegal option -- %c\n"
 #~ msgstr "%s: Unzulässige Option -- %c\n"
 
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an <%s>.\n"
-
 #~ msgid "Input string too long"
 #~ msgstr "Eingabezeichenkette zu lang"
 
@@ -3089,20 +3090,6 @@ msgstr "--stat erfordert Dateinamen"
 #~ msgid "Try `%s --help' for more information.\n"
 #~ msgstr "„%s --help“ zeigt weitere Informationen.\n"
 
-#~ msgid ""
-#~ "Usage: %s [OPTION]\n"
-#~ "Manipulate a tape drive, accepting commands from a remote process.\n"
-#~ "\n"
-#~ "  --version  Output version info.\n"
-#~ "  --help     Output this help.\n"
-#~ msgstr ""
-#~ "Aufruf: %s [OPTION]\n"
-#~ "Arbeiten mit einem Bandlaufwerk, Befehle können von einem anderen Prozess "
-#~ "stammen.\n"
-#~ "\n"
-#~ "  --version    Versionsinformation ausgeben\n"
-#~ "  --help       diesen Hilfetext ausgeben\n"
-
 #~ msgid "Seek offset error"
 #~ msgstr "Fehler bei der Positionierungsangabe."
 
diff --git a/po/el.gmo b/po/el.gmo
index b36b784b6fca5ed07093796fd729c547cc2696a5..a3e4a0430dbe2ed55674cfc0b15c295061ff542e 100644
GIT binary patch
delta 26
hcmZoJY%bi8A<k>5Yha{nWUOFlVr6Q+xm27_5ddu*2N(bV

delta 26
hcmZoJY%bi8A<k>AYiOivXs%#rWMyo)xm27_5dduG2M_=N

diff --git a/po/el.po b/po/el.po
index e30a4ac5..b5d998b1 100644
--- a/po/el.po
+++ b/po/el.po
@@ -3,12 +3,12 @@
 # Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) <ebalaskas@cs.teiath.gr>, 2004.
 # Simos Xenitellis <simos74@gmx.net>, 2004.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25 \n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2004-03-08 14:44+0200\n"
 "Last-Translator: Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) <ebalaskas@cs."
 "teiath.gr>\n"
@@ -100,7 +100,7 @@ msgid "give a short usage message"
 msgstr ""
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
 
@@ -235,12 +235,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -248,11 +248,11 @@ msgstr ""
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -511,54 +511,54 @@ msgstr "Δεν είναι δυνατή η εκτέλεση απομακρυσμ
 msgid "Cannot execute remote shell"
 msgstr "Δεν είναι δυνατή η εκτέλεση απομακρυσμένου κελύφους (φλοιού)"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Η κατεύθυνση αναζήτησης είναι εκτός εύρους"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 #, fuzzy
 msgid "Invalid seek direction"
 msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 #, fuzzy
 msgid "Invalid seek offset"
 msgstr "Άκυρη ένδειξη χρόνου"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Η μετατόπιση αναζήτησης είναι εκτός εύρους"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 #, fuzzy
 msgid "Invalid byte count"
 msgstr "Άκυρο μέγεθος ταινίας"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 #, fuzzy
 msgid "Byte count out of range"
 msgstr "Η μετατόπιση αναζήτησης είναι εκτός εύρους"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 #, fuzzy
 msgid "Premature eof"
 msgstr "rmtd: Πρόωρο eof (τέλος αρχείου)\n"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 #, fuzzy
 msgid "Invalid operation code"
 msgstr "%s: άκυρη επιλογή -- %c\n"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr ""
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 #, fuzzy
 msgid "Unexpected arguments"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στα κατακερματισμένα ονόματα"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 #, fuzzy
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
@@ -569,147 +569,147 @@ msgstr ""
 "  --version  Εμφάνιση πληροφοριών έκδοσης.\n"
 "  --help  Εμφάνιση αυτής της βοήθειας.\n"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr ""
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr ""
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr ""
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, fuzzy, c-format
 msgid "cannot open %s"
 msgstr "Δεν είναι δυνατό το κλείσιμο"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Εντολή απορριμμάτων"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Αυτό δεν φαίνεται ως αρχειοθήκη tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr ""
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(σωλήνωση)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Άκυρη τιμή για record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Δεν δόθηκε όνομα αρχειοθήκης"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 "Δεν είναι δυνατή η επαλήθευση των κανονικών εισόδων/εξόδων της αρχειοθήκης"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Στην αρχή της ταινίας, τερματισμός τώρα"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Πάρα πολλά σφάλματα, τερματισμός"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Μέγεθος εγγραφής = %lu block"
 msgstr[1] "Μέγεθος εγγραφής = %lu block"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, fuzzy, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Μη ευθυγραμμισμένο μπλοκ (%lu byte) στην αρχειοθήκη"
 msgstr[1] "Μη ευθυγραμμισμένο μπλοκ (%lu byte) στην αρχειοθήκη"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: περιέχει άκυρο αριθμό τόμου"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Υπερχήλιση αριθμού τόμου"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Προετοίμασε τον τόμο #%d για %s και πάτα το πλήκτρο επιστροφής γραμμής"
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "EOF (Τέλος Αρχείου) ενώ η απάντηση του χρήστη αναμενότανε"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "ΠΡΟΕΙΔΟΠΟΊΗΣΗ: Η αρχειοθήκη είναι ημιτελής"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -721,275 +721,275 @@ msgstr ""
 " !          Παραγωγή νέου υπό-φλοιού\n"
 " ?          Εκτύπωση αυτής της λίστας\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Κανένας νέος τόμος; έξοδος\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "`%s' η εντολή απέτυχε"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s είναι το εσφαλμένο μέγεθος (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Αυτός ο τόμος είναι εκτός συνέχειας"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Ο τόμος %s δεν ταιριάζει %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr ""
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Δυνατή μόνο η ανάγνωση %lu από %lu byte"
 msgstr[1] "Δυνατή μόνο η ανάγνωση %lu από %lu byte"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Τα περιεχόμενα διαφέρουν"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Οι τύποι αρχείων διαφέρουν"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Οι καταστάσεις διαφέρουν"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Ταυτότητες χρήστη διαφέρουν"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Ταυτότητες ομάδας διαφέρουν"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Ώρες τροποποίησης διαφέρουν"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Τα μεγέθη διαφέρουν"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Δεν είναι συνδεδεμένο με %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Οι σύνδεσμοι διαφέρουν"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Οι αριθμοί των συσκευών διαφέρουν"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Επαλήθευση "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Άγνωστος τύπος αρχείου '%c', εκτέλεση της diff ως κανονικό αρχείο"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:541
+#: src/compare.c:540
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, fuzzy, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "Η ΕΠΑΛΎΘΕΥΣΗ ΑΠΈΤΥΧΕ: ανιχνεύτηκαν %d άκυρη(ες) επικεφαλίδα(δες)"
 msgstr[1] "Η ΕΠΑΛΎΘΕΥΣΗ ΑΠΈΤΥΧΕ: ανιχνεύτηκαν %d άκυρη(ες) επικεφαλίδα(δες)"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "η τιμή %s είναι εκτός του %s εύρος %s..%s; αντικαταστήθηκε από %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "η τιμή %s είναι εκτός του %s εύρους %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Παράχθηκαν αρνητικές οκταδικές επικεφαλίδες"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, fuzzy, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
 
-#: src/create.c:616
+#: src/create.c:615
 #, fuzzy, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
 
-#: src/create.c:643
+#: src/create.c:642
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμπλήρωση με μηδενικά"
 msgstr[1] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμπλήρωση με μηδενικά"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Άγνωστος τύπος αρχείου; το αρχείο αγνοήθηκε"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr " σύνδεσμος σε %s\n"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: αρχείο τροποποιήθηκε κατά την ανάγνωση"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: η υποδοχή αγνοήθηκε"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: η πόρτα αγνοήθηκε"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Παραλείποντας στην επόμενη επικεφαλίδα"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Διαγραφή μη-επικεφαλίδων από την αρχειοθήκη"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr ""
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, fuzzy, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: η ένδειξη χρόνου %s είναι %lu s στο μέλλον"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Μη αναμενόμενη ανακολουθία κατά την δημιουργία του καταλόγου"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
@@ -1012,7 +1012,7 @@ msgstr "Προσπάθεια εξαγωγής των συμβολικών συν
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Δεν είναι δυνατή η εξαγωγή -- το αρχείο συνεχίζεται σε άλλο τόμο"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στα κατακερματισμένα ονόματα"
@@ -1042,22 +1042,22 @@ msgstr "%s: Δεν είναι δυνατή η αποθήκευση αυτού τ
 msgid "Cannot rename %s to %s"
 msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Ο κατάλογος έχει μετονομαστεί"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Ο κατάλογος είναι καινούριος"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, fuzzy, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Ο κατάλογος έχει μετονομαστεί"
@@ -1183,35 +1183,35 @@ msgstr "%s: Διαγραφή %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Δεν είναι δυνατή η απομάκρυνση"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Παράλειψη"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "μπλοκ %s: ** Μπλοκ με χαρακτήρες NUL **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "μπλοκ %s: ** Τέλος Αρχείου **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "μπλοκ %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Κενά στην επικεφαλίδα ενώ αναμενόταν αριθμητική τιμή %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1219,342 +1219,342 @@ msgstr ""
 "συμπληρώματα"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Αρχειοθήκη οκταδικής τιμής %.*s είναι εκτός του %s εύρους"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 "Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του "
 "%s εύρους"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Η αρχειοθήκη με base-256 τιμές είναι εκτός του %s εύρους"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Η αρχειοθήκη περιέχει %.*s όπου αριθμητικές %s τιμές αναμένονται"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " σύνδεσμος σε %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Επικεφαλίδα Τόμου--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Συνέχιση στο byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Δημιουργία καταλόγου:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Μετονομασία %s σε %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Μετονομασία %s πίσω στο %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Το αρχείο απομακρύνθηκε πριν το διαβάσουμε"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "θυγατρική διεργασία"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "κανάλι μεταξύ διεργασιών"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr ""
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr ""
 
-#: src/names.c:74
+#: src/names.c:73
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr ""
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr ""
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:147
+#: src/names.c:146
 #, fuzzy
 msgid "wildcards do not match '/'"
 msgstr "Ο τόμος %s δεν ταιριάζει %s"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 #, fuzzy
 msgid "command line"
 msgstr "`%s' η εντολή απέτυχε"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Οι επιλογές `-%s' και `-%s' απαιτούν κανονική είσοδο"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Άκυρη ομάδα"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Τα χαρακτηριστικά GNU απαιτούν μη συμβατή διαμόρφωση αρχειοθήκης"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1770,7 +1770,7 @@ msgstr ""
 msgid "extract files to standard output"
 msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr ""
 
@@ -1806,7 +1806,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr ""
 
@@ -2007,7 +2007,7 @@ msgstr ""
 msgid "Archive format selection:"
 msgstr "Συγκρουόμενες επιλογές διαμόρφωσης αρχειοθήκης"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr ""
 
@@ -2090,118 +2090,118 @@ msgstr ""
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:694
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Απομακρύνονται τα αρχικά `%.*s' από τα ονόματα των μελών"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2209,426 +2209,435 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, fuzzy, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
 
-#: src/tar.c:933
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Ίσως δεν καθορίσατε παραπάνω από μία επιλογή `-Acdtrux'"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Συγκρουόμενες επιλογές συμπίεσης"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Το αρχείο ημερομηνίας δεν βρέθηκε"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Αντικατάσταση %s για άγνωστη διαμόρφωση ημερομηνίας %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Άκυρος ιδιοκτήτης"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Άκυρος συντελεστής ομαδοποίησης"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Άκυρο μέγεθος ταινίας"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Παραπάνω από ένα όριο ημερομηνίας"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 #, fuzzy
 msgid "Invalid number"
 msgstr "Άκυρος αριθμός i-κόμβου"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Άκυρο μέγεθος εγγραφής"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Το μέγεθος της εγγραφής πρέπει να είναι πολλαπλάσιο του %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Άκυρο μέγεθος ταινίας"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr ""
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr ""
 "Οι επιλογές `-[0-7][lmh]' δεν υποστηρίζονται από *αυτήν* την εντολή tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr ""
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "άκυρο όρισμα %s για %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr ""
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Παλιά επιλογή `%c' απαιτεί όρισμα."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Πολλαπλά αρχεία αρχειοθηκών απαιτούν την επιλογή `-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, fuzzy, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Η ετικέτα του τόμου είναι πολύ μεγάλη (το όριο είναι %lu byte)"
 msgstr[1] "%s: Η ετικέτα του τόμου είναι πολύ μεγάλη (το όριο είναι %lu byte)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Δεν είναι δυνατή η επαλήθευση των συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Δεν είναι δυνατή η χρήση πολλαπλών συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Αρνούμαι δειλά στη δημιουργία μίας κενής αρχειοθήκης"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Οι επιλογές `-Aru' δεν είναι συμβατές με  `-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Πρέπει να καθορίσεις μία από τις επιλογές `-Acdtrux'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/update.c:87
+#: src/update.c:86
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Το αρχείο συρρικνώθηκε κάτα %s byte"
 msgstr[1] "%s: Το αρχείο συρρικνώθηκε κάτα %s byte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 #, fuzzy
 msgid "Time stamp is out of allowed range"
 msgstr "Η ένδειξη χρόνου είναι εκτός εύρους"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr ""
 "Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του "
 "%s εύρους"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, fuzzy, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: Άκυρη ομάδα"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr ""
 
@@ -2636,7 +2645,7 @@ msgstr ""
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, fuzzy, c-format
 msgid "Write checkpoint %u"
 msgstr "Εγγραφή σημείου ελέγχου %d"
@@ -2645,231 +2654,231 @@ msgstr "Εγγραφή σημείου ελέγχου %d"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, fuzzy, c-format
 msgid "Read checkpoint %u"
 msgstr "Ανάγνωση σημείου ελέγχου %d"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Παράγει αρχεία δεδομένων για δοκιμαστική πλατφόρμα GNU tar.\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 #, fuzzy
 msgid "File creation options:"
 msgstr "Συγκρουόμενες επιλογές συμπίεσης"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:168
-msgid "OPTION"
+#: tests/genfile.c:163
+msgid "N"
 msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Άκυρη ένδειξη χρόνου"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Ο αριθμός του i-κόμβου είναι εκτός εύρους"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Άγνωστο σφάλμα συστήματος"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 #, fuzzy
 msgid "cannot seek"
 msgstr "Δεν είναι δυνατό το κλείσιμο"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "`%s' η εντολή απέτυχε"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, c-format
 msgid "cannot stat `%s'"
 msgstr ""
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχοντος καταλόγου"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "%s: Δεν είναι δυνατή η συμβολική σύνδεση στο %s"
diff --git a/po/eo.gmo b/po/eo.gmo
index 2f9e433cc09dc22b69879814a08b330a4fd7bbe3..06cda0c6dd74f20b1886d24da23a34ef7688ace1 100644
GIT binary patch
delta 14744
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
Af&c&j

delta 12831
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

diff --git a/po/eo.po b/po/eo.po
index 06c47b75..d3690a47 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -1,15 +1,15 @@
 # Esperanto translation.
-# Copyright (C) 2013, 2014, 2016 Free Software Foundation, Inc.
+# Copyright (C) 2013, 2014, 2016, 2018 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
-# Felipe Castro <fefcas@gmail.com>, 2013, 2014, 2016.
+# Felipe Castro <fefcas@gmail.com>, 2013, 2014, 2016, 2018.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-10-15 21:16-0300\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-06-05 23:06-0300\n"
 "Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
 "Language: eo\n"
@@ -97,7 +97,7 @@ msgid "give a short usage message"
 msgstr "montri mallongan mesaĝon pri la uzmaniero"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOMO"
 
@@ -135,29 +135,29 @@ msgid "write error"
 msgstr "skrib-eraro"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: modifilo '%s' estas plursenca\n"
+msgstr "%s: modifilo '%s%s' estas plursenca\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: modifilo '%s' estas plursenca; ebloj:"
+msgstr "%s: modifilo '%s%s' estas plursenca; ebloj:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: nerekonata modifilo '%c%s'\n"
+msgstr "%s: nerekonata modifilo '%s%s'\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: modifilo '%c%s' ne permesas argumenton\n"
+msgstr "%s: modifilo '%s%s' ne permesas argumenton\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: modifilo '--%s' postulas argumenton\n"
+msgstr "%s: modifilo '%s%s' postulas argumenton\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -232,12 +232,12 @@ msgstr "^[jJyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakigita de %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakigita de %s\n"
@@ -245,12 +245,11 @@ msgstr "Pakigita de %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -260,7 +259,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Permeso GPLv3+: GNU GPL versio 3 aŭ posta <http://gnu.org/licenses/gpl."
+"Permeso GPLv3+: GNU GPL versio 3 aŭ posta <https://gnu.org/licenses/gpl."
 "html>.\n"
 "Tio ĉi estas libera programaro: vi estas libera por ŝanĝi kaj redisdoni "
 "ĝin.\n"
@@ -400,15 +399,15 @@ msgid "%s home page: <%s>\n"
 msgstr "%s hejm-paĝo: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "%s hejm-paĝo: <http://www.gnu.org/software/%s/>\n"
+msgstr "%s hejm-paĝo: <https://www.gnu.org/software/%s/>\n"
 
+#
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Ĝenerala helpo por uzi programaron GNU: <http://www.gnu.org/gethelp/>\n"
+"Ĝenerala helpo por uzi programaron GNU: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -527,189 +526,189 @@ msgstr "Ne eblas redirektigi dosierojn por fora ŝelo"
 msgid "Cannot execute remote shell"
 msgstr "Ne eblas lanĉi foran ŝelon"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Serĉ-direkto estas for de intervalo"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Malvalida serĉ-direkto"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Malvalida serĉ-deŝovo"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Serĉ-deŝovo estas for de intervalo"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Malvalida bajt-nombro"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Bajt-nombro estas for de intervalo"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Trofrua EOF"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Malvalida operacia kodo"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operacio ne estas subtenata"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Neatenditaj argumentoj"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Manipuli bendolegilon, akceptante komandojn el fora procezo"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUMERO"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "difini rafinigan nivelon"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "DOSIERO"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "difini rafinigan eliran dosiernomon"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "ne eblas malfermi %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "tro da argumentoj"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Ruba komando"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Tio ĉi ne ŝajnas esti arĥivo tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Bajtoj entute legitaj"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Bajtoj entute skribitaj"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Tuto da bajtoj forigitaj"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(dukto)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Ni rifuzas legi arĥiv-enhavon el terminalo (ĉu mankas modifilon -f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Ni rifuzas skribi arĥiv-enhavon al terminalo (ĉu mankas modifilon -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Malvalida valoro por 'record_size'"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Neniu arĥiv-nomo estas indikita"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ne eblas kontroli arĥivon de ĉefa en/eligujo"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arĥivo estas densigita. Uzu modifilon %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Ne eblas ĝisdatigi densigitajn arĥivojn"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Ĉe komenco de bendo, ni ĉesas nun"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Tro multaj eraroj, ni ĉesas"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Rikord-grando = %lu bloko"
 msgstr[1] "Rikord-grando = %lu blokoj"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Malrektigita bloko (%lu bajto) en arĥivo"
 msgstr[1] "Malrektigita bloko (%lu bajtoj) en arĥivo"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Ne eblas retropaŝi arĥivan dosieron; ĝi eble ne legeblos sen -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "'rmtlseek' ne haltis ĉe rikord-limo"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: enhavas malvalidan volum-numeron"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Datumvolum-numero troigas"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Preparu datumvolumon #%d por %s kaj premu enig-klavon: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "EOF kie respondo de uzanto estis atendata"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "AVERTO: arĥivo estas malkompleta"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -720,67 +719,67 @@ msgstr ""
 " q             Ĉesigi tar\n"
 " y aŭ novlinio Daŭrigi operacion\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Generi subŝelon\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Montri tiun ĉi liston\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Neniu nova datumvolumo: ni eliras.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Dosiernomo ne estis indikata. Reprovu.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Malvalida enigo. Tajpu ? por helpo.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "La komando %s fiaskis"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ne estas daŭrigata en tiu ĉi datumvolumo"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s eble estas daŭrigata en tiu ĉi datumvolumo: la kapo enhavas tranĉitan "
 "nomon"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s estas malkorekta grando (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tiu ĉi datumvolumo estas for de sekvo (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "La arĥivo ne estas markita por kongrui al %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "La datumvolumo %s ne kongruas al %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -788,210 +787,210 @@ msgstr ""
 "%s: dosiernomo tro longas por esti konservata en GNU-plurvoluma kapo, ni "
 "tranĉis"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "skribo ne finiĝis ĉe bloko-limo"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Eblis legi %lu el %lu bajto"
 msgstr[1] "Eblis legi %lu el %lu bajtoj"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Enhavo malsamas"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Neatendita EOF en arĥivo"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Dosiertipo malsamas"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Reĝimo malsamas"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "UID malsamas"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "GID malsamas"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Modif-tempo malsamas"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Grando malsamas"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Ne ligita al %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Simbol-ligo malsamas"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Aparatnumero malsamas"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Kontroli "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: nekonata dosiertipo '%c', ni komparas kiel normalan dosieron"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arĥivo enhavas dosiernomojn kun forigitaj antaŭiraj prefiksoj."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arĥivo enhavas transformitajn dosiernomojn."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Kontrolo povas malsukcesi lokigi originalajn dosierojn."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "KONTROLA MALSUKCESO: %d malvalida kapo detektita"
 msgstr[1] "KONTROLA MALSUKCESO: %d malvalidaj kapoj detektitaj"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Izolita nul-bloko ĉe %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: enhavas kaŝmemoran dosierujan markon %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "valoro %s estas for de intervalo %s %s..%s; ni anstataŭigas %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valoro %s estas for de intervalo %s %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Generado de negativaj okumaj kapoj"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s dosiernomo tro longas (maks %d); ne ŝutita"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s dosiernomo tro longas (ne povas esti apartigita); ne ŝutita"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: lignomo tro longas; ne ŝutita"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: dosiero malpligrandiĝis je %s bajto; ni ŝtopas per nulo"
 msgstr[1] "%s: dosiero malpligrandiĝis je %s bajtoj; ni ŝtopas per nuloj"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: dosiero estas en malsama dosiersistemo; ne ŝutita"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "enhavo ne estas ŝutita"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: nekonata dosiertipo; dosiero estas preteratentita"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Mankas ligoj al %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: dosiero estas nemodifita; ne ŝutita"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: dosiero estas la arĥivo; ne ŝutita"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "dosierujo ne estas ŝutita"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: dosiero ŝanĝis dum ni legas ĝin"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: konektilo estis preteratentata"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: pordo estis preteratentata"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Ni saltas al sekva kapo"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Ni forigas ne-kapon el arĥivo"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: malprobable malnova temp-indiko %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: temp-indiko %s estas %s s estontece"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: neatendita malkohero dum kreo de dosierujo"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: ni preterpasas ekzistantan dosieron"
@@ -1014,7 +1013,7 @@ msgstr "Ni provas elpreni simbolajn ligojn kiel rektajn ligojn"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: ne eblas eltiri -- dosiero daŭriĝas el alia datumvolumo"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Neatendita long-noma kapo"
 
@@ -1031,7 +1030,7 @@ msgstr "Nuna %s estas pli nova aŭ sam-aĝa"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: nomo de ano enhavas '..'"
 
 #: src/extract.c:1696
 #, c-format
@@ -1043,22 +1042,22 @@ msgstr "%s: ne eblis savkopii tiun ĉi dosieron"
 msgid "Cannot rename %s to %s"
 msgstr "Ne eblas renomigi %s al %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: dosierujo estas renomigita el %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: dosierujo estas nova"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: dosierujo estas en malsama dosiersistemo; ne ŝutita"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: dosierujo estas renomigita"
@@ -1184,35 +1183,35 @@ msgstr "%s: forigo de %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: ne eblas forigi"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: ni malinkluzivigas"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloko %s: ** Bloko de NULOj **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloko %s: ** Fino de dosiero **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "bloko %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Vakoj en kapo kie numera valoro %s estas atendata"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1220,160 +1219,159 @@ msgstr ""
 "komplementon de du"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Arĥiva okuma valoro %.*s estas for de intervalo %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arĥivo enhavas malaktualajn kapojn 'base-64'"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Signita ĉeno 'base-64' de arĥivo (%s) estas for de intervalo %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Valoro 'base-256' de arĥivo estas for de intervalo %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arĥivo enhavas %.*s kie estas atendata numera valoro %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Arĥiva valoro %s estas for de intervalo %s: %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " kunligo al %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nekonata dosiertipo %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Longa ligo--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Longa nomo--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Voluma kapo--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Daŭrigita ĉe bajto %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Kreado de dosierujo:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Alinomigo de %s al %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: ne eblas renomigi al %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Renomigo de %s reen al %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: dosiero estis forigata antaŭ ol ni legis ĝin"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "ida procezo"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "interproceza kanalo"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Loka dosiernoma elekto:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "aldoni la indikitan DOSIEROn al la arĥivo (utilas se ĝia nomo komencas per "
 "streketo)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "UJO"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "ŝanĝi al la dosierujo UJO"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "havigi nomojn por eltiri aŭ krei el DOSIERO"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T legas nul-finigitajn nomojn; implicas --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "malebligi la efikon de la antaŭa modifilo --null"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "malcitigi enigdosierojn aŭ membro-nomojn (aprioras)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "ne malcitigi enigdosierojn aŭ membro-nomojn"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T legas dosier-nomojn senpere (neniu subteno al modifiloj)"
+msgstr "-T legas dosier-nomojn senpere (neniu subteno al modifiloj aŭ eskapoj)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T traktas dosier-nomojn komencantajn per streketo kiel modifiloj (apriore)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ŜABLONO"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "malinkluzivi dosierojn, indikitaj kiel ŜABLONO"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "malinkkluzivi ŝablonojn listigitajn en DOSIERO"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1381,24 +1379,24 @@ msgstr ""
 "malinkluzivi enhavojn de dosierujoj enhavantaj CACHEDIR.TAG, krom por la "
 "markdosiero mem"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "malinkluzivi dosierujojn enhavantajn CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "malinkluzivi enhavojn de dosierujoj enhavantaj DOSIEROn, krom por DOSIERO mem"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "legi forig-ŝablonojn por ĉiu dosierujo el DOSIERO, se ĝi ekzistas"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1406,118 +1404,121 @@ msgstr ""
 "legi forig-ŝablonojn por ĉiu dosierujo kaj ĝiaj subdosierujoj el DOSIERO, se "
 "ĝi ekzistas"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "malinkluzivi ĉion sub dosierujoj enhavantaj DOSIERO"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "malinkluzivi dosierujojn enhavantajn DOSIEROn"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "malinkluzivi versikontrol-sistemajn dosierujojn"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "legi forig-ŝablonojn el la dosieroj por preteratenti VCS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "malinkluzivi savkopiajn kaj ŝlosajn dosierojn"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "rekursigi en dosierujojn (aprioras)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "eviti malsupreniri aŭtomate en dosierujoj"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Dosiernom-kongruaj modifiloj (influas kaj ekskluzivajn kaj inkluzivajn "
 "ŝablonojn):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "ŝablonoj kongruas al komenco de dosiernomo"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "ŝablonoj kongruas post iu ajn '/' (aprioras por malinkluzivo)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "preteratenti usklecon"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "uskleca kongruo (aprioras)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "uzi ĵokerojn (aprioras por malinkluzivo)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "laŭvorta ĉena kongruo"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "ĵokeroj kongruas kun '/' (aprioras por malinkluzivo)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "ĵokeroj ne kongruas kun '/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"La jenaj modifiloj estis uzataj post iu malnepra argumento en reĝimo de "
+"kreado aŭ ĝisdatigo de arĥivo. Tiuj modifiloj estas poziciaj kaj nur efikas "
+"en argumentoj, kiuj sekvas ilin. Bonvole rearanĝu ilin taŭge."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s efikas neniel"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s efikas neniel"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s efikas neniel"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "komandlinio"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: dosierlisto petita el %s jam estas legita el %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ne eblas apartigi ĉenon '%s': %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: lego de dosiernomo enhavas nul-signon"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Ŝablon-kongruaj signoj uzataj en dosiernomoj"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1525,47 +1526,47 @@ msgstr ""
 "Uzu --wildcards por ebligi ŝablon-kongruon, aŭ --no-wildcards por eviti tiun "
 "ĉi averton"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: ne trovita en arĥivo"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: postulata apero ne estis trovata en arĥivo"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Miskongruo de arĥiva etikedo"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Uzo de la modifilo -C ene de dosierlisto ne estas permesata kun --listed-"
 "incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Nur unu modifilo -C estas permesata kun --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Ambaŭ modifiloj '%s' kaj '%s' postulas ĉefenigujon"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: malvalida arĥiv-formo"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-trajtoj estas dezirataj en neakordigebla arĥiv-formo"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1785,7 +1786,7 @@ msgstr "Elekti eligfluon:"
 msgid "extract files to standard output"
 msgstr "eltiri dosierojn al ĉefeligujo"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "KOMANDO"
 
@@ -1821,7 +1822,7 @@ msgstr "uzi DOSIERO por mapigi dosier-posedantajn nomojn kaj UID-ojn"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "uzi DOSIERO por mapigi dosier-posedantajn nomojn kaj GID-ojn"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATO-AŬ-DOSIERO"
 
@@ -2030,7 +2031,7 @@ msgstr "reblokigi dum ni legas (por duktoj 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Elekto de arĥiv-formo:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMO"
 
@@ -2114,60 +2115,60 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtri tra PROG (devas akcepti -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Loka dosier-elekto:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "resti en loka dosiersistemo dum kreo de arĥivo"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "ne demeti antaŭirajn '/'-ojn el dosiernomoj"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "sekvi simbol-ligojn; arĥivi kaj ŝuti la dosierojn, kiujn ili indikas"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "sekvi rekt-ligojn; arĥivi kaj ŝuti la dosierojn, kiujn ili referencigas"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "MEMBRO-NOMO"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "komenci per la membro MEMBRO-NOMO dum lego de la arĥivo"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "nur konservi dosierojn pli novajn ol DATO-AŬ-DOSIERO"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATO"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "kompari daton kaj horon nur kiam datumaro ŝanĝis"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROLO"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "savkopii antaŭ ol forigi, elekti versi-KONTROLOn"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "ĈENO"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2175,59 +2176,59 @@ msgstr ""
 "savkopii antaŭ ol forigi, anstataŭigi ordinaran sufikson ('~' krom se "
 "anstataŭigita de medi-variablo SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Dosiernomaj transformigoj:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "demeti NUMERO antaŭirajn komponantojn el dosiernomoj dum eltiro"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "ESPRIMO"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "uzi sed-anstataŭigan ESPRIMOn por transformigi dosiernomojn"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informa eligo:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "detale listigi procezitajn dosierojn"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "ŜLOSILVORTO"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "avert-kontrolo"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "montri progres-mesaĝojn je ĉiu NUMERa rikordo (aprioras 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "AGO"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "plenumigi AGOn je ĉiu kontrolpunkto"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "montri mesaĝon se ne ĉiuj ligoj estos ŝutitaj"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNALO"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2239,35 +2240,35 @@ msgstr ""
 "estas: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 kaj SIGUSR2; la nomoj sen prefikso "
 "SIG ankaŭ akcepteblas"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "montri dosierajn modif-horojn laŭ UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "montri dosieran horon per ĝia tuta distingivo"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "sendi detalan eligon al DOSIERO"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "montri bloknumeron ene de arĥivo je ĉiu mesaĝo"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "peti konfirmon por ĉiu ago"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "montri apriorojn de tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "montri validajn intervalojn por kampoj de statkopi-dosiero"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2275,52 +2276,52 @@ msgstr ""
 "dum listigo aŭ eltiro, listigi ĉiun dosierujon kiu ne kongruas al serĉ-"
 "kriterio"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "montri dosieron aŭ arĥivajn nomojn post transformigo"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STILO"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "difini nom-citigan stilon; vidu sube por validaj valoroj de STILO"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "krome citigi signojn el ĈENO"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "malebligi citigon por signoj el ĈENO"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Akordigeblaj modifiloj:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "dum kreo, same ol --old-archive; dum eltiro, same ol --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Aliaj modifiloj:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "malebligi uzon de kelkaj eble damaĝaj modifiloj"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' ne uzeblas kun '%s'"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2328,40 +2329,40 @@ msgstr ""
 "Vi ne devas indiki pli ol unu el la modifiloj '-Acdtrux', '--delete' aŭ '--"
 "test-label'"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konfliktantaj densigaj modifiloj"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nekonata signal-nomo: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Data specimen-dosiero ne estis trovata"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Ni anstataŭigas %s por la nekonata dato-formo %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Modifilo %s: ni traktas daton '%s' kiel %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtri la arĥivon tra %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Validaj argumentoj por la modifilo --quoting-style estas:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2369,163 +2370,163 @@ msgstr ""
 "\n"
 "*Tiu ĉi* tar apriorigas tion:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Malvalida posedanto aŭ grupo-ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Malvalida blok-faktoro"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Malvalida benda longo"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Malvalida aldon-nivela valoro"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Pli ol unu lim-dato"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Malvalida disa versi-valoro"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ne estas subtenata en tiu ĉi platformo"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "valoro de --checkpoint ne estas entjero"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Malvalida reĝimo indikita en modifilo"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Malvalida numero"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Malvalida rikord-grando"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Rikord-grando devas esti oblo de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Malvalida nombro da elementoj"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Nur unu modifilo --to-command estas permesata"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Fuŝa densiga argumento: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Nekonata densigo: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Modifiloj '-[0-7][lmh]' ne estas subtenata de *tiu ĉi* tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: loko de la eraro"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "Eraro dum analizo de %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[DOSIERO]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "ne-modifilaj argumentoj en %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "ne eblas apartigi TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "La malnova modifilo '%c' postulas argumenton."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "Sen dosierlisto, --occurrence estas sensignifa"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Multoblaj arĥiv-dosieroj postulas modifilon '-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Sen --listed-incremental, --level estas sensignifa"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: volum-etikedo tro longas (limo estas %lu bajto)"
 msgstr[1] "%s: volum-etikedo tro longas (limo estas %lu bajtoj)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Ne eblas kontroli plur-volumajn arĥivojn"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Ne eblas kontroli densigitajn arĥivojn"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ne eblas uzi plur-volumajn densigitajn arĥivojn"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Ne eblas kunmeti densigitajn arĥivojn"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime bezonas daton indikitan per --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option nur uzeblas en arĥivoj POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls nur uzeblas en arĥivoj POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux nur uzeblas en arĥivoj POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs nur uzeblas en arĥivoj POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2533,128 +2534,137 @@ msgstr ""
 "Ne eblas konjekti supro-nivela dosieruja nomo; bonvolu indiki ĝin klare per "
 "--one-top-level=UJO"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Datum-voluma longo ne povas esti malpli ol rikord-grando"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Malkuraĝe ni rifuzas krei malplenan arĥivon"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Modifiloj '-Aru' ne akordigeblas kun '-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Vi devas indiki unu el la modifiloj '-Acdtrux', --delete' aŭ '--test-label'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Ni eliras kun malsukcesa stato pro antaŭaj eraroj"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: dosiero malkreskiĝis per %s bajto"
 msgstr[1] "%s: dosiero malkreskiĝis per %s bajtoj"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Ŝlosilo %s estas nekonata aŭ ankoraŭ ne realigita"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Temp-indiko estas for de permesata intervalo"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Ŝablono %s ne povas esti uzata"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ŝablono %s ne povas esti anstataŭigata"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Fuŝa etendita kapo: mankas longo"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Longo de etendita kapo %*s estas for de intervalo"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Fuŝa etendita kapo: mankas blankspaco post longo"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Fuŝa etendita kapo: mankas egal-signo"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Fuŝa etendita kapo: mankas nov-linio"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ni preteratentas nekonatan etenditan kapan ŝlosilon '%s'"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Generita paro ŝlosilo/valoro tro longas (ŝlosilo=%s, longo=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "La etendita kapo %s=%s estas for de la intervalo %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Fuŝa etendita kapo: malvalida %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Fuŝa etendita kapo: troiga %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Fuŝa etendita kapo: malvalida %s: neatendita apartigilo %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Fuŝa etendita kapo: malvalida %s: malpara nombro da valoroj"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: ne estas valida templimo"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: nekonata kontrolpunkta ago"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "skribi"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "legi"
 
@@ -2662,7 +2672,7 @@ msgstr "legi"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Skriba kontrol-punkto %u"
@@ -2671,12 +2681,12 @@ msgstr "Skriba kontrol-punkto %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Lega kontrol-punkto %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2685,96 +2695,100 @@ msgstr ""
 "de GNU.\n"
 "MODIFILOJ estas:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Dosier-kreaj modifiloj:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "GRANDO"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Krei dosieron el indikita GRANDO"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Skribi al dosiero NOMO, anstataŭ al ĉefeligujo"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Legi dosiernomojn el DOSIERO"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T legas nul-finigitajn nomojn"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Kompletigi la dosieron per la indikita ŜABLONO. ŜABLONO estas 'default' aŭ "
 "'zeros'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Grando de bloko por disa dosiero"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Generi disan dosieron. Cetero de la komandlinio indikas la dosiermapon."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "DEŜOVO"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Moviĝi al la indikita deŝovo antaŭ ol skribi datumaron"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Forĵeti ne-fatalajn diagnozajn mesaĝojn"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Dosier-statistikaj modifiloj:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Montri enhavon de 'struct stat' por ĉiu indikita dosiero. Apriora FORMO "
 "estas: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Sinkronaj plenumaj modifiloj:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "MODIFILO"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Plenumi ARGj. Utilas kun --checkpoint kaj unu el --cut, --append, --touch, --"
 "unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Plenumi indikitan agon (vidu sube), kiam atingi kontrolpunkton NUMERO"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Difini daton por la modifilo --touch kiu sekvas"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Montri plenumitajn kontrolpunktojn kaj elir-staton de KOMANDO"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2782,7 +2796,7 @@ msgstr ""
 "Sinkronaj plenumaj agoj. Tiuj ĉi estas plenumataj kiam oni atingas "
 "kontrolpunktan numeron indikitan de modifilo --checkpoint."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2790,125 +2804,125 @@ msgstr ""
 "Tranĉi DOSIEROn al la grando indikita de antaŭa modifilo --length (aŭ 0, se "
 "ne indikita)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Postmeti GRANDO bajtojn al DOSIERO. GRANDO estas indikita de antaŭa modifilo "
 "--length."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Ĝisdatigi la alirajn kaj modifajn horojn de DOSIERO"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Lanĉi KOMANDOn"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Forviŝi DOSIEROn"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Malvalida grando: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Numero estas for de permesata intervalo: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativa grando: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) fiaskis"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "petita dosier-longo: %lu, fakta: %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "kreita dosiero ne estas disa"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Eraro dum analizo de numero proksime de '%s'"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Nekonata dat-formo"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGj...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "ne eblas malfermi '%s'"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "ne eblas apliki 'seek'"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "dosiernomo enhavas nul-signon"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "ne eblas generi disajn dosierojn por la ĉefeligujo, uzu la modifilon --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "malĝusta masko (proksime de '%s')"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Nekonata kampo '%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ne eblas difini horon por '%s'"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "ne eblas tranĉi '%s'"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "komando fiaskis: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "ne eblas tranĉi '%s'"
+msgstr "ne eblas apliki 'stat' al '%s'"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "ne eblas difini horon por '%s'"
+msgstr "ne eblas forviŝi dosierujon '%s'"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "ne eblas apliki 'unlink' al '%s'"
@@ -2948,6 +2962,9 @@ msgstr "Komando estas ĉesigita\n"
 msgid "--stat requires file names"
 msgstr "--stat postulas dosiernomojn"
 
+#~ msgid "OPTION"
+#~ msgstr "MODIFILO"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: parametro en ARGP_HELP_FMT devas esti pozitiva"
 
diff --git a/po/es.gmo b/po/es.gmo
index 889f80c1ca5f35deabce16de17b4a0ffb8780300..098ada786201f93227bf8ce3250d06b369789178 100644
GIT binary patch
delta 14800
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
TwzwoSIT0KR-~z|ylA0<2YG~3C

delta 12811
zcmX@|pZU={=K6a=EK?a77#QrB7#Iu~7#I|U7#J9t85jgq7#Kj}A_fpz#(;rA0i=L|
zfx*XsfkBdifx*{+fkA|Ufg#<1fq{*IfuRPZhJk^h*?@sTo`Hd3i2(xx4+8_k5h#7p
zfPtZ%fq~(k0Rw{=0|P^vAwxZb9s>hItsw)0Dgy(<8bbyKK?VkfONI;#!VC-yPYf9t
zlo%Koei$+^xHB*?NE<OQs4y@vBpWd>@G>wkbQm!($S^Q4OfzC&&}U#^*lYx`_^}ZK
zgEa#K1G6y$gA@Y;gS|1t+$duP25|-kh8$xC22lnEh8E*`1_l8J28LP23=DD%3=FG{
z85q<U7#L0&Lwxqpn1R8Hfq{X|1mX}!69xt|1_p){69$Gj1_p-NCJ+mLnJ_R&FfcHP
znldnGGB7acnL>OXVamXe!oa|gYRbT%12WeX;(+g_3=BpL3=I7BW(*953=9lTW(*7_
z3=9k<W(*9<3=9k_%@`Px7#JANnn8lfz#QU0cXI}YGEmT&Gk`<pt~mpP9RmXcg9QTv
zKgg#R3=9ek3=IAj3=BdH3=9Pp5Q~~E7#K7d7#Ox$Kpc4A0;0d3(~^O~n1O*o#}eYR
z1WQPWOt*wsxWW?Rz~hz>hyAo<U{GXWV34(fIN08bfx#T)a4QCIRIagtSa92lfx(M`
zfq~T;qCUWyfkB#qfuYD664iay;E<?i*kTQF*%@m{P=2+BxLm-7fkB;tfkD}ZfkBpm
zfx#O}XWBp#WIL4KX~V$4%)r2~+y>&K)iw}^owI=?N@iO~V&$@BVBlk5U{Hb5#<n1P
z>KPcEY#}ZVwS^>_dRs^$+ieR8x(Bw95E8b7Br<m>U2X@7)8%#$hhMQ{V9;h@V0do_
z2{~zd1_oOO1_mp81_m1j28IfIu#XwG+Cv<6)}DcZy`F)A;fg)Pf;;vM46Y0e3<3@i
z2ZcE>FqkqhFf=$o65%!nh=m^=AR#8_2=SS_BgDapj*zs{<_O6Ja~&ZL+Uv-`;Ksnf
z@X`@tkAV{dgBB<eJ25cSgR)n@6U3rTP7s&9aDoK+dnZVo@j64w22E#(52BnI7}!B^
z38kx`bdxhAF?Kmaa?wd=h{HZOLo60`VPJ@4U|{fcftb74g`pmt-S)dcT>i`jl34z_
zKwK{G3gLUZLK0uDD<qC5x<az&7FS6AKj{hy@@K9PhqJmt$`55XNNzB9gP0%T2GN)A
z1__}Sw|YpnS>ndP;K0DZu*D4$#9!SY1}V8i403RXXb5p<U|<2Ic6Uhru5^bazBYGA
z8t8I|Sh&<3l8cVHLkgPfQ2lS+As*rNfH>H&-UA{K-~r7>9uOa|@nB%!Vqjo6=K=BY
zO%I5J{y_Oso)80UJsB867#J90JRu(0=m|-*2R$Jk`QizQYeg>z-^UB$fl4n(RM*#e
zL44Ng1qq_1UXaAH#|sj7%-#^6X?R0QIA?E2Q5xe7NvwI^3=D~k3=CVmAr_1ILLBPp
z3-NinFT`QBzL2Qu^<`jiVqjoc<qHn+dWN^Y4B!Gq&yRtDn}LBLzz<SD#P~rpH2E<w
z=rS-c%=d#t#aTZ{B7Eov%D)T@Km8yU@%TeLqT~;WV<&$|RD}CO%&G8)<d&)akaA_c
zKd3yYXJEMQ5AoqMe@F;020#=_1VAh_3V?{aLHV%(khm=jfEe5a6`vmfanR-fNC+GY
zfaH=V0T74134lZaPawoT%RmMOQBeL5353*US%HwasR)FGL~S4>jyeM&KAI2+iSwm_
zkT^XO2no6OP+Bku5@p6vIwA;CVATdeiuScZ5T8E@f)sQ-!3+%bpvuD|7*e3L2Sdt%
z4Z)Bge-;cWh(tml7TSd{FcdQ|Fl2@>FgP+WFx(A+I7~hi5@IHykdW~Uh2)O-P)G>n
zghKRphC)2JB^2VZouLf%;3D%tC?rw635CSvzfeeG6A6PDs2c_eLc1`C#yBXQ8pgoD
z3aZb;AZey33=#q}!XUY6Zy3aZU&A12hASMB+myl~m6cm~J*1#14Tscn3&TN)f`Q?3
zI3z9~g+t=-Yd9n^{SAjifm{T{C$<rg)a?`ju_!145)$bV5DOY3z^R;JLj)v>KSn@8
z;(r7rmub~ULM$qbglKGugcP;&A|XCHAIZSr!oa}rHIjkB8C01>K@w426eKQJM?rjc
zISOLV>nKQK{TBsEyrR(%hiXPcLQW6LH-+-+t)d}8=ok$tlii~sL7yBAv8W~*5+y66
zAtA6o8WOh;q9IZ8HX7mp-WZ6_RAV3^8W01i18Si3;uuIsor+;#C}dz@xD^8q$$AE#
zScnU=p>#nk14A?;14C&nBm^$TL4xvo9Hb;vi-&}iXFSA*$?=dhQV!*J#4|8NF)%R9
ziHD^6@9~h_q?f?J-~$T51c?6j1ds>n85kBOK;rIT0we^kB|r@RlmPKLTOuTAWfB<}
zJQx@l^b;XIu1JLFn~(^JvZaZTAikE!zz_z?9f=GKo(v2OCP@%}T@pn7)g(x5_$rBk
zK_8U=<&q(Z%r6<@fUsmp_A5$;#N~oya8NO9Plh<`S~4U=UP0w0Qy}@-AO&J@P6{O7
zFGztz#f20|TKSU#N&PCRAfGcZc%(8g)Pve&8L5!CX-Q>Z2x4Ghn34(!s^_T;44fbz
zq(NxAG)P+UfYN?xkfvBj8l)}=OM{dbbJ8Fd9!rDd|95GSsN_zEc*HQBfgu4@)TcAl
zgPX-0(;-26FCF5;Z|M*XTp19b8e~91BpyolW<V0r?hHs<Pd5`%TP9^fEXd7-Slp8d
zDbQACLMom6nUL(Qlm$sMhFSHH#Nm_$ae!YIL}MD1Zq9<l*@7%c8rYfzDRNI_K^*i7
zs!t*tQX(2;L-Ki1Hbi|xHYB%9&W7Zs1=$b}p3R1s`>-C$_?8WcL+%_%DtFIeV8~)%
zV93gW6wOz2AeF|y90rC|1_lPnTu9v3=RyoxoePQc1G$h?{~;HW9o6$7i8Ck<BHx?`
zX^d{pgEZCZKjcANrk@XqyO?~4L|Z;2zaPzq#O*UEty2IA%Ax{@!?qScO3r%)5DNqf
zAwla<2&n}F3mF)~85kJy3n5*&<Ao51^A~{=V?Bd)5yVCDMUc3hQv?a(i$#!B`nd?=
z6X9YA->w)UA6E?VX+tr@qV2^H2VX6QIPhCBB#JCcAnMagAnH0xAa%s@5>Uw0GccSf
zfdu{E5(WlK1_lPpQi#UlQm_jd7DDNxrI7smvJ~QT<1$E;#FRnew7d)=-VLR<ltCPP
zw+v$8-!e#AQ!0lzM6aBIK^v6+eaayQRg^>Gax#>^q8#G$!{rcz-jzcfz*hkY;)n`}
zzRU_p?b%WRiOOje3=G~33=D@WAP(ZMgwPh1kh&zX5)#tODj68+LA~DFm5}`UtCE3X
zJp%)SQWYd5E>%I&1Wz?2&djPIK1r&El<n=+kP>oTH3P#_P(Qz#fkA|kfnik*q)6Xi
z3yJ$9wUAm+rVf%uV(TE;ySI*^9^8xFTnBOawK_=9GuJ~D7}i4^0IQ}O>meoL+ImQk
zAAx4y8}*Qq^9i&$&(Ht~8G#0f!?hd09b|^^21p1`Xn^#nmNwKwTCEQnATASbgaoB?
zBP8fU8yUbO9Su<aEGT`n5mI7)XoTovXo8fC22GGUz^n<<_p@z+=&x>qgxJ(3NV%}5
z2~x0~uWw>th-F}4_}2unFs2z2679_ppKpQE_nIN)0!Is^Wux5!iHhVFNb2rrfp}z9
z3nb+3LgkrTA!$dW6_nZ;7(7}b)q7<tq@=8$)C%#*##ROfKL!SdgRKk<!JtlP8zcx*
z+8{w#-v;sF>Nbc48`~hM`Fa}z!%0R4hR1CXAFu6z`1o}Pq|RXNggB7D6XF5GPDlwE
z0-@^}k~$d}rh-N)IwAR&tqW3%sdqs_B)SU{WNlrLxSQDp@zJ_2NM&`d3ld_A-H<fk
z*9{4otZqmm?(c>~(aCN|lj~<UBxD_WKxwI-fg!605)_S4dO;5)d+qOm7<8crk|@9S
zKte>h7c#P8*9&oAXD<Uo2B`1Y%fK)NG&0f$@yMn=h|e$gK@!{7K1f|)&<`ovZTlG*
zEI|2xML)#ghy9Rz`KO<O!JmPF!Egek&DS^ql6sF$U|{G2rIiVg#MC<x;*%{C89)i1
z;od|@+K8V737P4WAW{2j5;S{Hf`p{fWQaP`$qWqjpdr27$&kb|Z!#n(FHUA)um@Q*
z8Pejhn*xdR_9>9Ee(e-Uop2w@SDgw;BjHma`kJRQFa&@KpsA1oM`Ri#Dk7&bFyt^W
zFif5X2~mdW4E5k)H@)c)1-{cELE1hYqF~c>NTPW#9pVG#84w3(L+RKVkhIW0gMopG
zfq`ND3`mG<g7WXofCT;h84w3c&4jcQ5@tfG`RtkXko?{;6GG3L3CSL7W<s*d(U}m3
zeS`81W<hGl#90uBESLoe%1g5#l@Zr$NaA&z4XHayXG21E=4?n>I5Qhk626-aDH-+a
z=Rgum`y5Cca0Qg!FbC3d*)a#wnteA1;t<cd5CfX$GBEgpirl%7)Gag*qTXp9B*ZG_
zK`fp<4-#_c=0P0#Z5|{o>CI<g2xVYks862{iKD&qAwk8o021`J3m}OvdjZ5@>lZ*A
zx_tq}z#C9`hJ}zQa9IdZm$DF2PUJxOMGGP3S1p93t^ErjA^T<_IIYw($S#6(Dq|Nx
zvfIT)koLg0MUZOJcrip{;9`gm>J~#1+cv29qs5S@;9mlXI>#jteNjswL0+*0V(zRZ
zkkr3_2_$MREdiAm^$ZN(pc;jiLKJE*g%}jD6jCB)E`=nj9ZMl0@MtNh;9y{2UIwvP
zY8k}GKFc84Eod2JOekp?Bx=%@LG(>q21#_=mqBvV6%Y-||G$<&e5kM-BH_CnVqx)e
zNH&_g98#aZTMkLRRx2P;<hlY9*TpL!<-xQSkf_<a0+ME)u7DJ^4l5xc=eH6P_iZa7
zQN4d914BJ%fbrK#NZc8$g3uPLAVKG_3SvRhDo6>}x(d>?dbbMVV8hiAi{n;9O3>ET
zkRo=;Y6gZfMh1r0t08T^q_vO&Zq-^y$Q@k^slM;5h1UNc)<ROF@H$9WDRUhpBo3^D
z#M!fTkf8jz4iZJ0>mdgFt%n#iZ9OP185mZrhgfuMJtW8<u7{{++5nMP-vCK`&Kn@v
zv}8j)MB$1J5DQLjfRqD2H$Z&Ey%CbSwKhV0>a`JKVBtnc2u<4vNh>=xLRvx>q4Li+
zLM-Ij1gQ-*HbJ7sX%nOl$l3&n;_~`UkZiVa6C~9>h0@HMAwi|MnSp@=G`znV;xNa}
zkSGe?3{fAw84^;Jn;|}%zZv4-3!5Pgj1QY34wv5oq20DX%8}eHkV>q6`4&jy@Y5EE
zL!`Gt@@xE7NE|QO3W@WJTOp}kWE;d_w{4IhEZxSyFc~yqu??c%b~~h+Zrlz@JJYs9
z9Jq5kB&zOjhxq*ScCdN%46-{QO(y>x5TAwZfJ8;y4v0a0Q2yc_kbHZ22P7oE?|>N0
zxf9Z-)87fvZ?_YY9o=?9a)}R=uG$GHS61wVWW%RBL0!Ij1_q{GkV;2t7o_@i-31BC
zs$GzN!RlR*eEobEByoM;1+hqIHzW;6?S=%o&2C7mH)c1)r-{2EX`^&EBrWyrhP15K
z?q*<!W?*1o+{3^iQP04@5W5Ewq-A>;7;+gH7?$pVBr@T>5Qkapg+xj6UT}~xtk?_b
zp5KDf>iZ!1xnv(CXxHz9IPB&=kPjIce(!@gKzKjIK}P!_4)xy8z)%mGw+q-0@lp7G
zNL0i_>9qZjqBeIwB(crh4=%GAw(p1d`1^iHh>0J7BvzjTkRVS!0LfJo4?t?gO;Gyf
z0Z5c79E6zbc95YSJX=+Ckb$8F)G#;*ak;=DNE{j+g1FS;5Cg+mMg|7kLlB2>AA!_%
znnxhDT>KG8oK89d@$vd25C<KH^6wpCV8~`*VEA?f5>iP=A?3>4qxFz!whc!i`BV59
zq^Pt$1~H)c7{tY0#~>DLI0i`rXQA>hjzMNL{vU(*IPy5efmO#L*=)vfNZPq{oPi;c
zfq~)Camc)(%LxXCA_fMA#q}p328*49q)y|LkovvgB&4k0coJgpo|BLk%-xd^hbo_f
z<Y#XvU33bff95GjL3HgD!~t(kK|)CFG$f5ho`$5Uj?)nR^_x#a^69P9kVNwLG^E6m
zIRj}0o1KBATK6-ML^t~k#78gAKuWS7XCP6<dKQv~xX(hGV!~%3>c!4NEKWWPap0u0
z5D%X}3wA&~!<(}Z9}1s?G>c8nLGu6nbC4qR{5eRfeSHp+D_G7$3LZ@;9eW;9KutW)
zz|aMnO*;><DE<PZgEHp=Bu%Zj0I}!P1xU!ez5t3kP)GA3q@bz42#ND47a<m}z6c4b
z;};<X&!>xE7c+=mf;h<b5=33tC5VHHE<p@l29<ws36jr$UV?;F=w(Q`kaQW6_{uIb
zFj#@|f9GXLkRQ1WapAqokU0E*84`q|S0GW8bOqA>Z@mJ^=OR}j>g}#Vd>(%l5^}Gu
zLK3OeHAr=AdJWQ$sksIz>Q7&Tlp|lRLC62qu0t9asn;PLkB!$MqgjkMAOjB0Hz4x8
zHy{?=ya8!oaNdMeA}Kc^1=RYRkOsz=n~*5by#-O9bqf;0vu;7khxNA@81g_Pq_-IA
z86rRn3T{JE>C)Q}1vhR(3}Cwh$&Su<AgR9k4#WqG??8&?Gj|{%z;PFn$TaUlLM-Ag
zBpWWh3kj*icOedbdlyo)d)$N2mG|l)iDT70NL-(}2dTxr--8%reIF8Z9rq#G@A`d6
z9Lqj{^mfA^Fn~QU^#Q~|?;b#cUh5$wExA5~q>Y$|kOFJMLrAT9>><PfpX(n&e5UdU
zqQK`714A+c14GjzNTPf82$B}K9z(LH!efX-?H@yYp7j{wu<pl@Y<cl9B$qsV3~>P4
z6G&9bK7q8b;-5e|Fk7EM98muSDxvxm(xIq+3h~Lwrw|9QK4V}w%D}*&`3z#w`)3e`
znm&in+0P*b*23qIsCx7q;xMTf3=F>*7#OTyFfiydGBB9Egp?0yuOKC0-YamLs%JR+
z3gSY^*N`BMehmrYnXe&f;qq%pCBygz;$kx>o&E;mfEjNf+3?&ONVa_S22yY_zlDT^
z$XiGhTfT*w{}wX%Jo7CmP1G|m{CW#<ap*g+ix|q@L40)R9RoukXc5VKNRWrVhh(RQ
z_mJ#({5`~>ub{Nb2T1;o`v9pWi#|ZI^(H8N<^#n1XCEMm)951ugE=Vw2YiIYamPnU
zt9IT;28I#_28L%JA&DpY6Qr}){|O@h97^kdhE${FpCR4!#h)Q*>CI<Ir6uwOlAW!-
zKyp{t7f3GI`vu~GH(wYS>OpHi_`gCz!1*gAb*6lUB%X<1A*p}GR|bX{1_p-jP<0{S
zAlb9@8)S@U(>F-e?D+;M+1`GG%nN`9wm@rBK-i9vf#D%&o|u7w;R|RQhLM56gOQ=0
z!H9{0;U^;l!!uCJhk=116twCHw8Djff#Eu6#R?+>!)A~Ppq3IN1H*i%ydJ2-59;$X
zGBDhQ%7ZA-dY?&*kVNOe$iScsRR@v-;Q~fTw1SuKFoMFLfq@|bYA9$84``BzgOPz@
zCsZsQq>F)pA&3#;Yd)xfvWyH2Y*00Sp=w|hXhDiORL+2rf#DY;14B0h1H(lI28LEf
z28MkM3=EqX85o|_GeWW*NMj}=1A{Ij1H&wkFG1@wpavXegj75rHP;vz7_NdCNH~d+
zf#EG914ARIg@Yts%E-WQoe>g+JWxj~LCw6)z`$U`#K2I09x4D@ZUtKD1e#6-nE{&9
zS72md$Y*3=*acPd8A^lXVR$2GxfUY>Ll#sH)Sm>&nL+tnObiU&j0_B1j0_A{K%?u7
z3=A2J3=AfW3=G0d4D}3Jpg3Y+U=U|yV3@|pz!1U6z>v+zz;F`eLPiFLWef}qaf}QM
z|3E`*j0_B~7#JATnHU(Rff6Jm1A{3O1H)GaNEHjRIEImdp%XO!2TEX|#b}HS4Ev#u
zX<=Ys&|-pAQXsVq4AA(8a2Obbm>3uyF)}b5fC(Vc?u?KUPLmPRmIEy~3t?nnn9j(+
zaGC*9Z}c-l+LIt{vl$o|CNe^%Yu<wd7#J81FfuSaU}RtbExEH`WMI&&XJTNe04Zc(
zU{GUXVE6%bDX2>Ysv@PK@g~p2z#zrMz;Fq)T8@E%L4y(0dSPIYW@KP6W@KQ{hN=VE
zGZ$(GXizc_%4R~6UkVjt2F1S#RAL?@1H&GWZYVy+$iT3K0a6ZFGcqtpLN&dE(py3O
zdj<xE=Zp*t7eNky>eFLnV5kKpVg^XD{s)vc7#J81F+k=9K+2Yb2nKN905$w)GB7Zx
zGBPksf+_$lHjrgvV3-G5^T)`*up254qd>Y9pdJ8?n1aL~FfcG212I5@*h~xzsZa+u
zFfuTdGe9b{b07~fF)%Cx<$ut!yAuoy41SCZ3~v}9Eg8@#<xfzYGBPl%V1#r+d>9!R
z7?~iI2*~^|jF2`wi2aFyfx(rLfuRm+*<L7phk=3N1t@zmFfcp>&3c2fHAn*kq&5@<
z<$on628Lp&2GFqUcF+_oDBD35_AxRr9EP%yslQM?FQGI{?i2$9gAgMF!wb-gN(Kf7
z2~bo*)#x%YFxWFPF#KU)V7Sl7z)=5*k%2*mk%3_yBc##+8S;#gf#C=P14APtq+14R
zqTK?OVjxKd28KEY1_nVUNJ9d&EORSptQTs*1}H7T1Zn4=VPIg01Qo|j3=9E`3=F*t
zkO2)*CI-;ZAt(kJ7;+dH7z7z1!{?wWIFLOSObiSvObiU{Py^S3*6uMfFhnsjFx+5Z
zU|7e%z_1#mkb!}L1)2sxT+r0J4kH6-Mh3(MV{S$UhIlZGf#DTsf(q0y0qdz}U|?rr
zV5nwfU=RQmI*beqVT=q6GZ-M<ujPyk3^PIHJQD+hDbyh#b5?-XZbDbgf@U{CYsWz1
zAS?`32U;cR#>l|%9@KGVWMJ3;TF?qA_Zb)%rZX@wECMNp_#d*S6T}Ctcm&a$ObiUX
zObiUFObiU?7#JAB85tPlm>3v385tN>GD5}$cY>B}GC`W?Qcz2)7#SGS86hnq(5fkr
zSqB*z7&1W&2FUW;c&J*C5ZL}w5DSzbKs6zhy`2%#765T~fJ!(<28LD!1_n+>28J}K
z0gFIYFQ~X?U|_fmDgziH?fe!-1_pjc28QztkVY%W3>fxjgtR3VKm_U;oIr63;ef{i
zR)T6VMo3c&G>8b50<YTzv6~nny`VRY3=A6JIAmbh29f}k?NItTl)lZ#z;FTTSkOA-
z1&j;~RZuw*u-<wGhX0HV3@<@5)Sv~$3=9m986cw@++YO|)qzk$WSAHj&O%p9gJhaP
zi4rtp3M!x&7#NO2)lCNFCPoH^LPp49mQ{?9CfHt3x?x~o=x1PHxBxN$6#k%fx*+yH
zP!$O^05k;$5))%$V3+{P9SjT%AE9z)ObiSsplpyD&@x+dCI*J@APxfq!!<?*hT{wj
z3~h`I43&%w3|AQ$80JFdK-0VT7#SEog65Y%<v$}M1A_r52QV-&++bv2uw-IjxCdHb
zzyMiT2+~){z`*btYN0%oUc<=1aFYSjKow_VVAugt2;ws_FffB!IE)MoVvGz7yo?MC
zk3f|hs2K;!NuV^u0O_#)2DSfsK#2ruXc3eKtyBh?=gY{z-~|<1%n0evpJ8NRm;frK
z85tP<gA{=hA1FVA8kI~84CRar467L#7&w?17`i|O8K`0dWp7Zsfe|uM4b{f*8C3s+
z78kz*i7+uR>}OzLSj))3;0d+V5K6N$GB7BD;u53|R7rsrCNnZH%wb?)$OX-QGD4={
zpwi%BJP;eS$h?4ofq{vUfx(dxGKd8de+mjcMh1pcpz=Q$lu#HL7(RfiNk#^SJ5WnO
z3PJPuw$Oyg2Nee`(E-VU)(V4Y5C*Mm?gce0KvTG&xMyHs*a%h63f12Z;xjTZbTC5t
zf-^wnKMNxR!*7t~j0_AvKqFG1gaI-U)TCmB46Q)*GxUI}V2~l8i6bZtT86I(D$5xe
z7``$xFnELN3{YxkWMHTOwQ!(jAyc3MZBS}eF<_8purOd?;P?*dr-KxM%>DoW|9_+J
zlZy=XHs=^kX54IOBFDTr*L)w_<nwk@C%4!y*zD^dz_fX-Qy<4>ckf+{K8``|!Fmdz
z#i?nfISS>OB^e63y2%--$=L<@nRz7&iFqjs`FW`d`Dq~W(h?m7UERcjg4Dbe5UV7=
zG&uvrD9y{s%*$T<!-r+FW#Bdr)_@RCf4|LdBQrQQt0b3kPu`vvw^=PeN`}eEa&l9*
zEw8z*p^>hkxq_jQm9gREGu_exX1WGux<+OShQ?N==Gq2Eo4<FLFm86}JH)uzbb=<!
z=C&!XI3_F4yEs{F{_V{Q3lf+nvn^KG%(8eL*X9FjgP4LK{%|c;IJ~PQGe;pgKM&+!
zghwhBO7jvGQc@LC^Gb?RL2_6<qfn`!s|)eXX3h;)ST^fy)!}9faP~Yr*>7{$fn!{o
T<<6|(o&4eE#LcU2NvQ$=e_b`D

diff --git a/po/es.po b/po/es.po
index 7779cd56..f08215cd 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,18 +1,18 @@
 # Mensajes en español para GNU tar.
-# Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999, 2000, 2017 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Federico Rivas <frivas@arrakis.es>, 1997.
 # Enrique Melero <melero@iprolink.ch>, 1997.
 # Santiago Vila Doncel <sanvila@unex.es>, 1998, 1999, 2000, 2001, 2002, 2004, 2014.
-# Antonio Ceballos <aceballos@gmail.com>, 2015, 2016
+# Antonio Ceballos <aceballos@gmail.com>, 2015, 2016, 2017
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.29\n"
+"Project-Id-Version: GNU tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-06-26 13:57+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-30 10:29+0100\n"
 "Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
 "Language-Team: Spanish <es@tp.org.es>\n"
 "Language: es\n"
@@ -106,7 +106,7 @@ msgid "give a short usage message"
 msgstr "da un mensaje de uso corto"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOMBRE"
 
@@ -144,29 +144,29 @@ msgid "write error"
 msgstr "error de escritura"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: la opción '%s' es ambigua\n"
+msgstr "%s: la opción '%s%s' es ambigua\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: la opción '%s' es ambigua; posibilidades:"
+msgstr "%s: la opción '%s%s' es ambigua; posibilidades:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: opción no reconocida '%c%s'\n"
+msgstr "%s: opción no reconocida '%s%s'\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: la opción '%c%s' no admite ningún argumento\n"
+msgstr "%s: la opción '%s%s' no admite ningún argumento\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: la opción '--%s' requiere un argumento\n"
+msgstr "%s: la opción '%s%s' requiere un argumento\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -241,12 +241,12 @@ msgstr "^[sSyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Empaquetado por %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Empaquetado por %s\n"
@@ -254,12 +254,11 @@ 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -269,7 +268,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"License GPLv3+: GPL de GNU versión 3 o posterior <http://gnu.org/licenses/"
+"License GPLv3+: GPL de GNU versión 3 o posterior <https://gnu.org/licenses/"
 "gpl.html>\n"
 "Esto es software libre: usted es libre de cambiarlo y redistribuirlo.\n"
 "No hay NINGUNA GARANTÍA, hasta donde permite la ley.\n"
@@ -407,15 +406,14 @@ msgid "%s home page: <%s>\n"
 msgstr "Página de %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Página de %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Página de %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Ayuda general sobre el uso de software de GNU: <http://www.gnu.org/gethelp/"
+"Ayuda general sobre el uso de software de GNU: <https://www.gnu.org/gethelp/"
 ">\n"
 
 # FIXME: Intraducible.
@@ -541,95 +539,95 @@ msgstr "No se pueden redireccionar los ficheros para un shell remoto"
 msgid "Cannot execute remote shell"
 msgstr "No se puede ejecutar un shell remoto"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Dirección de desplazamiento fuera de rango"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Orden de desplazamiento inválida"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Desplazamiento inválido"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Desplazamiento fuera de rango"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Número de bytes inválido"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Número de bytes fuera de rango"
 
 # FIXME. Este es el único eof en minúsculas.
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Fin de fichero prematuro"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Código de operación inválido"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operación no soportada"
 
 # ¿No se referirá al autor a "mangled filenames"?... jmg
 # FIXME. Preguntárselo.
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Argumentos inesperados"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Maneja una unidad de cinta, aceptando órdenes de un proceso remoto"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NÚMERO"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "establece el nivel de depuración"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FICHERO"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "establece el nombre del fichero para la salida de depuración"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "No se puede abrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "demasiados argumentos"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Orden ininteligible"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Esto no parece un archivo tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Bytes leídos en total"
 
@@ -638,7 +636,7 @@ msgstr "Bytes leídos en total"
 # "bytes escritos en total" suena demasiado complejo... Nicolás Lichtmaier.
 # Suena algo extraño eso de "total de bytes". "en total" me suena
 # mucho más natural. sv
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Bytes escritos en total"
 
@@ -647,7 +645,7 @@ msgstr "Bytes escritos en total"
 # "bytes escritos en total" suena demasiado complejo... Nicolás Lichtmaier.
 # Suena algo extraño eso de "total de bytes". "en total" me suena
 # mucho más natural. sv
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Bytes borrados en total"
 
@@ -665,27 +663,27 @@ msgstr "Bytes borrados en total"
 # aparecer *varias* veces, y entonces sí que es una paliza.
 # Ejemplo de paliza: "tubería rota" en libc. Sale muchísimo y no es
 # cuestión de ver (pipe) cuarenta veces al día...
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(tubería)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Declinando leer contenido de archivo desde terminal (¿falta la opción -f)?"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Declinando escribir contenido de archivo a terminal (¿falta la opción -f)?"
 
 # ¿No queda más bonita la 1ª comilla abierta así: `record_size'?
 # Sí. FIXME. Comunicar al autor. sv
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "El valor de `record_size' no es válido"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "No se ha especificado ningún nombre de archivo"
 
@@ -704,69 +702,69 @@ msgstr "No se ha especificado ningún nombre de archivo"
 # o algo así. Quizá "No se puede verificar un archivo tomado de la entrada
 # estándar o escrito hacia la salida estándar", pero es un poco largo.. =)
 #
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "No se puede verificar la entrada/salida estándar"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "El archivo está comprimido. Utilice la opción %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "No se pueden actualizar archivos comprimidos"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Al principio de la cinta, se terminará ahora"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Demasiados errores, abandono"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Tamaño del registro = %lu bloque"
 msgstr[1] "Tamaño del registro = %lu bloques"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Bloque no alineado (%lu byte) dentro del archivo"
 msgstr[1] "Bloque no alineado (%lu bytes) dentro del archivo"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "No se puede ir hacia atrás en el archivo; puede ser ilegible sin -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek no paró en los límites de un registro"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contiene un número de volumen inválido"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Desbordamiento en el número de volumen"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare el volumen #%d para %s y pulse intro: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr ""
 "Se encontró un final de fichero mientras se esperaba respuesta del usuario"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "ATENCIÓN: El archivo está incompleto"
 
@@ -798,7 +796,7 @@ msgstr "ATENCIÓN: El archivo está incompleto"
 # A mí aquí me da igual lista que ayuda, de las dos formas se entiende. Manda
 # el traductor original. gerardo
 # ¿A alguien más le parece mal que ponga ayuda en vez de lista? sv
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -810,12 +808,12 @@ msgstr ""
 " q             Aborta tar\n"
 " y o Intro     Sigue\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Lanza un subshell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Muestra esta lista\n"
@@ -826,37 +824,37 @@ msgstr " ?             Muestra esta lista\n"
 # Uno se sale del programa, y éste acaba. En realidad, también da igual, de
 # cualquier forma se entiende, pero mejor acabar o terminar que finalizar,
 # total, son sinónimos. gerardo
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "No hay volumen nuevo; finalizando.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "No se ha especificado el nombre del fichero. Inténtelo de nuevo.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Entrada inválida. Teclee ? para obtener ayuda.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "La orden %s falló"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s no continúa en este volumen"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s posiblemente continúa en este volumen: la cabecera contiene un nombre "
 "truncado"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s tiene un tamaño erróneo (%s != %s + %s)"
@@ -876,7 +874,7 @@ msgstr "%s tiene un tamaño erróneo (%s != %s + %s)"
 # él solito.
 # Todavía espero una solución mágica que sea mejor que las dos
 # que tenemos hasta ahora.
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volumen está fuera de secuencia (%s - %s != %s)"
@@ -887,17 +885,17 @@ msgstr "Este volumen está fuera de secuencia (%s - %s != %s)"
 # Si no se sabe eso, se podría dejar de forma más neutra como
 # "Archivo no etiquetado para concordancia con `%s'" - gerardo (gag)
 # FIXME: Preguntar.
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "El archivo no está etiquetado para que coincida con %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "El volumen %s no coincide con %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -909,27 +907,27 @@ msgstr ""
 # Según gag y jmg, hay que decir: "no está en un límite de bloque", pues
 # no estamos hablando de un bloque concreto (el bloque) sino de uno cualquiera.
 # FIXME: Entonces tal vez el original debería decir "on a block boundary". sv
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "la escritura no terminó en un límite de bloque"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Sólo se pudieron leer %lu de %lu byte"
 msgstr[1] "Sólo se pudieron leer %lu de %lu bytes"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "El contenido es distinto"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Fin de fichero inesperado en el archivo"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "El tipo de fichero es distinto"
 
@@ -939,46 +937,46 @@ msgstr "El tipo de fichero es distinto"
 # corresponder siempre una frase corta española, el resultado sonará a indio
 # completamente (me refiero a los indios esos de las películas del oeste,
 # que solamente hablan con sustantivos, verbos y adjetivos). sv
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "El modo es distinto"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "El uid es distinto"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "El gid es distinto"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "La fecha de modificación es distinta"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "El tamaño es distinto"
 
 # Creo que este enlace se efectúa al descomprimir un archivo tar.
 # No es que nos diga si está enlazado o no lo está, sino si él hace
 # el enlace o no lo hace. sv
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "No se enlaza a %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "El enlace simbólico es distinto"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "El número de dispositivo es distinto"
 
 # "Verifica ". Supongo que depende de si se concatena en algún
 # mensaje. jmg
 # FUZZY. Es verdad, habrá que verlo.
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verificar "
@@ -989,70 +987,70 @@ msgstr "Verificar "
 # # cambiaría "se toma" por "se ha tomado". gag
 # Es norma habitual convertir un pasado en un presente en estos casos.
 # Realmente, dice lo que hace y no lo que ha hecho. sv
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: Tipo de fichero '%c' desconocido, se toma la diferencia\n"
 "como fichero normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 "El archivo contiene nombres de fichero con los prefijos iniciales eliminados."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "El archivo contiene nombres de fichero transformados."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Puede que la verificación no encuentre los ficheros originales."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "FALLO DE VERIFICACIÓN: %d cabecera inválida detectada"
 msgstr[1] "FALLO DE VERIFICACIÓN: %d cabeceras inválidas detectadas"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Un bloque de ceros aislado en %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: contiene una marca de directorio caché %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "valor %s fuera del rango %s %s..%s; se sustituye %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valor %s fuera del rango %s %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Generando cabeceras octales negativas"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: el nombre del fichero es demasiado largo (máx %d); no se vuelca"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: el nombre del fichero es demasiado largo (no se puede dividir); no se "
 "vuelca"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: el nombre del enlace es demasiado largo; no se vuelca"
@@ -1065,7 +1063,7 @@ msgstr "%s: el nombre del enlace es demasiado largo; no se vuelca"
 # Que sí, reconozco que la traducción es un poco libre.
 # Pero mi intención es que el programa diga lo que va haciendo, no lo que ya
 # ha hecho. Ni siquiera el original es consistente en los modos verbales. sv
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -1074,13 +1072,13 @@ msgstr[0] ""
 msgstr[1] ""
 "%s: El tamaño del fichero ha disminuido en %s bytes, se rellena con ceros"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: el fichero está en un sistema de ficheros distinto; no se vuelca"
 
 # Se vuelca la *memoria* del proceso en un fichero llamado `core'.
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "no se vuelca el contenido"
 
@@ -1100,70 +1098,70 @@ msgstr "no se vuelca el contenido"
 # Seguiremos en la ortodoxia, pero aún así, no puedo creerme que venga
 # en el DRAE. ¿Estás seguro? sv
 # No, no me compré el DRAE. Pregúntalo a spanglish (si te atreves ;-) gerardo
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipo de fichero desconocido; no se tendrá en cuenta"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Faltan enlaces a %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: el fichero no ha cambiado; no se vuelca"
 
 # FIXME: Decir al autor que ponga el "itself". sv
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: el fichero es el propio archivo; no se vuelca"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "no se vuelca el directorio"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: el fichero cambió mientras se estaba leyendo"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: el `socket' no se tendrá en cuenta"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: no se tendrá en cuenta la puerta"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Saltando a la siguiente cabecera"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Borrando no-cabecera del archivo"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: marca de fecha sospechosamente antigua %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: la marca de tiempo %s está %s s en el futuro"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistencia inesperada al crear el directorio"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: se salta un fichero que existe"
@@ -1198,7 +1196,7 @@ msgstr "%s: No se puede extraer -- el fichero es continuación de otro volumen"
 
 # ¿No se referirá al autor a "mangled filenames"?... jmg
 # FIXME. Preguntárselo.
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Cabecera de nombres largos inesperada"
 
@@ -1215,7 +1213,7 @@ msgstr "El %s actual es más reciente o de la misma fecha"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: El nombre del miembro contiene '..'"
 
 #: src/extract.c:1696
 #, c-format
@@ -1227,23 +1225,23 @@ msgstr "%s: No se pudo hacer copia de seguridad de este fichero"
 msgid "Cannot rename %s to %s"
 msgstr "No se puede renombrar %s a %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: El directorio ha sido renombrado desde %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: El directorio es nuevo"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr ""
 "%s: el directorio está en un sistema de ficheros distinto; no se vuelca"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: El directorio ha sido renombrado"
@@ -1370,35 +1368,35 @@ msgstr "%s: Borrando %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: No se puede borrar"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Se omite"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloque %s: ** Bloque de NULos **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloque %s: ** Fin de Fichero **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "bloque %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Hay blancos en la cabecera cuando se esperaba el valor numérico %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1406,145 +1404,145 @@ msgstr ""
 "se supone complemento a dos"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "El valor octal %.*s del archivo está fuera del rango %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "El archivo contiene cabeceras base 64 obsoletas"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "La cadena firmada en base 64 %s del archivo está fuera del rango %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "El valor en base 256 del archivo está fuera del rango %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "El archivo contiene %.*s donde se esperaba el valor numérico %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "El valor del archivo %s está fuera del rango de %s %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " enlace a %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo de fichero desconocido %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Enlace largo--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nombre largo--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabecera de Volumen--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continúa en el byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Creando el directorio:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Se renombra %s como %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: No se puede renombrar a %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Se vuelve a renombrar %s como %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: El fichero fue borrado antes de leerlo"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "proceso hijo"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "canal de interproceso"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Selección del fichero local:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "añade el FICHERO dado al archivo (útil si su nombre comienza con un guion)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "cambia al directorio DIR"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "obtiene los nombres que se van a extraer o crear de FICHERO"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T lee nombres terminados en nulo; implica --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "desactiva el efecto de la opción --null anterior"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "quita las comillas de los nombres de ficheros de entrada o de miembros "
 "(predeterminado)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 "no quita las comillas de los nombres de ficheros de entrada o de miembros"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T lee nombres de fichero literalmente (sin manejo de opciones)"
+msgstr ""
+"-T lee nombres de fichero literalmente (sin manejo de escape ni de opciones)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T trata los nombres de fichero que comienzan con guión como opciones "
@@ -1555,19 +1553,19 @@ msgstr ""
 # de expansión de nombres de ficheros, como * y ?, mientras que
 # el segundo se refiere a expresiones regulares como las de grep,
 # es decir, ^, $, ., *, etc.
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATRÓN"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "excluye ficheros, dados como un PATRÓN"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "excluye los patrones listados en FICHERO"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1575,26 +1573,26 @@ msgstr ""
 "excluye el contenido de los directorios que contienen CACHEDIR.TAG, excepto "
 "por el propio fichero CACHEDIR.TAG"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "excluye todo bajo los directorios que contienen CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "excluye los directorios que contienen CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "excluye el contenido de los directorios que contengan FICHERO, excepto el "
 "propio FICHERO"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 "leer en FICHERO, si existe, los patrones de exclusión oara cada directorio"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1602,121 +1600,125 @@ msgstr ""
 "leer en FICHERO, si existe, los patrones de exclusión oara cada directorio "
 "sus subdirectorios"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "exclute todo bajo los directorios que contengan FICHERO"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "excluye los directorios que contengan FICHERO"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "excluye los directorios de sistemas de control de versiones"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "lee los patrones de exclusión de los ficheros de descarte de VCS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "excluye los ficheros de respaldo y de bloqueo"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "opera recursivamente sobre los directorios (por omisión)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "evita descender automáticamente en los directorios"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "opciones de coincidencia para nombres de fichero (afectan a los patrones de "
 "exclusión y de inclusión):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "los patrones encajan con el comienzo del nombre del fichero"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "los patrones encajan después de cualquier `/' (por omisión para exclusión)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "no distingue mayúsculas de minúsculas"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "distingue mayúsculas de minúsculas (por omisión)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "utiliza comodines (predeterminado para exclusión)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "coincidencia de cadenas verbatim"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "los comodines encajan con `/' (por omisión para exclusión)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "los comodines no encajan con `/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Las siguientes opciones se han utilizado después de cualesquier argumentos "
+"no opcionales en modo de crear o actualizar fichero.  Estas opciones son "
+"posicionales y afectan solamente a los argumentos que vayan tras ellas.  Hay "
+"que recolocarlas adecuadamente."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s carece de efecto"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s carece de efecto"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s carece de efecto"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "línea de órdenes"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: la lista de ficheros solicitada en %s ya se ha leído de %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "no se puede dividir la cadena '%s': %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: el nombre de fichero leído contiene el carácter nul"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 "Se han utilizado caracteres de expresiones regulares en los nombres de los "
 "ficheros"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1724,12 +1726,12 @@ msgstr ""
 "Utilice --wildcards para activar el encaje de patrones, o --no-wildcards "
 "para suprimir este aviso"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: No se encuentra en el archivo"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: El elemento solicitado no se encuentra en el archivo"
@@ -1740,37 +1742,37 @@ msgstr "%s: El elemento solicitado no se encuentra en el archivo"
 # Si no se sabe eso, se podría dejar de forma más neutra como
 # "Archivo no etiquetado para concordancia con `%s'" - gerardo (gag)
 # FIXME: Preguntar.
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Discordancia en la etiqueta del archivo"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Usar la opción -C dentro de una lista de ficheros no está permitido con --"
 "listed-incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Solamente se permite una opción -C con --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Las opciones '%s' y '%s' requieren entrada estándar"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Formato de archivo inválido"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Se requieren características de GNU en formato de archivo incompatible"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -2038,7 +2040,7 @@ msgstr "Selección del flujo de salida:"
 msgid "extract files to standard output"
 msgstr "extrae los ficheros a la salida estándar"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "ORDEN"
 
@@ -2077,7 +2079,7 @@ msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 "utiliza FICHERO para asociar GIDs de propietarios y nombres de ficheros"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "FECHA-O-FICHERO"
 
@@ -2321,7 +2323,7 @@ msgstr "rehace los bloques conforme se lee (para tuberías de 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Selección del formato de archivo:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMATO"
 
@@ -2407,61 +2409,61 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtra a través de PROG (debe aceptar -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Selección del fichero local:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "permanece en el sistema de ficheros locales al crear el archivo"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "no elimina las '/'s iniciales de los nombres de ficheros"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "sigue los enlaces simbólicos; archiva y vuelca los ficheros a los que apuntan"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "sigue los enlaces duros; archiva y vuelca los ficheros a los que se refieren"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NOMBRE-DE-MIEMBRO"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "comienza por el miembro NOMBRE-DE-MIEMBRO al leer el archivo"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "FECHA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "compara la fecha y hora solamente cuando cambian los datos"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "se hace un respaldo antes de borrar, escoja el CONTROL de versión"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "CADENA"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2470,63 +2472,63 @@ msgstr ""
 "que se\n"
 "cambie con la variable de entorno SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Transformaciones de los nombres de ficheros:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "elimina NÚMERO componentes iniciales de los nombres de ficheros al extraer"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "EXPRESIÓN"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "utiliza la EXPRESIÓN de reemplazo sed para transformar los nombres de "
 "ficheros"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Salida informativa:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "lista los ficheros procesados detalladamente"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "PALABRACLAVE"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "control de advertencia"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "muestra mensajes de progreso cada NÚMERO-ésimo registro (por omisión 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ACCIÓN"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "ejecuta ACCIÓN en cada punto de comprobación"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "muestra un mensaje si no se vuelcan todos los enlaces"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SEÑAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2538,35 +2540,35 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 y SIGUSR2; también se aceptan los nombres "
 "sin el prefijo SIG"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "muestra las fechas/horas de modificación de los ficheros en UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "muestra la fecha del fichero con la máxima resolución"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "envía la salida detallada a FICHERO"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "muestra el número de bloque dentro del archivo con cada mensaje"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "pide confirmación para cada acción"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "muestra los valores predeterminados de tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "muestra los rangos válidos para los campos de fichero de instantánea"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2574,35 +2576,35 @@ msgstr ""
 "cuando se lista o extrae, lista cada directorio que no coincida con el "
 "criterio de búsqueda"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr ""
 "muestra los nombres de los ficheros o los archivos después de la "
 "transformación"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "ESTILO"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "establece el estilo de cita de los nombres; véanse más abajo los valores "
 "ESTILO válidos"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "también entrecomilla los caracteres de CADENA"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "no entrecomilla los caracteres de CADENA"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Opciones de compatibilidad:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2610,22 +2612,22 @@ msgstr ""
 "al crear, lo mismo que --old-archive; al extraer, lo mismo que --no-same-"
 "owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Otras opciones:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "desactivo el uso de algunas opciones potencialmente peligrosas"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "la opción '%s' no se puede usar con '%s'"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2633,40 +2635,40 @@ msgstr ""
 "No se puede especificar más de una opción `-Acdtrux', '--delete' o '--test-"
 "label'"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opciones de compresión en conflicto"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nombre de señal desconocido: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "No se encontró el fichero de fechas de muestra"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Sustituyendo %s por el formato de fecha desconocido %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Opción %s: Se trata la fecha '%s' como %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtra el archivo a través de %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Los argumentos válidos para la opción --quoting-style son:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2674,19 +2676,19 @@ msgstr ""
 "\n"
 "Las opciones predeterminadas de *esta* versión de tar son:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "ID de propietario o de grupo inválido"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Factor de bloqueo inválido"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Longitud de cinta inválida"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Valor de nivel incremental inválido"
 
@@ -2696,105 +2698,105 @@ msgstr "Valor de nivel incremental inválido"
 # Es "umbral", pero no sé qué c$%&# es la fecha umbral. :-( gag
 # A ver si te vale así. sv
 # ¿Qué tal os suena "fecha límite"?. jmg
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Se ha especificado más de una fecha tope"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Valor de versión dispersa inválido"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' no se admite en esta plataforma"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "El valor de --checkpoint no es un número entero"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Se ha especificado un modo no válido en la opción"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Número inválido"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "El tamaño del registro es inválido"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "El tamaño del registro debe ser múltiplo de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Número inválido de elementos"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Solamente se permite una opción --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argumento de densidad mal formado: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densidad desconocida: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "*Esta* versión de tar no admite las opciones '-[0-7][lmh]'"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: localización del error"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "error al analizar %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FICHERO]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "argumentos que no son opciones en %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "no se puede dividir TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "La opción antigua '%c' requiere un argumento"
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence no tiene sentido sin una lista de ficheros"
 
 # requieren -> necesitan. gerardo
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Los archivos múltiples requieren la opción '-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level no tiene sentido sin --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2803,43 +2805,43 @@ msgstr[0] ""
 msgstr[1] ""
 "%s: La etiqueta de volumen es demasiado larga (el límite es %lu bytes)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "No se pueden verificar archivos multivolumen"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "No se pueden verificar archivos comprimidos"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "No se pueden utilizar archivos multivolumen comprimidos"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "No se pueden concatenar archivos comprimidos"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime necesita una fecha especificada mediante --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option solamente se puede usar en archivos POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls solamente se puede usar en archivos POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux solamente se puede usar en archivos POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs solamente se puede usar en archivos POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2847,26 +2849,26 @@ msgstr ""
 "No se puede deducir el nombre del directorio del nivel superior; indíquelo "
 "explícitamente con --one-top-level=DIR"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "La longitud del volumen no puede ser menor que el tamaño de registro"
 
 # Me gusta más al verrés: cobarde rechazo [de la pradera] a... gerardo
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Rechazo cobarde a crear un archivo vacío"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Las opciones '-Aru' son incompatibles con '-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Debe especificar una de las opciones `-Acdtrux', '--delete' o '--test-label'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Se sale con estado de fallo debido a errores anteriores"
@@ -2885,60 +2887,69 @@ msgstr "Se sale con estado de fallo debido a errores anteriores"
 # y cursis, para que no se enfade nadie? Aunque para cursis: `cáspita',
 # `caracoles', `cónchales'; no diréis que no os doy opciones.) Por cierto,
 # creo que la coma sobra (incluso en el original). gerardo
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: El tamaño del fichero ha disminuido en %s byte"
 msgstr[1] "%s: El tamaño del fichero ha disminuido en %s bytes"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "La palabra clave %s es desconocida o no está implementada todavía"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "La marca de tiempo está fuera del rango permitido"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "No se puede usar el patrón %s"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "La palabra clave %s no se puede sustituir"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Cabecera extendida errónea: falta la longitud"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "La longitud de cabecera extendida %*s está fuera de rango"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Cabecera extendida errónea: falta espacio después de la longitud"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Cabecera extendida errónea: falta un signo igual"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Cabecera extendida errónea: falta una nueva línea"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 "Se desestima la palabra clave de la cabecera extendida desconocida '%s'"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2947,46 +2958,46 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "La cabecera extendida %s=%s está fuera del rango %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Cabecera extendida errónea: %s=%s inválido"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Cabecera extendida errónea: sobra %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Cabecera extendida errónea: %s inválido: delimitador %c inesperado"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Cabecera extendida errónea: %s inválido: número impar de valores"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: no es un tiempo de expiración válido"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: acción de punto de comprobación desconocida"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "escritura"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "lectura"
 
@@ -2994,7 +3005,7 @@ msgstr "lectura"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Punto de comprobación de escritura %u"
@@ -3003,7 +3014,7 @@ msgstr "Punto de comprobación de escritura %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Punto de comprobación de lectura %u"
@@ -3011,7 +3022,7 @@ msgstr "Punto de comprobación de lectura %u"
 # Acepto sugerencias para el `test suite'. sv
 # "test suite"="paquete/conjunto de pruebas/análisis", en cualquier
 # combinación. jmg
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -3019,99 +3030,103 @@ msgstr ""
 "genfile manipula ficheros de datos para la «suite» de pruebas GNU paxutils.\n"
 "OPCIONES:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Opciones de creación de ficheros:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "TAMAÑO"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Crea un fichero del TAMAÑO dado"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Escribe al fichero NOMBRE; en lugar de a la salida estándar"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Lee los nombres de los ficheros de FICHERO"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T lee nombres terminados en nulo"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Rellena el fichero con el PATRÓN dado, PATRÓN es 'default' o 'zeros'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Tamaño de un bloque para un fichero disperso"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Genera un fichero disperso. El resto de la línea de órdenes da el mapa del "
 "fichero."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "DESPLAZAMIENTO"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Busca en el desplazamiento indicado antes de escribir los datos"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Suprime mensajes de diagnóstico no fatales"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Opciones de estadísticas de ficheros:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Imprime los contenidos de la estructura de estadísticas para cada fichero "
 "indicado. FORMATO predeterminado: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Opciones de ejecución síncrona:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPCIÓN"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Ejecuta ARGS. Es útil con --checkpoint y una de entre --cut, --append, --"
 "touch y --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Realiza la acción indicada (véase más abajo) al llegar al punto de "
 "comprobación NÚMERO"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Establece la fecha para la siguiente opción --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Muestra los puntos de comprobación ejecutados y el estado de la salida de "
 "ORDEN"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -3119,7 +3134,7 @@ msgstr ""
 "Acciones de ejecución síncrona. Se ejecutan cuando se llega al punto de "
 "comprobación indicado por la opción --checkpoint"
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -3127,96 +3142,96 @@ msgstr ""
 "Trunca FICHERO al tamaño especificado previamente en una opción --length (o "
 "0, si no se ha indicado esta)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Añade TAMAÑO btyes a FICHERO. TAMAÑO es el indicado previamente en una "
 "opción --length"
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Actualiza las fechas de acceso y modificación de FICHERO"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Ejecuta ORDEN"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Borra FICHERO"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Tamaño inválido: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Número fuera del rango permitido: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Tamaño negativo: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) ha fallado"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "longitud de fichero solicitada %lu, efectiva %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "el fichero creado no es disperso"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Error al analizar número cerca de `%s'"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Formato de fecha desconocido"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENTOS...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "No se puede abrir `%s'"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "no se puede efectuar `seek'"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "el nombre del fichero contiene el carácter nulo"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "no se pueden generar ficheros dispersos en la salida estándar; utilice la "
 "opción --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "máscara incorrecta (cerca de `%s')"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Campo desconocido `%s'"
@@ -3227,25 +3242,25 @@ msgstr "Campo desconocido `%s'"
 # ser: "No se puede hacer stat() del fichero %s", o "stat() ha fallado..."
 # Aunque tal como está es más descriptivo para el neófito, desde
 # luego. gag
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "no se puede establecer la fecha sobre `%s'"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "no se puede truncar `%s'"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "la orden falló: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "no se puede truncar `%s'"
+msgstr "no se pueden sacar estadísticas de `%s'"
 
 # Uff, a lo mejor se asusta el usuario si ponemos 'no se pudo leer con stat()
 # el estado del fichero em+
@@ -3253,12 +3268,12 @@ msgstr "no se puede truncar `%s'"
 # ser: "No se puede hacer stat() del fichero %s", o "stat() ha fallado..."
 # Aunque tal como está es más descriptivo para el neófito, desde
 # luego. gag
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "no se puede establecer la fecha sobre `%s'"
+msgstr "no se puede borrar el directorio `%s'"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "no se puede desenlazar `%s'"
@@ -3298,6 +3313,9 @@ msgstr "La orden terminó\n"
 msgid "--stat requires file names"
 msgstr "--stat necesita nombres de ficheros"
 
+#~ msgid "OPTION"
+#~ msgstr "OPCIÓN"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: El parámetro ARGP_HELP_FMT debe ser positivo"
 
diff --git a/po/et.gmo b/po/et.gmo
index 10b0a17c0b4b5529ff671fee5a75fd94f38673bc..d44c134ae43e3f8404b272259407c9ce9d4f40aa 100644
GIT binary patch
delta 12232
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

delta 12446
zcmex-nEBFC=K6a=EK?a77#QrB7#Iu~7#I|U7#J9t85jgq7#Kj}A_fpz#(;rA0i=L|
zfx*XsfkBdifx*{+fkA|Ufg#<1fq{*IfuRPZhJk^h*?@sTo`Hd3i2(xx4+8_k5h#7p
zfPtZ%fq~(k0Rw{=0|P^vAwxZb9s>hItsw)0Dgy(<8bbyKK?VkfONI;#!VC-yPYf9t
zlo%Koei$+^xHB*?NE<OQs4y@vBpWd>@G>wkbQm!($S^Q4OfzC&&}U#^*lYx`_^}ZK
zgEa#K1G6y$gA@Y;gS|1t+$duP25|-kh8$xC22lnEh8E*`1_l8J28LP23=DD%3=FG{
z85q<U7#L0&Lwxqpn1R8Hfq{X|1mX}!69xt|1_p){69$Gj1_p-NCJ+mLnJ_R&FfcHP
znldnGGB7acnL>OXVamXe!oa|gYRbT%12WeX;(+g_3=BpL3=I7BW(*953=9lTW(*7_
z3=9k<W(*9<3=9k_%@`Px7#JANnn8lfz#QU0cXI}YGEmT&Gk`<pt~mpP9RmXcg9QTv
zKgg#R3=9ek3=IAj3=BdH3=9Pp5Q~~E7#K7d7#Ox$Kpc4A0;0d3(~^O~n1O*o#}eYR
z1WQPWOt*wsxWW?Rz~hz>hyAo<U{GXWV34(fIN08bfx#T)a4QCIRIagtSa92lfx(M`
zfq~T;qCUWyfkB#qfuYD664iay;E<?i*kTQF*%@m{P=2+BxLm-7fkB;tfkD}ZfkBpm
zfx#O}XWBp#WIL4KX~V$4%)r2~+y>&K)iw}^owI=?N@iO~V&$@BVBlk5U{Hb5#<n1P
z>KPcEY#}ZVwS^>_dRs^$+ieR8x(Bw95E8b7Br<m>U2X@7)8%#$hhMQ{V9;h@V0do_
z2{~zd1_oOO1_mp81_m1j28IfIu#XwG+Cv<6)}DcZy`F)A;fg)Pf;;vM46Y0e3<3@i
z2ZcE>FqkqhFf=$o65%!nh=m^=AR#8_2=SS_BgDapj*zs{<_O6Ja~&ZL+Uv-`;Ksnf
z@X`@tkAV{dgBB<eJ25cSgR)n@6U3rTP7s&9aDoK+dnZVo@j64w22E#(52BnI7}!B^
z38kx`bdxhAF?Kmaa?wd=h{HZOLo60`VPJ@4U|{fcftb74g`pmt-S)dcT>i`jl34z_
zKwK{G3gLUZLK0uDD<qC5x<az&7FS6AKj{hy@@K9PhqJmt$`55XNNzB9gP0%T2GN)A
z1__}Sw|YpnS>ndP;K0DZu*D4$#9!SY1}V8i403RXXb5p<U|<2Ic6Uhru5^bazBYGA
z8t8I|Sh&<3l8cVHLkgPfQ2lS+As*rNfH>H&-UA{K-~r7>9uOa|@nB%!Vqjo6=K=BY
zO%I5J{y_Oso)80UJsB867#J90JRu(0=m|-*2R$Jk`QizQYeg>z-^UB$fl4n(RM*#e
zL44Ng1qq_1UXaAH#|sj7%-#^6X?R0QIA?E2Q5xe7NvwI^3=D~k3=CVmAr_1ILLBPp
z3-NinFT`QBzL2Qu^<`jiVqjoc<qHn+dWN^Y4B!Gq&yRtDn}LBLzz<SD#P~rpH2E<w
z=rS-c%=d#t#aTZ{B7Eov%D)T@Km8yU@%TeLqT~;WV<&$|RD}CO%&G8)<d&)akaA_c
zKd3yYXJEMQ5AoqMe@F;020#=_1VAh_3V?{aLHV%(khm=jfEe5a6`vmfanR-fNC+GY
zfaH=V0T74134lZaPawoT%RmMOQBeL5353*US%HwasR)FGL~S4>jyeM&KAI2+iSwm_
zkT^XO2no6OP+Bku5@p6vIwA;CVATdeiuScZ5T8E@f)sQ-!3+%bpvuD|7*e3L2Sdt%
z4Z)Bge-;cWh(tml7TSd{FcdQ|Fl2@>FgP+WFx(A+I7~hi5@IHykdW~Uh2)O-P)G>n
zghKRphC)2JB^2VZouLf%;3D%tC?rw635CSvzfeeG6A6PDs2c_eLc1`C#yBXQ8pgoD
z3aZb;AZey33=#q}!XUY6Zy3aZU&A12hASMB+myl~m6cm~J*1#14Tscn3&TN)f`Q?3
zI3z9~g+t=-Yd9n^{SAjifm{T{C$<rg)a?`ju_!145)$bV5DOY3z^R;JLj)v>KSn@8
z;(r7rmub~ULM$qbglKGugcP;&A|XCHAIZSr!oa}rHIjkB8C01>K@w426eKQJM?rjc
zISOLV>nKQK{TBsEyrR(%hiXPcLQW6LH-+-+t)d}8=ok$tlii~sL7yBAv8W~*5+y66
zAtA6o8WOh;q9IZ8HX7mp-WZ6_RAV3^8W01i18Si3;uuIsor+;#C}dz@xD^8q$$AE#
zScnU=p>#nk14A?;14C&nBm^$TL4xvo9Hb;vi-&}iXFSA*$?=dhQV!*J#4|8NF)%R9
ziHD^6@9~h_q?f?J-~$T51c?6j1ds>n85kBOK;rIT0we^kB|r@RlmPKLTOuTAWfB<}
zJQx@l^b;XIu1JLFn~(^JvZaZTAikE!zz_z?9f=GKo(v2OCP@%}T@pn7)g(x5_$rBk
zK_8U=<&q(Z%r6<@fUsmp_A5$;#N~oya8NO9Plh<`S~4U=UP0w0Qy}@-AO&J@P6{O7
zFGztz#f20|TKSU#N&PCRAfGcZc%(8g)Pve&8L5!CX-Q>Z2x4Ghn34(!s^_T;44fbz
zq(NxAG)P+UfYN?xkfvBj8l)}=OM{dbbJ8Fd9!rDd|95GSsN_zEc*HQBfgu4@)TcAl
zgPX-0(;-26FCF5;Z|M*XTp19b8e~91BpyolW<V0r?hHs<Pd5`%TP9^fEXd7-Slp8d
zDbQACLMom6nUL(Qlm$sMhFSHH#Nm_$ae!YIL}MD1Zq9<l*@7%c8rYfzDRNI_K^*i7
zs!t*tQX(2;L-Ki1Hbi|xHYB%9&W7Zs1=$b}p3R1s`>-C$_?8WcL+%_%DtFIeV8~)%
zV93gW6wOz2AeF|y90rC|1_lPnTu9v3=RyoxoePQc1G$h?{~;HW9o6$7i8Ck<BHx?`
zX^d{pgEZCZKjcANrk@XqyO?~4L|Z;2zaPzq#O*UEty2IA%Ax{@!?qScO3r%)5DNqf
zAwla<2&n}F3mF)~85kJy3n5*&<Ao51^A~{=V?Bd)5yVCDMUc3hQv?a(i$#!B`nd?=
z6X9YA->w)UA6E?VX+tr@qV2^H2VX6QIPhCBB#JCcAnMagAnH0xAa%s@5>Uw0GccSf
zfdu{E5(WlK1_lPpQi#UlQm_jd7DDNxrI7smvJ~QT<1$E;#FRnew7d)=-VLR<ltCPP
zw+v$8-!e#AQ!0lzM6aBIK^v6+eaayQRg^>Gax#>^q8#G$!{rcz-jzcfz*hkY;)n`}
zzRU_p?b%WRiOOje3=G~33=D@WAP(ZMgwPh1kh&zX5)#tODj68+LA~DFm5}`UtCE3X
zJp%)SQWYd5E>%I&1Wz?2&djPIK1r&El<n=+kP>oTH3P#_P(Qz#fkA|kfnik*q)6Xi
z3yJ$9wUAm+rVf%uV(TE;ySI*^9^8xFTnBOawK_=9GuJ~D7}i4^0IQ}O>meoL+ImQk
zAAx4y8}*Qq^9i&$&(Ht~8G#0f!?hd09b|^^21p1`Xn^#nmNwKwTCEQnATASbgaoB?
zBP8fU8yUbO9Su<aEGT`n5mI7)XoTovXo8fC22GGUz^n<<_p@z+=&x>qgxJ(3NV%}5
z2~x0~uWw>th-F}4_}2unFs2z2679_ppKpQE_nIN)0!Is^Wux5!iHhVFNb2rrfp}z9
z3nb+3LgkrTA!$dW6_nZ;7(7}b)q7<tq@=8$)C%#*##ROfKL!SdgRKk<!JtlP8zcx*
z+8{w#-v;sF>Nbc48`~hM`Fa}z!)ZnahR1CX1J`#zJaDc9QmOs!fTVWjPKXB-J0bd9
zI>9AnJwrez14AAI14CRVB&g1ILR|X16Ot$;x*&1w&;<#)kS>Tt>0OW}R9hD$B+f$R
zKXpNZnzb8Zj!rkk0kPeXx}drnV$a5IP+F*GU^v|k@zH~BNH$^Xfn+cJ9!P=W&;uz4
z5_=#HY3+fO7c-&qS9>5)@~ww~AsRIH(+df?u3m`xrM-|4+}R6BTTgo-A^g3Ufk73N
z|GoPl8VdU$sk8@5AMJw}{I3s^$jtf~7|KCoKmCx@ey<<m(_j6NIze#)!~^XUAp8vz
zAW<te5#m9$iI5QVnFuMe<0mpO)PqK)CQgJ{un(&6-9$)Y6qy8RP}om`Xe^!t3A(mP
z5cLb7{0oyHQSxdM!~>j@Aw{~=WJp0%KN*rHwoHcj{NZFs)S6CVs0U}S*eQ_IUOoj<
z{VtpW3G#hV`q30fP_j*hsFRusk$0I25zm+kX^7N7<?E(0FfcJNFszsg38B?fA!*^#
zR7mz@o(8Gzxu!u245ew1hJn#EP@-U9aGVAyh{C2p;<{xT#GnJyAR+P`N=r|N<YWKo
z5b?U{5Q{cVheYY)>5!26Hyx5l^=3dSr{Eco#5=8i21McA8IbJqV+O>93^O4Xv(JPC
zrSnWk{%)8FiQ~;PA*uP!Oh||b&4NUk%`8Y1rO$$>Yn%ni@2h4((#+vmkTi9F79_jZ
zi_eCX^=Y#qK3Fgtl3lLMhWPl?Y>0y-=Rh2)Fb5)TJqHrkNpm2%WcC~e1`Y-WhCOp2
z<-}1a|MVP4oL`v(i8773kd~6qT(AS{8T#fzYOC#YA&G=}9;C7`m<I{6!g-JqY}!1C
z1GmkC6eO?aL4ulhKE&sC^C3RWoDcCpE0kV5ACjgH&WB{{d-EaYy`K+?YEb+y05KRC
zR2D!Cuv`F13!w`b7(zkAWD6h;*|h*-@cjjlZ1r~mBwzC`g!tTYAw-|kLdcj<;6h04
z7`hN*VfI2uF6v$g3CVd285pEN`G4m^NEv>0A;cly7eZXjvj`G3nu{O~OI`#?BlU|Q
zLEgRylKNLb<@YRtgv^aa3=A<03=F>)K^zpZ7?R)97ems}Oep`%Vg`nK&}jF+#gO`1
zbqT}*ttAkj8ZCiTw*gBaQIfs{5)vzxKoZs2C6H|NYzZXM{aXS_tP)EZ7`z!77($mq
z(#pbRkn-WgGKhK4mqF@)f6Jibe_YEUZ8^i`kj7@la&Y2cShpM!)Yq3o;`sS;NKgu`
zfTUuh6%Ze0t$-L@xdIZz6IMV%X7LJ0n%TYr5*4pkKth^vCB(tXE1?Yu+m(=@3tS1V
zl^9A^LNqk3g!pvEN=OuJTnRDw>`F*k{%|G4!p~4X+bT$Qlvo8(=d=ov=)zV(EKXkq
z@p<PeNXSgBUj^~Wo>h=U@nsdnV*b^Tj)UrINYoguhIGNqS3|O+<7$Y(9;+c~C2}>S
zASzo8Nt8>W^u^VXIR6W!4c0)4<m5GwW`6yQHIT~T`Wi@q^LGs-Ut6w)#97f=NI^4k
zEhKv$Ukh>hm$i^6kzU8ZFpYtM!EGHR>h7+CctCkQ19*<d5=sZGheT!idPv$TUk}c{
z^$b(jLwtB_J){gjy&jUf&#s3U^lm*Qs982Z3J|dkkT|#607(m;8z3Q)xdBq}6hQf9
z8z4bmy8#j<^EW^|cya?Im$7aHMQJ?)gVaVysy5pQX%t3pgp}FSHbOKW+XzV$A2vdw
z=-)<&g_4^f7AS0jIK*ia#3M<YAW@UP3F3i@O%Q#3n;>ay<t9i8cxDp=g9s@9^KFLY
zPvy;!N+EPJBz4Z&42gnmn<1(A>Sl-moLeAqs<Q<Wm+@O5aXw`WB-b3+0@42xN;7YT
zqz&1v5OqFVAq7;$RtAQ8&^Uh0R)~*UwnBoi8%j^y3JLP*TOlE|dn+XFA8duBdiHIQ
zG$6GN5=E}tAPx-Q2Jvy#Hb@9g-3D>keyIG5Z4ifWZ)d0n&-0mYXJE($&GBr9_;}}b
zh(m5{hdAusb_RwdMh1qb+aZb7V<#k$=Iw;2U%nF}erzWs(Y@ITaUk<92w!X$1A{LE
z1B31^NE)c#1xbwCchy5GpW{%4!n+{`YVC$363^X`{2#X);-m825CbRehUD*+yCK!+
zUZ_0J9!QC(z6X+q?Ds(Od;T6sPpEniq+f6u$``EP3o$TrFC_6b?1f~r-FqSV{l#8L
zkbc?=$%dl)AP)522gycR`ylzhV;>|)m+pfkx{LcDb;t94khG<^AJU)+-VceA#{G~G
zt6#kzl8P_xhZy{MKP2%89e@Op&H+f!*&Kj$KD(geR}MfN_~Za2s@_5AF9#sm_}2kQ
zD*tl;68CloA?BwagqYuU5FDcQ3=0lIf^7Fe28KWe28PQAA*ovR5JW@NA+SP*%0rNl
zm~sf>)9q04$A=&#=)Xe@47Cgl3}%NR@>>o=#)KXmhM4pEFeIe7jzFSD{Rk+x)iW@J
zAA$IE-VsPDUI(QQ903&&3=Ef!Ktkx<5lF!#a1;_{hDRYm?Qs<1u(+d;Y}t4elK8e9
zg{G~ekfL1p7$i+89D{_M=`rZ|pZzh2#rek|E^IsoDdFZFgM`G|V~`MdbPO_m_V*Yh
zF2j#Qg0l5Eq<Wrz91_$IjzbbH=Ltxys&oR9=ps)*;(q!GNOnGWf`OqPG+X@)szBf*
zWPrf$B*Z6^PeL>tI|->QKAeP<bo!?tWxf9?h!3Zpf+XIDry%NOPD7%=4N4cChJ?tx
z(~ywbcp5T9d*w7kJ-E}Ue+FC`Fw~ualvL}_Kzx1=$`?Kh33{iqkW`<17LuwP&q5ru
z`79(gUp@;d7k-|Fq$#6w5DUG|L7LsU=OFfMfQmmnR}Tq7mh%t;<<3KbFyK5SyH%ct
zWTW-xAr5<a9@2A>xB&5~!v)AJch&_+2yMLp3ED3gAaN~u5n`_1MMx2za1o+!%0)=Y
zy088sq;h$55fWq{E<!Alxdcgk-j^T_Oo!5qmmons`w}FMuU&!+tG&MjNi*h`A!*3%
zGNgb?z6>$1{4!+ldf8=2Zh3zh5~B6$S0Dy>Tw!3aXJBBMa0L>S7p_1;;@cGlh9wLP
z4DweY79Y6^ap?c6kSNl=1}U%-u0f)r_Zq}uYp*dd++ko~IChPJ;UWVA!{Y0ZR&wbL
z$QX0o4X}On3>R-e3=+HvG05#EB)b*gg!p9YO-LMWx(TU#u0rMi+=K+F+%1TOLAM~;
zG5Z!IL>q5G(n>#6d@YoJ_!cBe9^QiHf8pDZ)ERXfQex%ahWK#(ZHU6#w;_p%_YNfS
zsNR8C7<LDuF8>ZBP0YRnalqj_5D(qF11VSd?n1J+++9dEG`I`N&Utqk7(nY!7&`Al
zH153%Nu`(XLb8Y0JxJUY-h&jq3+_Rx+gDIp^ghI5hx?F3nsFae(k+702k%1?@q_!2
zI2U^Waj+khu6n@0P!C$WvFrgv<GlxvDERvTl6bTpLh`xYLr71k<sl?h-+BnCM&Cb#
z)Nb03AgSK`5yYo4k05mbXkZJpHU)(37#SEIg64@C7#O~QrePQv7(5sm>KTlf7#Mys
zGB7-2U|?9vz`zg+T6F{(<zQf7xDHye!pOj|8Ds(j14Aq$1H*i%ydJ27&%nU2o{@p!
zE>s>wf!6y>Vq{>@XJlY-U}RuWhN=U}fp7sMq@DpU-(du`zZe)85}<~H*6@HPi8vS;
z7<NL%(m}cy7#M;WA-x+usDZMK3=C{gHGiRMU=(OUiaAuyfRTaW7b62hHv=Rmv@$X<
z>|<bH*u==d@T8s*QoVvSW->A`=rS@e%mVom)bWHGaFh{}@<D2@F)%P(1u>8?sAcq)
zk%6I+fq~&0l6Wa21H*MjNCSlj>S!gXnYS4j7;Kmr7<A7=1whNKKr5X<)2SdcKy&&E
zj0_C<j0_CBplUu(KBy{Qe~FQSAqy%3TAl(@Z3g9YF)=W7Gcqu6F)}b*0ga_IGB9K?
zGBB7hGB5};F)(O>B7}i~L7b6+VHzU?Lj)rOLpCD=!%2{H7#SFrfd&E@85sV7)?zR+
zFuY=5U{Gg*^f10NGBB7jF&Hs?Wq?$uAd6!d85lZ2vwfiC1X_B=$iT24>X;S=1_muA
z1_q1C5A}s7f6!;)6k=jvc*MxSZ~!Dy@6HIx7n+O=42htLJq8Ab5Jm=u>5L2vrx_T)
z^R4}ikabufyJj;mFid2GjIF%~2{14)9AIQ%c)-ZO09r$5!N|a%$;7}=0aC}nz@Wy&
z!0-d=mdOl|QBG-SJjgRK)H6siF)&;LEq`NRV9;QMRPNG@3=GDM3=G;(g&=$8LJi3P
z83JW9A;~X=iZL@WFqlBa=P@!c>;Y+p;$w`Ea$Jmofx()QfkBcHG@Z=A!0-;Lc`G9W
z!)pcxhUbh73>QHTfNIoZWMHTTrAh`!@%RT6{R|8YhZq<bL?-`LSFTrOWMG&CRSjAm
zAj`zSFb}j!kCB04H&h%(f%2OI)QSF3!3Usf0?HO(Vqi#xx~PE>GTwO<v<?R3WF`iN
zWuU~wz`$^Vfq}t~k%8e214BJ{f;@+Tf#D}8(ij;SRxm<(Vm^!v42(>WQWs?Y7e)q#
zA`pXtf#DMa1A{9g14A9uvb|6mRA;?lWMFv9z`*bjG*1o6h)_MCzLF>-1A`J114A)X
zy*+3_;daoZDJY{r74|VQFdPP_vA<AdFQGJ40mCT<1_mKU28I`)RgVk|3=*K|fvVAE
zVqmamWMKHiz`$^yk%8e8BLjmBBLl-aMh1owr~%Iy85oW*FfcSSGBDIIFfc@boC+#v
zpz?JL3=D#xGzMDV0a`k_6*M6PwO|93mSBQZv1b?<7$QMMCKCfg03!oKF9W2m7G+{!
zSO_&RhmnCnkdc953Mf}Y#VnW@7*v=T7}%latpzQwV`N~6Vq{>r!N9<<j-j4`VKr1S
z3pCb2T+sBm4kH6-)&#@_V{S$UhIlZGf#DTs5($)0p?cVv7#OM<85jgWMFk@RLl`3i
z!wd#U`+hki1H(*EQOv}^U<!2z$e0zN<&_{8f)=fUW*|Z9yFd~kEDTi$TFL0f$iVQP
zk%7UMk%3_YXwfOCY@YmAOF5R4iGhKaiGe|tiGkr90|P@iBLjmR69YphBLl-qMh1oe
z1_p+mptX}skP2D~YHAfD14B9^qyYz7x&*TEAR_}qCWyfRSpyqCxmH`e{ywPgfr@Tt
zgw(zu?ha59#K^$V%D}+D$;iNv1~qvRsImi<nV^mmD3dZmYUCD11_pjc28QztkeVE1
z1`PW%LWTnuKn0vYF$7`PgV&0#1l1dipw<urLmAW}kUVImEQoGmWMJrHU|@K|$iSch
zjgf622~hb8rJqCT+l&kh7ocW<R`xDnWMHU*%85Yr{%2%hcnO*k2Ce<+U|?W)3~FC8
zFfedK6@b(SLJg5&VqiE6TAw_5ua0>Aaj58IP*z}MU?^mSEEZYC2<frx1w}do14BOp
z1H%Q7F`#S)rT>BIB&dGS3>QdPjER9^0w`rOFfe?C%9$}SFr0w0L25v&Sk0Lj7`}sw
z8j!#>Mh1rC3=9lyj0_Bwj0_A{85tPnf+Rq#5zz8xMh1qD3=9m0ObiT+j0_A0pw!F2
zz;J_+fx(iAf#Du#{vK4<K=o8IFfhD^S||^t*Dx|L++={XaK)Jz7<Pcw)-x~|GchnQ
zgIW-b3=Cq73=F)C3=EGzl?|ww1j+`W6vM#4(8a*O@SBl=p$C*ApoSJfY0yGoka@n0
z3=CdSvBiv#w%i#;28Ia?3=A%e3=IE4ia;q1lodg3wt6N8hH^#*hSiJ=3>-`h3|*j7
z2vpI4@+PRN2941`HG!zlpoPMqItIjHVqn<Mz`(GUk%7SzYN;WVW@ThxPy|IKNF4*D
z1ES2xz%Yk_fgu+(xyZ->n$l&Md_hmbm5Gso!I6=H;Ve}1Q&3PbGBBKCWMBver3nTG
zh7X_$ijjfg4pa@uT+o!bEi{GkP1e<yukQs_+@Lv6P-HSNFl>aXW`(M12k{vh7&<^>
z*$fN}GeGqUBLl;4kPVCs3_n2q8c;-oj0ZJJ7$FUKsCI@PPz4AwgMono)X)Pd11(!u
z1eL3d3_=WF85zI><u#z>%gDe`G5M~(v{D|ZIc>neU}3<(Q1%GYVFYOfne_kv|Njdf
zZI&|7lJs#5au3#12rW)cE6q_T&n(GM(A7=ONKMWz$j{6xQAo^7QOM6rRme{RiI<k>
zDCp`Y78IoBrGQu^`K8GjAVz6kPG(;AW^2!FJgfmBp8kHD--li`;5FAZG}1LRS1>fP
zGB(_Nv2C4nOvvFSnJI}1iFqZZDGJ_)TY|lPLWA`byc3H{b276P$_{TW$xSUuO-}^b
chj2$0m`}+5x<!(_tYL?zhInqCwm#Mf0E8FiV*mgE

diff --git a/po/et.po b/po/et.po
index 73f00922..7f541d70 100644
--- a/po/et.po
+++ b/po/et.po
@@ -3,12 +3,12 @@
 # Copyright (C) 2001 Free Software Foundation, Inc.
 # Toomas Soome <tsoome@me.com>, 2016.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.29\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2016-05-16 22:43+0300\n"
 "Last-Translator: Toomas Soome <tsoome@me.com>\n"
 "Language-Team: Estonian <linux-ee@lists.eenet.ee>\n"
@@ -96,7 +96,7 @@ msgid "give a short usage message"
 msgstr "näita lühikest kasutamise õpetust"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NIMI"
 
@@ -231,12 +231,12 @@ msgstr "^[jJ]"
 msgid "^[nN]"
 msgstr "^[eE]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketi looja %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketi looja %s\n"
@@ -244,11 +244,11 @@ msgstr "Paketi looja %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 #, fuzzy
 msgid ""
 "\n"
@@ -524,191 +524,191 @@ msgstr "Teise serveri käsuinterpretaatorile ei saa faile ümber suunata"
 msgid "Cannot execute remote shell"
 msgstr "Ei saa käivitada kaug käsuinterpretaatorit"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Otsimise suund on piiridest väljas"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Vigane seek suund"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Vigane seek indeks"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Otsimise indeks on piiridest väljas"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Vigane baitide arv"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Baitide arv on piiridest väljas"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Ootamatu faili lõpp"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Vigane operatsiooni kood"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operatsioon ei ole toetatud"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Ootamatud argumendid"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Opereeri lindiseadet, aktsepteerib käske mittelokaalselt protsessilt"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "N"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "määra silumise tase"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FAIL"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "sea silumisteadete faili nimi"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "%s ei saa avada"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "liiga palju argumente"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Rämpskäsk"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Hmm.... see ei tundu olema tar arhiiv"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Baite loetud kokku"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Baite kirjutatud kokku"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Kustutatud baite kokku"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(toru)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Ei loe arhiivi sisu terminalist (puudub -f võti?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Ei kirjuta arhiivi sisu terminali (puudub -f võti?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Kirje suuruse väärtus on vigane"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Arhiivi nime pole"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ei saa kontrollida sisend/väljund arhiive"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiiv on tihendatud. Kasutage võtit %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Ei saa uuendada pakitud arhiive"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Lindi alguses, lõpetan töö"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Liig palju vigu, jätan töö pooleli"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Kirje suurus = %lu blokki"
 msgstr[1] "Kirje suurus = %lu blokki"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Joondamata blokk (%lu baiti) arhiivis"
 msgstr[1] "Joondamata blokk (%lu baiti) arhiivis"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Arhiivi ei õnnestu tagasi kerida; lugemiseks võib olla vajalik kasutada "
 "võtit -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ei peatunud kirje piiril"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: sisaldab vigast volüümi numbrit"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Volüümi number on liiga suur"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Otsi volüüm #%d %s'le ja vajuta return klahvi: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "EOF kasutaja vastuse asemel"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "HOIATUS: Arhiiv pole täielik"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -719,65 +719,65 @@ msgstr ""
 " q             Katkesta tar\n"
 " y või reavahetus Jätka\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Loo alamshell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Väljasta see info\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Pole uus volüüm; lõpetan töö.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Puudub faili nimi. Proovige uuesti.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Vigane sisend. ? annab abiinfot.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s käsklus sai vea"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ei jätku sellel volüümil"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "võimalik et %s jätkub sellel volüümil: päises on lühendatud nimi"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s on vale suurusega (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "See volüüm on väljaspoolt järjekorda (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiivi märgend ei sobi %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volüüm %s ei sobi volüümiga %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -785,210 +785,210 @@ msgstr ""
 "%s: faili nimi on GNU mitmevolüümi päisesse salvestamiseks liiga pikk, "
 "lühendan"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "kirjutamine ei peatunud bloki piiril"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Sain lugeda ainult %lu baiti (sooviti %lu)"
 msgstr[1] "Sain lugeda ainult %lu baiti (sooviti %lu)"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Sisu on erinev"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Ootamatu arhiivi lõpp"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Failitüübid on erinevad"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Moodid erinevad"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "UID on erinevad"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "GID on erinevad"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Muutmise ajad erinevad"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Suurused erinevad"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "ei viita %s-le"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Nimeviited erinevad"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Seadme numbrid on erinevad"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Kontroll "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Tundmatu failitüüp '%c', võrdlen tavalise failina"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arhiiv sisaldab eemaldatud prefiksitega failinimesid."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arhiiv sisaldab teisendatud faili nimesid."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Kontrollimine ei pruugi leida algseid faile."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "VIGA KONTROLLIMISEL: leiti %d vigast päist"
 msgstr[1] "VIGA KONTROLLIMISEL: leiti %d vigast päist"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Üksik null blokk kohal %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: sisaldab vahemälu kataloogi lipikut %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "väärtus %s on %s piiridest %s..%s väljas; asendan %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "väärtus %s on %s piiridest %s..%s väljas"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Genereerin negatiivsed kaheksand päised"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: faili nimi on liiga pikk (maks. %d); ei salvesta"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: faili nimi on liiga pikk (ei saa poolitada); ei salvesta"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: viite nimi on liiga pikk; ei salvesta"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Fail lühenes %s baiti; täidan nullidega"
 msgstr[1] "%s: Fail lühenes %s baiti; täidan nullidega"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fail on teises failisüsteemis; ei salvesta"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "sisu ei salestata"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tundmatu failitüüp; ignoreerin seda faili"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "%s-le puudub viiteid."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: pole muutunud; ei salvesta"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s on arhiiv; ei salvesta"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "kataloogi ei salvestatud"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fail muutus lugemisel"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: ignoreerin pesa"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: ignoreerin ust"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Hüppan järgmise päiseni"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Kustutan arhiivist mitte-päise"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: ebatõenäoliselt vana ajatempel %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: ajatempel %s on %s sekundit tulevikus"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Ootamatu kooskõlalisuse probleem kataloogi loomisel"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: jätan olemasoleva faili vahele"
@@ -1011,7 +1011,7 @@ msgstr "Üritan taastada nimeviiteid viidetena"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Ei saa taastada -- fail jätkub teisel volüümil"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Ootamatu pika nime päis"
 
@@ -1040,22 +1040,22 @@ msgstr "%s: Selle faili varundamine ebaõnnestus"
 msgid "Cannot rename %s to %s"
 msgstr "%s ei õnnestu ümber nimetada %s-ks"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Kataloog %s on ümber nimetatud"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Kataloog on uus"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: kataloog on teises failisüsteemis; ei salvesta"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Kataloog on ümber nimetatud"
@@ -1181,193 +1181,193 @@ msgstr "%s: Kustutan %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Ei saa eemaldada"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Jätan vahele"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blokk %s: ** NULlide blokk **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blokk %s: ** Faili lõpp **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blokk %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Tühjad väljad päises kohtadel, kus eeldati numbrit %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
 "Arhiivi kaheksandväärtus %.*s on %s piiridest väljas; eeldan kahe täiendit"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Arhiivi kaheksandväärtus %.*s on %s piiridest väljas"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiiv sisaldab aegunuid base-64 päiseid"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Arhiivi märgiga base-64 sõne %s on %s piiridest väljas"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Arhiivi base-256 väärtus on %s piiridest väljas"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arhiiv sisaldab %.*s, eeldati numbrit %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Arhiivi väärtus %s on %s piiridest %s..%s väljas"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " viide %s-le\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tundmatu failitüüp %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Pikk viide--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Pikk nimi--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volüümi päis--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Jätkub baidilt %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Loon kataloogi:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Annan %s uueks nimeks %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: ei õnnestu ümber nimetada %s-ks"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Nimetan `%s' tagasi `%s'\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fail kustutati enne lugemist"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "alamprotsess"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "protsessidevaheline kanal"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Lokaalse faili nime valik:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "lisa antud FAIL arhiivi (kasulik, kui faili nimi algab kriipsuga)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "KAT"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "mine kataloogi KAT"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "loe taastatavate või varundatavate failide nimed failist NIMI"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T loeb nullidega lõpetatud nimesid; eeldab --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "blokeeri eelmise --null võtme mõju"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "eemalda sisendfaili või liikmete nimedest kvootimissümbolid (vaikimisi)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "ära eemalda nimedest kvootimissümboleid"
 
-#: src/names.c:87
+#: src/names.c:86
 #, fuzzy
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr "-T loeb faili nimesid otse (ei käsitle võtmeid)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T käsitleb kriipsuga algavaid failide nimesid võtmetena (vaikimisi)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MUSTER"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "MUSTRI järgi välistatud failid"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "välistavad mustrid on FAILIS"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1375,24 +1375,24 @@ msgstr ""
 "välista kataloogide, mis sisaldavad CACHEDIR.TAG, sisu, välja arvatud "
 "märgendi fail ise"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "välista kõik kataloogis, mis sisaldab CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "välista kataloogid, mis sisaldavad CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "välista kataloogide, mis sisaldavad faili FAIL, sisu, välja arvatud FAIL ise"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "loe kataloogide välistamise mustrid failist, kui see on olemas"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1400,116 +1400,116 @@ msgstr ""
 "loe kataloogide ja alamkataloogide välistamise mustrid failist, kui see on "
 "olemas"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "välista kataloogid, mis sisaldavad faili FAIL"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "välista kataloogid, mis sisaldavad faili FAIL"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "välista versiooni kontrolli süsteemi kataloogid"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "loe välistamise mustrid VCS ignoreerimise failidest"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "välista varukoopiad ja lukufailid"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "sisene kataloogidesse (vaikimisi)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "ära sisene kataloogidesse"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "Failinimede otsimine (mõjutab nii kaasamist, kui välistamist):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "mustrid alustavad faili nime algusest"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "mustrid toimivad iga '/' järel (välistamise korral vaikimisi)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "tõstutundetu"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "tõstutundlik otsimine (vaikimisi)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "kasuta jokkersümboleid (välistamise korral vaikimisi)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "täht-täheline sõne otsimine"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "jokkersümbolid leiavad '/' (välistamise korral vaikimisi)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "jokkerid ei leia '/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "käsurida"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: %s loetud failide nimekiri on juba loetud failist %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "sõne '%s' ei saa tükeldada: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: loetud faili nimi sisaldab sümbolit nul"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Failide nimedes on jokkersümbolid"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1517,45 +1517,45 @@ msgstr ""
 "Jokkerite lubamiseks kasutage --wildcars või --no-wildcards selle teate "
 "blokeerimiseks"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Puudub arhiivis"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Nõutud eksemplar puudub arhiivis"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arhiivi märgend ei sobi"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr "--listed-incremental ei luba faili loendis võtit -C kasutada"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Võti --listed-incremental lubab ainult ühte -C kasutamist"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Mõlemad võtmed, '%s' ja '%s', eeldavad standard sisendit"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Vigane arhiivi vorming"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Arhiivi formaat ei toeta GNU laiendusi"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1771,7 +1771,7 @@ msgstr "Vali väljundvoog:"
 msgid "extract files to standard output"
 msgstr "taasta failid standardväljundisse"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "KÄSK"
 
@@ -1807,7 +1807,7 @@ msgstr "kasuta FAILi omaniku UID ja nime seadmisel"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "kasuta FAILi omaniku GID ja nime seadmisel"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "KUUP-VÕI-FAIL"
 
@@ -2013,7 +2013,7 @@ msgstr "bloki lugemisel uuesti (4.2BSD torude jaoks)"
 msgid "Archive format selection:"
 msgstr "Arhiivi vormingu valikud:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "VORMING"
 
@@ -2097,59 +2097,59 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtreeri läbi programmi (peab lubama võtit -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Lokaalse faili valik:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "püsi arhiivi loomise ajal kohalikus failisüsteemis"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "ära eemalda faili nimedelt prefiksit '/'"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "järgi nimeviiteid; arhiveeri ja taasta viidatavad failid"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "järgi viiteid; arhiveeri ja taasta viidatavad failid"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "KOMPONENT"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "alusta arhiivi lugemisel liikmest KOMPONENT"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "salvesta ainult failid mis on uuemad kui KUUP-VÕI-FAIL"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "KUUPÄEV"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "võrdle kuupäevi ainult kui andmed on muutunud"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROLL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "loo enne eemaldamist varukoopia, vali versioonikontroll"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "SÕNE"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2157,59 +2157,59 @@ msgstr ""
 "varunda enne kustutamist, kasuta uut lõppu (vaikimisi '~', kui pole üle "
 "määratud keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Failide nimede muutmine:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "eemalda taastamisel failide nimede algusest NUMBER komponenti"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "AVALDIS"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "kasuta failide nimede muutmiseks sed asendus avaldist"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informatsioon:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "väljasta töödeldavate failide kohta infot"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "VÕTMESÕNA"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "hoiatuste juhtimine"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "anna töö kohta infot iga NUMBER kirje järel (vaikimisi 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "TEGEVUS"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "käivita tegevus igas kontrollpunktis"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "väljasta teade, kui kõike viiteid pole salvestatud"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2220,35 +2220,35 @@ msgstr ""
 "väljasta see info, kui saadetakse antud signaal. Lubatud signaalid on: "
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 ja SIGUSR2; SIG prefiksi võib ära jätta"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "väljasta failide muutmise ajad UTC esituses"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "väljasta faili aeg täielikult"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "salvesta täiendav info FAILi"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "näita iga teatega ka arhiivi bloki numbrit"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "küsi iga tegevuse kohta kinnitust"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "näita tar vaikeseadeid"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "näita snapshot-faili väljade lubatud vahemikud"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2256,92 +2256,92 @@ msgstr ""
 "listingu või taastamise ajal, näita igat kataloogi mis ei vasta "
 "otsingutingimustele"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "peale teisendamist näita faili või arhiivi nime"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STIIL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "määra nimede kvootimise stiil; lubatud väärtused on toodud allpool"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "lisaks kvoodi sõnes näidatud sümbolid"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "keela sõnes toodud sümbolite kvootimine"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Ühilduvuse võtmed:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "loomisel sama kui --old-archive. Taastamisel sama kui --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Muud võtmed:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "blokeeri potentsiaalselt ohtlikud võtmed"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "võtit '%s' ei saa võtmega '%s' kasutada"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
 "Korraga võib kasutada ainult ühte võtmetest '-Acdtrux' või '--test-label'"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konfliktsed pakkimisvõtmed"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Tundmatu signaali nimi: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Kuupäeva fail puudub"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Kasutan %s tundmatu ajaformaadi %s asemel"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Võti %s: Käsitlen aega '%s' kui %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtreeri arhiiv läbi %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Võtmega --quoting-style on lubatud järgnevad argumendid:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2349,290 +2349,299 @@ msgstr ""
 "\n"
 "*See* tar kasutab vaikimisi:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Vigane omanik või grupi ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Vigane blokkimisfaktor"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Vigane lindi pikkus"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Inkrementaalse varunduse taseme väärtus on vigane"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Rohkem kui üks etteantud aeg"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Vigane aukudega faili versiooni väärtus"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ei ole sellel platvormil toetatud"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint väärtus ei ole täisarv"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Võtmega anti vigane mood"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Vigane number"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Vigane kirje suurus"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Kirje suurus peab olema %d kordne."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Vigane elementide arv"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Lubatud on ainult üks --to-command võti"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Vigane tiheduse argument: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Tundmatu tihedus: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "*See* tar ei toeta võtmeid '-[0-7][lmh]'"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: vea asukoht"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "viga %s parsimisel"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FAIL]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "%s sisaldab vigast argumenti"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "TAR_OPTIONS ei saa tükeldada: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Vana võti '%c' nõuab argumenti."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence ei oma failide nimekirjata mõtet"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Mitme arhiivifaili kasutamine nõuab võtit '-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level ei oma võtmeta --listed-incremental mõtet"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Volüümi märgend on liiga pikk (piirang on %lu baiti)"
 msgstr[1] "%s: Volüümi märgend on liiga pikk (piirang on %lu baiti)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Ei suuda kontrollida mitme volüümilisi arhiive"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Ei saa kontrollida pakitud arhiive"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ei saa kasutada mitme volüümilisi pakitud arhiive"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Tihendatud arhiive ei saa ühendada"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime vajab võtmega --mtime märgitud aega"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 "Ülemise kataloogi nime ei saa tuletada; palun kasutage --one-top-level=KAT"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Volüümi suurus ei saa olla väiksem kirje suurusest"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Ega ikka ei tee küll tühja arhiivi"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Võtmeid '-Aru' ei saa kasutada võtmega '-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Peab kasutama üht võtmetest '-Acdtrux', '--delete'  või '--test-label'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Kuna eelnevalt oli vigu, siis lõpetan veakoodiga"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Fail on %s baiti lühem"
 msgstr[1] "%s: Fail on %s baiti lühem"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Võtmesõna %s on tundmatu või pole veel realiseeritud"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Ajatempel on piiridest väljas"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Mustrit %s ei saa kasutada"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Võtmesõna %s ei saa ümber määrata"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Vigane laiendatud päis: puudub pikkus"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Laiendatud päise pikkus %*s on piiridest väljas"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Vigane laiendatud päis: pikkuse järel puudub tühik"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Vigane laiendatud päis: puudub võrdusmärk"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Vigane laiendatud päis: puudub reavahetus"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignoreerin tundmatut laiendatud päise võtmesõna '%s'"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Genereeritud võti/väärtus paar on liiga pikk (võti=%s, pikkus=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Laiendatud päis %s=%s on piiridest %s..%s väljas"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Vigane laiendatud päis: %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Vigane laiendatud päis: liigne %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Vigane laiendatud päis: vigane %s: ootamatu eraldaja %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Vigane laiendatud päis: vigane %s: veider arv väärtuseid"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: ei ole korrektne taimout"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: tundmatu kontrollpunkti tegevus"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "kirjutamine"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "lugemine"
 
@@ -2640,7 +2649,7 @@ msgstr "lugemine"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Kirjutamise kontrollpunkt %u"
@@ -2649,12 +2658,12 @@ msgstr "Kirjutamise kontrollpunkt %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Lugemise kontrollpunkt %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2662,91 +2671,95 @@ msgstr ""
 "genfile manipuleerib GNU paxutils testipaketi andmefailidega.\n"
 "VÕTMED on:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Faili loomise võtmed:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "SUURUS"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Loo määratud suurusega fail"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Kirjuta standardväljundi asemel faili NIMI"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Loe failide nimed failist FAIL"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T loeb nullidega lõpetatud nimesid"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Täida fail antud mustriga. Muster on 'default' või 'zeros'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Bloki suurus aukudega faili korral"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Loo aukudega fail. Järgnev käsurida kirjeldab faili."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "INDEKS"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Enne kirjutamist liigu antud indeksile"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Blokeeri mitte-fataalsed diagnostika teated"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Statistika faili kohta:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "Väljasta iga faili kohta stat struktuuri sisu. Vaikimisi VORMING on: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Sünkroonse täitmise võtmed:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "VÕTI"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Täida antud KÄSKLUS. Kasulik võtmetega --checkpoint ja --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Jõudes kontrollpunkti NUMBER, täida antud tegevus (vt. allpool)"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Määra järgmise --touch võtme ajatempel"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Esita täidetud kontrollpunktid ja käsu lõpetamise olek"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2754,129 +2767,129 @@ msgstr ""
 "Sünkroonse täitmise tegevused. Neid täidetakse, kui saabub --checkpoint "
 "võtmega määratud kontrollpunkt."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 "Sea faili suuruseks --length võtmega näidatu (või 0, kui suurust ei antud)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "Lisa faili lõppu --length parameetriga näidatud arv baite."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Uuenda faili kasutamise ja muutmise ajatempleid"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Käivita KÄSK"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Vigane suurus: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Number on piiridest väljas: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatiivne suurus: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) ebaõnnestus"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "küsitud faili pikkus %lu, tegelik %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "loodud fail pole aukudega"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Viga `%s' juures numbri parsimisel"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Tundmatu kuupäeva vorming"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENDID...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' ei saa avada"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "seek ebaõnnestus"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "faili nimi sisaldab null sümbolit"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "standard väljundis ei saa aukudega faili luua, kasutage võtit --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "vigane mask (`%s' lähedal)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Tundmatu väli `%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ei õnnestu seada `%s' aega"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "'%s' ei saa lühendada"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "käsklus sai vea: %s"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "'%s' ei saa lühendada"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "ei õnnestu seada `%s' aega"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' ei saa kustutada"
@@ -2916,6 +2929,9 @@ msgstr "Käsk katkestas\n"
 msgid "--stat requires file names"
 msgstr "--stat nõuab failinimesid"
 
+#~ msgid "OPTION"
+#~ msgstr "VÕTI"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT parameeter peab olema positiivne"
 
diff --git a/po/eu.gmo b/po/eu.gmo
index 70043581ac0e0c8b26065add2f3bd8e80c3eece1..f1c03a88946b7e48b093ae881573fb192da2141d 100644
GIT binary patch
delta 28
kcmezHhw;N7#tpAMcrA4ejC75R6%0+ROwBj{@Tf2a0JMh+@Bjb+

delta 28
kcmezHhw;N7#tpAMc+GVUjdTso6%386j14#c@Tf2a0JKsH=l}o!

diff --git a/po/eu.po b/po/eu.po
index cdf627dc..80860e20 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -5,12 +5,12 @@
 # This file is distributed under the same license as the tar package.
 #
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar-1.15.91-eu\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2006-12-13 19:52+0100\n"
 "Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -98,7 +98,7 @@ msgid "give a short usage message"
 msgstr "erabilera mezu labur bat eman"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "IZENA"
 
@@ -233,12 +233,12 @@ msgstr "^[bB]"
 msgid "^[nN]"
 msgstr "^[eE]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -246,11 +246,11 @@ msgstr ""
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -498,197 +498,197 @@ msgstr "Ezin da urruneko shell-a abiarazi"
 msgid "Cannot execute remote shell"
 msgstr "Ezin da urruneko shell-a abiarazi"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Seek norabidea eremuz kanpo"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 #, fuzzy
 msgid "Invalid seek direction"
 msgstr "Modu baliogabea eman da aukeran"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 #, fuzzy
 msgid "Invalid seek offset"
 msgstr "Tamaina baliogabea: %s"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Seek offset-a eremuz kanpo"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 #, fuzzy
 msgid "Invalid byte count"
 msgstr "Zinta luzera baliogabea"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 #, fuzzy
 msgid "Byte count out of range"
 msgstr "Seek offset-a eremuz kanpo"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 #, fuzzy
 msgid "Premature eof"
 msgstr "rmtd: Fitxategi amaiera azkarregia\n"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 #, fuzzy
 msgid "Invalid operation code"
 msgstr "Ekintza nagusi modua:"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr ""
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 #, fuzzy
 msgid "Unexpected arguments"
 msgstr "Fitxategi Amaiera Esperogabea"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "ZENBAKIA"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FITXATEGIA"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr ""
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, fuzzy, c-format
 msgid "cannot open %s"
 msgstr "Ezin da `%s' ireki"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "argumentu gehiegi"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Zabor komandoa"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Honek ez dirudi tar pakete bat"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Irakurritako byte-ak guztira"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Idatziriko byte-ak guztira"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Ezabaturiko byte-ak guztira: %s\n"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(tutua)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "balio baliogabea record_size-rentzat"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Ez da fitxategi izenik eman"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ezin da sarrera/irteera estandar fitxategia egiaztatu"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Fitxategia konprimiturik dago. %s aukera erabili"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Ezin dira konprimituriko fitxategiak eguneratu"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Zintaren hasieran, uzten"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Errore gehiegi, uzten"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Grabazio tamaina = bloke %lu"
 msgstr[1] "Grabazio tamaina = %lu bloke"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Alineatu gabeko blokea (byte %lu) paketean"
 msgstr[1] "Alineatu gabeko blokea (%lu byte) paketean"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: bolumen zenbaki baliogabea du"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Bolumen zenbaki gainezkatzea"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "#%d bolumena %s -rako prestatu eta enter sakatu: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Fitxategi amaiera erabiltzaile erantzuna espero zenean"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "Oharra: Paketea ez dago osaturik"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -699,277 +699,277 @@ msgstr ""
 " q             tar utzi\n"
 " y edo intro  Ekintza jarraitu\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Azpishell bat sortu\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Zerrenda hau inprimatu\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Ez dago bolumen berririk; uzten.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Ez da fitxategi izenik ezarri. Berriz saiatu.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "SArrera baliogabea. ? idatzi laguntzarako.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s komandoak huts egin du"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ez da bolumen honen jarraipena"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s posibleki bolumen honen jarraipena da: buruak mozturiko izena du"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s okerreko tamaina da (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Bolumen hau sekuentziatik kanpo dago"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr ""
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s bolumena ez da %s-ren pareko"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 "%s: fitxategi izen luzeegia GNU bolumen anitzeko buruan gordetzeko, mozturik"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr ""
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "%lu byte bakarrik irakurri daiteke %lu byte-tatik"
 msgstr[1] "%lu byte bakarrik irakurri daiteke %lu byte-tatik"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Eduki ezberdintasunak"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Esperogabeko Fitxategi amaiaera paketean"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Fixtategi mota ezberdinak"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Modu ezberdinak"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid ezberdinak"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid ezberdinak"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Eraldaketa data ezberdinak"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Tamaina ezberdinak"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Ez dago %s-ra loturik"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Lotura sinboliko ezberdinak"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Gailu zenbaki ezberdinak"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Egiaztatu "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: `%c' fitxategi mota ezezaguna, fitxategi arrunt batez ezberdina"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:541
+#: src/compare.c:540
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Paketeak zaharkituriko base-64 buruak ditu"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Egiaztapenak huts egin dezake jatorrizko fitxategiak kokatzerakoan."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "EGIAZTAPEN AKATSA: buru baliogabe %d aurkitu da"
 msgstr[1] "EGIAZTAPEN AKATSA: %d buru baliogabe aurkitu dira"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:74
+#: src/create.c:73
 #, fuzzy, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: katxe direktorioa marka bat du; ez da irauliko"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "%s eremua %s eremutik %s..%s kanpo: %s aldatzen"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "%s balioa %s eremutik %s..%s kanpo dago"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Zortzitar buru negatiboak sortzen"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: fitxategi izena luzeegia da (gehi. %d); ez da irauliko"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: fitxategi izena luzeegia da (ezin da moztu); ez da irauliko"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: lotura izena luzeegia da; ez da irauliko"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fitxategia fitxategi sistema ezberdin batetan dago, ez da irauliko"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Fitxategi mota ezezaguna; fitxategia alde batetara utziko da"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "%s-ra lotura falta da.\n"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fitxategia ez da aldatu, ez da irauliko"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fitxategia paketea da, ez da irauliko"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: katxe direktorioa marka bat du; ez da irauliko"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fitxategia aldatu egin da irakurtzen ari zenean"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket-a alde batetara utzi da"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: atea alde batetara utzia"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Hurrengoa burura salto egiten"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "paketetik burugabea ezabatzen"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: Sinesgarri izateko zaharregia den denbora marka %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: %s denbora marka %s etorkizunean da"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Esperogabeko inkonsistentziak direktorioa sortzerakoan"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
@@ -992,7 +992,7 @@ msgstr "Lotura sinbolikoak lotura gogor bezala ateratzen saiatzen"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Ezin da atera -- paketea beste bolumen baten jarraipena da"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Buru izen luzera esperogabea"
 
@@ -1022,22 +1022,22 @@ msgstr "%s: Ez da gai fitxategi honen babeskopia egiteko"
 msgid "Cannot rename %s to %s"
 msgstr "Ezin da %s %s-ra berrizendatu"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Direktorioa %s-tik berrizendatua izan da"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Direktorioa berria da"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, fuzzy, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: fitxategia fitxategi sistema ezberdin batetan dago, ez da irauliko"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Direktorioa berrizendatua izan da"
@@ -1167,35 +1167,35 @@ msgstr "%s: %s ezabatzen\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Ezin da ezabatu"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Alde batetara uzten"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr ""
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "%s blokea: ** Fitxategi Amaiera **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "%s blokea: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Zuriunea buruan zenbakizko %s balioa espero zenean"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1203,348 +1203,348 @@ msgstr ""
 "direla pentsatuko da"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Paketearen zortzitar %.*s balioa %s eremutik kanpo dago"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Paketeak zaharkituriko base-64 buruak ditu"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr ""
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Paketeak %.*s du zenbakizko %s balioa espero zenean "
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Pakete %s balioa %s eremutik kanpo dago %s.. %s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " %s-ra lotu\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " %s fitxategi mota ezezaguna\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lotura Luzea--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Izen Luzea--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Bolumen Burua--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%s byte-an jarraitzen du--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Direktorioa sortzen:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s %s-ra berrizendatzen\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Ezin da %s-ra berrizendatu"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s %s-ra atzera berrizendatzen\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fitxategia irakurri baino lehen ezabaturik"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "ume prozesua"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "prozesu arteko kanala"
 
-#: src/names.c:69
+#: src/names.c:68
 #, fuzzy
 msgid "Local file name selection:"
 msgstr "Fixtategi lokal hautapena:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "Emandako FITXATEGIA paketera gehitu /Erabilgarri izena asaterisko batez "
 "asten bada)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "DIR direktoriora aldatu"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "ateratzeko edo sortzeko izenak FITXATEGIA-tik eskuratu"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATROIA"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "fixtategiak utzi, PATROIA bezala emandakoak"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "FITXATEGIAN zerrendaturiko patroiak alde batetara utzi"
 
-#: src/names.c:96
+#: src/names.c:95
 #, fuzzy
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/names.c:99
+#: src/names.c:98
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/names.c:102
+#: src/names.c:101
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/names.c:104
+#: src/names.c:103
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/names.c:115
+#: src/names.c:114
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr ""
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "direktorioetan barrena (lehenetsia)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "sahiestu automatikoki direktorioetan zehar jeistea"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "kasua alde batetara utzi"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "verbatim kate parekatzea"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:147
+#: src/names.c:146
 #, fuzzy
 msgid "wildcards do not match '/'"
 msgstr "%s bolumena ez da %s-ren pareko"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 #, fuzzy
 msgid "command line"
 msgstr "%s komandoak huts egin du"
 
-#: src/names.c:897
+#: src/names.c:896
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: fitxategi zerrenda irakurria dagoeneko"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ezin da `%s'-ren denbora ezarri"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ez da paketean aurkitu"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr ""
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr ""
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "`-%s' eta `-%s' aukerek sarrera estandarra behar dute"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Pakete formatu baliogabea"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU ezaugarriak behar dira pakete formatu bateraezinean"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1787,7 +1787,7 @@ msgstr "Irteera korrontea hautatu:"
 msgid "extract files to standard output"
 msgstr "fitxategiak irteera estandarrera atera"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "KOMANDOA"
 
@@ -1823,7 +1823,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATA-EDO-FITXATEGIA"
 
@@ -2030,7 +2030,7 @@ msgstr "irakurri ahala berriz bloke egin (4.2BSD tutuentzat)"
 msgid "Archive format selection:"
 msgstr "Pakete formatu hautapena:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMATUA"
 
@@ -2113,127 +2113,127 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "PROG bidez iragazi (-d onartu behar du)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Fixtategi lokal hautapena:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "fitxategi sistema lokalean egon paketea sortzerakoan"
 
-#: src/tar.c:693
+#: src/tar.c:694
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Ez kendu hasierako  `/' fitxategi izenetatik"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "lotura sinbolikoak jarraitu; lotzen dituzten fitxategiak irauli eta paketean "
 "sartu"
 
-#: src/tar.c:697
+#: src/tar.c:698
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "lotura sinbolikoak jarraitu; lotzen dituzten fitxategiak irauli eta paketean "
 "sartu"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "PARTAIDE IZEN"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "data eta ordua parekatu data bakarrik aldatzen denean"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "babeskopia egin ezabatu aurretik, KONTROL bertsioa hautatu"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "KATEA"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Fitxategi izen eraldaketak:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "ESPRESIOA"
 
-#: src/tar.c:718
+#: src/tar.c:719
 #, fuzzy
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "Sed-en ordezko EXPRESIOA erabili fitxategi izenak eraldatzeko"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "irteera informatiboa:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:729
+#: src/tar.c:730
 #, fuzzy
 msgid "warning control"
 msgstr "Gainidazketa kontrola:\n"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Aurrerapen mezuak bistarazi grabaketa ZENBAKI bakiotzagatik (lehenetsia 10 "
 "da)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "mezu bat inprimatu lotura guztiak ez badira iraultzen"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SEINALEA"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2241,426 +2241,435 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:744
+#: src/tar.c:745
 #, fuzzy
 msgid "print file modification times in UTC"
 msgstr "eraldaketa datak UTC orduan bistarazi"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "irteera luzea FITXATEGIRA bidali"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "Bloke zenbakia bistarazu pakete bakoitzeko mezu bakoitzagatik"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "berrespena eskatu ekintza bakoitzean"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "tar lehenespenak bistarazi"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "fixtategi edo pakete izenak bistarazi eraldaketaren aurretik"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "ESTILOA"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "Gako karaktere gehigarriak KATE-tik"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "gakoak kendu karaktereentzat KATE-tik"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Bateragarritasun aukerak:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Beste aukerak:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "ezgaitu arriskutsu izan daitezken zenbait aukera"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, fuzzy, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s: Ezin da %s-ra seek egin"
 
-#: src/tar.c:933
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Ezin duzu `-Acdtrux' aukera bat baino gehiago ezarri"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Elkarjotzen duten konpresio aukerak"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Seinale izen ezezaguna: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Data adibide fitxategia ez da aurkitu"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s %s data formatu ezezagunagatik aldatzen"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, fuzzy, c-format
 msgid "filter the archive through %s"
 msgstr "fitxategia gzip bidez iragazi"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 #, fuzzy
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style-entzat balio erabilgarriak:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Jabe baliogabea"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Blokeo faktore baliogabea"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Zinta luzera baliogabea"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 #, fuzzy
 msgid "Invalid incremental level value"
 msgstr "Fitxategi inkremental formatu okerra"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Atari data bat baino gehiago"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ez da onartzen plataforma honetan"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint balioa ez da zenbaki oso bat"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Modu baliogabea eman da aukeran"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Zenbaki baliogabea"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Grabazio tamaina baliogabea"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Grabaszio tamaina %d-ren multiplo bat izan behar da."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Elementu kopuru baliogabea"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "--to-command aukera bat bakarrik onartzen da"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Gaizki eratutako dentsitate argumentua: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Dentsitate Ezezaguna: `%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr " `-[0-7][lmh]' aukerak ez dira onartzen tar *honetan*"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, fuzzy, c-format
 msgid "error parsing %s"
 msgstr "Errorea zenbakia analizatzean hemendi gertu: `%s'"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FITXATEGIA]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "%s argumentu baliogabea %s-rentzat"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr ""
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "`%c' zaharkituriko aukerak argumentu bat behar du"
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Pakete fitxategi anitzentzat `-M' aukera erabili behar da"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Bolumen etiketa luzeegia da (muga %lu byte da)"
 msgstr[1] "%s: Bolumen etiketa luzeegia da (muga %lu byte da)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Ezin dira bolumen-anitzeko paketeak egiaztatu"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Ezin dira konprimituriko fitxategiak egiaztatu"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ezin dira bolumen anitzeko konprimituriko paketeak erabaili"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Ezin dira konprimituriko paketeak kateatu"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr ""
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr " `-Aru' aukerak bateraezinak dira `-f -' rekin"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Behintzat `-Acdtrux' aukeretako bat ezarri behar duzu"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "%s gakoa ezezaguna da edo ez dago inplementaturik oraindik"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 #, fuzzy
 msgid "Time stamp is out of allowed range"
 msgstr "Denbora marka eremuz kanpo dago"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "%s patroia ezin da erabili"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "%s gakoa ezin da gainidatzi"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Gaizki eratutako buru luzapena: luzera falta da"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr " %*s buru luzapen luzera eremuz kanpo dago"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Gaizki eratutako buru luzapena: luzera ondoren hutsunea falta da"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Gaizki eratutako buru luzapena: berdin ikurra falta da"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Gaizki eratutako buru luzapena: lerro berria falta da"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, fuzzy, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "alde batetara utzi gako buru luzapen ezezaguna `%s'"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "buru luzapena %s=%s eremuz kanpo dago %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Gaizki eratutako buru luzapena: baliogabea %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Gaizki eratutako buru luzapena: gehiegizkoa %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Gaizki eratutako buru luzapena: %s baliogabea: %c mugatzaile esperodageba"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Gaizki eratutako buru luzapena: %s baliogabea: balio kopuru bitxia"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, fuzzy, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: Talde baliogabea"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr ""
 
@@ -2668,7 +2677,7 @@ msgstr ""
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Idazketa %u egiaztapen puntua"
@@ -2677,238 +2686,237 @@ msgstr "Idazketa %u egiaztapen puntua"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Irakurketa %u egiaztapen puntua"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Pakete sortze aukerak:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "TAMAINA"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Emandako TAMAINAko paketea sortu"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Fitxategi IZENEAN idatzi irteera estandarren ordez"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Fitxategi izenak PAKETEtik irakurri"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Bloke tamaina fitxategi sakabanatuentzat"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Fitxategi sakabanatuak sortu. Komanod lerroaren besteak fitxategi mapa dakar."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 #, fuzzy
 msgid "Seek to the given offset before writing data"
 msgstr "fitxategia egiaztatzen saiatu idatzi aurretik"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Fixtategi estatistika aukerak:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Eduki eta egitura estatusa inprimatu emandako fitxategi bakoiztarentzat. "
 "Lehenetsiriko FORMATUA: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Sinkronizatutako exekuzio aukerak:"
 
-#: tests/genfile.c:168
-#, fuzzy
-msgid "OPTION"
-msgstr " [AUKERA...]"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 #, fuzzy
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Emandako KOMANDOA exekutatu. Erabilgarri --checkpoint eta hauetako batekin; "
 "--cut, --append, --touch"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Ezarri data hurrengo --touch aukerarentzat"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "FITXATEGIAREN irakurketa eta eraldaketa denborak aldatu"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "KOMANDOA exekutatu"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Tamaina baliogabea: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Inodo zenbakia eremuz kanpo dago"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, fuzzy, c-format
 msgid "Negative size: %s"
 msgstr "Tamaina baliogabea: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) -ek huts egin du"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Errorea zenbakia analizatzean hemendi gertu: `%s'"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Data formatu ezezaguna"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARG...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Ezin da `%s' ireki"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s: Ezin da %s-ra seek egin"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "fitxategia izenak karaktere baliogabea du"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "ezin dira sakabanaturiko fitxategiaksortu irteera estandarrean. --file "
 "erabili"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "maskara baliogabea (`%s'-etik gertu)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "`%s' eremu ezezaguna"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ezin da `%s'-ren denbora ezarri"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "Ezin da `%s' ireki"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "%s komandoak huts egin du"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "ezin da `%s'-ren denbora ezarri"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "ezin da `%s'-ren denbora ezarri"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "Ezin da `%s' ireki"
@@ -2948,6 +2956,10 @@ msgstr "Komandoa amaitua\n"
 msgid "--stat requires file names"
 msgstr "--stat -ek fitxategi izenak behar ditu"
 
+#, fuzzy
+#~ msgid "OPTION"
+#~ msgstr " [AUKERA...]"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT parametroa positibo izan behar da"
 
diff --git a/po/fi.gmo b/po/fi.gmo
index 1e20845f01293cc059f8302a79a91c443ff84b88..778f74cb04cef22ef973cf3f50c68b231da9b33a 100644
GIT binary patch
delta 10854
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

delta 10885
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
A<^TWy

diff --git a/po/fi.po b/po/fi.po
index 6ca826c4..6697bc3e 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -3,12 +3,12 @@
 # This file is distributed under the same license as the tar package.
 # Lauri Nurmi <lanurmi@iki.fi>, 2002-2006, 2014.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.29\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2016-05-26 20:48+0300\n"
 "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -97,7 +97,7 @@ msgid "give a short usage message"
 msgstr "näytä lyhyt käyttöohje"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NIMI"
 
@@ -232,12 +232,12 @@ msgstr "^[kKyY]"
 msgid "^[nN]"
 msgstr "^[eEnN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketoinut %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketoinut %s\n"
@@ -245,11 +245,11 @@ msgstr "Paketoinut %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 #, fuzzy
 msgid ""
 "\n"
@@ -525,191 +525,191 @@ msgstr "Tiedostoja ei voida uudelleenohjata etäkuorelle"
 msgid "Cannot execute remote shell"
 msgstr "Etäkuorta ei voi käynnistää"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Siirtymän suunta sallitun välin ulkopuolella"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Virheellinen siirtymän suunta"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Virheellinen siirtymän arvo"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Siirtymä sallitun välin ulkopuolella"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Virheellinen tavumäärä"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Tavumäärä sallitun välin ulkopuolella"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Ennenaikainen tiedoston loppu"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Virheellinen operaatiokoodi"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Toiminto ei ole tuettu"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Odottamattomat argumentit"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Ohjaa nauha-asemaa, hyväksyen komentoja etäprosessilta"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "MÄÄRÄ"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "aseta vianjäljityksen taso"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "TIED"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "aseta vianjäljityksen tulostetiedoston nimi"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "tiedostoa %s ei voi avata"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "liian monta argumenttia"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Roskakomento"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Tämä ei näytä tar-arkistolta"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Luettuja tavuja yhteensä"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Kirjoitettuja tavuja yhteensä"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Poistettuja tavuja yhteensä"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(putki)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Virheellinen arvo kentälle record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Arkiston nimeä ei ole annettu"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Vakiosyötteessä/tulosteessa olevaa arkistoa ei voi varmistaa"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkisto on tiivistetty. Käytä valitsinta %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Pakattuja arkistoja ei voi päivittää"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Nauhan alussa, lopetetaan"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Liian monta virhettä, lopetetaan"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Tietueen koko = %lu lohko"
 msgstr[1] "Tietueen koko = %lu lohkoa"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Kohdistamaton lohko (%lu tavu) arkistossa"
 msgstr[1] "Kohdistamaton lohko (%lu tavua) arkistossa"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Arkistossa ei voi siirtyä taaksepäin; sitä ei ehkä voi lukea ilman "
 "valitsinta -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ei pysähtynyt tietueen rajalle"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: sisältää virheellisen arkiston osan järjestysnumeron"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Arkisto-osan järjestysnumeron ylivuoto"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Valmistele osa #%d arkistolle %s ja paina return: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Tiedoston loppu odotetun käyttäjän syötteen sijaan"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROITUS: Arkisto on epätäydellinen"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -721,67 +721,67 @@ msgstr ""
 " q             Keskeytä tar\n"
 " y tai rivinv. Jatka suoritusta\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Käynnistä alikuori\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Näytä tämä lista\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Ei uutta arkiston osaa, poistutaan.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Tiedostonimeä ei annettu. Yritä uudelleen.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Virheellinen syöte. Kirjoita ? ohjeen näyttämiseksi.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "Komento %s epäonnistui"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ei jatku tällä arkiston osalla"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s jatkuu mahdollisesti tällä arkiston osalla: otsake sisältää typistetyn "
 "nimen"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s on väärän kokoinen (%s ≠ %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tämä arkiston osa epäjärjestyksessä (%s - %s ≠ %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkistoa ei ole nimetty täsmää nimiöön %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Arkiston osa %s ei täsmää nimiöön %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -789,211 +789,211 @@ msgstr ""
 "%s: tiedostonimi on liian pitkä tallennettavaksi moniosaisen GNU-arkiston "
 "otsakkeeseen; nimi typistetty"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "kirjoitus ei päättynyt lohkon rajalle"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Voitiin lukea vain %lu tavua %lu tavusta"
 msgstr[1] "Voitiin lukea vain %lu tavua %lu tavusta"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Sisällöt eroavat"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Odottamaton tiedoston loppu arkistossa"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Tiedoston tyyppi eroaa"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Tila eroaa"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "UID eroaa"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "GID eroaa"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Muutosaika eroaa"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Koko eroaa"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Ei ole linkitetty tiedostoon %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symlinkki eroaa"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Laitenumero eroaa"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Tarkasta "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Tuntematon tiedostotyyppi ”%c”, vertailtu normaalina tiedostona"
 
 # Mitäh?
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arkisto sisältää tiedostonimiä, joiden etuliitteet on poistettu."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arkisto sisältää muunnettuja tiedostonimiä."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Tarkastus ei ehkä löydä alkuperäisiä tiedostoja."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "TARKASTUSVIRHE: havaittu %d virheellinen otsake"
 msgstr[1] "TARKASTUSVIRHE: havaittu %d virheellistä otsaketta"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Yksinäinen nollalohko kohdassa %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, fuzzy, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "Välimuistihakemistoa %s ei voi avata\n"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "arvo %s on sallitun %s-välin %s..%s ulkopuolella, korvataan arvolla %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "arvo %s on sallitun %s-välin %s..%s ulkopuolella"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Luodaan otsakkeet negatiivisilla oktaaleilla"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: tiedostonimi on liian pitkä (maksimi %d), ei lisätä"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: tiedostonimi on liian pitkä (ei voida jakaa), ei lisätä"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: linkin nimi on liian pitkä, ei lisätä"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla"
 msgstr[1] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: tiedosto ei ole samalla tiedostojärjestelmällä, ei lisätä"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "sisältöä ei lisätty"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tuntematon tiedostotyyppi, tiedostoa ei huomioida"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Puuttuvia linkkejä tiedostoon %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: tiedosto on muuttumaton, ei lisätä"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: tiedosto on arkistossa, ei lisätä"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "hakemistoa ei lisätty"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: tiedosto muuttui lukemisen aikana"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: pistoketta ei huomioida"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: ovea ei huomioida"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Siirrytään seuraavaan otsakkeeseen"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Poistetaan epäotsake arkistosta"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: epätodennäköisen vanha aikaleima %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: aikaleima %s on %s sekuntia tulevaisuudessa"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Odottamaton ristiriita luotaessa hakemistoa"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: ohitetaan olemassa oleva tiedosto"
@@ -1016,7 +1016,7 @@ msgstr "Yritetään purkaa symboliset linkit koviksi linkeiksi"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Ei voi purkaa -- tiedosto on jatkoa toisesta arkiston osasta"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Odottamaton pitkä nimiotsake"
 
@@ -1045,22 +1045,22 @@ msgstr "%s: Tätä tiedostoa ei voitu varmuuskopioida"
 msgid "Cannot rename %s to %s"
 msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Hakemisto %s on nimetty uudelleen"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Hakemisto on uusi"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: tiedosto ei ole samalla tiedostojärjestelmällä, ei lisätä"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Hakemisto on nimetty uudelleen"
@@ -1187,35 +1187,35 @@ msgstr "%s: Poistetaan %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Ei voi poistaa"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Jätetään pois"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "lohko %s: ** NUL-lohko **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "lohko %s: ** Tiedoston loppu **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "lohko %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Tyhjiä merkkejä otsakkeessa, odotettiin numeerista %s-arvoa"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1223,160 +1223,160 @@ msgstr ""
 "kahden komplementiksi"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Arkiston oktaaliarvo %.*s on sallitun %s-välin ulkopuolella"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkisto sisältää käytöstä poistuvia base-64-otsakkeita"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 "Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin "
 "ulkopuolella"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Arkiston base-256-arvo on sallitun %s-välin ulkopuolella"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arkisto sisältää merkkijonon %.*s, odotettiin numeerista %s-arvoa"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Arkiston arvo %s on sallitun %s-välin %s..%s ulkopuolella"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " linkki tiedostoon %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tuntematon tiedostotyyppi %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Pitkä linkki--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Pitkä nimi--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Arkiston osan otsake--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Jatkuu tavusta %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Luodaan hakemisto:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Nimetään uudelleen %s -> %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Nimetään %s takaisin nimelle %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Tiedosto oli poistettu ennen sen lukemista"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "lapsiprosessi"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "prosessienvälinen kanava"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Paikallisten tiedostonimien valinta:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "lisää annettu TIEDosto arkistoon (hyödyllinen, jos nimi alkaa viivalla)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "HAK"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "siirry hakemistoon HAK"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "hae purettavat/luotavat nimet TIEDOSTOsta"
 
-#: src/names.c:78
+#: src/names.c:77
 #, fuzzy
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T lukee nollaan päättyviä nimiä, poistaa käytöstä -C:n"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "kumoa edellisen --null-valitsimen vaikutus"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "HAHMO"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "jätä pois HAHMOn mukaiset tiedostot"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "jätä pois TIEDOSTOssa listatut hahmot"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1384,142 +1384,142 @@ msgstr ""
 "jätä pois CACHEDIR.TAGin sisältävät hakemistot, lukuunottamatta tag-"
 "tiedostoa itseään"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät CACHEDIR.TAGin"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "jätä pois CACHEDIR.TAGin sisältävät hakemistot"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "jätä pois TIEDOSTOn sisältävien hakemistojen sisältö, lukuun ottamatta "
 "TIEDOSTOa itseään"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "jätä pois kaikki hakemistojen alta, jotka sisältävät TIEDOSTOn"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "jätä pois versionhallintajärjestelmän hakemistot"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "lue poisjättöhahmot versionhallinnan ignore-tiedostoista"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "jätä pois varmuuskopio- ja lukkotiedostot"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "etene alihakemistoihin (oletus)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "estä automaattinen eteneminen alihakemistoihin"
 
-#: src/names.c:130
+#: src/names.c:129
 #, fuzzy
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "Tiedostonimien täsmäysvalinnat (vaikuttava sekä "
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "hahmot täsmäävät tiedostonimen alkuun"
 
-#: src/names.c:135
+#: src/names.c:134
 #, fuzzy
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "poisjättöhahmoja verrataan jokaisen ”/”:n jälkeen"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "älä huomioi kirjainkokoa"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "kirjainkoon huomioiva täsmäys (oletus)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "käytä jokerimerkkejä (oletus poisjätölle)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "sanatarkka merkkijonojen täsmäys"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "jokerimerkit täsmäävät merkkiin ”/” (oletus poisjätölle)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "jokerimerkit eivät täsmää merkkiin ”/”"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "komentorivi"
 
-#: src/names.c:897
+#: src/names.c:896
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: tiedosto on arkistossa, ei lisätä"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "merkkijonoa ”%s” ei voi jakaa osiin: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: tiedostonimi sisältää nul-merkin"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Tiedostonimissä on käytetty jokerimerkkejä"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1527,47 +1527,47 @@ msgstr ""
 "Käytä valitsinta --wildcards täsmäyksen käyttöön ottamiseksi, tai --no-"
 "wildcards tämän varoituksen hiljentämiseksi"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ei löytynyt arkistosta"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Vaadittua esiintymää ei löytynyt arkistosta"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arkiston nimiö ei täsmää"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 "Vain yksi -C-valitsin on sallittu valitsimen --listed-incremental kanssa"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Kumpikin valitsimista ”%s” ja ”%s” käyttää vakiosyötettä"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Virheellinen arkistomuoto"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 "Haluttiin käyttää GNU-ominaisuuksia yhteensopimattoman arkistomuodon kanssa"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1789,7 +1789,7 @@ msgstr "Tulostevirran valinta:"
 msgid "extract files to standard output"
 msgstr "pura tiedostot vakiotulosteeseen"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "KOMENTO"
 
@@ -1825,7 +1825,7 @@ msgstr "yhdistä tiedostojen UID:t ja nimet TIEDOSTOn avulla"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "yhdistä tiedostojen GID:t ja nimet TIEDOSTOn avulla"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "PÄIVÄYS-TAI-TIED"
 
@@ -2028,7 +2028,7 @@ msgstr "suorita lohkominen uudelleen luettaessa (4.2BSD-putkia varten)"
 msgid "Archive format selection:"
 msgstr "Arkistomuodon valinta:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "MUOTO"
 
@@ -2113,60 +2113,60 @@ msgstr "OHJ"
 msgid "filter through PROG (must accept -d)"
 msgstr "ohjaa OHJelman läpi (on hyväksyttävä -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Paikallisten tiedostojen valinta:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "pysy nykyisessä tiedostojärjestelmässä arkistoa luotaessa"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "älä poista ”/”-merkkiä tiedostonimien alusta"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "seuraa symlinkkejä; arkistoi ja lisää niiden osoittamat tiedostot"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "seuraa kovia linkkejä; arkistoi ja lisää niiden osoittamat tiedostot"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "TIED-NIMI"
 
-#: src/tar.c:699
+#: src/tar.c:700
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "aloita arkiston tiedostosta TIED-NIMI"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "PÄIVÄYS"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "vertaa vain tiedoston muutosaikaa"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "HALLINTA"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "varmuuskopiointi ennen poistoa, valitse versionHALLINTA"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "MERKKIJONO"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2174,59 +2174,59 @@ msgstr ""
 "varmuuskopiointi ennen poistoa, älä käytä tavanomaista jälkiliitettä (joka "
 "on ”~”, ellei muuttujaa SIMPLE_BACKUP_SUFFIX ole asetettu)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Tiedostonimien muunnokset:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "poista MÄÄRÄn verran osia tiedostonimien alusta purettaessa"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "LAUSEKE"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "käytä sedin korvausLAUSEKEtta tiedostonimien muuntamiseen"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Tietoja antava tuloste:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "listaa käsiteltävät tiedostot"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "AVAINSANA"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "varoitusten hallinta"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "näytä edistymisviesti MÄÄRÄn tietueen välein (oletus 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "TOIMINTO"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "suorita TOIMINTO jokaisen tarkistuspisteen kohdalla"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "näytä viesti, ellei kaikkia linkkejä lisätty"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAALI"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2238,88 +2238,88 @@ msgstr ""
 "signaalit ovat: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 ja SIGUSR2; myös nimet "
 "ilman SIG-etuliitettä kelpaavat"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "näytä tiedostojen muutosajat UTC-aikoina"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "näytä tiedoston aikaleima täydellä tarkkuudella"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "ohjaa monisanainen tuloste TIEDostoon"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "näytä lohkonumero arkistossa viestien yhteydessä"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "kysy varmistusta jokaiselle toiminnolle"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "näytä tarin oletukset"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 "luettele hakuehtoihin täsmäämättömät hakemistot luetellessa tai purettaessa"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "näytä tiedosto- tai arkistonimet muunnoksen jälkeen"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "TYYLI"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Yhteensopivuusvalitsimet:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 "luotaessa sama kuin --old-archive; purettaessa sama kuin --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Muut valitsimet:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "poista käytöstä joitakin potentiaalisesti vahingollisia valitsimia"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, fuzzy, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "Valitsinta --occurrence ei voi käyttää yhdessä valitsimen %s kanssa"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2327,40 +2327,40 @@ msgstr ""
 "Vain yhtä valitsimista ”-Acdtrux”, ”--delete” tai ”--test-label” voi käyttää "
 "kerrallaan"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Ristiriitaiset pakkausvalitsimet"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Tuntematon signaalin nimi: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Päiväysnäytetiedostoa ei löytynyt"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Korvataan tuntematon päiväysmuoto %2$s arvolla %1$s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Valitsin %s: Käsittellään päiväys ”%s” arvona %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "ohjaa arkisto %s-ohjelman läpi"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Kelvolliset argumentit --quoting-style-valitsimelle ovat:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2368,164 +2368,164 @@ msgstr ""
 "\n"
 "*Tämä* tar käyttää oletuksena:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Virheellinen omistaja- tai ryhmä-ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Virheellinen lohkomiskerroin"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Virheellinen nauhan pituus"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 #, fuzzy
 msgid "Invalid incremental level value"
 msgstr "--level on merkityksetön ilman valitsinta --listed-incremental"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Annettu useampi kuin yksi kynnyspäiväys"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Virheellinen hajanaisversion arvo"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ei ole tuettu tällä alustalla"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint-arvo ei ole kokonaisluku"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Valitsimelle annettiin virheellinen tila"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Virheellinen määrä"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Virheellinen tietueen koko"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Tietueen koon on oltava %d:n monikerta."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Virheellinen osien määrä"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Vain yksi --to-command-valitsin on sallittu"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Kelvoton tiheysargumentti: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Tuntematon tiheys: ”%c”"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "*Tämä* tar ei tue valitsimia ”-[0-7][lmh]”"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: virheen sijainti"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, fuzzy, c-format
 msgid "error parsing %s"
 msgstr "Virhe lukuarvon jäsentämisessä lähellä kohtaa ”%s”"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[TIEDOSTO]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "argumentti %s on virheellinen %s:lle"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, fuzzy, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "merkkijonoa ”%s” ei voi jakaa osiin: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Vanha valitsin ”%c” vaatii argumentin."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "valitsin --occurence on merkityksetön ilman tiedostoluetteloa"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Usean arkistotiedoston käyttäminen vaatii valitsimen ”-M”"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level on merkityksetön ilman valitsinta --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Arkiston osan nimiö on liian pitkä (raja on %lu tavu)"
 msgstr[1] "%s: Arkiston osan nimiö on liian pitkä (raja on %lu tavua)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Moniosaisia arkistoja ei voi tarkastaa"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Pakattuja arkistoja ei voi varmistaa"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Pakattuja moniosaisia arkistoja ei voi käyttää"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Pakattuja arkistoja ei voi liittää toisiinsa"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "Valitsinta --acls voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "Valitsinta --selinux voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "Valitsinta --xattrs voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2533,83 +2533,92 @@ msgstr ""
 "Ylätason hakemiston nimeä ei voi päätellä; aseta se valitsimella --one-top-"
 "level=HAK"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Arkiston osan pituus ei voi olla pienempi kuin tietueen koko"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Kieltäydytään pelkurimaisesti luomasta tyhjää arkistoa"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Valitsimet ”-Aru” eivät ole yhteensopivia valitsimen ”-f -” kanssa"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Vähintään yhtä valitsimista ”-Acdtrux”, ”--delete” tai ”--test-label” on "
 "käytettävä"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Poistutaan virhepaluuarvolla aiempien virheiden vuoksi"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Tiedosto kutistui %s tavun verran"
 msgstr[1] "%s: Tiedosto kutistui %s tavun verran"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Avainsana %s on tuntematon tai sillä ei vielä ole toteutusta"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Aikaleima on sallitun välin ulkopuolella"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Hahmoa %s ei voi käyttää"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Avainsanaa %s ei voi ohittaa"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Väärän muotoinen lisäotsake: pituus puuttuu"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Laajennettu otsake %*s on sallitun välin ulkopuolella"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Väärän muotoinen lisäotsake: tyhje puuttuu pituuden jälkeen"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Väärän muotoinen lisäotsake: yhtäsuuruusmerkki puuttuu"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Väärän muotoinen lisäotsake: rivinvaihto puuttuu"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Jätetään huomiotta tuntematon laajennetun otsakkeen avainsana ”%s”"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2617,46 +2626,46 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Laajennettu otsake %s=%s on sallitun välin %s..%s ulkopuolella"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Väärän muotoinen lisäotsake: virheellinen %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Väärän muotoinen lisäotsake: ylimääräinen %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Väärän muotoinen lisäotsake: virheellinen %s: odottamaton rajoitin %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Väärän muotoinen lisäotsake: virheellinen %s: pariton määrä arvoja"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s ei ole kelvollinen aikakatkaisuarvo"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: tuntematon tarkistuspistetoiminto"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "kirjoitus"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "luku"
 
@@ -2664,7 +2673,7 @@ msgstr "luku"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Kirjoituksen tarkistuspiste %u"
@@ -2673,104 +2682,104 @@ msgstr "Kirjoituksen tarkistuspiste %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Lukemisen tarkistuspiste %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Luo datatiedostot GNU tar:in testausta varten.\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Tiedoston luontivalinnat:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "KOKO"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Luo annetun KOKOinen tiedosto"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Kirjoita tuloste tiedostoon NIMI, ei vakiotulosteeseen"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Lue tiedostonimet TIEDOSTOsta"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T lukee nollatavuun päättyviä nimiä"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Täytä tiedosto annetulla HAHMOlla. HAHMO on ”default” tai ”zeros”"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Hajanaisen tiedoston lohkokoko"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 #, fuzzy
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Luo hajanaisia tiedostoja. "
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "SIIRTYMÄ"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Siirry annettuun kohtaan ennen datan kirjoittamista"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Vaienna ei-vakavat diagnostiikkaviestit"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Tiedostojen tilastoinnin valinnat:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Tulosta struct statin sisältö jokaisesta annetusta tiedostosta. "
 "OletusMUOTOILU on: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Synkronisen suorituksen valinnat:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "VALITSIN"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Aseta päiväys seuraavalle --touch-valitsimelle"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Näytä suoritetut tarkistuspisteet sekä KOMENNOn paluuarvo"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2778,7 +2787,7 @@ msgstr ""
 "Synkronisen suorituksen toiminnot. Nämä suoritetaan, kun saavutetaan --"
 "checkpoint-valitsimella annettua numeroa vastaava tarkistuspiste."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2786,127 +2795,127 @@ msgstr ""
 "Typistä TIEDOSTO aiemmalla --length-valitsimella määrättyyn kokoon (tai "
 "nollaan, ellei annettu)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 #, fuzzy
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Typistä TIEDOSTO aiemmalla --length-valitsimella määrättyyn kokoon (tai "
 "nollaan, ellei annettu)"
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 #, fuzzy
 msgid "Update the access and modification times of FILE"
 msgstr "näytä tiedostojen muutosajat UTC-aikoina"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Suorita KOMENTO"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Virheellinen koko: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Lukuarvo sallitun välin ulkopuolella: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatiivinen koko: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) epäonnistui"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "pyydetty tiedoston pituus %lu, todellinen %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "luotu tiedosto ei ole hajanainen"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Virhe lukuarvon jäsentämisessä lähellä kohtaa ”%s”"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Tuntematon päiväyksen muoto"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARG...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "tiedostoa ”%s” ei voi avata"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "ei voi siirtyä"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "tiedostonimi sisältää nollatavun"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "hajanaisia tiedostoja ei voi luoda vakiotulosteeseen, käytä valitsinta --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "virheellinen peite (lähellä kohtaa ”%s”)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Tuntematon kenttä ”%s”"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "tiedoston ”%s” aikaa ei voi asettaa"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "tiedostoa ”%s” ei voi typistää"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "komento epäonnistui: %s"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "tiedostoa ”%s” ei voi typistää"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "Työhakemistoa ei voi tallentaa"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "tiedoston ”%s” linkitystä ei voi poistaa"
@@ -2946,6 +2955,9 @@ msgstr "Komento keskeytyi\n"
 msgid "--stat requires file names"
 msgstr "--stat vaatii tiedostonimiä"
 
+#~ msgid "OPTION"
+#~ msgstr "VALITSIN"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT-parametrin on oltava positiivinen"
 
diff --git a/po/fr.gmo b/po/fr.gmo
index e3024c697f77750a4a70e8144c0f8cee12ede01d..c64b9c09aefbb67ad7d9fc135c6b1e4ec5ba9b4f 100644
GIT binary patch
delta 12232
zcmaF(pZV5b=K6a=EK?a77#M7r7#Iu~7#IYE7#J9t85lk&GcbU}zvx5gKl%(11q=)f
zItC03k_-$Cx&{mkA`A=+?gk7DYzzzxF$N3_3JeSk$p#Dz@(c_NEd~q>JPZsBOQ7^d
z0|th61_p+G1`G^h3=9lzh79!#dJGH<v4#u`stgPaJ%$Vnf(#4{n+zEkgc%qZju<j9
zC^0ZF+%RNdaA#m(_-)9*pu)hw;B3Uez{|kEkYU8YAj81GP-euy0CL}CBZ$R^jTjiL
z85kHI8!<3QF)%R58$-;sGG<^9XJBCPF=k*8Wnf@PF|KD|5MW?ns4`|?kYiwA=r(3x
zP-9?VSY-_H*+pXp1}g>zhG)hQhbWpbFqkngFu0g7FvKx1FjSjBEVyODz#zfE!0^?C
zfkBgjfq~By;&TgA28I*{1_oDC1_m9Fxuy^YTsLK4Fk)a}cwcYIz+lM0z@TKtz+l3_
zzz|}_z@W^)z|d*Nz>vhiz_8W~5>x`_5C^K8Gcc5ag3cV`puOe{40a3*3=hm182CXx
zwSYu{z6Aq=5Ca24fCa>&WD5oc4F(2=X%-L%?ze#GuYYO5z+lY4z`$b(@tK1qBt*(B
zAr^L6LL9i<65_C%mJAGv3=9l^Eg=q;w_;#02RYn|0UVV*RuBtzTQM+rF)%PZwSuTO
zux4P8W?*0lvW7%;o;5fm>KUe3LtM7T8WNOOtsyS|V9mgw&cMLHY{S4H%fP^(4W&J8
zAPF)Z%Fnc6U|?ooU}(32_^8_k;;?l#kVN^|29j7`*)TBhF)%Q&*g|MwTaZ2V3=B%P
z5Eq-;LK029EhLf6wuJ=U0b582eYS-pGIcu$9c~AS({?+E!?)NmFlaL{Fr2r8gxqgC
z1_oOO1_mj61_m1j28IZGu#Xw0+Cv<+)}DcZy`F)AVT(P)f<5*O46Y0e3?J+v4l;9K
zU@&E1U`TL)B*JM95DPClKtk-F1H@<Qjt~bsIzrM)nj<6^)H*^OG}n=V!Ht1|;iMzP
z9swr?1}#t`c4A<t2W78(Cx}IpoFFbc;RFft^G=XBd+P+r`kc-XA6PjvFtCH-5=uuw
z=_F@JV$5=e<f4_%5QklGhFJX7nSmjafq_BO1!8Wq3qw6PyUlljxcrz4B(dCefw=rX
zl&|dyNqoMpkT@=Mg=Ehuu8{n{(iIZq$6O%}f9eV;KbYMhxk20wV!nkNM4!JKB!p7j
z>LJ;t#f^c%fq{WxiW?+|uew1DVseKVq~H$GVB*fezyeC`?vVT)=?+PJY3`6TkmU}s
zu+<%si<Y@V3YzUu{b$`F9(n5yaj;;$2SmWY1DcIIAR*A>!N9=9z`(H11LEVI9uNoJ
zf%1QOKn#%egm}Ql6OvecJRu&a_k_gp8Yus|C&b|_UXUo}^n!S(Ucd_yGzMOfMB?rR
ziL*X0h>tdVK}xoBUXUX6xfdjn{`6vCNMvMSu=j>oywC^Yz$-owAAj<JIE=#=5=9ce
z3=B>T3=F2ekdUtMWdM~U^$a_G85p=37#ME*LJEfGPz}6(3=Fyq3=CR+kSK`ogCxEj
zKTy79U}*7!STx-a;*+(0khneT2Z@45eh`b9{UNzT!5>ndSouTpf094QgY^syh5nEb
z=z%I+><_VUFI4;@l>fpX5~qLsAqMjXK-6gkKpbQj011J>07&l04}dtVJOC0U(*r;j
zGB6wofH?eq00RRrDF1&AfW!@RAS5I>0wHlE5(x2;bRZ<I4FVx?>K_OWI)*AJJtq(n
zW&5D?<3LCO#SsK4(k+4@KF<$=6mZjnAldYC5CcO!s8SFLhU9<iU`UV`215#<`N0qi
zPX;qE6f-a|d<kY?a0FGmArObH3V{Ue{t!sW+zf%_idP|!5c(bh(JvAT@t}Pu#A7a@
zknHUp%1{rk@5@6WLDCrtNo?~&AqMUUg#_VAsK%F}3=FKG5;7E$R=$Nod@d6P$vuu?
z5QkNULDEWJ7$kQs3xiZnr@|l>{|tjvYO3M&ki-xk4vE9Ga7f%$hC>ojV>l$}7llK7
za4;N_s*i<3EV>pB34zz)5DQo%AgS9V0@6S!jevwea|9%Jt&4!z^ECpZkE1>kQnV^X
zLVOe)$-v;kz`#%$$-v;uz`(FC5|VhBq9Ado9|iGQcof8-{3uA`ZHj^<#+gwNhpvr+
z1ob8;e<zf`FA5TZN24G`aQ*2hNRU5|f>^{54T%cfXh;Y+M?>N?B^nYHh0zcPOpJ#3
zY-KbgNUuag%6x_x2(2Ci2`RrA28Kcg28Os8NJw6YfjICzgsx}!62rg{&B(y;GX@d@
zp>dF)td4_}e5>LhL3K6`;=|{0khJj|%IAq^V2EO1U{HvMr1t7~NG{qG&%odV3c+}Y
ze(nT_2UHUvQRkWf3W0hChNuLH!DR^$pLZodf_6ay1A_+x1H<M7h>!n3HHsucqD(Up
z62wu73=Clm3=D~h3=EzO3=BJ<e5NFbMUhF6+Al8&k}Ve{LDJZzBnAd)Q2xJ_1j%;a
zk|1%Zk_-td>tu+-qLLvYl9vpTpPLNH$6Jyi27gF~7_5>4iHeXENLpz~fu#NwDG;BZ
zNdftof#FRGBx*QP85rt=7#J8NQXxT=oyx$#3GxAyK9mYcEN7tfrBq1M>qaW14!D&H
zDJK-tAQpP1LGpc38YC+F(;yz%n#RD8z`($8B@L3sOw%DDnv~8^4{qmIr9(9Ir9*tW
zB^?qXkD;_+1|$*LXF%F^8#5ra<FgEi1s^jY77JuT3NqbHNM)0p3CZ5eG9hVZYbGRZ
z9Lt0_;8JEiMB}SW2+f`ai8GZfNE)!rf)uqrSr7;1WkEE~$%2%GTe2Ye{2Np~OEx68
zh-X85s*(+f!oX~Zxv5aPDjO1o{q@<9RDL>}fgy{5f#F>?q-__O1F0;Uau^s=85kJm
z=0M_>ITvD(el8@=U2-9*z9bit9arZ<66ZCjJbNCb@oAn1Df3J6AP(D{2Z_4+2T%#F
zd`N!x%!kBn7L?wQ4++X|`4ER$7C?&5qymTorW8Pe_DBH(xS4*nfPo>Lfq~(30i?_3
zT?ldb<U&Yd++PTB(BndIRMs;n6hVSGv<Q+)%ZngBnGWS2g33QCg7}oB7-EriF~q@<
z#SjNp6+@zEZ!yHY*HCr5C6GEoy95$40VR;2Z!BS8uw<xbVAxv%(fGXt;zHF@2<=%4
z$<Mi^5T9=^g+$4NQb?TshKlo-LF6sUARb68gIL&D21#to${-HjR0au&3uO><{**B=
zh=B6HcsWEsrySyQ_i~6qMdc6&Oe%*2@g1nTx8;zg7)J#pE~P3M7`#E<@Ct}SCPV2x
z6_C2*X$3f_8MG=Pxh1|5l3nX685ru<GcYhLs{{oF14CF9BvDMLg1B^76~rgcsvu=L
zcQvGhG^%D`c*?-Q;8D%MAi~JNpjQJa)17M}aqm$JsRb9*Lej{?T1fU5tb-(W^E!yb
zqv{yy!EL<uI*5X;br1*Ku7fy$wH{L98P-FB+@l^6q%rl7k}Lz(e6NRu;FNlZzV-DC
z3>Kg^Wj!Rfh%`WYP?`;p#%f9f#9`AL>LEdSya5vQHya?81xq7@F9)SP8zDtzNh3sK
zOCzLY+|mfC19mk+`g#W&A^QI}LPAWk2~v(YG(ifs;3fu!SOx}$rY4B_59*sBLBZV&
z@wo+*PHKh(RZladWwX8+5*5#zA*q|E1>zIE7D&h?wm{_DTOes?O$#KopJ{<q?|)k$
zaWB>i@rY?F1A`v}14F%QD+5C?sOQrP3BnhxkRW7kgZNOt4Pt?58zktX+ZY%QGBPlv
zw?Q1P*#U7-SO=t5tLT6vu7(bXgI07vO2o4rkfQij2LnSN0|Ud$4seNE&rs0`iL0rd
zkRUqO33YKNSOJ4r7sNp0E(V4W1_p-cE{Fp+bU}jlP8Y->@4Fx^CYf%Cc?sQ+CfCev
zNJu^ChNKzc9*BeWdq57XXJ82Ift2ZGJrJMv^*|i5r3X^LJnn(y4wha>IbqieDf@GJ
z85rt7U9?_^fx3N=p!e^C6t($%klJ)z9|J=ps8;QRIK-+SlBje085kTu`M;%~0n}<@
zINA?!vC;&H12QKtFmy98FwB?$Nee0yA^F&SA_K!h1_p+jiI7AlHwiLU<T?owA}c0=
ze8#}AdlDqOK9~e4IloPU6y3U$As&jK%)n3&8h)EO8B+hBn9RTs%D})NIt7y5vZp`_
zl=>+Q41o*`3@fHEFxWFNF#MVVF~Djn#HS@wA!%syR7iotJ`LhfpJ@yXi3|)3jng1e
z@^~7=JelbbzUy>`dhmE&-E>IME}jl4Dlbll<lFbtA^DbN1|+-K&wvDV)(l9uyJrT(
zM-yf+FfcJNFdUizvEb+ohz0LvK(eR$Oh}s2n+ZvT?lU3PcG%2%NZhB)g!rUpCZyKd
zJrmNjVx9$YfcY#)b}E_$$&QO>L410979=ew%!bq%NwXm(U)yYm`s1@9CE}0S3=9#V
z;kY>vbt~sU9Co&T4kX)LnFFa7@63S&ndDrELDh2^82lL+81~GCG)8&mK^zb|4-&+^
z^B{@z&^$=N^mra5?Fi3@IKXK>q;@Qx4;irBHXoA4L>E8`tooP*ki;=-0Yu{B0!Y4>
zSP01tatk4e%w-`1LjVH<L-s;QIk9IUq&&F3kb!{%G}O8flG@)aWMIf(U|{&R5E6p%
ziy%=kc@f0?Gm97)S{N7@gcpNDww__eVu%kfFNS0v<s}dYIWK{@uxbe;j(049WS>_{
zAc<9WDa3(UOCcragr$&jV%JhgNIY5!DL;gkLDH7~GD!Z9T?R=DmCHcp)iW?mS_UZ^
zk1m76)stnAAhTHx@p=7nh>w>ohgfiMIi$9Gxg1iIzJv1rEr%ph<`s~j*INOp3*uKm
z3aH8zki@xc1*DOB9wZLR|Ew!PE@5CWS_#Q!sZe_RN=Pf0a}^{6L{>oza9ah5<NQ?+
zi{`C@<n!~ZAZh3+R9<N{B#i{Fh9vH`)sVDybTu^bt!7}T2MwEFSq;fnENdWLDYZ2a
z3mex!f_U>9NJ!jV11X3Y)<U98c`XCOBSr>>;<b><By2q-B$uv-IOxcFNbP!SJtS)1
ztY=`z2aPpvfHYWYHZatKhs#fFfE0<JHbCNzb0fq;%Z-q1maq|G;L?qdINS}TuWy7n
z@bgAUogldhBJa8hl3NltK|Hn!N}t&T39)yZASI>z=6XnhW3(AU2W*DKP2OfmK3%dI
z;^Pxg`t@c=dBL{@QpBolfmq<Z1>%9+Es!W`*#ZgbwOb$#+qwnP=zIv3m)#1<wr=%X
zA&Dq`D<n?Jw?ay$x~-6G)w31iu&G-i4%)mG;=t=$AwK8b2H_iTgXDrtC_Q-_q#3_=
z8zeC^Z-*pKx9yN@ShyWh(ADqQ4oOT5J0L-(zXMXhRP2C6#fBY_{QF=B1H%Lc1_sHU
zkg|T&PDnQTw-XZQ;=3R|H`@gXq4-^pC@bH^03I{y-32MK&+meG^ztrn;;d)51y#tu
z8<NdbcSC~AVK>BpoZS$gHSLBJFl%;03aD+nA-QJHZiqwQ?}ns)`8|+)AF~JIu*y9U
z^JeT}U;uS?kL-a|UgCQ}ApolX_d=T2GxtI?uG$N+;P_rh9G%?@G3ec1NWSOY2T?Dy
z58^=OeULO_xeqeq5wnj0G>F2md><q+GVh1Pz5ISiS1x)##N31X85p!c`Tx;=NQuUK
z0HQGJ03?W~9e}iWULAnMvHd|v$yj<2k|x$1grwqA2O(+U?m>vb%!eQjRXGF+YE39@
za0rqp%@095Xn%--p&m5b<$4H`igOM@irl_Kkdo`nAxK(yb_fzRa)%*_$nr2GL{bhz
zvQzV6NFv*E7?M`LABL1421g(vlXL{q=4(9yaiGXihyzTIGSq{I)2)v(FdSfHU~o7J
z@gd`JNRerA9FjOwk3+KCl;aSKcOHj0@WydSNPIfZz)%93ygUI(#H}YFQFHDDq}qLQ
z0%D%+Nl04CItgiCOgUK(F>vKcNd7%>5|Re)L-~JBLP{**Q;@i9J_Skj^G`uqLOV`D
zvg?mi3=Gu_3=C|i85jyc?fcUV3^kx$@M(wx3(i1tLEjk$244mSh6`sP4H3Eevyiyc
zJqwBJ;IojZSaBBO(o<0Wm$MKH#m+%|7IqGjzjMw(f_l?ANG<o|97Lbcd5F0-=ON}L
zorgH2<vb+h7M+KbJN0|cGce>bFfg1s4+$!(3y^F!`2wWfKKBA7u2w<m4HqE!c-sX?
z9kA;HB-?RagrouYi;%R^brF*7mR^L^ninrZ#*lwP)#Y9SJFuQ%!zD-*T)PA*K)zmr
z#JSvMh{3*>Aq|hN%M1)FL4CT*kVMvc1yVciy8`jq$t#db=J^$H!-9eRDg#400|SH8
zRY=sXx(bQfgI6I1)V-^q#9Yt7@a-ztB@Bw!AQrk`gBa9u4U$@yT!U1fN3TJ02g`Mk
zMg|6_>kJHO3=9mp*CFM>mFti+^7J|+TQc5&M48A9NMZ}Q0g=yy(yccb7~Dbmf8h;C
z>VA2Hfnf<~^7tksTW!7xaoCfa3=HKA3=CYiAU<!p1xbXvq5LbiAQti7hD3qyZAi&D
z;Wi}u9=;7JPk!HKV2Ed6VDP^KNjvNBFfi1E#%jLaf%Hm!??N=Lz6)tA-h<M%_aNhU
zbM8SL@b?}hM9l6(_@(zDA+_#4q$oarAJU=ue;;CT%maw{h6j*D`rrYi2<CgpP!FCw
z_IL<MEDaAKLA&N5q{O@a5K@5fK7trv@Cf42ghvqZeUBgpK70gmApc{Cj|(0{^81R%
zkf^-+7!tK#A4B?xMo%Ewu<S`aBo!Zd0vT!%c?z*8?kS`o>U#>w9Y>!+@~`nTh=HZg
zAc<+}Ge~v1=^3apVPN?A3{uHBK8Hl%l;@B{ee^jbo4$Jv@tDF3NR)@wzkuZD>K71$
zC%%CAXyXe=klud*$(9T+A&DyTCB)*Kmki*M)6SQWF5BFfkc9@HUqbo~5w9RoGxHS#
zLnZ?Q!=+b{D6x4BiMpAuA!(-m#%l(Klb|u+H;~rvqc@OB$m%VmQYw23uBRCezlHeV
z$6JWQwB9i={AOTa@P5a@5X{KH;Qk&`xy=3m$rXz~K-zd*A0ZwH`v}QB>pw!8bZ<X`
zL%5#7=o3UD^AjZQmP7gXKS5Hd>}N;`mi!q~PPBf8WVa=sAtAN(GbH35e}*`a`3uBi
z(=U*yYy1KUvG-pft!tjIkhBo@737e528P*RA&Kw7S4dp)e1pVI@Ha>grs5kU1lD|m
zSoH84!~(|e4B*Kq-|vuWHuyWF{*U?&38AImA^MMfhdB7xcSxe+{=vXd%D})7`GbMM
z5|sbX|A1sS&YzIlD+5Yz{0T`!zkWhAYX5>H&dOg9@s+<IaewO<B=H*jhWM=NH>3pJ
z{u|^&28L(9Ar8|10}gTqpFfZ~p!p92Lp`Xrn)?S*%klk%#C_dgNDF4yUr1db_79Sn
z6#hXI;XlYc0B9tO0Sasw85r&}GB9ig)p`sJ3>J(G3~r1J3<gXL4Br_Uz~hBW86ar|
zqy<!RUSnXWXV}8Xz_1A<0vg+4WMG&JT6F|kWCZHagI2&WGBDhM%7ZA-dY%c43=F!A
z3=DRR3=E1;bs#wq&SQkcGiZ6vOsH9LP#UyE2Q(+d&d9*99V}K4sU$!e0~jH}#{)G`
znvsEl6|9JX;SWdw5(X_eF@?(MF)}dxV1x|STwq{eXl7(!*vr7cuz?ZMI|9}BAg$?)
z3=G<g3=A_E85rg>Ffb&6^n>F6Fe9Y515$JqG))3xAmIc?28P#+kU^xcNaDqe3=CHp
zAzd#nsG}7?hB7cP++tv0uwr6hI1A;2R#Sl%GJ$4KK}N(gGBC(7GBEJwGBPmifGYYp
z`Jt+K{RKt_h770(X!!|9xe1id!NkDO$;iOK$;iNPnSp`9oRNVcjgf)Dh>?Lokcojo
zgAvkA5oKgxn8L`w5XQ*Bkjcova028UMh1pupjBdw3=Drki@X>aK&2XkDiZ_4G|<{9
zMg|6BCI%yhFQ6_W$W{ghhA2h`hE4_shFOe|ywL~>T&QC}!w4Eo3=9^N84ZLd3mC9)
z3NSG+JYZyC*bfq^cV&c>DC&%mF%?i(H;9pe0kq!j6lfJ00|P@ZBV_ChWZi5A28Mn{
zNF)6nNB}f@$jHEOkCB04G9v?n86yLOIuip!1p@=aL<R;16($CTZ&0^PW?*2*19gv}
z@gU2@P|qO2#K3Tofq|ixfq_Ad5wiA0l97SIkdc8w6RHqo&upk6pmCENC>uPU1(IZ7
zU|0+lV`O4rFoNov!^ps}8!8W?jxa(R51@5*mW&Jx;*6l_V+IC>H&D%+85tN}ffi&j
zGBBJ6B}I@fP(EX1V5nwfV3@@Ksp5VyLS~{4GB7X*O_tSAu2*JcV3-6|4O#{u&BVYk
z4>aM)$iT1*Dh{JS=~)iyM9{buNc=tn1H(}e1Jt%*Vqi#yx~Ps3(yloIYJP&8%*4R3
zgb`BM9tW+`1EqUV5doSI&tYI-_yKYvC>1e6Iyhd83=IDnA=L-S{7;Mw3`HOY0|UcH
zPy{nFFw{UT+YO~}gI4n~GBCUWEt+FsV7Lid1_;#yTGJ%V$iSe$#K2GpRc{YkFu09@
zfngFO1H(?J!X8EjhC|>q_8Y3~Ih2Mf09UC3j0_CV85kJWFfcHPF)}bLf~wJGVqmak
zgjAn*85tNpFfuSmF)}c$VTANzKxRAv<xM6AhI)_}K#Rvfs~|zM<RD1~$iOo{D2;&@
z|ACf9Zef6o%Y)?CK`jzvf>eE{85kJCK}9AL1A`wU14AzZWN<;42{Moj(v!u=z`zg6
zwG5E98A!~GiGe|hiGhI)YTjDVLPbUfh6qLmhU=h_Z_xDFYLH3>1_mZ*tb@3q>2NJZ
z28JdO2a35EA+1jk_XQ&Z!zz$PP(7?n3=EY}OO7)#Fob}LNl=TIfq`KuBLl;9P=qrv
zFc?GCfXr9{B0!TopjE4&RxD`!7Dx<)1)&N-D-~TB85rI&GB8*(GB9iajZ`u)FdUvN
ztF0W%&cwjL&BVZ<3@RuY7#Kns85m@k7#P|a85ou`Lb@G07#J9|m>?Cb1k}_DP$9tx
zY0ZO{D1mI;4=U+E4A4?U(2~~4bG60m?}3)@K}EMRLK>wY?lwjShLem846UG;U}RuO
zfttL4k%8ehBLhP=0|UcFP$|I(={qzrGBEHlGBBKDfHZ<YX27s7Bcy4!04m_X2pPo#
z&F+Ag<AQokUqIC{0|P?|)FO~t&`MYk-M|Rxp1%UsL(mx63X%YM9ZElg(l<elfSLiC
zI+(}Ez)%I16N2jf%gDg+f&tW|&}LxhU|?W)1X`HNz`(!>RRB`&4>d%JiGkq^X#Mfz
zyE@|aN1>t<K{=U`fgvAMYBDk~tN_(9pkZ(ZNVl~gw9XP_45*NT(tj8k7%oBegJ!fq
z!Xiuz41J)w3AEN0DrdsPz;F!82B`t9QZ)q?<)ESlByfe1f#Dcv`7)?{0#$UNRtZRg
zfq?-uU3v$UXBik6^g-SMO@A^$I{()|^$imP!(C8409qsn)l&(Y?t)q<3#C^vGBDg=
zfHV+AnHU(hgVokEFc>m1FfcJPFzf-vJR<`G4<iG^Lr`VI$iT3X5z^8Gt<mUWU|{&k
z$iUFUz`!5_HM9UqgVuC`%<~3SnozNYjF9pAQ;d*tJSRp5hJPSMpw0mUq}^vx&&0q`
z%E-X55@Zn*149R>oCB5ejF2X*DkB5K6R0K-^@#z}_kPR3!0?Zefngs51H)=iX8>xc
zK9pu*WMGhIgfuEa`ao;F6&V>A=71&?KptddU}#`qV3_<tPr{WEw5pJif#Eb%^J7qH
z18PHn8g`73g&^-4AOl9XplU#df~LT&K~ciMz`#4%S6{xq8&uhYR5CCyw1FZIs+t+9
zsufg!faDk<4e4o&3=GVS3=F?O3o#fO7`}t*UIs|F0%QX>Bcy{3)y~ibsuG}P)<S8}
zvUGVS28Q{J3_=W_85tNnK{*7}5N2dxD4YCOUs@^W9|Hr60Rw}C0RuzHKgf6u$as(m
z|NsC0KkwgWD+4Xb%{x8U@@&oxJ8!^iscT@QYh<ioXkuk*zS*;#S7r09)prFp@7ts7
F3;?4&(>nkF

delta 12481
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
E02#6~yZ`_I

diff --git a/po/fr.po b/po/fr.po
index 1a70f7b5..51b9debf 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,12 +6,12 @@
 # Christophe Combelles <ccomb@free.fr>, 2007, 2008, 2009, 2010, 2011.
 # Stéphane Aulery <lkppo@free.fr>, 2015, 2016.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar-1.29\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2016-05-17 00:52+0200\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -99,7 +99,7 @@ msgid "give a short usage message"
 msgstr "Afficher un court mode d'emploi"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOM"
 
@@ -234,12 +234,12 @@ msgstr "^[oO]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Packagé par %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Packagé par %s\n"
@@ -247,11 +247,11 @@ msgstr "Packagé par %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 #, fuzzy
 msgid ""
 "\n"
@@ -535,200 +535,200 @@ msgstr ""
 msgid "Cannot execute remote shell"
 msgstr "Impossible de lancer un interpréteur de commandes distant"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Direction de positionnement hors plage"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Direction de recherche non valable"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Décalage de recherche non valable"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Positionnement relatif hors plage"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Nombre d'octets non valable"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Nombre d'octets hors plage"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Fin de fichier prématurée"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Code d'opération non valable"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Opération non prise en charge"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Arguments inattendus"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 "Manipule un lecteur de cartouches en acceptant des commandes d'un processus "
 "distant"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NOMBRE"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "définit le niveau de débogage"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FICHIER"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "définit le nom de fichier de sortie de débogage"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "trop d'arguments"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Commande rejetée"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Ceci ne ressemble pas à une archive de type « tar »"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Nombre total d'octets lus"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Nombre total d'octets écrits"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Nombre total d'octets effacés"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(tube)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Refus de lecture du contenu de l'archive depuis le terminal (option -f "
 "manquante ?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Refus d'écriture du contenu de l'archive depuis le terminal (option -f "
 "manquante ?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Valeur incorrecte pour « record_size »"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Aucun nom d'archive donné"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 "Une archive utilisant l'entrée/sortie standard ne peut pas être vérifiée"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "L'archive est compressée. Utilisez l'option %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Une archive compressée ne peut pas être mise à jour"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Début de la cartouche atteinte ; arrêt du programme."
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Trop d'erreurs, arrêt du programme."
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Taille de l'enregistrement = %lu bloc"
 msgstr[1] "Taille de l'enregistrement = %lu blocs"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Bloc non aligné (%lu octet) dans l'archive"
 msgstr[1] "Bloc non aligné (%lu octets) dans l'archive"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Impossible de reculer dans le fichier d'archive ; il se peut qu'il soit "
 "illisible sans l'option « -i »"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ne s'est pas arrêté à une limite d'enregistrement"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s : contient un numéro de volume non valable"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Débordement du numéro de volume"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Préparez le volume n°%d pour %s et appuyez sur Entrée : "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr ""
 "Fin de fichier rencontrée alors qu'une réponse de l'utilisateur était "
 "attendue"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "AVERTISSEMENT : l'archive est incomplète"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -739,67 +739,67 @@ msgstr ""
 " q             Arrêter tar\n"
 " y ou newline  Continuer le traitement\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Générer un sous-shell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Afficher cette liste\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Pas de nouveau volume ; fin du traitement.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Nom de fichier non spécifié. Essaye encore :).\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Données non valables en entrée. Tapez « ? » pour obtenir de l'aide.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "Échec de la commande %s"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "La suite de %s n'est pas sur ce volume."
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "La suite de %s est probablement sur ce volume : l'en-tête contient un nom "
 "tronqué."
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s a une taille incorrecte (%s != %s + %s)."
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ce volume est hors séquence (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Archive non étiquetée pour correspondre à %s."
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Le volume %s ne correspond pas à %s."
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -807,217 +807,217 @@ msgstr ""
 "%s : nom de fichier tronqué, car trop long pour être stocké dans un en-tête "
 "GNU multi-volumes"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "l'écriture ne s'est pas arrêté sur une limite de bloc"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Seulement %lu octet sur %lu a pu être lu"
 msgstr[1] "Seulement %lu octets sur %lu ont pu être lus"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Les contenus sont différents."
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Fin prématurée rencontrée dans l'archive."
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Le type de fichier est différent."
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Le mode est différent."
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "L'UID est différent."
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Le GID est différent."
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "La date de modification est différente."
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "La taille est différente."
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "N'est pas lié à %s."
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Le lien symbolique est différent."
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Le numéro de périphérique est différent."
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Vérification "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s : type de fichier « %c » inconnu, recherche de différence comme pour un "
 "fichier normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "L'archive contient des noms de fichiers dont le préfixe a été enlevé"
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "L'archive contient des noms de fichiers transformés"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr ""
 "La vérification peut échouer lors de la localisation des fichier originaux."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "ÉCHEC DE VÉRIFICATION : %d en-tête non valable détecté."
 msgstr[1] "ÉCHEC DE VÉRIFICATION : %d en-têtes non valables détectés."
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Bloc zéro solitaire repéré à %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s : contient une étiquette de répertoire cache %s ; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "Valeur %s en dehors de la plage de %s : %s..%s ; remplacement par %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "Valeur %s en dehors de la plage de %s : %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Génération d'en-têtes octaux négatifs"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s : le nom de fichier est trop long (%d max) ; fichier non archivé"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s : le nom de fichier est trop long (ne peut être scindé) ; fichier non "
 "archivé"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s : le nom du lien est trop long ; fichier non archivé"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s : fichier réduit de %s octet ; remplissage avec des zéros"
 msgstr[1] "%s : fichier réduit de %s octets ; remplissage avec des zéros"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr ""
 "%s : le fichier est sur un système de fichiers différent ; fichier non "
 "archivé"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "contenu non archivé"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s : type de fichier inconnu ; fichier ignoré"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Liens manquants vers %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s : le fichier n'est pas modifié ; fichier non archivé"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s : le fichier est l'archive elle-même ; fichier non archivé"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "répertoire non archivé"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s : fichier modifié pendant sa lecture"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s : socket ignorée"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s : porte ignorée"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "On saute à l'en-tête suivant"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Suppression d'un « non en-tête » de l'archive"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s : l'horodatage %s est trop vieux pour être plausible"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s : l'horodatage %s est situé %s secondes dans le futur."
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s : incohérence inattendue lors de la création du répertoire"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s : fichier existant ignoré"
@@ -1040,7 +1040,7 @@ msgstr "Tentative d'extraction des liens symboliques comme des liens physiques"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s : extraction impossible (morceau de fichier issu d'un autre volume)"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "En-tête à nom long inattendu"
 
@@ -1069,24 +1069,24 @@ msgstr "%s : impossible d'archiver ce fichier."
 msgid "Cannot rename %s to %s"
 msgstr "Impossible de renommer %s en %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s : le répertoire a été renommé depuis %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s : le répertoire est nouveau."
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr ""
 "%s : le répertoire est sur un système de fichiers différent ; fichier non "
 "archivé"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s : le répertoire a été renommé."
@@ -1213,36 +1213,36 @@ msgstr "%s : suppression de %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s : suppression impossible"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s : omis"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloc %s : ** Bloc de NULs **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s : ** Fin de fichier **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s : "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr ""
 "Blancs dans l'en-tête alors qu'une valeur numérique de type %s était attendue"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1250,27 +1250,27 @@ msgstr ""
 "complément à 2 supposé"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "La valeur octale de l'archive %.*s est en dehors de la plage de %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "L'archive contient des en-têtes obsolètes en base 64."
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Une chaîne en base 64 signée %s de l'archive est hors de la plage %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Une valeur en base 256 de l'archive est en dehors de la plage %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr ""
@@ -1278,140 +1278,140 @@ msgstr ""
 "attendue."
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "La valeur de l'archive %s est hors des limites de %s : %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " lien vers %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " type de fichier inconnu %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lien long--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nom long--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--En-tête de volume--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Suite à l'octet %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Création du répertoire :"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s renommé en %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s : impossible de renommer en %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s finalement renommé en %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s : fichier supprimé avant d'avoir été lu"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "processus enfant"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "canal inter-processus"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Sélection des noms de fichiers locaux :"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "Ajouter le FICHIER donné à l'archive (utile si son nom commence par un tiret)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "RÉP"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "Utiliser RÉP comme répertoire de travail"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "Lire depuis le FICHIER la liste des noms à extraire ou à créer"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 "« -T » permet de lire les noms terminés par un NULL ; implique --verbatim-"
 "files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "désactive l'effet de l'option --null précédente"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "Enlever la protection de caractères du fichier d'entrée ou des noms de "
 "membres (par défaut)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 "Ne pas enlever la protection de caractères du fichier d'entrée ou des noms "
 "de membres"
 
-#: src/names.c:87
+#: src/names.c:86
 #, fuzzy
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr "-T lit les noms de fichiers verbatim (sans les options)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T traite les noms de fichiers commençants par un tiret comme des options "
 "(par défaut)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MOTIF"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "Exclure les fichiers correspondant au MOTIF"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "Exclure les motifs listés dans le FICHIER"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1419,26 +1419,26 @@ msgstr ""
 "Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier "
 "de tag lui-même"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "Tout exclure dans les répertoires contenant CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "Exclure les répertoires contenant CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "Exclure le contenu des répertoires contenant le FICHIER, sauf le FICHIER lui-"
 "même"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 "lire le motif d'exclusion de chaque répertoire depuis FICHIER, s'il existe"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1446,126 +1446,126 @@ msgstr ""
 "lire le motif d'exclusion de chaque répertoire et de ses sous-répertoire "
 "depuis FICHIER, s'il existe"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "Tout exclure dans les répertoires contenant le FICHIER"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "Exclure les répertoires contenant le FICHIER"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "Exclure les répertoires des gestionnaires de version"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 "lire les motifs d'exclusion depuis les fichiers d'exclusion des "
 "gestionnaires de version"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "exclure les fichiers de sauvegarde et de verrou"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "Parcourir les sous-répertoires de manière récursive (par défaut)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "Empêcher la descente automatique dans les sous-répertoires"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Options de correspondance de noms de fichiers (pour les motifs d'exclusion "
 "et d'inclusion)"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "Les motifs doivent correspondre au début des noms de fichiers"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "Les motifs peuvent correspondre après n'importe quel « / » (par défaut pour "
 "l'exclusion)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "Ignorer la casse (majuscules/minuscules)"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "Correspondance sensible à la casse (comportement par défaut)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 "Utiliser des caractères de correspondance (par défaut pour l'exclusion)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "Correspondance exacte de chaîne"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr ""
 "« / » peut correspondre à un caractère de correspondance (par défaut pour "
 "l'exclusion)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "« / » ne correspond à aucun caractère de correspondance"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "commande échouée"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s : la liste demandée depuis %s a déjà été lue depuis %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "Impossible de couper la chaîne de caractères « %s » : %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s : le nom de fichier lu contient un caractère nul"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 "Caractères de correspondance de motif utilisé dans les noms de fichiers."
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1573,49 +1573,49 @@ msgstr ""
 "Utilisez « --wildcards » pour activer la correspondance de motif ou « --no-"
 "wildcards » pour supprimer cet avertissement"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s : non trouvé dans l'archive"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s : occurence requise non trouvée dans l'archive"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Mauvaise correspondance d'étiquette d'archive"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "L'utilisation de l'option -C à l'intérieur de la liste de fichiers n'est pas "
 "permise avec --listed-incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Une seule option -C est autorisée avec --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr ""
 "Les options « -%s » et« -%s » nécessitent toutes les deux l'entrée standard."
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s : format d'archive non valable"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 "Fonctionnalités de type GNU demandées pour un format d'archive incompatible."
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1853,7 +1853,7 @@ msgstr "Choix du flux de sortie :"
 msgid "extract files to standard output"
 msgstr "Extraire les fichiers vers la sortie standard"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "COMMANDE"
 
@@ -1892,7 +1892,7 @@ msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 "utilise FICHIER pour la correspondance des noms et GIDs du propriétaire"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATE-OU-FICHIER"
 
@@ -2110,7 +2110,7 @@ msgstr "Refaire les blocs pendant la lecture (pour les tubes BSD 4.2)"
 msgid "Archive format selection:"
 msgstr "Sélection du format d'archive :"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2198,65 +2198,65 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "Filtrer à travers le PROG (doit accepter l'option « -d »)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Sélection des fichiers locaux :"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr ""
 "Rester dans le système de fichiers local lors de la création de l'archive"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "Ne pas enlever le « / » au début des noms de fichiers"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "Suivre les liens symboliques ; archiver les fichiers vers lesquels ils "
 "pointent"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "Suivre les liens physiques : archiver les fichiers vers lesquels ils pointent"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NOM-DE-MEMBRE"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "Débuter au NOM-DE-MEMBRE durant la lecture de l'archive"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "Stocker seulement les fichiers plus récents que DATE-OU-FICHIER"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATE"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "Ne comparer que la date et l'heure de modification des données"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTRÔLE"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 "Faire une copie de sauvegarde avant suppression, choisir le CONTRÔLE de "
 "version"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "CHAÎNE"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2265,65 +2265,65 @@ msgstr ""
 "habituel (« ~ » sauf s'il est définit par la variable d'environnement "
 "SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Transformation des noms de fichiers :"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "Supprimer NOMBRE composants au début des noms de fichiers à l'extraction"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "Utiliser l'EXPRESSION de remplacement « sed » pour transformer les noms de "
 "fichiers"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Options d'affichage :"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "Afficher de manière détaillée les fichiers traités"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "MOTCLÉ"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "Contrôle d'avertissement"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Afficher un message de progression tous les NOMBRE enregistrements (10 par "
 "défaut)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "exécuter l'ACTION à chaque point de contrôle"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr ""
 "Afficher un message si tous les liens n'ont pas pu être suivis et archivés"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2335,35 +2335,35 @@ msgstr ""
 "sont : SIGHUP, SIGQUIT, SIGINT, SIGUSR1 et SIGUSR2. Les noms sans préfixe « "
 "SIG » sont aussi acceptés"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "Afficher les dates de modification de fichier en UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "afficher l'heure du fichier en pleine résolution"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "Envoyer la sortie détaillée vers le FICHIER"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "Afficher le numéro du bloc de l'archive avec chaque message"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "Demander confirmation pour chaque action"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "Afficher les paramètres par défaut de tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "afficher les intervalles valides des champs des fichiers d'instantané"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2371,33 +2371,33 @@ msgstr ""
 "Lors du listage ou de l'extraction, lister chaque répertoire qui ne concorde "
 "pas avec le critère de recherche"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "Afficher les noms des fichiers ou des archives après transformation"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "Définir le style de protection de caractères appliqués aux noms. Voir ci-"
 "dessous pour les valeurs du STYLE"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "Protéger aussi les caractères faisant partie de la CHAÎNE"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "Enlever la protection des caractères faisant partie de la CHAÎNE"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Options de compatibilité :"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2405,22 +2405,22 @@ msgstr ""
 "Lors de la création, identique à « --old-archive ». Lors de l'extraction, "
 "identique à « --no-same-owner »"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Autres options :"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "Désactiver certaines options potentiellement néfastes"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "« %s » ne peut pas être utilisé avec « %s »"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2428,40 +2428,40 @@ msgstr ""
 "Vous ne pouvez pas sélectionner plus d'une option parmi « -Acdtrux », « --"
 "delete » ou « --test-label »"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Options de compression non compatibles entre elles"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Type de signal inconnu : %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Fichier d'échantillon de date non trouvé"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Remplacement par %s du format de date inconnu %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Option %s : date « %s » traitée comme %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "Filtrer l'archive à travers %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Les arguments valables pour l'option « --quoting-style » sont :"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2469,121 +2469,121 @@ msgstr ""
 "\n"
 "Les valeurs par défaut de *ce* tar sont :\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Identifiant du propriétaire ou du groupe non valable"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Facteur de bloc non valable"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Longueur de cartouche non valable"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Mauvaise valeur pour le niveau incrémental"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Plus d'une date seuil"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Version de la dispersion non valable"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 "--atime-preserve='system' n'est pas pris en charge sur cette plateforme"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "la valeur de « --checkpoint » n'est pas un entier"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Mode non valable donné en option"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Nombre non valable"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Taille d'enregistrement non valable"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "La taille d'un enregistrement doit être un multiple de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Nombre d'éléments incorrect"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Une seule option « --to-command » est permise"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argument de densité incorrect : %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densité inconnue : « %c »"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Les options « -[0-7][lmh] » ne sont pas prises en charge par *ce* tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: emplacement de l’erreur"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "erreur à la lecture de « %s »"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FICHIER]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "Arguments non-option dans %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "Impossible de couper TAR_OPTIONS : %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "L'ancienne option « %c » a besoin d'un argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence n'a pas de sens sans une liste de fichiers"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Les fichiers d'archives multiples ont besoin de l'option « -M »"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level n'a aucun sens sans --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2592,43 +2592,43 @@ msgstr[0] ""
 msgstr[1] ""
 "%s: l'étiquette du volume est trop longue (la limite est %lu octets)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Impossible de vérifier des archives multi-volumes"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Impossible de vérifier des archives compressées"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Impossible d'utiliser des archives multi-volumes compressées"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Impossible de concaténer des archives compressées"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime nécessite une date spécifiée avec --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option peut être utilisée uniquement avec des archives POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls peut être utilisée uniquement avec des archives POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux peut être utilisée uniquement avec des archives POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs peut être utilisée uniquement avec des archives POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2636,85 +2636,94 @@ msgstr ""
 "Impossible de déduire le nom du répertoire de plus haut niveau ; veuillez le "
 "sélectionner explicitement avec --one-top-level=RÉP"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 "La longueur du volume ne peut pas être inférieure à la taille de "
 "l'enregistrement"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Je refuse de créer un fichier d'archive vide (oui je suis lâche)"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Les options « -Aru » sont incompatibles avec « -f - »"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Vous devez choisir une option parmi « -Acdtrux », « --delete » ou « --test-"
 "label »"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Arrêt avec code d'échec à cause des erreurs précédentes"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s : fichier réduit de %s octet"
 msgstr[1] "%s: fichier réduit de %s octets"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Le mot clé %s est inconnu ou n'est pas encore implémenté"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "L'horodatage est en dehors de la plage permise"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Le motif %s ne peut être utilisé"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Le mot clé %s ne peut pas être surdéfini"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "En-tête étendu incorrect : longueur manquante"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "La longueur de l'en-tête étendu %*s est hors plage"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "En-tête étendu incorrect : espace blanche manquante après la longueur"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "En-tête étendu incorrect : signe d'égalité manquant"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "En-tête étendu incorrect : retour à la ligne manquant"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Le mot clé inconnu « %s » pour l'en-tête étendu a été ignoré"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2722,46 +2731,46 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "L'en-tête étendu %s=%s est hors plage %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "En-tête étendu incorrect : %s=%s non valable"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "En-tête étendu incorrect : %s=%s en trop"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "En-tête étendu incorrect : %s non valable : délimiteur %c non prévu"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "En-tête étendu incorrect : %s non valable : nombre impair de valeurs"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s : délai d'expiration non valable"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s : action de point de contrôle inconnue"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "écriture"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "lecture"
 
@@ -2769,7 +2778,7 @@ msgstr "lecture"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Point de contrôle d'écriture %u"
@@ -2778,12 +2787,12 @@ msgstr "Point de contrôle d'écriture %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Point de contrôle de lecture %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2792,100 +2801,104 @@ msgstr ""
 "GNU paxutils.\n"
 "Les options sont :\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Options de création de fichier :"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "TAILLE"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Créer le fichier à la TAILLE donnée"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Écrire dans le fichier NOM, plutôt que sur la sortie standard"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Lire les noms de fichier depuis le FICHIER"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T permet de lire les noms terminés par un NULL"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Remplir le fichier avec le MOTIF donné. MOTIF est « default » ou « zeros »"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Taille d'un bloc pour le fichier dispersé"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Générer un fichier dispersé (avec des trous). Le reste de la ligne de "
 "commande définit la carte du fichier."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "DÉCALAGE"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Se déplacer du DÉCALAGE donné avant d'écrire des données"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Supprimer les messages de diagnostique non fatals"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Options des statistiques de fichiers :"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Afficher le contenu des structures « stat » pour chaque fichier donné. Le "
 "FORMAT par défaut est :"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Options d'exécution synchrone :"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPTION"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Exécuter les ARGS. Utile avec « --checkpoint » et l'une des options « --cut "
 "», « --append », « --touch » ou « --unlink »"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Exécuter l'action donnée (voir plus bas) dès qu'un point de contrôle NOMBRE "
 "est atteint"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Définir la date pour la prochaine option « --touch »"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Afficher les points de contrôle exécutés et les codes de sortie de la "
 "COMMANDE"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2893,7 +2906,7 @@ msgstr ""
 "Actions d'exécution synchrone. Celles-ci sont exécutées lorsque le numéro du "
 "point de contrôle donné par « --checkpoint » est atteint."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2901,126 +2914,126 @@ msgstr ""
 "Tronquer le FICHIER à la taille donnée par la précédente option « --length "
 "» (ou 0 si elle n'est pas fournie)."
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Ajouter TAILLE octets au FICHIER. La TAILLE est fournie par la précédente "
 "option « --length »"
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Mettre à jour les dates d'accès et de modification du FICHIER"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Exécuter la COMMANDE"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Taille non valable : %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Nombre en dehors de la plage permise : %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Taille négative : %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "La fonction stat(%s) a échoué"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "taille de fichier demandée : %lu, taille réelle : %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "le fichier créé n'est pas dispersé"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Erreur à la lecture du nombre près de « %s »"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Format de date inconnu"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Impossible d'ouvrir « %s »"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "Impossible à parcourir"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "Le nom de fichier contient un caractère nul"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "Un fichier dispersé ne peut pas être généré sur la sortie standard. Utilisez "
 "l'option « --file »"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "Masque incorrect (près de « %s »)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Champ inconnu « %s »"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "Impossible de définir la date de « %s »"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "Impossible de tronquer « %s »"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "commande « %s » échouée"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "Impossible de tronquer « %s »"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "Impossible de définir la date de « %s »"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "Impossible de supprimer « %s »"
@@ -3060,6 +3073,9 @@ msgstr "La commande s'est terminée\n"
 msgid "--stat requires file names"
 msgstr "--stat nécessite un nom de fichier"
 
+#~ msgid "OPTION"
+#~ msgstr "OPTION"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s : le paramètre ARGP_HELP_FMT doit être positif"
 
diff --git a/po/ga.gmo b/po/ga.gmo
index 4ee81c43efb72b72155d61435fddf67615c7f54b..5a76d7ed8e44f93b3ff8ec64854952e28dfc3974 100644
GIT binary patch
delta 14799
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
XZ?fzZ*~!bUx3hrCoXwIqwkiVv9?IwS

delta 12851
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
LXKtSJV4*Sqg&kDz

diff --git a/po/ga.po b/po/ga.po
index 044cd5e6..06c44327 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -2,13 +2,13 @@
 # Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Kevin Patrick Scannell <scannell@SLU.EDU>, 2003, 2004, 2006, 2007, 2008, 2009, 2017.
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2017-01-16 20:27-0600\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-17 09:10-0600\n"
 "Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
 "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
 "Language: ga\n"
@@ -97,7 +97,7 @@ msgid "give a short usage message"
 msgstr "taispeáin beagán eolais faoin úsáid"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "AINM"
 
@@ -135,29 +135,29 @@ msgid "write error"
 msgstr "earráid sa scríobh"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: Tá an rogha '%s' débhríoch\n"
+msgstr "%s: Tá an rogha '%s%s' débhríoch\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: Tá an rogha '%s' débhríoch; féidearthachtaí:"
+msgstr "%s: Tá an rogha '%s%s' débhríoch; féidearthachtaí:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: rogha anaithnid '%c%s'\n"
+msgstr "%s: rogha anaithnid '%s%s'\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha '%c%s'\n"
+msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha '%s%s'\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: tá argóint de dhíth i ndiaidh na rogha '--%s'\n"
+msgstr "%s: tá argóint de dhíth i ndiaidh na rogha '%s%s'\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -232,12 +232,12 @@ msgstr "^[yYiIsS]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pacáistithe ag %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pacáistithe ag %s\n"
@@ -245,12 +245,11 @@ msgstr "Pacáistithe ag %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -260,7 +259,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Ceadúnas GPLv3+: GNU GPL leagan 3 nó níos nuaí <http://gnu.org/licenses/gpl."
+"Ceadúnas GPLv3+: GNU GPL leagan 3 nó níos nuaí <https://gnu.org/licenses/gpl."
 "html>.\n"
 "Is saorbhogearra é seo: ceadaítear duit é a athrú agus a athdháileadh.\n"
 "Níl baránta AR BITH ann, an oiread atá ceadaithe de réir dlí.\n"
@@ -398,14 +397,13 @@ msgid "%s home page: <%s>\n"
 msgstr "Leathanach baile %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Leathanach baile %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Leathanach baile %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr "Cabhair ghinearálta le bogearraí GNU: <http://www.gnu.org/gethelp/>\n"
+msgstr "Cabhair ghinearálta le bogearraí GNU: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -535,148 +533,148 @@ msgstr "Ní féidir comhad a atreorú le haghaidh na cianbhlaoisce"
 msgid "Cannot execute remote shell"
 msgstr "Ní féidir cianbhlaosc a rith"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Treo 'seek' as raon"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Treo 'seek' neamhbhailí"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Fritháireamh 'seek' neamhbhailí"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Fritháireamh 'seek' as raon"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Líon beart neamhbhailí"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Líon beart as raon"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Comhadchríoch gan choinne"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Cód oibríochta neamhbhailí"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Oibríocht gan tacaíocht"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Argóintí gan súil leo"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 "Tiomántán téipe a láimhseáil, ag glacadh le horduithe ó phróiseas i gcéin "
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "UIMHIR"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "socraigh an leibhéal dífhabhtaithe"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "COMHAD"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "socraigh ainm an logchomhaid dífhabhtaithe"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "ní féidir %s a oscailt"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "an iomarca argóintí"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Ordú dramhaíola"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Ní cosúil le cartlann `tar' é seo"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Líon iomlán beart léite"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Líon iomlán beart scríofa"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Líon iomlán beart scriosta"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(píopa)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Ag diúltú inneachar na cartlainne a léamh ón teirminéal (-f ar iarraidh?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Ag diúltú inneachar na cartlainne a scríobh sa teirminéal (-f ar iarraidh?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Luach neamhbhailí record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Níor tugadh ainm cartlainne"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ní féidir cartlann stdin/stdout a fhíorú"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Tá an chartlann seo comhbhrúite. Úsáid an rogha %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a nuashonrú"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Tosach na téipe, ag scor anois"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "An iomarca earráidí, ag scor"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -686,7 +684,7 @@ msgstr[2] "Méid an taifid = %lu bhloc"
 msgstr[3] "Méid an taifid = %lu mbloc"
 msgstr[4] "Méid an taifid = %lu bloc"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -696,38 +694,38 @@ msgstr[2] "Bloc neamhailínithe (%lu bheart) sa chartlann"
 msgstr[3] "Bloc neamhailínithe (%lu mbeart) sa chartlann"
 msgstr[4] "Bloc neamhailínithe (%lu beart) sa chartlann"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Ní féidir an chartlann a chúlú; is dócha go bhfuil sé doléite gan -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "Níor stopadh rmtlseek ag teorainn taifid"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: tá uimhir imleabhair neamhbhailí ann"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Uimhir imleabhair thar maoil"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr ""
 "Ullmhaigh imleabhar #%d le haghaidh %s agus brúigh an eochair iontrála: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Fuarthas comhadchríoch in áit freagra ón úsáideoir"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "RABHADH: Tá an chartlann neamhiomlán"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -739,67 +737,67 @@ msgstr ""
 " q             Tobscoir tar\n"
 " y nó líne nua Lean ar aghaidh\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Sceith fobhlaosc\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Priontáil an liosta seo\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Níl aon imleabhar nua ann; ag scor.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Ainm an chomhaid gan sonrú. Bain triail eile as.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ionchur neamhbhailí. Clóscríobh ? chun cabhair a fháil.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "Theip ar ordú %s"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "Ní leanann %s ar an imleabhar seo"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "Seans go leanann %s ar aghaidh ar an imleabhar seo: tá ainm teasctha sa "
 "cheanntásc"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "Tá méid %s mícheart (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tá an t-imleabhar seo as ord (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Lipéad ar chartlann nach bhfuil comhoiriúnaithe le %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Níl an t-imleabhar %s comhoiriúnaithe le %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -807,11 +805,11 @@ msgstr ""
 "%s: Tá an comhadainm seo rófhada le bheith stóráilte i gceanntásc il-"
 "imleabhar GNU; teasctha"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "níor stop an scríobh ag teorainn bhloic"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
@@ -821,75 +819,75 @@ msgstr[2] "Níorbh fhéidir ach %lu de %lu bheart a léamh"
 msgstr[3] "Níorbh fhéidir ach %lu de %lu mbeart a léamh"
 msgstr[4] "Níorbh fhéidir ach %lu de %lu beart a léamh"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Ní ionann na hábhair"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Comhadchríoch gan choinne sa chartlann"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Ní ionann na cineálacha comhaid"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Ní ionann na móid"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Ní ionann na UIDanna"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Ní ionann na GIDanna"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Ní ionann na hamanna modhnaithe"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Ní ionann na méideanna"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Níl sé ceangailte le %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Ní ionann na naisc shiombalacha"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Ní ionann na huimhreacha gléis"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Fíoraigh "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Cineál anaithnid comhaid '%c', diff déanta mar ghnáthchomhad"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Tá comhaid sa chartlann agus a réimíreanna scriosta."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Tá comhaid sa chartlann agus a n-ainmneacha aistrithe."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Ní féidir le fíorú na bunchomhaid a aimsiú i gcónaí."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -899,46 +897,46 @@ msgstr[2] "THEIP AR DHEIMHNIÚ: aimsíodh %d cheanntásc neamhbhailí"
 msgstr[3] "THEIP AR DHEIMHNIÚ: aimsíodh %d gceanntásc neamhbhailí"
 msgstr[4] "THEIP AR DHEIMHNIÚ: aimsíodh %d ceanntásc neamhbhailí"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Bloc nialasach amháin ag %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: tá clib chomhadlainne taisce %s ann; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "tá an luach %s as raon %s: %s..%s; ag cur %s ina ionad"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "tá an luach %s as raon %s: %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Ceanntásca ochtnártha diúltacha á gcruthú"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: ainm comhaid rófhada (uasfhada %d); gan dumpáil"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: ainm comhaid rófhada (ní féidir é a scoilt); gan dumpáil"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: ainm naisc rófhada; gan dumpáil"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -948,78 +946,78 @@ msgstr[2] "%s: %s bheart níos lú sa chomhad; á stuáil le náideanna"
 msgstr[3] "%s: %s mbeart níos lú sa chomhad; á stuáil le náideanna"
 msgstr[4] "%s: %s beart níos lú sa chomhad; á stuáil le náideanna"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: is ar chóras comhad eile ar fad é an comhad; gan dumpáil"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "ábhar gan dumpáil"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Cineál anaithnid comhaid; rinneadh neamhshuim air"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Naisc le %s ar iarraidh."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: comhad gan athrú; gan dumpáil"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: is ionann an comhad agus an chartlann féin; gan dumpáil"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "níor dumpáladh an chomhadlann"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: athraíodh an comhad agus é á léamh"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: rinneadh neamhshuim ar an soicéad"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: rinneadh neamhshuim ar an doras"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Ag bogadh go dtí an chéad cheanntásc eile"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Comhad nach ceanntásc é á scriosadh ón chartlann"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: stampa ama dochreidte sean %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: tá an stampa ama %s %s soicind sa todhchaí"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Neamhfhreagracht gan súil leis agus comhadlann á cruthú"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: ag dul thar comhad atá ann"
@@ -1043,7 +1041,7 @@ msgstr "Ag déanamh iarracht naisc shiombalacha a bhaint amach mar naisc chrua"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Ní féidir an comhad a bhaint amach -- ar lean ó imleabhar eile"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Ceanntásc ainm fada gan choinne"
 
@@ -1060,7 +1058,7 @@ msgstr "Tá an %s reatha níos nuaí nó ar comhaois"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: Tá '..' in ainm an bhaill"
 
 #: src/extract.c:1696
 #, c-format
@@ -1072,22 +1070,22 @@ msgstr "%s: Níorbh fhéidir cúltaca a dhéanamh"
 msgid "Cannot rename %s to %s"
 msgstr "Ní féidir an t-ainm a athrú ó %s go %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Athainmníodh an chomhadlann ó %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Comhadlann nua"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: ar chóras comhad eile ar fad é an chomhadlann; níor dumpáladh é"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Athainmníodh an chomhadlann"
@@ -1215,35 +1213,35 @@ msgstr "%s: %s á scriosadh\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Ní féidir é a bhaint"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Á fhágáil ar lár"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloc %s: ** bloc de NULanna **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s: ** Deireadh an chomhaid **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Bearnaí sa cheanntásc; ag súil le luach uimhriúil %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1251,163 +1249,164 @@ msgstr ""
 "ag glacadh le comhlánú dénártha"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Tá an luach ochtnártha %.*s as raon %s sa chartlann"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Teaghrán %s le sín agus bunuimhir 64 as raon %s sa chartlann"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Tá an luach le bunuimhir 256 as raon %s sa chartlann"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Tá %.*s sa chartlann; ag súil le luach uimhriúil %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Tá an luach cartlainne %s as raon %s: %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " nasc le %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " cineál anaithnid comhaid %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Nasc Fada--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Ainm Fada--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Ceanntásc Imleabhair--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Ar lean ag beart %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Comhadlann á cruthú:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Ainm á athrú ó %s go %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Ní féidir athainmniú go %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s á athainmniú go %s arís\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Scriosadh an comhad sular léadh é"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "macphróiseas"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "bealach idir próisis"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Roghnú comhaid logánta:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "cuir an COMHAD sainithe leis an gcartlann (úsáideach má tá dais ag tús ainm "
 "an chomhaid)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "COMHADLANN"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "athraigh go dtí COMHADLANN"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "tóg na hainmneacha le baint/cruthú as COMHAD"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 "Léann -T ainmneacha a bhfuil NULL ag a ndeireadh; --verbatim-files-from "
 "intuigthe freisin"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "díchumasaigh an rogha --null roimhe seo"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "bain comharthaí athfhriotail ó chomhadainmneacha (réamhshocrú)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "ná bain comharthaí athfhriotail ó chomhadainmneacha"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "léann -T ainmneacha comhaid go litriúil (gan roghanna a láimhseáil)"
+msgstr ""
+"léann -T ainmneacha comhaid go litriúil (gan éalúcháin nó roghanna a "
+"láimhseáil)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "déileálann -T le hainmneacha comhaid a thosaíonn le dais mar roghanna "
 "(réamhshocrú)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATRÚN"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "fág comhaid as an áireamh, tugtha mar PHATRÚN"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "fág as an áireamh aon phatrún atá i gCOMHAD"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1415,24 +1414,24 @@ msgstr ""
 "fág ábhar na gcomhadlann ina bhfuil CACHEDIR.TAG ar lár, seachas an comhad "
 "clibe féin"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "fág gach rud faoi chomhadlanna ina bhfuil CACHEDIR.TAG ar lár"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "fág comhadlanna ina bhfuil CACHEDIR.TAG ar lár"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "fág ábhar na gcomhadlann ina bhfuil COMHAD ar lár, seachas COMHAD féin"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 "léigh patrúin eisiata i gcomhair gach comhadlann ó COMHAD, má tá sé ann"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1440,120 +1439,124 @@ msgstr ""
 "léigh patrúin eisiata i gcomhair gach comhadlann agus a cuid fochomhadlann ó "
 "COMHAD, má tá sé ann"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "fág gach rud faoi chomhadlanna ina bhfuil COMHAD ar lár"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "fág comhadlanna a bhfuil COMHAD iontu ar lár"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "fág comhadlanna a bhaineann le córas rialaithe foinsí ar lár"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "léigh patrúin eisiata ó na comhaid neamhaird VCS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "fág comhaid chúltaca agus comhaid ghlasála ar lár"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "téigh isteach i gcomhadlanna go hathchúrsach (réamhshocrú)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "ná téigh isteach i bhfochomhadlanna go huathoibríoch"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Roghanna maidir le comhoiriúnú ainmneacha comhaid (cuirfear iad seo i "
 "bhfeidhm do phatrúin eisiata agus do phatrúin iniata araon):"
 
 # subject is "exclude patterns"
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "meaitseálann patrúin le tús ainm an chomhaid"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "meaitseálann patrúin tar éis aon '/' (réamhshocrú i gcás patrúin eisiata)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "ná bí cásíogair"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "dealaigh idir litreacha beaga/móra (réamhshocrú)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "úsáid saoróga (réamhshocrú do phatrúin eisiata)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "comhoiriúnú teaghráin carachtar ar charachtar"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "meaitseálann saoróga le '/' (réamhshocrú i gcás patrúin eisiata)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "ní ghlacann saoróga le '/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Baineadh úsáid as na roghanna seo a leanas tar éis argóintí neamhroghnacha "
+"sa mód cartlannaithe nó sa mód nuashonraithe. Braitheann na roghanna seo ar "
+"a ionad, agus ní imríonn siad tionchar ach ar na hargóintí ina ndiaidh. Cuir "
+"san ord ceart iad, le do thoil."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s - gan éifeacht"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s - gan éifeacht"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s - gan éifeacht"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "líne na n-orduithe"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: bhí an liosta comhad iarrtha ó %s léite ó %s cheana"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ní féidir teaghrán '%s' a scoilt: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: tá carachtar nialasach sa chomhadainm a léadh"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Aimsíodh saoróga in ainmneacha comhaid"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1561,47 +1564,47 @@ msgstr ""
 "Úsáid --wildcards chun meaitseáil patrún a chumasú, nó --no-wildcards chun "
 "an rabhadh seo a mhúchadh"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Níor aimsíodh sa chartlann é"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Níl rud riachtanach sa chartlann"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Lipéad mícheart ar an gcartlann"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Ní cheadaítear an rogha -C laistigh de liosta comhad in éineacht le --listed-"
 "incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Ní cheadaítear ach rogha amháin -C in éineacht le --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Teastaíonn an gnáth-ionchur ó na roghanna '%s' agus '%s'"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Formáid neamhbhailí chartlainne"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Níl roghanna GNU ar fáil d'fhormáid neamh-chomhoiriúnach chartlainne"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1828,7 +1831,7 @@ msgstr "Roghnaigh sruth aschurtha:"
 msgid "extract files to standard output"
 msgstr "bain comhaid amach agus scríobh ar an ngnáth-aschur"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "ORDÚ"
 
@@ -1864,7 +1867,7 @@ msgstr "úsáid COMHAD mar mhapa idir UIDanna agus ainmneacha"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "úsáid COMHAD mar mhapa idir GIDanna agus ainmneacha"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DÁTA-NÓ-COMHAD"
 
@@ -2076,7 +2079,7 @@ msgstr "athbhlocáil le linn léimh (le píopaí 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Roghnú formáide:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMÁID"
 
@@ -2161,62 +2164,62 @@ msgstr "CLÁR"
 msgid "filter through PROG (must accept -d)"
 msgstr "scag le CLÁR (ní foláir -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Roghnú comhaid logánta:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "ná fág an córas comhaid seo agus cartlann á cruthú"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "ná bain '/' tosaigh ó ainmneacha comhaid"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "lean naisc shiombalacha; cartlannaigh agus dumpáil na comhaid a nascann na "
 "naisc leo"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "lean naisc chrua; cartlannaigh agus dumpáil na comhaid a nascann na naisc leo"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "AINM-BAILL"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "tosaigh ag ball AINM-BAILL agus an chartlann á léamh"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "ná sábháil comhaid níos nuaí ná DÁTA-NÓ-COMHAD"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DÁTA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "déan comparáid le dáta/am modhnaithe"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "MODH"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "déan cúltaca sula scriostar, roghnaigh modh oibre maidir le leaganacha"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "TEAGHRÁN"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2224,61 +2227,61 @@ msgstr ""
 "déan cúltaca roimh bhaint, agus sáraigh an gnáth-iarmhír ('~' mura dtugtar é "
 "leis an athróg thimpeallachta SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Trasfhoirmiú ainmneacha comhaid:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "struipeáil UIMHIR comhpháirt tosaigh ó ainmneacha comhaid"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "SLONN"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "Úsáid ordú ionadaíochta SLONN, i bhformáid \"sed\", chun ainmneacha comhaid "
 "a thrasfhoirmiú"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Aschur faisnéiseach:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "taispeáin gach comhad atá próiseáilte, go foclach"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "LORGFHOCAL"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "rialú rabhadh"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "cuir dul chun cinn ar taispeáint, gach UIMHIRú taifid (réamhshocrú 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "GNÍOMH"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "déan GNÍOMH ag gach seicphointe"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "taispeáin eolas mura bhfuil gach nasc dumpáilte"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "COMHARTHA"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2290,35 +2293,35 @@ msgstr ""
 "Ceadaítear na comharthaí seo a leanas: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 agus "
 "SIGUSR2; glacfar leis na hainmneacha céanna gan an réimír SIG freisin"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "taispeáin amanna mionathraithe mar UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "taispeáin an t-am athraithe leis an taifeach is mine"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "scríobh aschur foclach i gCOMHAD"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "taispeáin bloc sa chartlann le gach teachtaireacht"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "iarr deimhniú ar gach gníomh"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "taispeáin réamhshocruithe tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "taispeáin raonta bailí le haghaidh réimsí sa chomhad roghbhlúire"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2326,33 +2329,33 @@ msgstr ""
 "agus á liostú nó á bhaint amach, taispeáin gach comhadlann nach bhfuil "
 "comhoiriúnaithe don chuardach"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "taispeáin ainmneacha comhaid/cartlainne i ndiaidh trasfhoirmithe"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STÍL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "socraigh stíl athfhriotail ainmneacha; féach thíos le haghaidh luachanna "
 "bailí do STÍL"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "cuir carachtair athfhriotail timpeall na carachtair ó TEAGHRÁN"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "ná húsáid comharthaí athfhriotail timpeall carachtair ó TEAGHRÁN"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Roghanna Comhoiriúnachta:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2360,22 +2363,22 @@ msgstr ""
 "is ionann le --old-archive le linn cruthaithe; is ionann le --no-same-owner "
 "le linn baint"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Roghanna eile:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "cuir bac ar úsáid de roghanna gurbh fhéidir leo a bheith urchóideach"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s': ní féidir é seo a úsáid in éineacht le '%s'"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2383,40 +2386,40 @@ msgstr ""
 "Ní féidir níos mó ná ceann amháin de na roghanna '-Acdtrux', '--delete' nó "
 "'--test-label' a shonrú"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Roghanna contrártha comhbhrúite"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Comhartha anaithnid: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Comhad samplach dáta gan aimsiú"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Formáid dáta anaithnid; ag baint úsáid as %s in ionad %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Rogha %s: Ag déileáil le dáta '%s' mar %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "scag an chartlann trí %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Glacann an rogha --quoting-style leis na hargóintí seo a leanas:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2424,120 +2427,120 @@ msgstr ""
 "\n"
 "Luachanna réamhshocraithe don tar *seo*:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Úinéir nó aitheantas grúpa neamhbhailí"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Fachtóir bacainneach neamhbhailí"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Fad téipe neamhbhailí"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Leibhéal incriminteach neamhbhailí"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Níos mó ná spriocdháta amháin"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Leagan neamhbhailí ar fhormáid na ngannchomhad"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "ní thacaítear le --atime-preserve='system' ar an chóras seo"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "ní mór do luach --checkpoint a bheith ina slánuimhir"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Mód neamhbhailí ar rogha"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Uimhir neamhbhailí"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Méid taifid neamhbhailí"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Ní foláir méid taifid a bheith iolraí de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Tá líon na mball neamhbhailí"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Ní cheadaítear ach aon rogha --to-command amháin"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Tá an argóint dlúis míchumtha: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Dlús anaithnid: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Ní thacaíonn an leagan seo de tar le '-[0-7][lmh]'"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: suíomh na hearráide"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "earráid agus %s á parsáil"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[COMHAD]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "argóintí nach roghanna iad i %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "ní féidir TAR_OPTIONS a scoilt: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Tá gá le hargóint tar éis seanrogha '%c'."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "tá an rogha --occurrence gan bhrí in éagmais liosta comhad"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Ní mór an rogha '-M' a shonrú le níos mó ná cartlann amháin"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level gan bhrí in éagmais --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2547,43 +2550,43 @@ msgstr[2] "%s: Lipéad imleabhair rófhada (%lu bheart ar a mhéad)"
 msgstr[3] "%s: Lipéad imleabhair rófhada (%lu mbeart ar a mhéad)"
 msgstr[4] "%s: Lipéad imleabhair rófhada (%lu beart ar a mhéad)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Ní féidir cartlanna le hiliomad imleabhair a fhíorú"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a fhíorú"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ní féidir úsáid a bhaint as cartlanna il-ranna comhbhrúite"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a iarcheangal"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "Teastaíonn dáta --mtime ó --clamp-mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "is féidir --pax-option a úsáid ar chartlanna POSIX amháin"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "is féidir --acls a úsáid ar chartlanna POSIX amháin"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "is féidir --selinux a úsáid ar chartlanna POSIX amháin"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "is féidir --xattrs a úsáid ar chartlanna POSIX amháin"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2591,31 +2594,31 @@ msgstr ""
 "Ní féidir ainm na comhadlainne barrleibhéil a dhéanamh amach; ba chóir duit "
 "é a thabhairt le --one-top-level=X"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Ní cheadaítear fad an imleabhair a bheith níos lú ná an mhéid taifid"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Ní chruthófar cartlann fholamh (go cladhartha)"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Ní féidir na roghanna '-Aru' a úsáid in éineacht le '-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Ní foláir ceann amháin de na roghanna '-Acdtrux', '--delete', nó '--test-"
 "label' a shonrú"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Scor le stádas teipthe de bharr earráidí roimhe seo"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
@@ -2625,53 +2628,62 @@ msgstr[2] "%s: Chrap an comhad %s bheart"
 msgstr[3] "%s: Chrap an comhad %s mbeart"
 msgstr[4] "%s: Chrap an comhad %s beart"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Tá an lorgfhocal %s anaithnid nó nach bhfuil sé curtha i bhfeidhm fós"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Tá an stampa ama lasmuigh den raon ceadaithe"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Ní féidir an patrún %s a úsáid"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ní féidir an lorgfhocal %s a shárú"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Ceanntásc míchumtha breisithe: fad ar iarraidh"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Fad %*s as raon sa cheanntásc breisithe"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Ceanntásc míchumtha breisithe: spás bán ar iarraidh tar éis an fhaid"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Ceanntásc míchumtha breisithe: sín chothroime ar iarraidh"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Ceanntásc míchumtha breisithe: líne nua ar iarraidh"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 "Lorgfhocal anaithnid '%s' sa cheanntásc breisithe; déanfar neamhshuim air"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2679,48 +2691,48 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Tá an ceanntásc breisithe %s=%s as raon %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Ceanntásc míchumtha breisithe: %s=%s neamhbhailí"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Ceanntásc míchumtha breisithe: %s=%s sa bhreis"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Ceanntásc míchumtha breisithe: %s neamhbhailí: bhíothas ag súil le "
 "teormharcóir %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Ceanntásc míchumtha breisithe: %s neamhbhailí: corruimhir de luachanna"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: teorainn ama neamhbhailí"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: gníomh anaithnid seicphointe"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "scríobh"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "léamh"
 
@@ -2728,7 +2740,7 @@ msgstr "léamh"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Seicphointe scríofa %u"
@@ -2737,12 +2749,12 @@ msgstr "Seicphointe scríofa %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Seicphointe léimh %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2751,97 +2763,101 @@ msgstr ""
 "paxutils.\n"
 "Is iad na ROGHANNA:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Roghanna - cruthú comhad:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "MÉID"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Cruthaigh comhad leis an MÉID seo"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Scríobh i gcomhad AINM, in ionad an ghnáth-aschuir"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Léigh ainmneacha comhaid ó COMHAD"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "Léann -T ainmneacha, foirceanta le NULanna"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Líon an comhad leis an PATRÚN sonraithe. Is é PATRÚN 'default' nó 'zeros'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Méid bhloic sa gannchomhad"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Cruthaigh gannchomhad. Tugtar an mapa comhaid ar an chuid eile de líne na n-"
 "orduithe."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "FRITHÁIREAMH"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Léim go dtí an FRITHÁIREAMH roimh scríobh na sonraí"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Ná taispeáin teachtaireachtaí diagnóiseacha neamh-mharfacha"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Roghanna - staitisticí comhaid"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Taispeáin inneachar an struct stat le haghaidh gach comhad sonraithe. "
 "FORMÁID réamhshocraithe: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Roghanna - feidhmiú sioncronach:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "ROGHA"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Rith ARGÓINTÍ. Úsáideach in éineacht le --checkpoint agus ceann amháin de --"
 "cut, --append, --touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Déan an gníomh sonraithe (féach thíos) nuair a shroichtear seicphointe UIMHIR"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Socraigh an dáta le haghaidh an chéad rogha --touch eile"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Taispeáin na seicphointí a ritheadh agus stádas scortha den ORDÚ"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2849,7 +2865,7 @@ msgstr ""
 "Gníomhartha rite shioncronaigh. Ritear iad seo nuair a shroichtear an uimhir "
 "sheicphointe a sonraíodh leis an rogha --checkpoint"
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2857,124 +2873,124 @@ msgstr ""
 "Teasc COMHAD go dtí an mhéid a sonraíodh leis an rogha --length roimhe seo "
 "(nó teasc go dtí 0, mura sonraítear an rogha seo)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Iarcheangail MÉID beart le COMHAD. Tógtar MÉID ón rogha --length roimhe seo."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Nuashonraigh na hamanna rochtana/mionathraithe de CHOMHAD"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Rith ORDÚ"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Scrios COMHAD"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Méid neamhbhailí: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Uimhir as raon: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Méid diúltach: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "theip ar stat(%s)"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "fad iarrtha %lu, fíorfhad %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "ní gannchomhad é an comhad cruthaithe"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Earráid agus uimhir á parsáil i ngar do `%s'"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Formáid anaithnid ar an dáta"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGÓINTÍ...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "ní féidir `%s' a oscailt"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "ní féidir 'seek' a dhéanamh"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "tá carachtar nialasach sa chomhadainm"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "ní féidir gannchomhaid a chruthú ar an ngnáth-aschur; úsáid rogha --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "masc mícheart (i ngar do `%s')"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Réimse anaithnid `%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ní féidir an t-am a shocrú ar `%s'"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "ní féidir `%s' a theascadh"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "theip ar an ordú: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "ní féidir `%s' a theascadh"
+msgstr "ní féidir `%s' a stat"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "ní féidir an t-am a shocrú ar `%s'"
+msgstr "ní féidir comhadlann `%s' a bhaint"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "ní féidir `%s' a dhínascadh"
@@ -3014,6 +3030,9 @@ msgstr "Ordú críochnaithe\n"
 msgid "--stat requires file names"
 msgstr "Tá ainmneacha comhaid de dhíth ar --stat"
 
+#~ msgid "OPTION"
+#~ msgstr "ROGHA"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr ""
 #~ "%.*s: Ní mór luach deimhneach a bheith ar an pharaiméadar ARGP_HELP_FMT"
diff --git a/po/gl.gmo b/po/gl.gmo
index c7edfa1af65a72086dcc1c8eb09f1dffa762e842..e59e26db002921c01bac1184414aa3df69b27c67 100644
GIT binary patch
delta 26
hcmX>ad^C8&HgR4{T>~RsBVz?a6Dw2m&4<OAgaCWj2jKt!

delta 26
hcmX>ad^C8&HgR5aT|*;XLvsZ~BP(OW&4<OAgaCV@2iX7s

diff --git a/po/gl.po b/po/gl.po
index dc555b45..9df5bfae 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2002 Free Software Foundation, Inc.
 # Jacobo Tarr�o Barreiro <jtarrio@iname.com>, 2002.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2002-03-26 19:17+0100\n"
 "Last-Translator: Jacobo Tarr�o Barreiro <jtarrio@iname.com>\n"
 "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
@@ -98,7 +98,7 @@ msgid "give a short usage message"
 msgstr ""
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
 
@@ -233,12 +233,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -246,11 +246,11 @@ msgstr ""
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -502,54 +502,54 @@ msgstr "Non se pode executar un int
 msgid "Cannot execute remote shell"
 msgstr "Non se pode executar un int�rprete de comandos remoto"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Direcci�n de desprazamento f�ra de rango"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 #, fuzzy
 msgid "Invalid seek direction"
 msgstr "Proporcionouse na opci�n un modo non v�lido"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 #, fuzzy
 msgid "Invalid seek offset"
 msgstr "Marca de tempo non v�lida"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Desprazamento f�ra de rango"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 #, fuzzy
 msgid "Invalid byte count"
 msgstr "Lonxitude da fita non v�lida"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 #, fuzzy
 msgid "Byte count out of range"
 msgstr "Desprazamento f�ra de rango"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 #, fuzzy
 msgid "Premature eof"
 msgstr "rmtd: Fin de ficheiro prematura\n"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 #, fuzzy
 msgid "Invalid operation code"
 msgstr "%s: opci�n non v�lida -- %c\n"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr ""
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 #, fuzzy
 msgid "Unexpected arguments"
 msgstr "Fin de ficheiro inesperado nos nomes alterados"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 #, fuzzy
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
@@ -559,146 +559,146 @@ msgstr ""
 "  --version  Amosar informaci�n da versi�n.\n"
 "  --help  Amosar esta axuda.\n"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr ""
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr ""
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr ""
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, fuzzy, c-format
 msgid "cannot open %s"
 msgstr "Non se puido abrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Comando lixo"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Isto non semella un arquivo tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr ""
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(canalizaci�n)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Valor non v�lido para record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Non se proporcionou o nome do arquivo"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Non se poden verifica-los arquivos da entrada/sa�da est�ndar"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Non se poden actualiza-los arquivos comprimidos"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "No comezo da cinta, sa�ndo agora"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Demasiados erros, sa�ndo"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Tama�o do rexistro = %lu bloques"
 msgstr[1] "Tama�o do rexistro = %lu bloques"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, fuzzy, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Bloque desali�ado (%lu bytes) no arquivo"
 msgstr[1] "Bloque desali�ado (%lu bytes) no arquivo"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Non se pode recuar no arquivo; pode ser ilexible sen -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: cont�n un n�mero de volume non v�lido"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Desbordamento no n�mero de volume"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare o volume #%d para %s e prema enter: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Chegouse � fin de ficheiro onde se esperaba unha resposta do usuario"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "AVISO: O arquivo est� incompleto"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -710,278 +710,278 @@ msgstr ""
 " !          Executar outro int�rprete de comandos\n"
 " ?          Amosar esta lista\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Non hai novos volumes; sa�ndo.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "O comando \"%s\" fallou"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s non contin�a neste volume"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s non contin�a neste volume"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s ten un tama�o incorrecto (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volume est� fora da secuencia"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "O arquivo non est� etiquetado para coincidir con %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "O volume %s non coincide con %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 #, fuzzy
 msgid "write did not end on a block boundary"
 msgstr "A fin do ficheiro (EOF) do arquivo %s non se atopa no l�mite do bloque"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "So se puido ler %lu de %lu bytes"
 msgstr[1] "So se puido ler %lu de %lu bytes"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "O contido � diferente"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Fin de ficheiro inesperado no arquivo"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "O tipo de ficheiro � diferente"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "O modo � diferente"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Os uid son diferentes"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Os gid son diferentes"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "A data de modificaci�n � diferente"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "O tama�o � diferente"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Non ligado a %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "A ligaz�n simb�lica � diferente"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "O n�mero de dispositivo � diferente"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verificar "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: Tipo de ficheiro \"%c\" desco�ecido; tr�tase coma un ficheiro normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:541
+#: src/compare.c:540
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "O arquivo cont�n cabeceiras base-64 obsoletas"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, fuzzy, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "FALLO NA VERIFICACION: detect�ronse %d cabeceiras non v�lidas"
 msgstr[1] "FALLO NA VERIFICACION: detect�ronse %d cabeceiras non v�lidas"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "valor %s f�ra do rango de %s %s..%s; substitu�ndo %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valor %s f�ra do rango de %s %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Xerando cabeceiras octais negativas"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, fuzzy, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: ficheiro sen cambios; non se envorca"
 
-#: src/create.c:616
+#: src/create.c:615
 #, fuzzy, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: ficheiro sen cambios; non se envorca"
 
-#: src/create.c:643
+#: src/create.c:642
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: ficheiro sen cambios; non se envorca"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: O ficheiro encolleu %s bytes; enchendo con ceros"
 msgstr[1] "%s: O ficheiro encolleu %s bytes; enchendo con ceros"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: o ficheiro est� nun sistema de ficheiros diferente; non se envorca"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (memoria volcada)"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipo de ficheiro desco�ecido; ign�rase este ficheiro"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr " ligaz�n a %s\n"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: ficheiro sen cambios; non se envorca"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: o ficheiro � o arquivo; non se envorca"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: o ficheiro cambiou mentres se l�a"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: ign�rase o socket"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: ign�rase a porta"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Pasando � seguinte cabeceira"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Borrando o que non sexan cabeceiras do arquivo"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr ""
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, fuzzy, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: a marca de tempo %s est� %lu segundos no futuro"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistencia inesperada ao crea-lo directorio"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
@@ -1004,7 +1004,7 @@ msgstr "Tentando extrae-las ligaz
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Non se pode extraer -- o ficheiro � continuaci�n doutro volume"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Fin de ficheiro (EOF) inesperado no arquivo"
@@ -1035,22 +1035,22 @@ msgstr "%s: Non se puido copiar este ficheiro"
 msgid "Cannot rename %s to %s"
 msgstr "%s: Non se pode renomear a %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Renomeouse o directorio"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: O directorio � novo"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, fuzzy, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: o ficheiro est� nun sistema de ficheiros diferente; non se envorca"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Renomeouse o directorio"
@@ -1176,36 +1176,36 @@ msgstr "%s: Borrando %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Non se pode eliminar"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Omit�ndoo"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloque %s: ** Bloque de nulos **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloque %s: ** Fin de Ficheiro **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "bloque %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr ""
 "Atop�ronse espacios na cabeceira onde se esperaba un valor n�merico de %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1213,340 +1213,340 @@ msgstr ""
 "a 2"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "O valor octal do arquivo %.*s est� f�ra do rango de %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "O arquivo cont�n cabeceiras base-64 obsoletas"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "A cadea base-64 asinada do arquivo %s est� f�ra do rango de %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "O valor base-256 do arquivo est� f�ra do rango de %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "O arquivo cont�n %.*s onde se esperaba un valor num�rico de %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "O valor do arquivo %s est� f�ra do rango de %s %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " ligaz�n a %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " Tipo de ficheiro %s desco�ecido\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabeceira de Volume--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Contin�a no byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Creando o directorio:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Renomeando %s a %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Non se pode renomear a %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Renomeando %s a %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Ficheiro eliminado antes da s�a lectura"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "proceso fillo"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "canle interproceso"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr ""
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr ""
 
-#: src/names.c:74
+#: src/names.c:73
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Non se pode cambia-lo directorio de traballo"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr ""
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr ""
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:147
+#: src/names.c:146
 #, fuzzy
 msgid "wildcards do not match '/'"
 msgstr "O volume %s non coincide con %s"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 #, fuzzy
 msgid "command line"
 msgstr "O comando \"%s\" fallou"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Non atopado no arquivo"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Non atopado no arquivo"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "O arquivo non est� etiquetado para coincidir con %s"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "As opci�ns \"-%s\" e \"-%s\" precisan da entrada est�ndar"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Grupo non v�lido"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Qu�rense as caracter�sticas de GNU no formato de arquivo incompatible"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1762,7 +1762,7 @@ msgstr ""
 msgid "extract files to standard output"
 msgstr "Erro ao gravar na sa�da est�ndar"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr ""
 
@@ -1798,7 +1798,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr ""
 
@@ -1999,7 +1999,7 @@ msgstr ""
 msgid "Archive format selection:"
 msgstr "Arquivar da entrada est�ndar"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr ""
 
@@ -2084,118 +2084,118 @@ msgstr ""
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:694
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Eliminadndo o \"%.*s\" inicial dos nomes dos membros"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2203,424 +2203,433 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:752
+#: src/tar.c:753
 #, fuzzy
 msgid "ask for confirmation for every action"
 msgstr "Non se puido le-la confirmaci�n do usuario"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, fuzzy, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s: Non se pode saltar a %s"
 
-#: src/tar.c:933
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Non pode especificar m�is dunha das opci�ns \"-Acdtrux\""
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opci�ns de compresi�n conflictivas"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " Tipo de ficheiro %s desco�ecido\n"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Non se atopou o ficheiro de data"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Substitu�ndo o formato de data desco�ecido %2$s por %1$s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Propietario non v�lido"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Factor de bloqueo non v�lido"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Lonxitude da fita non v�lida"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "M�is dunha data de umbral"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Proporcionouse na opci�n un modo non v�lido"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 #, fuzzy
 msgid "Invalid number"
 msgstr "N�mero de inode non v�lido"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Tama�o de rexistro non v�lido"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "O tama�o do rexistro debe ser m�ltiplo de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Lonxitude da fita non v�lida"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Patr�n desco�ecido `%s'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Opci�ns `-[0-7][lmh]' non soportadas por *este* tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, fuzzy, c-format
 msgid "error parsing %s"
 msgstr "Erro mentres se cerraba %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "argumento %s non v�lido para %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr ""
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "A antiga opci�n \"%c\" precisa dun argumento."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Varios ficheiros de arquivo requiren a opci�n \"-M\""
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, fuzzy, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: A etiqueta do volume � longa de m�is (o l�mite � %lu bytes)"
 msgstr[1] "%s: A etiqueta do volume � longa de m�is (o l�mite � %lu bytes)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Non se pode verifica-los arquivos multi-volume"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Non se poden verifica-los arquivos comprimidos"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Non se poden empregar arquivos comprimidos multi-volume"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Non se poden actualiza-los arquivos comprimidos"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "De xeito cobarde rex�itase crear un ficheiro baleiro"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "As opci�ns \"-Aru\" son incompatibles con \"-f -\""
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Debe especificar unha das opci�ns \"-Acdtrux\""
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/update.c:87
+#: src/update.c:86
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: O ficheiro encolleu %s bytes"
 msgstr[1] "%s: O ficheiro encolleu %s bytes"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 #, fuzzy
 msgid "Time stamp is out of allowed range"
 msgstr "Marca de tempo f�ra de rango"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "A cadea base-64 asinada do arquivo %s est� f�ra do rango de %s"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "O valor do arquivo %s est� f�ra do rango de %s %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, fuzzy, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: Grupo non v�lido"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr ""
 
@@ -2628,7 +2637,7 @@ msgstr ""
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, fuzzy, c-format
 msgid "Write checkpoint %u"
 msgstr "Punto de control de escritura %d"
@@ -2637,232 +2646,232 @@ msgstr "Punto de control de escritura %d"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, fuzzy, c-format
 msgid "Read checkpoint %u"
 msgstr "Punto de control de lectura %d"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Xera-los ficheiros de datos para a suite de probas de GNU tar.\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 #, fuzzy
 msgid "File creation options:"
 msgstr "Opci�ns de compresi�n conflictivas"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "Erro ao gravar na sa�da est�ndar"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:168
-msgid "OPTION"
+#: tests/genfile.c:163
+msgid "N"
 msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 #, fuzzy
 msgid "Update the access and modification times of FILE"
 msgstr "%s: Non se puido cambia-la hora de acceso e modificaci�n"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Marca de tempo non v�lida"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "N�mero de inode f�ra de rango"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Erro do sistema desco�ecido"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "Non se puido abrir %s"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 #, fuzzy
 msgid "cannot seek"
 msgstr "Non se pode pechar"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "Patr�n desco�ecido `%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "Non se puido evalua-lo ficheiro %s"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "Non se puido evalua-lo ficheiro %s"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "O comando \"%s\" fallou"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "Non se puido evalua-lo ficheiro %s"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "Non se puido abri-lo directorio %s"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "Non se puido abrir %s"
diff --git a/po/hr.gmo b/po/hr.gmo
index 647175531ce1e3c1115ed12079b8ea70d26943a8..20e566ce96a0e5b813846bb7ca1cf7efa5e5f13f 100644
GIT binary patch
delta 30833
zcmdmUpZUgD=K6a=EK?a77#Mt+7#Iu~7#L;<F)#=-GcYiyGBAL|eGDOVh#><*gdqbM
zv=}llNHQ=mv>GxnoMvEPm~Y6yAi}`FkZr`kz{bG9&|t*CpuoVu&~C)QAkV<Su)>Ie
zfro*C;RKYvYQ(_M&cML%$cUkyL5zWcA<LM7L63ofq0ty@FT)071_nU}28L_K3=F~y
z3=A)f85lrz|1oA@P-0+U&@*9RaA#m(2sB|}P+?$Tm}$bmz{|kEu+M~nL56{W;fx6b
zgFXWT!%Gv010+ou7_1o>7%WX07^D~&7)nhc=1(xKXJ8O#U|?8e%D^DXz`(G}lz~Bj
zfq~(IDFcHX0|UcDQw9b#ke|&UK2$ejV6b9fV6ZWRIHcT+fx(P{fnk;z14A4G1H(l#
zhy@1b3=Fai3=H1p3=9$s3=Em(3=EnK3=B=?kdRno&cKkuz`(Gx-kgC!hk=1X&H~~P
zZwm$nBL)VBWDAIor&%yCn1F)Lf`LJqfq~(#1p`A80|SGiB?CC*S}Y+Boo&g$PzLgV
zCB$KdRtyYw3=9k*RtyaM3=9mDtsqgd*ouKch=GCOh!w=1`s-E<3>pj!3|!U_7aChb
z42ZR6U@!*7r8UHdTdW}=^V%9>;U8;=1Ep;s4)e8PU{GXWU?{YKIC!!R1A{pO1H%a$
zNYpaeLd@5<Wnl1PU|@)}1*@-TSYpe-AkDzQaLg7G_m6BLA;Dn>2^j@DNF4gwK@7^Z
zV_;BcU|^VI2XXijJ4lefwS)MK!yY0pZ4Ze8XM2eLL@2+}9+IHvgZcFg3=8cU7(fYr
zzdgj~hwULgcxDet&C(8#w4vkxvB1IslKQ<J7#R2%7#LEabO}_x*#Y9yX%3J?cfbLX
zNdGuMf?UxN60#wV3=I193=9k%AO-^i!wyG?k6$=Kd?f0`z@W{*z+m76$ptY^5CaRG
zAW^W!i2)R<45ytK7;G3A7&x6FA?M}{ad@0F0|PtAfzA*MbDbF&Tp1V`7CJ*5_}rO+
zq282%fkDs(lB(TZAP#79fduV(7l==9xIldH$pw<=#9bjls^<!Epr0!PgBt?_LzOGU
zqJyps3|b5f3}0O#A*$fUzyPwx*$v{bN;gQ<G`KO;gX4al8>H~r<p%M=Yd46?ncX2Y
zH<T83hoow0cSyF3a)&sq(H&y(GIs`sNCpOmTkeoFW#R!*7vKSLc)15S(J}OSKpeio
zqaGq~#{-gz|9L=MtmFyF@2;MZ0wu~566EEc5SLH$gha^}Pe`^p;R&(eB~%|MiGxZ$
zQ7=gLGxcI%aA06yaP@+OaGMvzoXz!K5Q8pyL4x$D7Xt$e0|NuAH>9B8@`fZ%ac@YP
zkoIO^;AUW8F!P33?Bor}mdW0bL|WnvF{jHL;-OXE5Qm?G^51$xvZbI8#N+jzJ`4<8
zpt9Qs;`1^eh|6X|`P+RU2Hf(2_~fS#Bo%Y|LVRN53yJGYD1VAC!~+L?A#r`o7vi9^
zzK{@l>kCOMEPmjqt7q``gZQk#4^mWi`$5X)C4P|9y3LP)A(4@R;g280;<x~a11APR
ze7rsY;;^Fukf^#E014_(0SpXI3=9m$fe?OKAjHSp10f-JGZ0kX)H5(V4TNaq4q{-?
zWnf^?2!cdOSP&#JW(7g=eNzy`!l^+JAFU38q><A>kf?YN1Tlv(7?Nw`f*}QwMKGkC
zNC<{_G(Q*;5?vs5p!~lu7-HdWsKj|F|5-33Zhr+s4CW4jsM836ILIah5)%F)kX(`*
z0&!Sr2qbEzhCnPl6asPh-4IAE`8fm<MU0^g4E3PI#1;yPE1^(`k0e7Oajq8%iCf=L
zNYGV4=~<!RxMSD@r5}bus#~@&NL^tT2Jv}r7^J|O8V1R>7sDXsia<D|Jg^LBs0Rmm
zemJB=ni~$W@OU@_Loovb!>4ct21f=4hO`KX!&XE<f_85NBxJ5fKyt~82uKKhjezJE
ziiG&kHWK17r$|VC_l$(3t<p$Hh_px6LlWKGNQi;kA|XL|9IEkoBm)C00|UdmNKj&7
zVE7UV@wrqKBpcaBK^#^d1xYJCQIKr6Bnnblorr>1{5=X%TPjCG(n4r7BnngNqakru
z9t}xEAU>$!u^<}agZ<Hv)O{oxV$qdoNC>=)hFHKH14-RRF_5?|j)8<gV+<slt%-qH
z^f?Bik1ZBb(kjG4JX9YT%fR5mz`#%*%fR5wz`(F47Ls^C%^6TNs~ZRLS!f)@pxih}
z>TQUFB*y7+5Qnagg9P;kD1SSYzb6h7f`{WEMe@lwNQgg;1KU&2@GlM$7uxZV5O9o#
z#A#AIBr5XbAr9z|hxlxHJS0dj#Y4*We^6RA0TNO^2@DK{3=9l036Mm5E&<}ew@~_1
z0s})dBLl<t1O|q44D}2Q!AX#yP)ddbsYf!TBrH#c1lg=)h)=g9L(<3zDF0?M149%8
z1H;>7NUHZpffOwDDGUrg3=9n2DG>cPQXn4rlmdxDp;SmnsHZY82!ry!b1EbR!c(C^
zoXWu90cv`sLVSKQ6{7KBDkSc{r9y&QJ&l1O4AdG<V_@(EHOHa+^Jx(EYUz+#(K;QH
zJ@eBcX>EQw!~x6G85rt8CEnq5NSuC5hXff%2E@ne8ITaM&Va~gWkB+CV+O?Fy%`XL
zKW0FpL@^VR?|m~Nxu7%?;`5oA5DRx^LZawuCIdqd0|Ud;Oon=JP+4R#FmQr=0Hyo0
zAc<xsl%AgjX|pZOg47AivmoWg+boEM;@Ob=Z=Vf`%9w13N1C!37!p7&o@{VpV_?dG
zgs6TF#DnfR^$-owIS`*V=0NIz4N&@C4kR)0<U-nnb-9q*a&s=kf_=FVi|^(_O0-|O
zkV?lO50cM|^B`%aDG#D<avmg&Y{-K+WKTU*;tG`h2-U!s4~awhd`Oxw$%hod?)eZ0
zX68c-n4S+QA=l?a^8ZJu`v3WmTqINg@wt2f#K%4b5OWitbbV<7Bu={uAgTUX0Rux8
zsOwY!DXT*YA(cpNAp=7ysDD@piR*ub5QDUeAZft92$Bo(iy+x_SrH_$UWCds6+;@S
zM#Yf2Aio&wuzH4d#gMqX4V7Rmfs_L-C6KsIh0?1_AVK@F1mZB0Qb>^+TMBVNe<>uW
z_m@Iy#S5hj4B?=nyA;w_bSr~6ysr$BICqtS98}N1aIXv!x6<X1APy*pq}rl#h)*U#
z`Fo-AcgrC@{a+5T$gBe5;E)Q414}C)QM981V&1a~h&ql+NZp}U2?-hRN(KgNQ2wu}
zWMHrawf`$28b4J+T&Pe5p<SvV`8%Tu;`2>akSMub1&PydP;stmh`ez%!~-$a5DROn
zA&G8bHN+unt05tAx|)HZ9@HKFUJZ#$p&E$6>NOCbJJmo8%B_JoptlAR#MhzfUerLU
zQ|4N5Tr!B(GB9{EFfcgPLLAZurMK5Y>X-+$kdRibgXEs5I)-|1U#_x_fnhx;pVmP_
zBCsBkCc5h(F5OxW@yWw_NSV*pzyR*9>ozbjJY`^DaBg5=5Mg9s&}@X1^>$5=xOZ-X
z)Q+>8AZg@I6C}IyG(!@*QFA@S<)O`xpl@o1DA>>palo}^hyxf}ASIwq3na*$TOdIi
z-U2Dvl3O4pTYU>81p8Yc`c}0tFj#;FGFl)Z%-;&>X{oeA8nf~Btq_+@YJ~*lp;k!H
zUulI@9{-_y$u@|%OB=+Z{5FWb`Zh>OxxNijCv0tl^a=O0LG=G>gM^q!JER=3Zif_f
ze(eklu?!3h^|kE~gKxJ(LV~RW;&Wpt9oqp3s`d^@i)U2_Bq|<tKvFk*C&VY3osf`=
z>4eBPbwbk4@=i!<Ki&zc_kVOk;$E-|?2&o~gDwUJKL!Q{hb{(&U<L+;{w_!mKJJ19
z;lD1354E}>78rCxf<CO9fx(c8fg!0IV!@PN28M$S3=Btm85k-+gHL^s+K!<g;!uu$
zh)1;gAtj?Pn677Fi0WqmsbNU(hh&fM{SY6CPJmP{9upu%ZNUVHK^+qq80;As7*;{~
zuO>j6T09dWsXlljL|@HBh{Kjlgp{yXCqfD=!AX!25a&q@47#BF-!};oS9>NwTzG8~
zB+h<Lf@C*^$q;eF$q<7>CPNZq&16VJWAbE(1rH`OFk~_?Fvv_{U|7e%z|b}YQt6mZ
zg+xWrR0zLlDkPWnPi0`J2aR@}oXWtk71V8>3P}SKra|Ir?=(nBcWoLZU-M3f_%w1l
zB#kVX4zcLebVz%kat6eQYiBSp++<*2xIY8p)15OJ7>XDe7+7Y3<D8*<7NlTnpT$rQ
z9*tT(3zE3@&4MJxZ?hN}azLY8vmrk3n+=JQjk6&^|712KJE_cph+EEqr23pWkdRw7
z2a?J!&Vgh%hPjZ&t@T_;0aQO1lHIq=t%np8kLE%wwwedAFm)azs5|CCEZ8s)k{BP)
zgCs)!`4Dl_`H+yvm=DoEX+A`L?|ewP@OVBXWd1|NjTb<C9=QM#g|+nyApQF(3m_KG
zSir!*#K6FCU;)H}!wVqw`?m#<)NHX3;&X?Ekn$pQAtceJFNEapR;c)lg^&_*)k26*
z4=jY3^KKy|ks2(5q?!82MUXh33Z)M%g1GqoB1r00UJOY*A&VgePRU}3MN1Y#(#H11
zkf46I7?L(*mq6k?WeFq%)-Qn+OsAprr6rIkxVeOZ0o4Cw;9CkwG$~6VE}FI!V(_J<
zkRaz=2JwOEGDt2-UIy_&EtJ1(86-6ySO#r^En{E^0gak1hs1sBa!5!XSPs$uc{#*`
zyemK<TF=1XxB}us&lQlk$y@<y7%(vOu7CvXsTB+i9H2pHum%Q(k5K;46%dP<Rze&U
zz7pc_hLw=SxP2vLjQ8tGh{K{*L2AJXt03jb)m01(+MxXZeHBEb@@j~WqgF!<Y=iRG
zuZB4AHkAIo8q(m9UIQ`6W(_2+<JLfm){-?4pH7B~uU!Mte|QZf(LG+nz>v$p!0>Ag
zwEds47Glt}wGah6)<RPC`L&Ru_vczjoc~`7NvuNaAo61CAc@dn9mIm5br5w$>mWsV
z>pF--7OaEhj$P{@_B>q&$)@b<8S25~@_Oqbai6swV&Ss&kPuk29%As-^^i*CD^y%+
z1Ee5v-T+BV!5biP+ySL`Z-6AmcN-v4XSxxR2<<jPs&Chgkf@E^SPzM#@{JIK?rekv
zq2MM6ZLkTFiv2f1irVZ=3=Dyc3=BIqK^)Ar1>!@uEs!Wk*a8WGvMrDh=-k4<;LE_k
zuw)A)SA5z6>G{}hg@oXQ`mK;Me%Dq=c00Wl;?qA{A&EtC8^pzF+aLy3ZG%)sQ@25i
z=(XD*1|8c53DOVSAlX!WJ0z96Z-<yyy&V#w3${Z-?&Nle!|QKuhZyvEJ0z%ic0hcr
zvjd{hV+TZG?hc5$_8pKG%>pR@CRF_=sCvGg5DScVLK3y}PDpO5+6i&c_MMPQ==Dx;
zhozo@V;3aO#dbluRx-OFaizWsQqt+|f+QN}U68h1>Mlq~E!zb#`1&qL_7d3*p}lrP
zg1TWh14AGK1H<Xv5cRTqAmV;|AdT6Xdq57VXJB}|2hwgA-wTP;sJ$Qw28L;SAr_w6
z3mH`A-UrFosrw*ty?7ra8}8f(@zJe)kSO{N<qPeHBuf4LkX)0rAJRBY+Yia++4~t7
z#6kIgI*7r*z_5Nlr1ChvACidP?uW!F!vRPLsUHB9SPTrh2Ox27dH_;%#~*-{bUg<k
zQF#0SB&wbtfLH`-7TGc|Fz6hFghUpUo_&ykp&m4YapoW-C~qHx1ii!|h|lB?L2`k^
zA&ABChagR_^h1zDTYL!O^Oi#phc7$?sb-Hu^>H7DRO?!Y85sN-7#NZcL)33N3@K^P
zA7-cr_t8EdhEyWnM<8)jbp+D)J9-4-V(z05pV}OSB+ksEkhIYX<<B|_Nu=A3LW26j
zQHV#b9EFT4+=lX>9)(1~o1>5r{CKn;;zQ|UkV?kt7$gWYjzO|Z$1zBWxbYYyTb(!t
z$rV42K`JfT<B(MDe;mSZI}RyFb{vNkFmI1Tnq=H3Aoi4=fJEh#6Oe*wR{aSEhTDt`
z42w@NFdPN7$4@~tx}Jtun0y)%GLuh3g6`01NZj5(4e{}h(~$B&=nMlxJOcxR))`32
z*L4OGMHkO7Ff@XuTF*dyoN^YDnETE`JXZhWEX2qEp#t*fAQqXOgIE-N4pPhIoP$_+
z@EjxxZl8lBuJ7j{K2bi;z>on-WalAqJ@q^T!y?ca&v}SN9Ty-WH2(r5mtDL7j+%M~
z-iwgLCVmkTlol5uKFYrcaaj9Bh=Z12grtQd7a_UhD^xwlB}fR_UxHLJd6yu$X67YG
zQ|`beNYFpN1j(LEmmv<4y$tFH)H5)cT!xI}IbMeNbk1eS*v-ew;1Y^~;R+<q_^v>5
zfyfm|B9plSDWVmwKrBwZ0x35pT!BR4kt+}nJh}q4_$s8Xk-Z8jN1CoOFeroa|ADKJ
z5O{JGqJi}qBs-~IgCs)lYv865L&-G;hNTP)45zL^d|YrH9E1$>uS23@<#mX~SFb~Y
z`tx<j=$GmZNL04nfP}>S8<4cH?*;=yJ!sDM#SMrLxNbr$G`$Jo$K8YkW#>(Z#tk<i
z+3-A6-JhF~B3JbmByB|Bf@Is$TaY4q_bo_N-n|8>6TaSp6v?c&A>!e;8S23c1oCe~
z;<W!Zq@%IuHYAa~yA8=cTz4QrTXF~DuoZV8v*4HSKzwd?7vg}VyO3;La~F~gSKWoQ
zs_);0=wrVJ$yG-8AeC6sy?RK8V)i{qklnrqi5uSg5We?)NJ&+DA5v*7ybr0*U*Cr~
z)batu0j&=pX<;Lj{`LTp$gCei91`@9fgu~zDSZeTjQac#;t=clM-T(DA3<8N(;q>C
z^x`9k%h?}8e6If(67<QBAyF~mF~mpfA4A&pw;n?hnamSN0cHLKGKL)U1fqZG6Nq^?
zpFo11@hQZE^^#8^F7$p1DL5LQLNp$K3dyGe&md{Q=NTl?6hDK6#N20)eE$3y#6a`s
zkm}q2IixO$dJYN6>CYiPz4{!Iwpd?4vZdY&u*d5e0$)HB)V_eE{<SY4EuOP4Ao>2`
z3y1^%y?|I`{1Ot>-Y+3RJmDoI_bh)2(Rbn{ByR6OY0*~@pZdLmlphVRARgHGih&^p
zH2(kl6(l=FyoOYx?XMXaW-~A_9C{52k+?TtmohAc(ih)AeDW8{S9=Qy`k=QA3~v}1
z7;@h-FuY@6V2FALDMvitL*hQ-J*4e-<UJ%x#6K`F7=!Y^_XkMa)PI0fm&-puLgfAj
zNF4Kjgv7noM~Hm-M@UG_{|KoCw|@kcWDE>vK0<=_=0`}w<qwp${RF91>pnpmIwwCt
z^znRVV5kR;PAPtdr1GfGkdUbR3`t~bKSLaF<})Pjzkh}}Oz{guUEmjpg$-XI4qW^N
z;;;)}AldQ77f4hweT8Ia_pcC-CVz!QRrgnhdhiN{`CmbC!N73$E2Ivv`UVO5!f%l5
zvI9ype1}AZ$9ISWO1?u%%EjLy1<uLukS5pb?+^#c{ea{K?;j9#1wSAmGwlb&gV%r5
zLlW7yACNc{{t3z7dOslrOwCV-!S{bcf}Zggq+wzC3*r-pUyzb5;}>Lt!jTb@jlVKL
zre;8+q31!%azKL_43MrpX!(u_69dBnMh1qgdPW9@Z=eN6P;3uca|K%6!oa|w&&a@V
zf{}q?9s>h|JR<``DOAppiGg7ilzo+ffuRV>290*VW@KP^#lXPO16qp1z`#%ql>@Dc
zn8C=vu!)g@p@e~fp$}vpsJ#JNGz6OegWAs!#0UxUD~t>bAjg5kZ!$74EMkO=lKo?3
zU{GRWVDJWwQZO(ucrh|CtY>6kFk)h0I0<URg2s^;Ar%iN69dCRr~{5NGBBhuGBC_!
zU|^7CVqj<j8O*>?4{juQGBGghVPIg0gDQ4oVqo|JQ2=f@#z4iVGB7Y`LoEhLe}#&3
zLFryb28LB22`Jvn2%6(#U?^c^U@&83V7SM~z~BK@3sSO_v7UhewES%kBLl-UkO%_<
z!&(MNIRN6aGBPl*fP4(q#KgqF@CY<i59NavrA06>Fg#&|%#MIoQq6+OIf5p%K!z|d
zFi1ef@}cxbMh1p*1_p-9p!^R~Qv)JElZH?lRDgh*=2eUg4Bm_k3@S_v42du~s3D-`
zdLSXtx-e@d28M9Z2sjf1LpdX)DF%|e&&a?qkr9$D9iaL^;;~S6{dUl@J4Q&0W*%r-
z6e<zI2pJ#-DZatTz#z=Tz_1#`VPIfb45h0W7#N;0FfeRmWMH@i8gPW_UBL(`%2$9!
zzM*PC)JjGMhLem849TDcZj1~JwV?QSW@KOphH8{yWMFV+VqlmA<%2Y-GBPkIGD1qQ
z&5R5Tf=mnyUQ7%O0id-VjF5b7$^;o;1gZbcz`$?^s$T%KBoDNjhKYe8f{}sY3sjti
z2~ysG>}Rlo3W_s9YAn!lJCH$l7#JAxK?BpEB~*-%6_TLYQqZCjDMm;olL^%eQV+s+
z85kJEm>3xNm>3vdGBPmaFfuSKVPs%<3JPH+28JylMNqtzk%1uu7XP4%;}}%p11PmZ
z*`PIiAf^Qq1A`qS1H)|w1_mKU28IBr#TiiAl97Rd2V@~gF#`jG6cePN0&#bOLY0Am
zVIl(qgE<oe!*S4(O;9v~vN%Wq2!j@oePUo>@Pir{&&a@_#>BuNfRx>KF+!H&<bpy2
zG^)V>ZX7f4LiKzH8N|TA;LpgwAi~7Junfuvt)R?iWMI%>VqkEEng<#m)?xzHzfb{1
zCI$u_CI*IRs3s5v8qWvOAZ*6Oz@QDaXc7Yh!yiUSt5%JXfx#7&@}Y9mptJ$h+y@}F
zAOjc}7?>F$%QVZNYV4Vy;cp8Sc)<XvnLw*qpD;j1#dm`8J81lm5i(J+n~{N`9jYE`
zF2ivsAGBf;w738!4x&GR2nGg*>kJGGKcMPBi&H_u%RohJHE0f>iGg7yXkjT61H%jk
z1_o)U>p_avGBPl1VPs(V4~l!J_)7)`hI5Pz43bO?3>O$7l~*Vu1H*Mj28Mn{NK*`?
z7qp57v<!0rh{M3Z(9FodAjibOzzC`fK;^$4s9a`XV5oz-tcDR%b%GX&axyY7*n!dj
zBLjmuR36ld1+C>%VPs(7XJla5&&a^An*lN|0I~zLX2cX!UNAB+G%+$ToCURn7#SEo
zf?8BiGeGJdF)}brU}UIgsAXhe=wW1FXkcJq_zc2OMF&8t7#JAR86ZP%Y>W&Hc~Ci!
z6lj6*Ls0Py>U2WIH$dqJP+AolTA<Yw#!L(h_dzM2k%57ak%2)StfroUfdi@tw9W@)
zFlbT<v;-G48TE^SfnhFKAp^r2C=F5rT5Md*$iPs+$iTqF$iTqJ#K7>Lfq~%-RE;Df
z1H&zlLQt0+6bg(C46>jE%LHjrL8Tz2*lb1yhSgAwAc-TO_+x@Jxty3FjYg0-2v28Z
zVE6%IfEt=mdIBh385kJ;fmTFMeyA#34;ropt==|dg!CMbfO?IfvXha4;UXggLl-DQ
z7#SGa7$6fkpf%NXP}4vQyWKz~4M-gWWK;np^%%6&1yryzF)$P`LYhsy(4gyNfHavw
zYdB;;nc9<)fuRyKp$lqFFflMlgJ?zu25UwJhE7HXhDb&Rh7?8yhHFr7-vgDiObiUm
z86Xq6mqAq?$W{hO|LhDS1H*5qT97a|BLl-aMo1%&hY7M`!2lG-3=9m*L6tg45oiVZ
zdr%}XFfjaQWMJq<GGHGgq!$2MUkg&3&d9*<lL6A|%wu3+Fkxh1U}Iunn8V1xa2T{Y
znUR4(nTdhHiV4zk>|<bHP-bLc_zThu%12NdOo0lOy<irE@PP&sJCvRdnx=$Efk|B^
z$TaqIMo4$}DkB3!2Lq)41zKUm57qY=>VdzYb`(erBLhPiBLl-4(2{r1@^&T$hJBz_
zraz$yTNxP`I2aiioInjUsMsq;$S?-jW+(w#6%1k?U}RvJ%)r2~pMim4%49|Z;mHC9
zETG9UhC)z;f?7{Z3=E>6>YkB-VIu<r!(m1Sh8qkF45Cmcf>v@XFflN=FflMRFfuS~
z1{n)VeV~Pvj0_CAj0_AdP?v~7<!l%k7#1=xFsL&@#y3F1a*PZNy$lQtwxHB>7vwBZ
zsms8?V8I9(LjWl{#K6GtoPmMiHE3)RYA8tD1&QqoWrGI6Kyv3985s1Tjs-1@_hDpU
zn8m=rpa5#Kf>I>|0|PrF1H&(<z5-Ac1=<<_(#*}o!0;AS#WON6Y-3<x*bY?$+5~X|
z)EI*DL29RfT3w6`3>z327`{QpL7N~hfYvoa`KLjl0a6Ub4;dhXX%)X17-9?=7zzv-
z7#c)>L5c#98j!yK|NsAA^=q<~fnL2&W^!s?ajJrQfKQpRwv~drUnq#JP?lO$oSC1e
zV62c|q>z(Xl3Ju-lTlJqP;8~IpPpB$mtT~wp99fbte;+xqnA;Vn`5WP6_SxztdLo(
zkXDqMs!*JtR#Ki=lxn3=nO~}qSd<D8F3DF&&PdElPgO|t%1cowN=?ZuE-A`PDlJJ>
z$SeVwky?}rGQ`hcA>1)2$k8t(Qb(aAU!f!;RUx&aBsH%@p&+#=H?yQ9HANw*QXwa?
zT#svWs=+iyos9h4RE2`X^i(T^d&|qq^<Zv>IZ0o&Sby_ZLltI8-_+cs)FOqv#N1Sc
z<ovvn#LT>61$8|=_01xthuP}YRf|=N)fH0mQ;YM|OB51wa`MX+67v)ii_%MTQ}ar=
z7*va`6!Hs7K%oUyoLQ`pn46TDUYcK8Oi12Zp&-AwI5R0TC$l6owb%;HI40HN$qiv*
zj9imXTQ8JRD9tNMP0mlx%dARGLA8`?a)!+kHPvDT)nbK=#A1cKe1+7swAADh23=ir
zq0OAO!c2b7Sd@k+6s0Dn6f2}<=A?pyq!^SEk`hZYa}_i|MiwV07NmmG1k}eFiFqkG
znR)4&o2Be0aImE+xOw`xZeHSkfN}Fq&+p7uISLu6IRy%(#hH2O;KT)s037j?o>~IZ
zpl`>ud8O}Oj?KAYX&m*b3TgSEa0i(IvA0;E9F#^%i&Ik+64OAbGcm7HAum5q7b2gS
z1CO9$g-lRvC1+%or79#Br6!hu-CtUe0%GOnr=;pBD1>CB7N<f3v>2RH3-XIIL2;Ux
zqu`sE2eJhem<suMIh9C8mt-WCKph84ow<4n3IRE(iN&cppnxnY0;lqljMQ9(f};F_
z)S{e9z0DWmD!B!UQgidmQWa7%i&B$I@{1}b+hk>P7MCQJC?u#Bt8bp46(_@FY%uwM
zn=P-Uu7Q!Rk+FiIiIu7OWY2bK0SjFNLtR571w#ufV`E(di_InN3m7L)?=*&F=j6<+
zL{KJ1$<Ud3iAQ=flM@w;6*6-&6|xhH^FYdo%GCa4`3hO73dK43N%<*>dEk6qmRe*5
z70Jt2NKaJA&CE)z&&x{80_9?bl+3KuoXnC`JuW|2Uq=NmN8jL(Fh_-ye1-I)#5|BY
zQt}H*k1i}p&CASCs7lPv&&$u%<KklA3Mk6VN-WDPNd*O2dQoC-adxUgdQs}ph1sbJ
z8hMEdsd?!+sm0m(xjG6y&hd^uKDN%93VDeNs>OPfA9V_Imnsw#WoD(8<)@TR{@1B6
zS-wk@Js>~3C^av2vVE8I<hU+2#?;BFT~>^Klb3WU8x*Cc<fUpV6qltIXQy&06e^$t
z&#Iins!WB<Dut57BHhHvzq_P(bFvZ@KoOdloS9WRS*p9b-Y>BzH6;n;428VRtW<^4
z;)1NyoJ0oCypq(SywsB7>_mm)5~%0%QxrhOhK*{m9T$ETutFDCA!Y|EU=)f|ofPsw
zIkvbYu?*z4yhMfkviw|#uSywIixrAf6>{^B?n_Bj$V<eoYO;KfMtxptN&b=EyhMev
z)SS#Cy_tE53L2`#3W~O%(n4E7wOA8eLb;XZWrNe1YB4BjR3(-b9bK52lc-P(jjQ}z
zusT0bP~_&PmmX;cM<^(j<Yks*DijnYmL)2r<QJEe79=Ww!vmy&R{>ea<PANB+(;%&
ze%_-ljKo*StV$`%&&r%E-z%?@mztfQu8>kxnx3By@pmG~L{tOgdX-g?4Jggd$p^Uy
zQ{|jq2|Z+$#o3wpM|v|$GWGKkkF;k(QXE*DQ&DDdVqRA2<cqx$^+}oe3I#=}nYpQX
z`DKZDU<EFjMXA{(`9+yops+$yf$+Nms=B=VvP>ehgA=<#UTS(iD2jFRvQpFY%M?IG
zNolb{Zhm@VzCwNqsE#dxnwD6SUy_=gsF0O9xxG(;8yqblk0s_!mg!fXe6=r(DJymI
zfj&_cYXwjy&C5#71I24zX-;A;BuHJ5%t+{$P$ELvfj-gt{IW!xM*5{@7K746UZz4?
zeo<~>i9%u#sK^F~fM;&1!jaybM36fYQ;Lr6%T##OFi%hKQNtXtJUGo16y@h79+{Y$
zm#+Y7Y-D7j2VYngD1`DrMr9V4WLiP;DJ*fq0tp&)U~>bCAca(-LUAfYARkf^B`TCE
zK*B7mbaKLE4Uqs6C6pxc%OGJHl~_`gcywQC9w<rWBvwuSGr^gwpeVnjv?wd}Nbh9t
ziOzhb#Rd6AsYfQ3f=c1k$ulO}u|raR>f{F#%{4O9^YV)_i{P$wEy>JIElGrC0#KSO
zC`wH!O`jY%Nl^lir1a$Vli2Yq_&iCpK8?t{A6k%Km0y&amz8RTk_i=xvvK4kWF6Q-
z6qM<bCZ|r;#}(ctxFnP&b4}r@&q`HD%FM|JWeaeDlwX{gURsn`k_oC<K&cN@GJ(bN
z@{99I6|(aSGP6oG74pkU6;dE+9#ocEDMTd}fbu+~T1?E%S5VC<RY*$ADgo6JsyR3m
zS-?~!;#CGym0t!^H+k_Ceb&Syz1jJbFHKRGEzZfzN=*UPNQnx0uzZuB4t7A|WYMYi
z^^Y3nB_}3lAT=-)N)po_HOx`aaCUU|aCPwv(hG5P*Hlm~wgwgKWqJyripEM`A5_mI
z6;<Zt7blh$l@{wI=jZB!jY`QZ(l0JZO$N90!I_~Lnib(r$W%xw%Fj|LE@Me8&Q6?s
zajNX(JyUr(kMx4Fn?iBw<cm{n#bH^gDlsoLH?as*wv-hmmP}TjrpaCk&QoQR1E$$C
zgVax$reXwB4-J1%xuuYoT2Pb^u1Y{<lQpR71D6(%JTUqGG&9!BDh1Wz$#K)=RU!3W
zDk$$4fos0Zl1xnuJ#o|J#B&oX6jW0%<)%$nW$_F3@tJ&Zx`J)KLRF$daY0dPE~v~`
zC{-xSJi0KoxGc3Q@knnTNH#qOR0pSmn!CD*)(XYhMTtk+p;=dEMlr-^Gc@ZJG)gja
zQ}atpAXRF90k}ea)G$xAShW}wS9z)60{G~{l0<l$6I9)U`WxtKvr-jO%JPeIGmCRl
z^Ad?srJR>&4b2I8`JnO;9I2?TnEY=$sPD0JhLr{={0j1mOY*Z)kF+PkvIC?HD=o=9
z(hF|YWu;D*nCWMo2x%N-=jW9a<>%z3Du5al*^n|66nUuy`Biy|C7?DGnn$=M*Uppy
zrC)FmSb?Gz)NFx9UlKTjf(n1IG{d2l3|d-{7FHs(;gJYyHzsOnSt<CzZGts`73~RV
z@h?c8{AZ@JHK+}#3F$ql7At@fs{$x}=4B^B1kptNz-bHA_9{-DY&y$P7Tlmr)Yau;
z(A7;$&H+`%NB6<}F*#w5%;cT3Bt@a&4Q?_P<b&$A#Jt4G_h%W(gImzx9K`@tq^p~p
zlbBnen+r-elTBwUu<JtENwYI}kb?<iyr^z*YEEWeX$835hhnkj91RTR9^n2Us;5Fg
z4YZv6vb=mqZKnWg)*#|uK_f3!At|ve6O=X}Zp=;8oLn`>lC4-FuQW$@^6ojw+{r~H
znaTON3L3halU3(xaTgS2DySASIC?vKPL7=G%u|x75a#ORd8EhFFLd(qxdmE9iNyu^
zd5H{;pawvq0<4%()zd20QAkwCKhm3;4b4uj^V}v+o#&<xYF8J7+6|dSphg0!GxZpP
zQ*%-wDH5b6v1BsSe5J&q#3WEJ1MKcnkc<3Mi*pjw!MQpWT7!a16}U^lkpz(f+oPk9
ziIP4G@>5Dv62bLJu|}fi<l^~8Y!J^(UOnF+5yDIa_4reY601r<1y~uV(pE6i&Cbs)
z$VmkaD8Rg3kY56>V?a%>q{QM>T{9C<{~<FkJwF#zWM`!+WLA|W<|#mp1r>L$3tVio
zixRUGiV{;283OXNOOGxDHM1d&1#sTU%uUJ%HSDuf70ObpQWdfj^A$?Uic%ol$>$bm
zy7}ZEU6`qmnU`Gzc2HstqD=-Zgi{#;iV~~xGV@XuN)@USAq8G3YUE6IUZ}y3=E%wA
z3uV(FjcQo43sm-l9hRz)sZfxg2Tp7SMXBIM5l8|Y1*M>p3fy_gN>#{91yvI{S(#;t
z3Q4I|3c8sL;07Sf$l?M}mmpxVgcHOnXy+rpEVU}L3>>|nQ4%W!P%rW5LQwkz(h`L9
z*z!>fn{2sA(I>MC)TB?z$v?U<I}w~xkPU`695ZuM70QY-Kt4!M1b6KrjebxaP>`CO
znU<NHSu}asB5g-x?FHbjX=zEOLTO53PF8AOsX|UxX>oR`f<{qlZhlFsLUBfFPL3w3
zvwkkpw8N(W<X})P$S(u6Zd8jEASoQl;>qrdl^kI~mX)di&JLNVwOOhHC|wq1=7N%Y
zDy&709N3c=ELJi`GNqs>zbq@Y2o!O!DiOQBw~Mun3yShHtIASy5*3p3i&7O*N^=Xi
z7-0QqSQq-}!n}M?N-qLMRpMlaC1M=b&^G$y#3lNmHeG&pe%_JZL{PN{(+w9=D9%jJ
zOUwb~nG`Mte^4Ep3aY_D9!o3%jk|#=KPxnuqSWHdtWqlm@BF;9oXqT!Jka1!GAQ(_
z5+Pv%R=^OPIGKH^ENdR9AvjresXPX&dx~UmKoPh-ke3DOY9&_X!2$$SYG#*aCzfR%
z>CMhm$WKYi%t~bNE=mQ3HmE*_v^Y~0QWEo0;bo*NNX2Bw%feg?Aw{Wqr6q|+dM7_$
z>RDe}m0y&dp9`v)OLG$;NgCcKN@Vb?N-6@iR1{nsL;OQry+avb{Z@s%R9#pm2DdoD
zSuT|!6x8KN%u>iyNXp62&M(WfVsHYr?@A%!;F7B-u_`AMR2nm|cvdClPu{Z3j4M?k
z5jvbZ`TsHr%K-mi&j<xaXP;sQ|GZR4TFF!hcJ%?*O`s-1YIbo+Ua11O`dgS?3M#lj
zJ)+6M%T=5*p>eI?=NRPb;so-2Viw4cpiXS6f`+TVo2Ei(ZdPh>Nj{`%0Oj%gbkLYW
zdVX1cQR3tc%k`1nbYQty1hSimagjTC{3%f(F)uMEvnmx_D}(xgNjaHSnR(#eD7Zl~
zdEW{#ZiQmdNKax(X>tDK2P>K_panETaA|QCXsijz^`HS~$T%^0$hBA#Jfe}9m6%nk
zP&~P7r9!=%e~_<Z2m^!yb>*^BK|^r)DJV%6J<TMd$U<6S-~cWyN-Rpu%SuGA$%_?0
z$tO88H&H>O3{)_tWP)-@retw;PFCrWUT`T17Al1bOtx7i0qzh$%C*G2d_4tdjRP72
z1Q+G`dZ0v_m<O(!6O%J1SFe(C1vQ^b5=%gRf^2xVD$$A|tf;sI-nM`?S73=NAitnA
zFB2AUps=~R%7MQmu?X4{S12gW%b%>hT8g(6JiM6)Du0W!CkL#yXD&%Bnmlo}3>ze4
zP2RFvk&R0MG?X{__G%du&#IhEkiEsA(O6i9gETonxehv#kf>LZSOn3fpj$Ed{%SEU
z1!V<K=;)LG8fkAX26#t4RiU^P)c9AZ0*$#QW@Up59MJGoZUMB&K_BD*O}jvvCJI%F
zlcRi<>*3=epz%8J$Ra~<ZYpRLtyIA=$UPw5!__As-px0}3REHa7aVC%&C4uFR4B;L
z%|Fr(io5K5P<}4~#~jFf(8zmPYEdG=k#`37)VzpP@PGm+>4FR1QU#6Tg2bZYR84p!
z=qdPvMwt?`74pDCpCDhRBr4=47QkaQRgWP6Jo1pKke-?cHga;%TBXU&YZdF=p#q>{
zF)uYeu_Ut$G!&elT>@%wfX0L&&5A?@cTX2kQHdyOd=v9B3rcgK#bhz4!GCmNW>IQh
zW-hGg0VQN;V<pjw0bN64Ns&2dz6n*8Ct?@{)Wd}KP$0=YFA>~aIMO@Wex>;2<aMgD
zC_|*60y2>S9%q@8H>?w5%FCR5Vx4MzRU)D-rBIYum6?}{q!L_|C}ifPq-GZ<Djewr
zl~@WInR)psshY^jN^?LBE>Ibnn4GDn5So`-3~IgFgJK#I=XzWWp$g#EY$m9j$V)6s
zO-apDkVopCLz5V2qys+oI=NuI2zzE#ZWd^Kynnr%0+bCJ63NRiPR%aOLv_mJi|aM&
z^D-5(^FdQksYRe6a1<Yv<$xv^vcVbA(?ub@sI&k{9(iQB3OtO0?9JlbtkfcqpNg~d
zK?zHtAipXTG{%ll1WM!FV8KMtNK*FXnhl0Zph5+lK0)(URhe1v^a|pGW->J=AJ|Z*
z3~s?g3VcvyoC<1TLq>m6vJ#K<CYEGsP7c~=XN%}Cz!DM2P2hSFn(9gwa`LkiL0wz0
zXsQ*WlQDV2MiDn(M=$@NXgyy~KmVXu24BZuZ$}1CUsv5DJwA?pjtqW|p#Bbne=(@R
z3mW+Y4Yh-t?N$sfsi1fQ*^@b$Z<BaE5+Bk8E6&bDYF=6?fJRPJQ$W4qkVg%3KwT10
zHyvCn1%ZZ02^x@6T95;3oF?XFDyT=OBfCH$(I3<eL$~r#!@LNPUB#*3hDJ(WelEyf
zP$LpmH>T#vABpi(0jPtK52~gVN?|@DWU>`f0|2B)HThA)98j+W-V6e@(-c&djbro4
zH7f@+bpah{Rsi?43i4ADOA@ma5hhN)zF9*T5$K=^0Z^9;JQND=E+vA-Hb60#SeBPL
zS$m5dQalr(13Z6}mkRC-gIYY93c0CACMF(TsGypRa7i9<CfTYMGq`ZTlHFv<t;&;s
zZV~5%dttKVR$~;NvS3PSPF7|fvZp(@>ehos1j=(V^HMb#{FBO3tMW3zr9eKY*$qlU
zuvv3(OCqH-9W<s1Z(0|ZDwHH<=O3AvTBMK<(+$dZ*+q#Z*)U~#3_*!03dITq`RSlJ
zLxr-Ug5*>k(41dJ*<|l+F7=stDVf=cCHY0*=t)$77BXR=R!uIb(+n=^P-_%W6CGY6
zB1@Grgn=8)`6&vZwp)HWXyOXgyGtx7%}s<#f=htn?92>M-N+AWn1XE0C;^QiB~Iqp
zZqJmTGTCjrl37Y(9wbRufd=$4GRsOC{8B+}_53pUoRu}$+2Eo;M<Ek5^*DLnc4>8Z
zPZ~7W0-iSowQ)i9bADbTqz&NW>*ziC@pe;I@Wkq5*&PntU>0bIwX|xop`Dl<qW_Zu
zO0}Tmk)M(Z9wY!wU`^SfrtSjr894WV#~@3JQcEDis^Fml)nW$!q^wkh{K@xr$V~pf
z!?zx4<fDdpy3q!@=CRQ^xf!vbqCqRaEHO(9)X)Nz4B*E7zQnRb22iUZ2Ns*)E*5Bv
z5HxHDDvm*EIV({?15`5SWq~KoQ?v6mL8~MnLywS91_!bgLul0Gl{@7pi$`cp{;<>B
z1yuZ$WHNZ>g1ihbxgo8&R7lqr+$PJ*%uZ$StOCzjLV8z;+2G!tMw#B^NxQ656*RzE
z8)`(VCPP3`CTPePRON#Ewb_t*TUj*)lt5LBL4y~dUT<+8NJ+G-Ux;f^td#<TXK?{I
z{XpE1m<1ZbDNQZ`cWNeU@0PU*E=kNwNi0gq%T$23@vRgXLP0|upsqWpe*_vrErkrB
zmMW;0!X+m+?RJ{HVz(e;;^euzWt>4XN@4I>TS&53$jvWGQ~(c~g2$;rSt&0w8$9Wl
zqQ?-5JUFdzq<6C79+k;~d&Kqp!JSc1PRJ|<MMX&_bQ~@*3sMJxCYu#XK&x=_5_2X8
z?2(wfZV$T&NJ9arOe#U@6oDo?azXP^pmC<m4A8h!B133)4!9puoI3gK9vMT(>>g;I
z8fo%WArCY+mJS}f0F7uP4Qk{~w%;369~=_o>F3T69OCK25R9wk0BQ_DM#@t1i&N7<
z<6=my2k?9XinM=8=8=hD?^PwHfNI42l-$H@Pyqw#z=NiJvOrCcl*AGrP^k~<_7*`h
zY96R~$S=vyPE^n+E-6Y)%+<7Fh)PUJgmmUhb3tjPI43JLCG|*qse-O<Nq%W^2Bgha
zI@x2NZhdh9uGTgKd@d5yU{1+bfSHq;j;K-?f;AFBb2<uDiJ-y7ye!BtDZDic?{=hs
zGC6oC3p9@k%B>op5&HV<{9H{?99AWQ3Q4eba7CP`0FOY(Kp_K)K3v)$g&j0*1Bx=!
zOF<)x;I39?R$@A6<OMYLk*ZLTUsRf%sxaAqzky~jXyh>;R8WF5XewyD1e`nd6d+kP
zu?*ZjPMy4Azxw2x`|UFW{DVV6101~>f=kmfvx`BY44v5ng_Q<;LJu^YRgjsLstHOG
zj~eFHL7E5I`QSDTs2c$ZwbVR?VlHr<m7lAit6N-}mX=uos>mi!JS$qS#}$?cTBDLz
z0-7KMPjG-d09sQ4%KM<zHN}uP1?x^qOwKMX&;e;zC{_q_4GQ-3_ltM-_X`Q~_tD`>
zgigVLh7Liqdf+et`M?{ZB2=Nc)QXD>w6-Z#M<G8g%@DdgB@fhqO)LYAwBh$G*JSR4
zibCM2%v1%q(nPMw_6Ma+bQBV^^I?UnLSAVuxRaI#3n?9iOi&*-6;k<uyqK5DHF@np
z_4<5-QK?)E!O%nvE7n122-N>91}z4v0?krFEA$N5L{?%6sE$;~hL2o;!Y%RWzEV)X
z6BKRWN;OqaAp~J&sX~5PW-(|iP9dZqKPUg_K2So)R46S0&6Jla6oY1B^FUQAWNjYE
z7g?DKnHdU@8B>sHMX5=kbzhko;8t@YXlesAx1N$%lBqZO#X%J*Xz>oOZ;Mm2%Tn_|
zwZmkUL%M>{8WmCbPEI@|Dgmx7z=Q6g*`)>Gw3`H46*9U1P=_#LB@MXykpi0FQ9A6!
z<moaw@31(io7i?(14OMqtO=rS9@ei18wjg@V53}+k~fpV54qWgs<Kp}I4`lFI3vFV
zR0M$syAe^YP^wS@9x}{^4r_q=7+Hz1E`2h><jL+wWRy}$(;*ocJ~+q#n@)qS(U{zQ
z#D^_86VyPMeD8=gOMXFS@nqGbYV`&Auyqo}rJz)k$lwT#T7@$3tOBC31)9bN6*j4`
zfk{_}(1QG;#H2(kh9JlkjjnEaW==|SVo^%5LQ0}SKBNN&%51P17f^yh3}NXQfODI!
zZeBjB&H`u=1X==Emak9>U!X9V?U(_y*<^j}nrv8NP8MkN2Qm@{&ywIGp>(p=aT~w<
zqRjNnJaGRH7E7S94#?oQ0z)upIyf6NO#|v6fr<yn%#Z?TUI;W`;{s_uLziew-f~=1
z96YuPnKT5IPX$G(poEh>`NwfZNyvJG5>TfbT;Sxvngg2+Pc$-$1cS=05>TC0mRbz1
zs&n%vE1hzmEOM%fuQD>lB^Fd(Gl1HBlb4-RsD}&zJ9~n=SD^Yj6B2;XsX9%t$`a5*
znzGES)NBPv6f0yZROKaRgVrr(Rw+R0UPp#fh!RlK3*08kPK6K0f+ip!xjerpvp6p^
zJ5e7r7*OiWfS9VzgcS%SpwOxU*GUCMnINZvTGOC*9>`yiMlqyJ0K0B-(P<5>?EEr?
z(%i&iaP6Fv2^#&*tV$_M%mOzpkcT-Y?>?<14Au@x^YCHD#K~VyE7WI$dze<Bt}<8&
zsJueVykm?+K-EAS;)&ov2++!u0@zSR0caqu3e-pdwRk`?WD3P)iJ(jes>ezhK)t^F
zBv3g8>H;X#g90^A;poB=aQ76_aLY?%$VZHp7o}#G7FB^p$P_>WK?<cv{r^-3cn(ih
zz*gDiC4xc%)Nch%V3a}{UU^xG)(ZJ4iAkwN^`M+o2Cvhg6^|>q#)A4{`Je=um#I*i
zpOkr|H!%yex~UjaIYaAR1r1Qe11=CJ7oRn;P$-3_C<buL7nB~s;S3s81f|eaP_l+B
z0?W@;K#ZhJzI3)z6H*|6YAN_QV@ak0sB;8vPJx02JUFB|x#XN;Jt(PyN&rx&6x0d>
zEp}!Ay98!Veo0wAs5KADsn{jJt296f2DE|~GR=qRGofgKuP}s(MuC?e!PY>bBpjF$
zunN#(3rPJAE{1Z!*#K@YiqfLQD)55a$qMJiKoepxf56wffVv%^)zdKT;0_~-5h?lL
zP6B8|x3n14J%A}i4H-~>p#;?Cz%E^yonr=GPYG(|mnvwK=H+DOWoyENh5<f^tB{+R
z1Dc}&uQScg%$R)Wya!umR_c+7sgngSNOFLttwF1aCdXXSot$uiOA+M3l2qM-qWt94
zVg-$Y{F3}!(C`5$U4w))CzoGvWYtkf%*mX*<AQ>SwL%G~ECj8J12qdEYbI`7P>=`p
zW(yK46rcmUsnCJlOa@3>WU}~0<@yxRJXlgzYI+`MzyMmJfM%YL?n})9rDkwfA5=Ic
zDrl4>7A589CTT(qfYj2UF>p|S05p`BSdxe)R}3n7L1Sjn@;=1XJ2=D|)W=W&O-Ixx
z=4F-Y!;7*~@Z_ulSP{4vo}QDRlmv=T(4<XbHmJD>ntX;B#sJOlC7Jq}kjV`&3%pRa
z1Y?31lF6XX15KNN=0IdX>qEiG1D=OKT^eW}ioGOT4;v%~g+3^%U<-LcZqA1W5Pa1u
zsIpfm2KBa6OR_;B3k}dj21w=rbr2!$0F57ksu|EULOOWSG^kx%kesTh$$*s8@+SYf
z#8(e#w;`8=3I+LA;Fhw22DtB*uL*7lfcADU5TjZLyypR|2Rs6gTm(bvKv1~^sRR?f
zK+cBMf(7|`nV@xAWr>hQLf{T#YDq?ZN?xjhu5MmwP7b6`kjjvfnwVXZSq4gmpgAE>
zwKe(uWjP5*7YICHmtK@w44SUX22X>kUC|W>SFH;0nOD#n8c=eboOeaTDlZkhav>u>
zSD`8?KOJd(1kzXu1H}E{be9OOMDj8-CcnEPR&T9PrU#y`0!^poCgznU<}iR`BQs9{
zT4sZq+$o@0Ur>LtpeP@-EFYBUK$GZ@sd5HHMp1wjSFkh!YaoHt6cnXG21G!m8+a+1
z189C5yd*gl+!rY>RRFDg&PoLpLU~!48Tn<I8IYBjpcz+)%aDzl{O78K87LHUVUwqM
zS&2GGJ(he>51^nZ6;kA)Yc<5w3LEnR*_#O3u>jtD0Mb~Totct2+5MV|x>Jz97pR#A
zTC|{$18S;)0tD>3QdqABG*4-0Ct44Q`TSf4cr~7{0G*6SBx+E14pcvbauBougOCJe
z8c4a4$^dIwgVF$GJ{r89Dib<Wo2dZlaVluQngzO`9xrIb6;k4X8n*B#LFj^wP)$y_
zAvO8_bsjfR2QL@Yr%F{oUNZ`Bm0?RaSdEjIyyUuoSTSgW6{O+m?aBaCIQhtRO?Ifu
zCx5=KDg<R`f?CF)E?RyH)IogMrBv$SI$)jxO_G7uVSz>tiWNem{DZvxec?93XOZEp
za)>%mQJM^z5G;juM4Ua5^n^JFBNsGCem5ynfM%N1iqvHNlH>v_h2Yepvdm)0r~<TP
z%wxy|4`*a5fET{$+>}>>yB8GY`B|V%Ir$33W%*gD3ZN;plFX9HM^7s#!DNw?!;%72
zYVw|&3R-1}pcTP+;Q9vCTU7v+B#C7pA3>b}jk)B>60haNKuHZ;Y~<uCAl6__Ho4_1
z4>28-it|B>Xc^Knb4ozHa;W&^*|((lz-<8C6io*3I<3ivZ>cdRPJVeyT|*%gHYE>t
zZyspL49HWU^=1Y6*@;!9S*4TBZYw8aQ4AVWfvHVTJTfsctCXRjD6=>-2Q*k+lnLr8
zW`dfz@O5mO3IRd>zFw|=uAsIQsN;}_C{h?E@4c-t`Q7c9dQfYixHJ>ACCNX)+0)Ba
z0W`3}09w*n0?uBrv<WRDQ^Cvepu-fPfCgtuP;&qh4yoX30#pct7F592^e})1SV3K&
z0?=;8szgv9vnVmCl%XE9nj11v%aET`1c@xf3OnTC6a@`P4%Sov7lrw`pwd|v9I+*(
zq-ZWKNi2ftb^&jyC<XgB544yEv|I+_4tO1pXeUFHN_HwkRU)_p4_@L~HM!@mOnn|`
ztr&D+26`(Fv?Hu6kpaFT0X%;J9!*LCbsG_lwhYi{TXJeKl3LIlI!F<C>1ci~d=rO)
z2Do2TT%rJ4>%$-l-=PHR_$4Z6fY#uYPS(Ds4w{sPO)w!kli8`2<@rS^(a~11w&0p6
z1=OF9jn=^-5v!-C#{g|Op^tepz>Lp?_C!F-H$fFOXox&-@`HPZprPK(;^d+NP%AMJ
zp<YKJ8<fNIGK)(gwE<}5q-rq(D2m{tvY-k$%pBakg+~CmK?^E{^P#ol<cU|MISN2)
z^0HF%CfD58<by5(W`Hb8pM2oHF=HyIQj|om*%)B8?_|XX8eZtK@HP_zs3=U#hAtb1
z4Y8DDDrAEFkdg@=6@s-DQ?pYi7d%ja6~mzACYlHnia@<!@Yn~a(*WtnC1yjj7_5X~
zC@9K@jL?AwgFp>cP>~FiRmd*NuTlUNX=Mtay?v0@2V^;zBSZd?-crySM>Y7s5~#EQ
zZz=;<#-Q##QZs0>@k13h$mILv*oVdv5T>nqab<ByYOcB_LvbS5z{x8fnhL>leIi^~
z@qtP`sQ(V0)B%rLmqOyD3^FdR0FGg}&8cv;uwgH>MiHn<6B^>I3mz26ELPAc1utdF
zQYcET%FiiH&dkcxg!>E<BC6Sm44I%&S<o&@@Wde~-9TGqi7*Q%?|!5qVXXk#%nBI{
z1r0`nDpZimC+~hFJz4azBy`Bj__37(xbu-wmUyHcG^SddikOPcgvJ(Vsco>QJ7^LH
zG|HX`inZj_Vo*D_I5Btf`o~?2I+HD*DAnh|mMo=$dN@U?CE2Br;qTHaNZKz|&<)X3
z08NbK<tu<1QnrQ+8m0OLMfsZG&VNZJ188snS|B?@ho>`jpo`E!$rG}s3f77MB|1>^
z3pC1-Ir-!h6?;(I9ID@y48tZLcp_F`1#Jj;yMog*7AwK71z81Z9)Jryc+Hc@ke>u<
z$3oXmg0eekJ~+D+;t9|aJdLVE1rt3Zr(hRI>dw?eZXlL2gEoVmeJUB3Sp{t@g1iUn
zSAtv1psWC@#1V-U6f>Z?4A3UA#N1Q{xIRd_$p#G|WamQ%nu<#mAXVjL^JjJfpixSY
zVX)GEa_uuI#?;9(o)s~sPUe2DR9^xv^fU8H6;e`@O4C8P3N%ZbUjSNo1u9TMOLVhR
zk1ho54S_Y86LS+a89*H|(1O6c#H!3P=sX!blv2SH`6-Fuh8L)|gbhwXxBP-8*g$2S
zK_;kAiP5vr0Qc&_yMG~`fft*TCp;JDE-uN;fsS2H-u+xgx(xfUE@=92^2g_5_3&H;
zS?UHI<OYvmmKNlf6s0DWDrjWpLf6WGW`-a=Vg}Ga1vsKX*%^}g6-vQle)(D8xvk_(
z2FPG2G%6CojR&wwP-X$eN=Z>YVxeRfsNzilwbV6IQqvMkb4rRe!87TgZc}1eb}9qJ
zFOWg5{5(+WUZEf#y!!+?{;vzQDwP4WYb!G?GdmHy)dt>&%v4A(EiTCiEhz+7Us)1~
zFr~?$ObyFinYxp6UP_C=SFk54K$n1mC8P|%;{>p#Bz!SEVjxMi7&^KDX*ZQlUhq=h
z0#xzA=Dooqni|C=DVcei$l~C}185o}1-wV9I6E^hb@HE=`t|5F7Xv6%N(&$ZA^9cQ
zMc_pQsR~7<1&Iuxb|1()kbN7VSV=9;hK{|af_89ZR)OYwL3JZ|h8#8?4H~q8cLYJp
zFyPG?a|LiaCOZ+dnlA^mNg6bom;&1I0@+Ui>7kV}6hJm$fV-ujEeX$G`PYMT8GLvy
zH648N1$f5@WM&4mhYS>{p!EQV?jNY@iP?Wg%0-zu&=yG|ycS35qQHA71x59##W|VT
zpawa3ME*!`cB+EAr;9GA;RP$`GZ6(Js6`D<rJxLtun!binC65MVNN}oL7=f%NV)(?
zAQf&PA3>9<f@6?}XP6`UpadwXLAJy~>poBofHWcjHX6DLvQ(icw*<6=d~)j>LFS^w
zq{(yM$eY4<4MB1SS`LL~dC(^M)D#8Js36BEM~0%r$v@x7sX_akpn6A>0c4RrZ0Zs+
zPy-o>o9yz|VRGC8sd{Vl3Hf6EV(?4{=-iWR&_oNYl?57K0tx1&gI06EnxT+EPf!RU
z#X%`(R39`?1uE}B{S3%v+ss^0&727vgUBjX$egVBPMQl|Pn1sfdMD=w8fFBIGJ*>t
zgdD7e04}_cR~bUuub_GY(r*T>BUdP%yz-r@PBwIX52(+b2pa0u2MvsaGZSpJ4XjI^
sIO)A8tRD{vJW$b7GFj<;g;H5+Q5EP&3efaFY~xXWI;;@3Qcz_809_;BfdBvi

delta 28198
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
HL6rdjlG<ch

diff --git a/po/hr.po b/po/hr.po
index 40acc391..d17edb5d 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -1,5 +1,5 @@
 # Translation of tar to Croatian.
-# Copyright (C) 2016 Free Software Foundation, Inc.
+# Copyright (C) 2017 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 #     ... wishes to thank everybody who helped in good faith.
 #
@@ -8,18 +8,19 @@
 # bp, travanj 2016.: to je originalni TK zadnji prijevod od 2012. godine
 # samo su dodani novi msgid-ovi i uređeni fuzirani msgstr-ovi.
 # korektura u dogovoru s lingvistima slijedi u dogledno vrijeme.
+# bp: siječanj 2018.: puno izmjena....
 #
 #
 # Mirsad Todorovac <mtodorov_69@yahoo.com>, 2002.
 # Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
-# Božidar Putanec <bozidarp@yahoo.com>, 2016.
-#: src/create.c:1599
+# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2017, 2018.
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.29\n"
+"Project-Id-Version: tar-1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-17 10:51-0700\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-01-12 18:33-0800\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
 "Language: hr\n"
@@ -30,20 +31,16 @@ msgstr ""
 "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: Lokalize 2.0\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-"X-Poedit-Basepath: ../../Downloads/tar-1.28.90\n"
-"X-Poedit-SearchPath-0: gnu\n"
-"X-Poedit-SearchPath-1: src\n"
 
 #: gnu/argmatch.c:134
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "neispravan argument %s za %s"
+msgstr "neispravni argument %s za %s"
 
 #: gnu/argmatch.c:135
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "višeznačan argument %s za %s"
+msgstr "dvosmisleni argument %s za %s"
 
 #: gnu/argmatch.c:154
 msgid "Valid arguments are:"
@@ -74,8 +71,8 @@ msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
-"Obavezni ili opcionalni argumenti dugačkih opcija također su obavezni ili "
-"opcionalni za odgovarajuće kratke opcije."
+"Obvezni ili opcijski argumenti za dugačke opcije su također obvezni i za "
+"kratke opcije."
 
 #: gnu/argp-help.c:1615
 msgid "Usage:"
@@ -83,7 +80,7 @@ msgstr "Uporaba:"
 
 #: gnu/argp-help.c:1619
 msgid "  or: "
-msgstr "   ili: "
+msgstr "  ili: "
 
 #: gnu/argp-help.c:1631
 msgid " [OPTION...]"
@@ -102,18 +99,18 @@ msgstr "Prijavite greške na %s.\n"
 
 #: gnu/argp-help.c:1887 gnu/error.c:195
 msgid "Unknown system error"
-msgstr "Nepoznata greška sustava"
+msgstr "Nepoznata pogreška sustava"
 
 #: gnu/argp-parse.c:81
 msgid "give this help list"
-msgstr "prikaži ovaj popis pomoći"
+msgstr "ova pomoć"
 
 #: gnu/argp-parse.c:82
 msgid "give a short usage message"
-msgstr "prikaži kratke upute za uporabu"
+msgstr "kratke upute za uporabu"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "IME"
 
@@ -127,15 +124,15 @@ msgstr "SEK"
 
 #: gnu/argp-parse.c:86
 msgid "hang for SECS seconds (default 3600)"
-msgstr "zaustavi na SEK sekundi (zadano 3600)"
+msgstr "zaustavi se za SEK sekundi (zadano 3600)"
 
 #: gnu/argp-parse.c:143
 msgid "print program version"
-msgstr "ispiši inačicu programa"
+msgstr "inačica ovog tar programa"
 
 #: gnu/argp-parse.c:160
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr "(GREŠKA PROGRAMA) Nema poznate inačice!?"
+msgstr "**Interna greška programa**: Nepoznata inačica!?"
 
 #: gnu/argp-parse.c:613
 #, c-format
@@ -144,36 +141,36 @@ msgstr "%s: Previše argumenata\n"
 
 #: gnu/argp-parse.c:759
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(GREŠKA PROGRAMA) Opcije su trebale biti prepoznate!?"
+msgstr "**Interna greška programa**: Opcije su trebale biti prepoznate!?"
 
 #: gnu/closeout.c:122
 msgid "write error"
 msgstr "greška pisanja"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: opcija „%s“ je višeznačna\n"
+msgstr "%s: opcija „%s%s“ je dvosmislena\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: opcija „%s“ je višeznačna; mogućnosti:"
+msgstr "%s: opcija „%s%s“ je dvosmislena; mogućnosti:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: neprepoznata opcija „%c%s“\n"
+msgstr "%s: neprepoznata opcija „%s%s“\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: opcija „%c%s“ ne dozvoljava argument\n"
+msgstr "%s: opcija „%s%s“ ne dopušta argument\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: opcija „--%s“ zahtijeva argument\n"
+msgstr "%s: opcija „%s%s“ zahtijeva argument\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -187,17 +184,17 @@ msgstr "%s: opcija zahtijeva argument -- „%c“\n"
 
 #: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
-msgstr "memorija iscrpljena"
+msgstr "memorija je iscrpljena"
 
 #: gnu/openat-die.c:38
 #, c-format
 msgid "unable to record current working directory"
-msgstr "ne mogu zapisati trenutni radni direktorij"
+msgstr "nije moguće registrirati trenutačni radni direktorij"
 
 #: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
-msgstr "nisam se uspio vratiti u početni radni direktorij"
+msgstr "nije uspjelo vratiti se u početni radni direktorij"
 
 #
 #. TRANSLATORS:
@@ -237,7 +234,7 @@ msgstr "“"
 #. locale -k LC_MESSAGES | grep '^yesexpr='
 #: gnu/rpmatch.c:150
 msgid "^[yY]"
-msgstr "^[dDyY]"
+msgstr "^[yYdD]"
 
 #. TRANSLATORS: A regular expression testing for a negative answer
 #. (english: "no").  Testing the first character may be sufficient.
@@ -249,12 +246,12 @@ msgstr "^[dDyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakirao %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakirao %s\n"
@@ -262,12 +259,11 @@ 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -277,10 +273,10 @@ msgid ""
 "\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"
+"Licencija GPLv3+: GNU GPL inačica 3 ili kasnija <https://gnu.org/licenses/"
+"gpl.html>.\n"
+"Ovo je slobodan softver: slobodno ga mijenjajte i dijelite.\n"
+"NEMA JAMSTVA do granica dopuštenih zakonom.\n"
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
@@ -402,8 +398,8 @@ msgid ""
 "Report bugs to: %s\n"
 msgstr ""
 "\n"
-"Prijavite greške na %s.\n"
-"Prijavite greške prijevoda na <lokalizacija@linux.hr>.\n"
+"Prijavite programske greške (na engleskom, LC_ALL=C) na %s.\n"
+"Prijavite greške u prijevodu na <lokalizacija@linux.hr>.\n"
 
 #: gnu/version-etc.c:247
 #, c-format
@@ -413,18 +409,17 @@ msgstr "Prijavite %s greške na %s\n"
 #: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr "%s početna stranica: <%s>\n"
+msgstr "Internetska stranica od %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "%s početna stranica: <http://www.gnu.org/software/%s/>\n"
+msgstr "Internetska stranica od %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Općenita pomoć za korištenje GNU softvera: <http://www.gnu.org/gethelp/>\n"
+"Općenita pomoć za korištenje GNU softvera: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -433,7 +428,7 @@ msgstr ""
 #: lib/paxerror.c:60 lib/paxerror.c:73
 #, c-format
 msgid "%s: Cannot %s"
-msgstr "%s: Ne mogu izvršiti %s"
+msgstr "%s: Funkcija %s je završila s greškom"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -442,463 +437,467 @@ msgstr "%s: Ne mogu izvršiti %s"
 #: lib/paxerror.c:86
 #, c-format
 msgid "%s: Warning: Cannot %s"
-msgstr "%s: Upozorenje: Ne mogu izvršiti %s"
+msgstr "%s: Upozorenje: funkcija %s je završila s greškom"
 
 #: lib/paxerror.c:95
 #, c-format
 msgid "%s: Cannot change mode to %s"
-msgstr "%s: Ne mogu promijeniti mod u %s"
+msgstr "%s: Nije moguće promijeniti prava dostupa od %s"
 
 #: lib/paxerror.c:103
 #, c-format
 msgid "%s: Cannot change ownership to uid %lu, gid %lu"
-msgstr "%s: Ne mogu promijeniti vlasništvo u uid %lu, gid %lu"
+msgstr "%s: Nije moguće promijeniti vlasništvo u uid %lu, gid %lu"
 
 #: lib/paxerror.c:129
 #, c-format
 msgid "%s: Cannot hard link to %s"
-msgstr "%s: Ne mogu napraviti čvrstu vezu na %s"
+msgstr "%s: Nije moguće napraviti čvrstu vezu na %s"
 
 #: lib/paxerror.c:181 lib/paxerror.c:213
 #, c-format
 msgid "%s: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s: Greška čitanja na bajtu %s pri čitanju %lu bajta"
-msgstr[1] "%s: Greška čitanja na bajtu %s pri čitanju %lu bajta"
-msgstr[2] "%s: Greška čitanja na bajtu %s pri čitanju %lu bajtova"
+msgstr[0] "%s: Pogreška u čitanju na bajtu %s pri čitanju %lu bajta"
+msgstr[1] "%s: Pogreška u čitanju na bajtu %s pri čitanju %lu bajta"
+msgstr[2] "%s: Pogreška u čitanju na bajtu %s pri čitanju %lu bajtova"
 
 #: lib/paxerror.c:194
 #, c-format
 msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s: Upozorenje: Greška čitanja na bajtu %s pri čitanju %lu bajta"
-msgstr[1] "%s: Upozorenje: Greška čitanja na bajtu %s pri čitanju %lu bajta"
-msgstr[2] "%s: Upozorenje: Greška čitanja na bajtu %s pri čitanju %lu bajtova"
+msgstr[0] ""
+"%s: Upozorenje: Pogreška u čitanju na bajtu %s pri čitanju %lu bajta"
+msgstr[1] ""
+"%s: Upozorenje: Pogreška u čitanju na bajtu %s pri čitanju %lu bajta"
+msgstr[2] ""
+"%s: Upozorenje: Pogreška u čitanju na bajtu %s pri čitanju %lu bajtova"
 
 #: lib/paxerror.c:261
 #, c-format
 msgid "%s: Cannot seek to %s"
-msgstr "%s: Ne mogu ići na %s"
+msgstr "%s: Nije moguće skiočiti/naći na %s"
 
 #: lib/paxerror.c:277
 #, c-format
 msgid "%s: Warning: Cannot seek to %s"
-msgstr "%s: Upozorenje: Ne mogu ići na %s"
+msgstr "%s: Upozorenje: Nije moguće skočiti/naći na %s"
 
 #: lib/paxerror.c:286
 #, c-format
 msgid "%s: Cannot create symlink to %s"
-msgstr "%s: Ne mogu napraviti simboličku vezu na %s"
+msgstr "%s: Nije moguće napraviti simboličku vezu na %s"
 
 #: lib/paxerror.c:351
 #, c-format
 msgid "%s: Wrote only %lu of %lu byte"
 msgid_plural "%s: Wrote only %lu of %lu bytes"
-msgstr[0] "%s: Zapisao samo %lu od %lu bajta"
-msgstr[1] "%s: Zapisao samo %lu od %lu bajta"
-msgstr[2] "%s: Zapisao samo %lu od %lu bajtova"
+msgstr[0] "%s: Zapisano je samo %lu bajt iz %lu"
+msgstr[1] "%s: Zapisano je samo %lu bajta iz %lu"
+msgstr[2] "%s: Zapisano je samo %lu bajtova iz %lu"
 
 #: lib/paxnames.c:140
 #, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Uklanjam početni „%s“ iz imena elemenata"
+msgstr "Uklanja se početni „%s“ iz imena člana"
 
 #: lib/paxnames.c:141
 #, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "Uklanjam početni „%s“ iz odredišta čvrstih veza"
+msgstr "Uklanja se početni „%s“ iz meta tvrdih veza"
 
 #: lib/paxnames.c:154
 msgid "Substituting `.' for empty member name"
-msgstr "Mijenjam „.“ za prazno ime elementa"
+msgstr "„.“ (točkom) se zamjenjuje prazno ime člana"
 
 #: lib/paxnames.c:155
 msgid "Substituting `.' for empty hard link target"
-msgstr "Mijenjam „.“ za prazno odredište čvrste veze"
+msgstr "„.“ (točkom) se zamjenjuje prazna meta tvrde veze"
 
 #: lib/rtapelib.c:299
 #, c-format
 msgid "exec/tcp: Service not available"
-msgstr "exec/tcp: Usluga nije dostupna"
+msgstr "exec/tcp: Servis nije dostupan"
 
 # FIXME -- verify against source
 #: lib/rtapelib.c:303
 #, c-format
 msgid "stdin"
-msgstr "standardni ulaz"
+msgstr "standardni ulaz (stdin)"
 
 #: lib/rtapelib.c:306
 #, c-format
 msgid "stdout"
-msgstr "standardni izlaz"
+msgstr "standardni izlaz (stdout)"
 
 #: lib/rtapelib.c:429
 #, c-format
 msgid "Cannot connect to %s: resolve failed"
-msgstr "Ne mogu se spojiti na %s: rezolucija nije uspjela"
+msgstr "Nije moguće povezivanje s %s: riješenje nije uspjelo"
 
 #: lib/rtapelib.c:502
 #, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "Ne mogu preusmjeriti datoteke za udaljenu ljusku"
+msgstr "Nije moguće preusmjeriti datoteke za udaljenu ljusku (remote shell)"
 
 #: lib/rtapelib.c:516
 #, c-format
 msgid "Cannot execute remote shell"
-msgstr "Ne mogu pokrenuti udaljenu ljusku"
+msgstr "Nije moguće pokrenuti udaljenu ljusku (remote shell)"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
-msgstr "Smjer traženja izvan granica"
+msgstr "Smjer za skok na poziciju je izvan dosega"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
-msgstr "Neispravan smjer traženja"
+msgstr "Neispravni smjer za skok na poziciju"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
-msgstr "Neispravan pomak traženja"
+msgstr "Neispravna pozicija skoka"
 
 # FIXME -- find xlation for 'seek offset' -- TM
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
-msgstr "Pomak traženja izvan granica"
+msgstr "Pozicija skoka je izvan dosega"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
-msgstr "Neispravan broj bajtova"
+msgstr "Neispravni broj bajtova"
 
 # FIXME -- find xlation for 'seek offset' -- TM
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
-msgstr "Broj bajtova izvan granica"
+msgstr "Broj bajtova je izvan raspona"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
-msgstr "Preuranjen eof"
+msgstr "Preuranjen eof (kraj datoteke)"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
-msgstr "Neispravan operacijski kod"
+msgstr "Neispravni kod operacije"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operacija nije podržana"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Neočekivani argumenti"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
-msgstr "Upravlja pogonom vrpce, prihvaćajući naredbe udaljenog procesa"
+msgstr "Rad s pogonom vrpce, prihvaćajući naredbe udaljenog procesa"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "BROJ"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
-msgstr "postavi razinu debugiranja"
+msgstr "postavite razinu debugiranja (opširnost izvješća o greškama)"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "DATOTEKA"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
-msgstr "postavi ime datoteke izlaza za debugiranje"
+msgstr "zadajte naziv izlazne datoteke s podacima za uklanjanje grešaka"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
-msgstr "ne mogu otvoriti %s"
+msgstr "nije moguće otvoriti %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "previše argumenata"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
-msgstr "Naredba smeća"
+msgstr "Neispravna naredba"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Ovo ne izgleda kao tar arhiva"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Ukupno pročitano bajtova"
 
 # FIXME -- ovo neće raditi ako je prevedeno -- Denis?
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Ukupno zapisano bajtova"
 
 # FIXME -- ovo neće raditi ako je prevedeno -- Denis?
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
-msgstr "Izbrisano ukupno bajtova"
+msgstr "Ukupno izbrisano bajtova"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
-msgstr "(cjevovod)"
+msgstr "(cijev)"
 
 # Hrvatski jezični portal
 # otkazati > odbiti izvršiti naredbu
 # odbijati > ne pristati
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
-msgstr "Čitanje sadržaja arhive s terminala je odbijeno (nedostaje -f opcija?)"
+msgstr ""
+"Uskraćuje se čitanje sadržaja arhive s terminala (nedostaje -f opcija?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
-msgstr "Ispis sadržaja arhive na terminal je odbijeno (nedostaje -f opcija?)"
+msgstr "Odbija se ispisati sadržaj arhive na terminal (nedostaje -f opcija?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Neispravna vrijednost za record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
-msgstr "Nije zadano ime arhive"
+msgstr "Nije dano ime za arhivu"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
-msgstr "Ne mogu provjeriti stdin/stdout arhivu"
+msgstr "Nije moguće provjeriti stdin/stdout arhivu"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
-msgstr "Arhiva je komprimirana. Koristite opciju %s"
+msgstr "Arhiva je komprimirana. rabite opciju %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
-msgstr "Ne mogu ažurirati komprimirane arhive"
+msgstr "Nije moguće ažurirati komprimirane arhive"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
-msgstr "Početak trake, završavam"
+msgstr "Početak trake, kraj rada"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
-msgstr "Previše grešaka, završavam"
+msgstr "Previše grešaka, kraj rada"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Veličina zapisa = %lu blok"
-msgstr[1] "Veličina sloga = %lu bloka"
-msgstr[2] "Veličina sloga = %lu blokova"
+msgstr[1] "Veličina zapisa = %lu bloka"
+msgstr[2] "Veličina zapisa = %lu blokova"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Neporavnat blok (%lu bajt) unutar arhive"
-msgstr[1] "Neporavnat blok (%lu bajta) unutar arhive"
-msgstr[2] "Neporavnat blok (%lu bajtova) unutar arhive"
+msgstr[0] "Neporavnani blok (%lu bajt) unutar arhive"
+msgstr[1] "Neporavnani blok (%lu bajta) unutar arhive"
+msgstr[2] "Neporavnani blok (%lu bajtova) unutar arhive"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
-msgstr "Ne mogu se pomicati unatrag unutar arhive, može biti nečitljiva bez -i"
+msgstr ""
+"Nije momoguće vratiti se i ponovno pretražiti arhivu; možda je nečitljiva "
+"bez -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
-msgstr "rmtlseek nije stao na granici zapisa"
+msgstr "rmtlseek se nije zaustavio na granici zapisa"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
-msgstr "%s: sadrži neispravan broj dijela arhive"
+msgstr "%s: sadrži neispravni broj sveska"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
-msgstr "Preljev broja dijela arhive"
+msgstr "Broj sveska je prevelik"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
-msgstr "Pripremite dio arhive #%d za %s i pritisnite [RETURN]: "
+msgstr "Pripremite svezak broj #%d za %s i pritisnite [ENTER]: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
-msgstr "Pronađen EOF gdje sam očekivao odgovor korisnika"
+msgstr "Kraj datoteke (EOF) umjesto očekivanoga odgovora korisnika"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "UPOZORENJE: Arhiva je nepotpuna"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
 " q             Abort tar\n"
 " y or newline  Continue operation\n"
 msgstr ""
-" n [ime]           Daj novo ime datoteke za sljedeći (i nadovezujuće) "
-"dijelove\n"
-" q                 Prekini tar\n"
-" y ili novi redak  Nastavi rad\n"
+" n [ime]           Novo ime datoteke za sljedeći (i naredne) sveske\n"
+" q                 Izlazi iz tar-a\n"
+" y ili novi redak  Nastavlja operaciju\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
-msgstr " !                 Pokreni podljusku\n"
+msgstr " !             Pokrene podljusku\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
-msgstr " ?                 Ispiši ovaj popis\n"
+msgstr " ?             Ispiše ovaj popis\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
-msgstr "Nema novog dijela arhive, završavam.\n"
+msgstr "Nema novog sveska; kraj rada, izlaz.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
-msgstr "Ime datoteke nije navedeno. Pokušajte ponovo.\n"
+msgstr "Ime datoteke nije specificirano. Pokušajte ponovo.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
-msgstr "Neispravan unos. Unesite ? za pomoć.\n"
+msgstr "Neispravni ulazni podaci. Unesite ? za pomoć.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
-msgstr "naredba %s nije uspjela"
+msgstr "Naredba %s nije uspjela"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
-msgstr "%s nije nastavljen na ovom dijelu arhive"
+msgstr "%s se ne nastavlja na ovom svesku"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr ""
-"%s je možda nastavljen na ovom dijelu arhive: zaglavlje sadrži skraćeno ime"
+msgstr "%s se možda nastavlja na ovom svesku: zaglavlje sadrži skraćeno ime"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
-msgstr "%s je pogrešne veličine (%s != %s + %s)"
+msgstr "%s je netočna veličina (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
-msgstr "Ovaj dio arhive je izvan niza (%s - %s != %s)"
+msgstr "Ovaj svezak je izvan sekvencije (%s - %s != %s)"
 
 # FIXME -- clean against source! (TM)
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
-msgstr "Arhiva nije označena da odgovara %s"
+msgstr "Arhiva nije etiketirana, i ne može se podudarati s(a) %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
-msgstr "Dio arhive %s ne odgovara %s"
+msgstr "Svezak %s se ne podudara s(a) %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
-"%s: ime datoteke je predugačko za spremanje u GNU višedjelnom zaglavlju, "
-"skraćujem"
+"%s: ime datoteke je predugo za spremanje u višesvezačno zaglavlje GNU-a; "
+"skraćuje se"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "pisanje nije završilo na granici bloka"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
-msgstr[0] "Pročitao samo %lu od %lu bajta"
-msgstr[1] "Pročitao samo %lu od %lu bajta"
-msgstr[2] "Pročitao samo %lu od %lu bajtova"
+msgstr[0] "Pročitano je samo %lu od %lu bajta"
+msgstr[1] "Pročitano je samo %lu od %lu bajta"
+msgstr[2] "Pročitano je samo %lu od %lu bajtova"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Sadržaji se razlikuju"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
-msgstr "Neočekivani EOF u arhivi"
+msgstr "Neočekivani kraj datoteke (EOF) u arhivi"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
-msgstr "Vrste datoteka se razlikuju"
+msgstr "Vrsta datoteke se razlikuje"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
-msgstr "Mod se razlikuje"
+msgstr "Prava dostupa se razlikuju"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
-msgstr "Uid se razlikuje"
+msgstr "UID se razlikuje"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
-msgstr "Gid se razlikuje"
+msgstr "GID se razlikuje"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
-msgstr "Vrijeme uređivanja se razlikuje"
+msgstr "Vrijeme izmjene se razlikuje"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Veličina se razlikuje"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Nije povezan na %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Simbolička veza se razlikuje"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Broj uređaja se razlikuje"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Provjeri "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
-msgstr "%s: Nepoznata vrsta datoteke „%c“, kompariran kao normalna datoteka"
+msgstr "%s: Nepoznata vrsta datoteke „%c“, uspoređuje se kao normalna datoteka"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
-msgstr "Arhiva sadrži imena datoteka s uklonjenim početnim prefiksima."
+msgstr "Arhiva sadrži imena datoteka s uklonjenim prefiksima."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
-msgstr "Arhiva sadrži pretvorena imena datoteka."
+msgstr "Arhiva sadrži transformirana imena datoteka."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
-msgstr "Provjera možda neće uspjeti pronaći izvorne datoteke."
+msgstr "Provjera možda neće uspjeti pronaći originalne datoteke."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -906,197 +905,201 @@ msgstr[0] "NEUSPJELA PROVJERA: otkriveno %d neispravno zaglavlje"
 msgstr[1] "NEUSPJELA PROVJERA: otkrivena %d neispravna zaglavlja"
 msgstr[2] "NEUSPJELA PROVJERA: otkriveno %d neispravnih zaglavlja"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
-msgstr "Izolirani nulti blok na %s"
+msgstr "Izolirani nulti blok pri %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
-msgstr "%s: sadrži oznaku direktorija spremnika %s; %s"
+msgstr ""
+"%s: sadrži „cache directory tag“ (CACHEDIR.TAG) %s; %s v. http://www."
+"brynosaurus.com/cachedir/spec.html"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
-msgstr "vrijednost %s izvan %s raspona %s..%s; mijenjam sa %s"
+msgstr "vrijednost %s je izvan %s raspona %s..%s; zamijenjuje se s/sa %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "vrijednost %s izvan %s raspona %s..%s"
 
 # FIXME -- find `padež' here from source
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
-msgstr "Stvaram negativna oktalna zaglavlja"
+msgstr "Generiranje negativnih oktalnih zaglavlja"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
-msgstr "%s: ime datoteke je predugo (najviše %d); ne arhiviram"
+msgstr "%s: ime datoteke je predugo (max %d); ne arhivira se"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
-msgstr "%s: ime datoteke je predugačko (ne može se razdvojiti); ne arhiviram"
+msgstr "%s: ime datoteke je predugo (ne može se rastaviti); ne arhivira se"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
-msgstr "%s: ime veze je predugo; ne arhiviram"
+msgstr "%s: ime veze je predugo; ne arhivira se"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
-msgstr[0] "%s: Datoteka skraćena za %s bajt; nadopunjeno nulama"
-msgstr[1] "%s: Datoteka skraćena za %s bajta; nadopunjeno nulama"
-msgstr[2] "%s: Datoteka skraćena za %s bajtova; nadopunjeno nulama"
+msgstr[0] "%s: Datoteka je skraćena za %s bajt; dopunjena s nulama"
+msgstr[1] "%s: Datoteka je skraćena za %s bajta; dopunjena s nulama"
+msgstr[2] "%s: Datoteka je skraćena za %s bajtova; dopunjena s nulama"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
-msgstr "%s: datoteka je na drugom datotečnom sustavu; ne arhiviram"
+msgstr "%s: datoteka je na drugom datotečnom sustavu; ne arhivira se"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "sadržaj nije arhiviran"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
-msgstr "%s: Nepoznata vrsta datoteke; datoteka zanemarena"
+msgstr "%s: Nepoznata vrsta datoteke; ignorira se"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Nedostaju veze na %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
-msgstr "%s: datoteka nepromijenjena; ne arhiviram"
+msgstr "%s: datoteka je nepromijenjena; ne arhivira se"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
-msgstr "%s: datoteka je arhiva; ne arhiviram"
+msgstr "%s: datoteka je arhiva; ne arhivira se"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "direktorij nije arhiviran"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
-msgstr "%s: datoteka se promijenila za vrijeme čitanja"
+msgstr "%s: datoteka se promijenila za vrijeme učitavanja"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
-msgstr "%s: utičnica zanemarena"
+msgstr "%s: utičnica je zanemarena"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
-msgstr "%s: vrata zanemarena"
+msgstr "%s: zanemarena vrata"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
-msgstr "Preskačem na sljedeće zaglavlje"
+msgstr "Propuštanje do sljedećeg zaglavlja"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
-msgstr "Brišem neispravno zaglavlje iz arhive"
+msgstr "Brisanje ne-zaglavlja iz arhive"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: nevjerojatno stara vremenska oznaka %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: vremenska oznaka %s je %s sekundi u budućnosti"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
-msgstr "%s: Neočekivana nekonzistentnost pri izradi direktorija"
+msgstr "%s: Neočekivana proturječnost pri izradi direktorija"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
-msgstr "%s:  propuštanje postojeće datoteke"
+msgstr "%s:  propušta se postojeća datoteka"
 
 #: src/extract.c:901
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
-msgstr "%s: Direktoriju promijenjeno ime prije ekstrakcije njegovog stanja"
+msgstr ""
+"%s: Direktorij je bio preimenovan prije nego se njegov status mogao odrediti"
 
 #: src/extract.c:1086
 msgid "Extracting contiguous files as regular files"
-msgstr "Ekstrahiram neprekinute datoteke kao obične datoteke"
+msgstr "Susjedne datoteke (contiguous files) izdvajaju se kao obične datoteke"
 
 #: src/extract.c:1433
 msgid "Attempting extraction of symbolic links as hard links"
-msgstr "Pokušavam ekstrakciju simboličkih veza kao čvrstih veza"
+msgstr "Pokušava izdvojiti simboličke veze kao tvrde veze"
 
 #: src/extract.c:1596
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr ""
-"%s: Ne mogu ekstrahirati -- datoteka se nastavlja iz drugog dijela arhive"
+"%s: Nije moguće izdvojiti -- datoteka se nastavlja iz nekog drugog sveska"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
-msgstr "Neočekivano zaglavlje dugačkog imena"
+msgstr "Neočekivano dugo ime zaglavlja"
 
 #: src/extract.c:1610
 #, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
-msgstr "%s: Nepoznata vrsta datoteke „%c“, ekstrahirana kao normalna datoteka"
+msgstr "%s: Nepoznata vrsta datoteke „%c“, izdvojena kao normalna datoteka"
 
 #: src/extract.c:1636
 #, c-format
 msgid "Current %s is newer or same age"
-msgstr "Trenutni %s je noviji ili jednako star"
+msgstr "Trenutačni %s je noviji ili jednako star"
 
 #: src/extract.c:1664
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Member name contains '..'"
-msgstr "%s: Ime člana sadrži `..'"
+msgstr "%s: Ime člana sadrži „..“"
 
 #: src/extract.c:1696
 #, c-format
 msgid "%s: Was unable to backup this file"
-msgstr "%s: Nisam uspio napraviti kopiju ove datoteke"
+msgstr ""
+"%s: Nije bilo moguće osigurati (napraviti sigurnosnu kopiju) ovu datoteku"
 
 #: src/extract.c:1845
 #, c-format
 msgid "Cannot rename %s to %s"
-msgstr "Ne mogu preimenovati %s u %s"
+msgstr "Nije moguće preimenovati %s u %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
-msgstr "%s: Direktoriju je promijenjeno ime iz %s"
+msgstr "%s: Direktorij je bio preimenovan od %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
-msgstr "%s: Novi direktorij"
+msgstr "%s: Direktorij je novi"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: direktorij je na drugom datotečnom sustavu; ne arhiviram"
+msgstr "%s: direktorij je na drugom datotečnom sustavu; ne arhivira se"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
-msgstr "%s: Direktoriju je promijenjeno ime"
+msgstr "%s: Direktoriju je bio preimenovan"
 
 #: src/incremen.c:1003 src/incremen.c:1018
 msgid "Invalid time stamp"
@@ -1104,33 +1107,35 @@ msgstr "Neispravna vremenska oznaka"
 
 #: src/incremen.c:1047
 msgid "Invalid modification time"
-msgstr "Neispravno vrijeme uređivanja (sekunde)"
+msgstr "Neispravno vrijeme izmjene (sekunde)"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
-msgstr "Neispravno vrijeme uređivanja (nanosekunde)"
+msgstr "Neispravno vrijeme izmjene (nanosekunde)"
 
 #: src/incremen.c:1073
 msgid "Invalid device number"
-msgstr "Neispravan broj uređaja"
+msgstr "Neispravni broj uređaja"
 
 #: src/incremen.c:1081
 msgid "Invalid inode number"
-msgstr "Neispravan broj indeksnog čvora (inode)"
+msgstr "Neispravni broj indeksa čvora (inode)"
 
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr "%s: bajt %s: %s %.*s... predug"
+msgstr "%s: bajt %s: %s %.*s... predugačko"
 
 #: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
 msgid "Unexpected EOF in snapshot file"
-msgstr "Neočekivani EOF u datoteci snimke stanja"
+msgstr ""
+"Neočekivani kraj datoteke u snapshot (stanje osiguranja u trenutku "
+"arhiviranja) datoteci"
 
 #: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr "%s: bajt %s: %s %s praćen s neispravnim bajtom 0x%02x"
+msgstr "%s: bajt %s: %s %s slijedi iza neispravnog bajta 0x%02x"
 
 #: src/incremen.c:1174
 #, c-format
@@ -1153,481 +1158,488 @@ msgstr "%s: bajt %s: %s"
 
 #: src/incremen.c:1265
 msgid "Missing record terminator"
-msgstr "Nedostaje kraj zapisa"
+msgstr "Nedostaje indikator kraja zapisa"
 
 #: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
-msgstr "Neispravan inkrementalni oblik datoteke"
+msgstr "Loši inkrementalni format datoteke"
 
 #: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
-msgstr "Nepodržana inačica inkrementalnog oblika: %<PRIuMAX>"
+msgstr "Nepodržana verzija inkrementalnog formata: %<PRIuMAX>"
 
 #: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr "Izobličen direktorij za ispis: očekujem „%c“, pronašao %#3o"
+msgstr "Deformirani arhivski direktorij: očekivano „%c“, a pronađeno je %#3o"
 
 #: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr "Izobličen direktorij za ispis: „X“ udvostručen"
+msgstr "Deformirani arhivski direktorij: duplicirani 'X'"
 
 #: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "Izobličen direktorij za ispis: prazno ime u „R“"
+msgstr "Deformirani arhivski direktorij: prazno ime u „R“"
 
 # bp: Malformed > Nepravilan
 # prije „T“ ne dolazi „R“ > „T“ ne prethodi „R“
 #: src/incremen.c:1585
 msgid "Malformed dumpdir: 'T' not preceded by 'R'"
-msgstr "Nepravilan direktorij za ispis: „T“ ne prethodi „R“"
+msgstr "Deformirani arhivski direktorij: ispred „T“ ne stoji „R“"
 
 #: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Nepravilan direktorij za ispis: prazno ime u „T“"
+msgstr "Deformirani arhivski direktorij: prazno ime u „T“"
 
 #: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr "Nepravilan direktorij za ispis: očekujem „%c“, pronašao kraj podataka"
+msgstr ""
+"Deformirani arhivski direktorij: očekivano „%c“, ali pronađen kraj podataka"
 
 #: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
-msgstr "Nepravilan direktorij za ispis: „X“ se uopće ne koristi"
+msgstr "Deformirani arhivski direktorij: „X“ se nijednom ne rabi"
 
 #: src/incremen.c:1662
 #, c-format
 msgid "Cannot create temporary directory using template %s"
-msgstr "Ne mogu napraviti privremeni direktorij korištenjem predloška %s"
+msgstr "Nije moguće napraviti privremeni direktorij iz predloška %s"
 
 #: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
-msgstr "%s: Ne uklanjam direktorij: ne mogu izvršiti stat"
+msgstr "%s: Direktorij se ne čisti: nije moguće odrediti status"
 
 #: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
-msgstr "%s: datoteka je na drugom uređaju: ne uklanjam"
+msgstr "%s: direktorij je na drugom uređaju: ne čisti se"
 
 #: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
-msgstr "%s: Brišem %s\n"
+msgstr "%s: Brisanje %s\n"
 
 #: src/incremen.c:1749
 #, c-format
 msgid "%s: Cannot remove"
-msgstr "%s: Ne mogu ukloniti"
+msgstr "%s: Nije moguće ukloniti"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
-msgstr "%s: Izostavljam"
+msgstr "%s: Propušta se"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok ispunjen NUL-znakovima **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Kraj datoteke **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
-msgstr "Praznine u zaglavlju gdje se očekuje numerička %s vrijednost"
+msgstr "Praznine u zaglavlju, a očekuje se numerička %s vrijednost"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
-"Oktalna vrijednost %.*s iz arhive je izvan %s granica; pretpostavljam dvojni "
+"Oktalna vrijednost %.*s iz arhive je izvan %s raspona; podrazumijeva se 2-"
 "komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
-msgstr "Oktalna vrijednost iz arhive %.*s je izvan %s granica"
+msgstr "Oktalna vrijednost iz arhive %.*s je izvan %s raspona"
 
 # FIXME -- obsolescent -- TM
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiva sadrži zastarjela base-64 zaglavlja"
 
 # FIXME??
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
-msgstr "Base-64 vrijednost s predznakom %s iz arhive je izvan %s granica"
+msgstr "Arhiva potpisana s base-64 stringom %s je izvan raspona %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
-msgstr "Base-256 vrijednost iz arhive je izvan %s granica"
+msgstr "Base-256 vrijednost iz arhive je izvan %s raspona"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
-msgstr "Arhiva sadrži %.*s gdje je očekivana numerička %s vrijednost"
+msgstr "Arhiva sadrži %.*s, a očekuje se numerička %s vrijednost"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Vrijednost %s iz arhive je izvan %s raspona %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " veza na %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nepoznata vrsta datoteke %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Dugačka veza--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Dugačko ime--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
-msgstr "--Zaglavlje dijela arhive--\n"
+msgstr "--Zaglavlje sveska--\n"
 
 # FIXME -- clarify against source -- TM
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
-msgstr "--Nastavljeno na bajtu %s--\n"
+msgstr "--Nastavlja se na bajtu %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
-msgstr "Stvaram direktorij:"
+msgstr "Kreiranje direktorija:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
-msgstr "Mijenjam ime %s u %s\n"
+msgstr "%s preimenovan u %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
-msgstr "%s: Ne mogu preimenovati u %s"
+msgstr "%s: Nije moguće preimenovati u %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
-msgstr "Mijenjam ime %s natrag u %s\n"
+msgstr "%s preimenovan natrag u %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
-msgstr "%s: Datoteka uklonjena prije nego što smo ju pročitali"
+msgstr "%s: Datoteka je uklonjena prije nego što smo je pročitana"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
-msgstr "proces dijete"
+msgstr "dijete-proces (potomački proces)"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "međuprocesni kanal"
 
 # bp: možda Izbor imena lokalne datoteke
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
-msgstr "Odabir lokalnih datoteka:"
+msgstr "Selekcija datoteka za arhiviranje u lokalne arhive:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
-"dodaj navedenu DATOTEKU u arhivu (korisno ako njeno ime počinje crticom)"
+msgstr "doda DATOTEKU u arhivu (korisno ako DATOTECI ime počinje s crticom)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
-msgstr "promijeni u direktorij DIR"
+msgstr "prijeđe u direktorij DIR"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
-msgstr "otkrij imena za otpakiranje ili napravi iz DATOTEKE"
+msgstr ""
+"učita iz DATOTEKE imena elemenata za izdvajanje iz arhive ili kreiranje "
+"arhive"
 
 # bp: čita s  NULL završena imena....
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
-msgstr "-T čita praznim znakom završena imena, implicira --verbatim-files-from"
+msgstr "-T čita s nul-znakom završena imena, implicira --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
-msgstr "onemogući utjecaj prethodne opcije --null"
+msgstr "poništava učinak prethodne --null opcije"
 
 # original TK: ukloni navode imena datoteka pročitanih s -T (zadano)
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
-msgstr "ukloni navodnike s imena datoteka ili članova (zadano)"
+msgstr "ne citira imena ulazne datoteke ili člana (zadano); v. GNU tar manual"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
-msgstr "ne uklanjaj navodnike s imena datoteka ili članova"
+msgstr "citira imena ulaznih datoteka ili članova; v. GNU tar manual"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T doslovno čita nazive datoteka (ne gleda na opcije)"
+msgstr "-T doslovno čita imena datoteka (ne bavi se opcijama)"
 
 # bp: novi prijevod, stari fuziran.
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
-msgstr "-T tretira nazive datoteka koji počinju s „-“ kao opcije (zadano)"
+msgstr ""
+"-T tretira nazive datoteka koji počinju s crticom (-) kao opcije (zadano)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "UZORAK"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
-msgstr "izostavi datoteke koje odgovaraju UZORKU"
+msgstr "isključi datoteke podudarene s UZORKOM"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
-msgstr "izostavi uzorke navedene u DATOTECI"
+msgstr "isključi datoteke podudarene s uzorcima u DATOTECI"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
-"izostavi sadržaj direktorija koji sadrže CACHEDIR.TAG, osim datoteke oznake"
+"isključi sadržaj direktorija koji sadrže CACHEDIR.TAG osim same CACHEDIR.TAG "
+"datoteke; v. GNU tar manual"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "izostavi sve unutar direktorija koji sadrže CACHEDIR.TAG"
+msgstr "isključi sve ispod direktorija koji sadrže CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "izostavi direktorije koji sadrže CACHEDIR.TAG"
+msgstr "isključi direktorije koji sadrže CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "izostavi sadržaj direktorija koji sadrži DATOTEKU osim nje same"
+msgstr "isključi sadržaj direktorija koji sadrži DATOTEKU osim same DATOTEKE"
 
 # bp: novi msgid; možda treba FILE ne prevađati?
 # TK: FILE mijenja u DATOTEKA
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
-"čitaj iz DATOTEKE uzorke izuzeća za svaki direktorij, ako DATOTEKA postoji"
+"ako DATOTEKA postoji, čita uzorke za isključenje za svaki direktorij iz "
+"DATOTEKE"
 
 # bp: novi msgid
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
-"čitaj iz DATOTEKE uzorke izuzeća za svaki direktorij i njegove "
-"poddirektorije, ako DATOTEKA postoji"
+"ako DATOTEKA postoji, čita uzorke za isključenje za svaki direktorij i "
+"njegove poddirektorije iz DATOTEKE"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
-msgstr "izostavi sve iz direktorija koji sadrže DATOTEKU"
+msgstr "isključi sve ispod direktorija koji sadrže DATOTEKU"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
-msgstr "izostavi direktorije koji sadrže DATOTEKU"
+msgstr "isključi direktorije koji sadrže DATOTEKU"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
-msgstr "izostavi sustavske direktorije kontrole inačice"
+msgstr "isključi VCS direktorije; v. GNU tar manual"
 
 # bp: novi msgid
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
-msgstr "čitaj uzorke izuzeća iz VCS „ignore“ datoteka"
+msgstr "uzorke za isključenje čita iz VCS ignore datoteka"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
-msgstr "izostavi sigurnosne kopije i datoteke zaključavanja"
+msgstr "isključi backup (osiguranje) i zaključane datoteke"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
-msgstr "rekurzivno uđi u direktorije (zadano)"
+msgstr "rekurzivno ulazi u direktorije (zadano)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
-msgstr "izbjegavaj automatsko spuštanje u direktorije"
+msgstr "onemogući rekurzivni ulaz u direktorije"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
-"Opcije podudaranja imena datoteka (utječe na uzorke za isključivanje i "
-"uključivanje):"
+"Opcije za kontrolu poduraranja imena datoteka s uzorcima (vrijedi za "
+"isključenje i za uključenje):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
-msgstr "uzorci podudaraju početak naziva datoteke"
+msgstr "uzorak mora podudariti početak imena datoteke"
 
 # bp: novi msgid
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
-msgstr "uzorci podudaraju iza svakog „/“ (zadano za izuzeća)"
+msgstr ""
+"uzorak može podudarati ikoji dio imena datoteke iza svakog „/“ (zadano za "
+"isključenje)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
-msgstr "zanemari veličinu slova"
+msgstr "ne razlikuje mala od velikih slova"
 
 # bp: novi msgid
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
-msgstr "podudaranje razlikuje mala/velika slova (zadano)"
+msgstr "razlikuje mala od velikih slova (zadano)"
 
 # bp: novi msgid
-# u wget.po naišao sam da je „wildcard“ višeznačnik, pa ga ovdje koristim.
-#: src/names.c:141
+# u wget.po naišao sam da je „wildcard“  načnik, pa ga ovdje koristim.
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
-msgstr "upotrijebi višeznačnike (zadano za izuzeća)"
+msgstr "rabi višeznačnike (zadano za isključenje)"
 
 # bp: novi msgid
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
-msgstr "doslovno podudaranje znakovnog niza (string)"
+msgstr "striktno podudaranje stringova"
 
 # bp: novi msgid
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
-msgstr "višeznačnici podudaraju „/“ (zadano za izuzeća)"
+msgstr "višeznačnik podudara „/“ (zadano za isključenje)"
 
 # originalno TK: Dio arhive %s ne odgovara %s
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
-msgstr "višeznačnici ne podudaraju „/“"
+msgstr "višeznačnik ne podudara „/“"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Sljedeće opcije se koriste iza neobveznih argumenata za kreiranje ili "
+"ažuriranje arhive. Te opcije su ovisne o položaju i utječu samo na argumente "
+"koji ih slijede. Trebate ih ispravno poredati."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s nema učinka"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s nema učinka"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s nema učinka"
 
 # original TK naredba %s nije uspjela
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "naredbeni redak"
 
 # original TK %s: popis datoteka je već pročitan
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr "%s: zatražen popis datoteka od %s je već pročitan %s"
+msgstr "%s: zatražen popis datoteka od %s je već pročitan iz %s"
 
 # original TK ne mogu postaviti vrijeme na „%s“
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
-msgstr "niz (string) „%s“: %s ne može se rastavit"
+msgstr "nije moguće rastaviti string „%s“: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
-msgstr "%s: pročitano ime datoteke sadrži prazan znak"
+msgstr "%s: pročitano ime datoteke sadrži NULL znak"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
-msgstr "Znakovi za uspoređivanje uzoraka korišteni u imenima datoteka"
+msgstr "Imena datoteka sadrže višeznačnike"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
-"Koristite --wildcards za omogućavanje uspoređivanja uzoraka ili --no-"
-"wildcards za potiskivanje ovog upozorenja"
+"Rabite --wildcards da omogućite podudaranje s uzorcima, ili --no-wildcards "
+"da prigušite ovo upozorenje"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
-msgstr "%s: Nije pronađen u arhivi"
+msgstr "%s: Nije pronađeno u arhivi"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
-msgstr "%s: Potrebna pojava nije pronađen u arhivi"
+msgstr "%s: Zatraženi nalaz nije pronađen u arhivi"
 
 # FIXME -- clean against source! (TM)
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
-msgstr "Oznaka arhive ne odgovara"
+msgstr "Neslaganje etiketa arhiva"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
-"Korištenje opcije -C u popisu datoteka nije dozvoljeno uz --listed-"
-"incremental"
+"Korištenje opcije -C u popisu datoteka nije dopušteno uz --listed-incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
-msgstr "Samo jedna opcija -C je dozvoljena uz --listed-incremental"
+msgstr "Samo jedna opcija -C je dopuštena uz --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Opcije „-%s“ i „-%s“ obje zahtijevaju standardni ulaz"
+msgstr "Obje opcije „-%s“ i „-%s“ zahtijevaju standardni ulaz"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
-msgstr "%s: Neispravan oblik arhive"
+msgstr "%s: Neispravni format arhive"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
-msgstr "GNU mogućnosti zatražene na nekompatibilnom obliku arhive"
+msgstr "Zatražene su GNU značajke za nekompatibilni format arhive"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
-"Nepoznat stil navođenja „%s“. Pokušajte „%s --quoting-style=help“ za prikaz "
-"popisa."
+"Nepoznat stil citiranja „%s“. Pokušajte „%s --quoting-style=help“ za popis."
 
 #: src/tar.c:354
 msgid ""
@@ -1639,13 +1651,13 @@ msgid ""
 "  tar -tvf archive.tar         # List all files in archive.tar verbosely.\n"
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
-"GNU „tar“ sprema više datoteka u arhivu na vrpci ili disku i može vratiti "
+"GNU tar sprema puno datoteka u arhivu na vrpcu ili na disk i može vratiti "
 "pojedinačne datoteke iz arhive.\n"
 "\n"
 "Primjeri:\n"
-"  %s -cf arhiva.tar foo bar   # Napravi arhiva.tar od datoteka foo i bar.\n"
-"  %s -tvf arhiva.tar          # Opširno ispiši sve datoteke iz arhiva.tar.\n"
-"  %s -xf arhiva.tar           # Ekstrahiraj sve datoteke iz arhiva.tar.\n"
+"  tar -cf arhiva.tar foo bar   # Kreira arhiva.tar od datoteka foo i bar\n"
+"  tar -tvf arhiva.tar          # Izlista sve datoteke sadržane u arhiva.tar\n"
+"  tar -xf arhiva.tar           # Izdvoji sve datoteke iz arhiva.tar\n"
 
 #: src/tar.c:363
 msgid ""
@@ -1658,99 +1670,98 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"Sufiks sigurnosne kopije je `~', osim ako je postavljen drugi s --suffix "
-"ili\n"
-"SIMPLE_BACKUP_SUFFIX. Kontrola inačice može biti postavljena s --backup\n"
-"ili s VERSION_CONTROL, vrijednosti su:\n"
+"Sufiks za osiguranje (sigurnosne kopije) je „~“, ako nije promijenjen s\n"
+"opcijom --suffix ili SIMPLE_BACKUP_SUFFIX.\n"
+"Varijantu kontrole postavite ili s opcijom --backup, ili s VERSION_CONTROL,\n"
+"a moguće vrijednosti za KONTROLU su:\n"
 "\n"
-"  none, off       ne radi sigurnosne kopije\n"
-"  t, numbered     radi numerirane sigurnosne kopije\n"
-"  nil, existing   numerirane ako numerirane sigurnosne kopije postoje,\n"
-"                    inače jednostavne\n"
-"  never, simple   uvijek radi jednostavne sigurnosne kopije\n"
+" none, off       ne praviti osiguranje (sigurnosne kopije)\n"
+" t, numbered     radi numerirane kopije osiguranja\n"
+" nil, existing   numerirane, ako postoje numerirane kopije, inače "
+"jednostavne\n"
+" never, simple   uvijek radi jednostavno osiguranje\n"
 
 #: src/tar.c:393
 msgid "Main operation mode:"
-msgstr "Glavni način rada:"
+msgstr "Osnovni način rada:"
 
 #: src/tar.c:396
 msgid "list the contents of an archive"
-msgstr "ispiši sadržaj arhive"
+msgstr "izlista sadržaj arhive"
 
 #: src/tar.c:398
 msgid "extract files from an archive"
-msgstr "ekstrahiraj datoteke iz arhive"
+msgstr "izdvoji datoteke iz arhive"
 
 #: src/tar.c:401
 msgid "create a new archive"
-msgstr "napravi novu arhivu"
+msgstr "kreira novu arhivu"
 
 #: src/tar.c:403
 msgid "find differences between archive and file system"
-msgstr "nađi razlike između arhive i datotečnog sustava"
+msgstr "traži razlike između arhive i datotečnoga sustava"
 
 #: src/tar.c:406
 msgid "append files to the end of an archive"
-msgstr "dodaj datoteke na kraj arhive"
+msgstr "pridoda datoteke na kraj arhive"
 
 #: src/tar.c:408
 msgid "only append files newer than copy in archive"
-msgstr "dodaj samo datoteke novije od kopije u arhivi"
+msgstr "doda datoteke, ali samo ako su novije od kopija u arhivi"
 
 #: src/tar.c:410
 msgid "append tar files to an archive"
-msgstr "dodaj tar datoteke u arhivu"
+msgstr "doda tar datoteke u arhivu"
 
 #: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
-msgstr "izbriši iz arhive (ne na magnetskim vrpcama!)"
+msgstr "ukloni iz arhive (ne i za magnetske vrpce!)"
 
 #: src/tar.c:415
 msgid "test the archive volume label and exit"
-msgstr "provjeri oznaku dijela arhive i izađi"
+msgstr "testira etiketu sveska arhive, i iziđe"
 
 #: src/tar.c:420
 msgid "Operation modifiers:"
-msgstr "Modifikatori operacija:"
+msgstr "Opcije za dodatno podešavanje:"
 
 #: src/tar.c:423
 msgid "handle sparse files efficiently"
-msgstr "učinkovito upravljaj raštrkanim datotekama"
+msgstr "učinkovito obradi raspršene (sparse) datoteke"
 
 # bp: novi msgid
 #: src/tar.c:424
 msgid "TYPE"
-msgstr "Metoda"
+msgstr "POSTUPAK"
 
 # bp: novi msgid
 #: src/tar.c:425
 msgid "technique to detect holes"
-msgstr "metoda za otkrivanje rupa"
+msgstr "postupak za otkrivanje rupa"
 
 #: src/tar.c:426
 msgid "MAJOR[.MINOR]"
-msgstr "GLAVNI[.SPOREDNI]"
+msgstr "MAJOR[.MINOR]"
 
 #: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
-msgstr ""
-"postavi inačicu raštrkanog oblika za korištenje (podrazumijeva --sparse)"
+msgstr "inačica sparse formata za upotrebu (implicira --sparse)"
 
 #: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
-msgstr "upravljaj inkrementalnim sigurnosnim kopijama starog GNU oblika"
+msgstr "obradi inkrementalno osiguranje (backup) u starom GNU-formatu"
 
 #: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
-msgstr "upravljaj inkrementalnim sigurnosnim kopijama novog GNU oblika"
+msgstr "obradi inkrementalno osiguranje (backup) u novom GNU-formatu"
 
 #: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
-msgstr "razina ispisa za stvorene ispisane-inkrementalne arhive"
+msgstr "BROJ je dump level za arhivu kreiranu s --listed-incremental opcijom"
 
 #: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
-msgstr "ne izlazi s kodom različitim od nule u slučaju nečitljivih datoteka"
+msgstr "ne izlazi s neuspjehom zbog nečitljivih datoteka"
 
 #: src/tar.c:437
 msgid ""
@@ -1759,146 +1770,146 @@ msgid ""
 "diff, --extract or --list and when a list of files is given either on the "
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
-"Obradi samo svako BROJ-to pojavljivanje svake datoteke u arhivi. Ova je "
-"opcija ispravna samo uz jednu od podnaredbi --delete, --diff, --extract ili "
-"--list te kad je popis datoteka naveden u naredbenom retku ili uz opciju -T. "
-"BROJ je uobičajeno 1."
+"procesira samo BROJ-to pojavljivanje svake datoteke u arhivi. Ova je opcija "
+"ispravna samo uz jednu od podnaredbi --delete, --diff, --extract ili --list, "
+"te kad je popis datoteka naveden na naredbenom retku, ili uz opciju -T. "
+"Zadano BROJ=1"
 
 #: src/tar.c:443
 msgid "archive is seekable"
-msgstr "arhiva se može pretraživati"
+msgstr "arhiva dopušta skok na poziciju"
 
 #: src/tar.c:445
 msgid "archive is not seekable"
-msgstr "arhiva se ne može pretraživati"
+msgstr "arhiva ne dopušta skok na poziciju"
 
 #: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
-msgstr "ne provjeravaj brojeve uređaja pri stvaranju inkrementalnih arhiva"
+msgstr "ne provjerava broj uređaja pri kreiranju inkrementalnih arhiva"
 
 #: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
-msgstr "provjeri brojeve uređaja pri stvaranju inkrementalnih arhiva (zadano)"
+msgstr "provjerava broj uređaja pri stvaranju inkrementalnih arhiva (zadano)"
 
 #: src/tar.c:456
 msgid "Overwrite control:"
-msgstr "Upravljanje prepisivanjem:"
+msgstr "Kontrola prepisivanja (pisanjem preko) postojećih datoteka:"
 
 #: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
-msgstr "pokušaj provjeriti arhivu nakon pisanja u nju"
+msgstr "isproba arhivu nakon što je zapisana"
 
 #: src/tar.c:461
 msgid "remove files after adding them to the archive"
-msgstr "ukloni datoteke nakon dodavanja u arhivu"
+msgstr "izbriše datoteke nakon što su dodane u arhivu"
 
 # bp: fuzirano
 #: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
 msgstr ""
-"ne zamjenjuj postojeće datoteke pri ekstrakciji, tretiraj ih kao pogreške"
+"ne prepiše postojeće datoteke prilikom izdvajanja, tretira ih kao greške"
 
 # bp: fuzirano, dodano
 #: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
-msgstr "ne zamjenjuj postojeće datoteke pri ekstrakciji, tiho ih preskoči"
+msgstr ""
+"ne prepiše postojeće datoteke prilikom izdvajanja, jednostavno ih preskoči"
 
 #: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
-msgstr "ne zamjenjuj postojeće datoteke novije od kopija u arhivi"
+msgstr ""
+"ne prepiše postojeće datoteke ako su novije od njihovih kopija u arhivi"
 
 #: src/tar.c:471
 msgid "overwrite existing files when extracting"
-msgstr "prepiši postojeće datoteke pri ekstrakciji"
+msgstr "prepiše postojeće datoteke prilikom izdvajanja"
 
 #: src/tar.c:473
 msgid "remove each file prior to extracting over it"
-msgstr "ukloni svaku datoteku prije ekstrakcije preko nje"
+msgstr "izbriše svaku datoteku prije izdvajanja preko nje same"
 
 #: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
-msgstr "isprazni hijerarhije prije ekstrahiranja direktorija"
+msgstr "rekurzivno briše direktorije prije izdvajanja direktorija iz arhive"
 
 #: src/tar.c:477
 msgid "preserve metadata of existing directories"
-msgstr "očuvaj metapodatke postojećih direktorija"
+msgstr "sačuva metapodatke postojećih direktorija"
 
 #: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
-msgstr "prepiši metapodatke postojećih direktorija pri ekstrakciji (zadano)"
+msgstr ""
+"prepiše metapodatke postojećih direktorija prilikom izdvajanja (zadano)"
 
 # original TK prepiši postojeće datoteke pri ekstrakciji
 #: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr "očuvaj postojeće simboličke veze na direktorije prilikom ekstrahiranja"
+msgstr "sačuva postojeće simboličke veze na direktorije prilikom izdvajanja"
 
 # bp: novi msgid
 #: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
 msgstr ""
-"napravi poddirektorij radi izbjegavanja gubitka datoteka prilikom "
-"ekstrahiranja"
+"napravi poddirektorij da izbjegne izdvajanje neželjenih datoteka (tarbomb)"
 
 #: src/tar.c:491
 msgid "Select output stream:"
-msgstr "Odaberi izlazni tok podataka:"
+msgstr "Izbor izlaznog potoka (stream):"
 
 #: src/tar.c:494
 msgid "extract files to standard output"
-msgstr "ekstrahiraj datoteke na standardni izlaz"
+msgstr "izdvoji datoteke na standardni izlaz"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "NAREDBA"
 
 #: src/tar.c:496
 msgid "pipe extracted files to another program"
-msgstr "proslijedi ekstrahirane datoteke drugom programu kroz cjevovod"
+msgstr "proslijedi izdvojene datoteke kroz cijev u program NAREDBA"
 
 #: src/tar.c:498
 msgid "ignore exit codes of children"
-msgstr "zanemari izlazne kodove djece"
+msgstr "ignorira izlazne kodove potomačkih procesa"
 
 #: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
-msgstr "postupaj s izlaznim kodovima djece različitim od nule kao s greškama"
+msgstr "tretira izlazne kodove potomka različite od nule kao grešku"
 
 #: src/tar.c:505
 msgid "Handling of file attributes:"
-msgstr "Upravljanje svojstvima datoteka:"
+msgstr "Manipuliranje s atributima datoteka:"
 
 #: src/tar.c:508
 msgid "force NAME as owner for added files"
-msgstr "prisilno postavi IME kao vlasnika dodanih datoteka"
+msgstr "postavi IME kao vlasnika dodanih datoteka"
 
 #: src/tar.c:510
 msgid "force NAME as group for added files"
-msgstr "prisilno postavi IME kao grupu dodanih datoteka"
+msgstr "postavi IME kao grupu dodanih datoteka"
 
-# bp: novi msgid
-# FILE u DATOTEKA, jer je TK to radio ranije
-# bp: možda je bolje ne prevoditi FILE
 #: src/tar.c:512
 msgid "use FILE to map file owner UIDs and names"
-msgstr "upotrijebi DATOTEKU za usporedbu UID-ova vlasnika datoteke i imena"
+msgstr "preslika korisničke UID-ove i imena iz DATOTEKE na arhivirane datoteke"
 
 # bp: novi msgid
 #: src/tar.c:514
 msgid "use FILE to map file owner GIDs and names"
-msgstr "upotrijebi DATOTEKU za usporedbu GID-ova i imena"
+msgstr "preslika korisničke GID-ove i imena iz DATOTEKE na arhivirane datoteke"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ILI-DATOTEKA"
 
 #: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
-msgstr "postavi ‘mtime’ dodanih datoteka iz DATUM-ILI-DATOTEKA"
+msgstr ""
+"primijeni vrijeme izmjene (mtime) na dodane datoteke iz DATUM-ILI-DATOTEKA"
 
 #: src/tar.c:518
 msgid ""
 "only set time when the file is more recent than what was given with --mtime"
-msgstr "postavi vrijeme samo ako je datoteka novija od opcije „--mtime“"
+msgstr "primijeni vrijeme samo ako je datoteka novija od --mtime"
 
 #: src/tar.c:519
 msgid "CHANGES"
@@ -1906,11 +1917,11 @@ msgstr "PROMJENE"
 
 #: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
-msgstr "prisili (simboličke) PROMJENE moda dodanih datoteka"
+msgstr "prisilno primjeni (simboličke) PROMJENE na dodane datoteke"
 
 #: src/tar.c:522
 msgid "METHOD"
-msgstr "METODA"
+msgstr "NAČIN"
 
 #: src/tar.c:523
 msgid ""
@@ -1918,55 +1929,56 @@ msgid ""
 "reading (METHOD='replace'; default) or by not setting the times in the first "
 "place (METHOD='system')"
 msgstr ""
-"očuvaj vremena pristupa ispisanih datoteka, ili vraćanjem vremena nakon "
-"čitanja (METODA='replace'; zadano), ili ne postavljanjem vremena "
-"(METODA='system')"
+"očuvati vremena pristupa arhiviranih datoteka vraćanjem vremena nakon "
+"čitanja (NAČIN='replace'; zadano), ili ne postavljanjem vremena "
+"(NAČIN='system')"
 
 #: src/tar.c:527
 msgid "don't extract file modified time"
-msgstr "ne ekstrahiraj vrijeme uređivanja datoteke"
+msgstr "ne izdvaja vrijeme izmjene datoteke"
 
 #: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
-"pokušaj ekstrahirati datoteke s istim vlasništvom kakvo je u arhivi (zadano "
-"za administratora)"
+"pokuša izdvojiti datoteke s istim vlasništvom kakvo je u arhivi (zadano za "
+"administratora)"
 
 #: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
-msgstr "otpakiraj datoteke kao trenutni korisnik (zadano za obične korisnike)"
+msgstr "datoteke izdvoji kao svoje vlastite (zadano za obične korisnike)"
 
 #: src/tar.c:533
 msgid "always use numbers for user/group names"
-msgstr "uvijek koristi brojke za imena korisnika/grupe"
+msgstr "uvijek rabi brojke umjesto imena za korisnika/grupu"
 
 #: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
-msgstr "izdvoji informacije o dozvolama datoteka (zadano za administratora)"
+msgstr ""
+"izvadi informacije o pravima dostupa datoteci (zadano za administratora)"
 
 #: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
-"primijeni korisnički umask pri ekstrakciji dozvola iz arhive (zadano za "
-"obične korisnike)"
+"primijeni korisnikov umask prilikom izdvajanja prava dostupa iz arhive "
+"(zadano za obične korisnike)"
 
 # bp: novi msgid
 #: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
-msgstr "članovi argument su navedeni u istom poretku kao datoteke u arhivi"
+msgstr "argumenti članova su popisani u istom poretku kao datoteke u arhivi"
 
 #: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
-"odgodi postavljanje vremena uređivanja i dozvola ekstrahiranih direktorija "
-"do kraja ekstrakcije"
+"odgodi postavljanje vremena izmjene i prava dostupa izdvojenih direktorija "
+"do svršetka izdvajanja"
 
 #: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
@@ -1980,26 +1992,26 @@ msgstr "POREDAK"
 # bp: novi msid
 #: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr "sortiranje direktorija: none (zadano), „name“ ili „inode“"
+msgstr "poreda direktorije po: none (zadano), name ili inode"
 
 # bp: novi msgid
 #: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr "sortiranje direktorija: none (zadano) ili „name“"
+msgstr "poreda direktorije po: none (zadano) ili name"
 
 # bp: fuzirano; dodano
 #: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr "Upravljanje proširenim svojstvima datoteka:"
+msgstr "Manipuliranje s proširenim atributima datoteka:"
 
 # bp: novi msgid
 #: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr "Omogući podršku za proširenje svojstava datoteka"
+msgstr "Omogući podršku za proširene atribute"
 
 #: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr "Onemogući podršku za proširenje svojstava datoteka"
+msgstr "Onemogući podršku za proširene atribute"
 
 # bp: sljedećih sedam novih mgsgid-ova
 #: src/tar.c:566 src/tar.c:568
@@ -2008,31 +2020,31 @@ msgstr "MASKA"
 
 #: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr "specificiraj uključenje uzorak za xattr ključeve"
+msgstr "specificira uključi-uzorak za xattr ključeve"
 
 #: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr "specificiraj izuzeće uzorak za xattr ključeve"
+msgstr "specificira isključi-uzorak za xattr ključeve"
 
 #: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr "Omogući podršku za SELinux kontekst"
+msgstr "Omogući SELinux kontekstnu podršku"
 
 #: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr "Onemogući podršku za SELinux kontekst"
+msgstr "Onemogući SELinux kontekstnu podršku"
 
 #: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr "Omogući podršku za  POSIX ACLs"
+msgstr "Omogući podršku za POSIX ACLs"
 
 #: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr "Onemogući podršku za  POSIX ACLs"
+msgstr "Onemogući podršku za POSIX ACLs"
 
 #: src/tar.c:582
 msgid "Device selection and switching:"
-msgstr "Odabir i zamjena uređaja:"
+msgstr "Izbor i zamjena uređaja:"
 
 #: src/tar.c:584
 msgid "ARCHIVE"
@@ -2040,28 +2052,28 @@ msgstr "ARHIVA"
 
 #: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
-msgstr "koristi datoteku ili uređaj ARHIVA"
+msgstr "rabi arhiviranu datoteku ili uređaj ARHIVA"
 
 #: src/tar.c:587
 msgid "archive file is local even if it has a colon"
-msgstr "datoteka arhive je lokalna iako sadrži dvotočje"
+msgstr "arhivirana datoteka je lokalna iako sadrži dvotočku „:“"
 
 #: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
-msgstr "koristi navedenu rmt NAREDBU umjesto rmt"
+msgstr "rabi navedenu rmt NAREDBU umjesto rmt"
 
 #: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
-msgstr "koristi udaljenu NAREDBU umjesto rsh"
+msgstr "rabi udaljenu NAREDBU umjesto rsh"
 
 #: src/tar.c:595
 msgid "specify drive and density"
-msgstr "navedi uređaj i gustoću"
+msgstr "specifikacija uređaja i gustoće pisanja"
 
 # FIXME -- volume -- find more suitable (ask others) -- TM
 #: src/tar.c:609
 msgid "create/list/extract multi-volume archive"
-msgstr "napravi/ispiši/ekstrahiraj višedjelnu arhivu"
+msgstr "napraviti/izlistati/izdvojiti višesvezačne arhive"
 
 #: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
@@ -2069,15 +2081,15 @@ msgstr "promijeni vrpcu nakon zapisivanja BROJ x 1024 bajtova"
 
 #: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
-msgstr "pokreni skriptu na kraju svake vrpce (podrazumijeva -M)"
+msgstr "pokrene skriptu na kraju svake vrpce (podrazumijeva -M)"
 
 #: src/tar.c:616
 msgid "use/update the volume number in FILE"
-msgstr "koristi/ažuriraj broj dijela arhive u DATOTECI"
+msgstr "rabi/ažurira broj sveska u DATOTECI"
 
 #: src/tar.c:621
 msgid "Device blocking:"
-msgstr "Podjela uređaja u blokove:"
+msgstr "Uređaj i blokovi:"
 
 #: src/tar.c:623
 msgid "BLOCKS"
@@ -2089,51 +2101,51 @@ msgstr "BLOKOVI x 512 bajtova po zapisu"
 
 #: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
-msgstr "BROJ bajtova po zapisu, višekratnik 512"
+msgstr "BROJ bajtova po zapisu, višekratnik od 512"
 
 #: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr "zanemari blokove u arhivi pretvorene u nulu (znači EOF)"
+msgstr "ignorira blokove s nulom u arhivi (to jest EOF)"
 
 #: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
-msgstr "ponovo napravi blokove pri čitanju (za 4.2BSD cjevovode)"
+msgstr "obnovi blokove u tijeku čitanja (za 4.2BSD cijevi)"
 
 #: src/tar.c:635
 msgid "Archive format selection:"
-msgstr "Odabir oblika arhive:"
+msgstr "Selekcija formata arhive:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
-msgstr "OBLIK"
+msgstr "FORMAT"
 
 #: src/tar.c:638
 msgid "create archive of the given format"
-msgstr "stvori arhivu zadanog oblika"
+msgstr "kreira arhivu danog formata"
 
 #: src/tar.c:640
 msgid "FORMAT is one of the following:"
-msgstr "OBLIK je jedan od sljedećih:"
+msgstr "FORMAT je jedan od:"
 
 #: src/tar.c:641
 msgid "old V7 tar format"
-msgstr "stari V7 tar oblik"
+msgstr "stari format tar V7"
 
 #: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
-msgstr "GNU oblik za tar <= 1.12"
+msgstr "GNU format za tar <= 1.12"
 
 #: src/tar.c:646
 msgid "GNU tar 1.13.x format"
-msgstr "GNU tar 1.13.x oblik"
+msgstr "GNU tar 1.13.x format"
 
 #: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
-msgstr "POSIX 1003.1-1988 (ustar) oblik"
+msgstr "POSIX 1003.1-1988 (ustar) format"
 
 #: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
-msgstr "POSIX 1003.1-2001 (pax) oblik"
+msgstr "POSIX 1003.1-2001 (pax) format"
 
 #: src/tar.c:651
 msgid "same as pax"
@@ -2149,11 +2161,11 @@ msgstr "isto kao --format=posix"
 
 #: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr "ključna_riječ[[:]=vrijednost][,ključna_riječ[[:]=vrijednost]]..."
+msgstr "keyword[[:]=vrijednost][,keyword[[:]=vrijednost]]..."
 
 #: src/tar.c:659
 msgid "control pax keywords"
-msgstr "kontrolne pax ključne riječi"
+msgstr "kontrolira pax ključne riječi"
 
 #: src/tar.c:660
 msgid "TEXT"
@@ -2164,20 +2176,20 @@ msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
-"Napravi arhivu s imenom dijela arhive TEKST. Pri ispisu/otpakiranju koristi "
-"TEKST za traženje uzorka za ime dijela arhive."
+"kreira arhivu s imenom sveska TEKST; pri listanju/izdvajanju rabi TEKST kao "
+"globbing uzorak za ime sveska"
 
 #: src/tar.c:666
 msgid "Compression options:"
-msgstr "Opcije kompresije:"
+msgstr "Opcije za kompresiju:"
 
 #: src/tar.c:668
 msgid "use archive suffix to determine the compression program"
-msgstr "koristi sufiks arhive za određivanje programa za kompresiju"
+msgstr "arhivin sufiks određuje program za kompresiju"
 
 #: src/tar.c:670
 msgid "do not use archive suffix to determine the compression program"
-msgstr "ne koristi sufiks arhive za određivanje programa za kompresiju"
+msgstr "arhivin sufiks ne određuje program za kompresiju"
 
 #: src/tar.c:672
 msgid "PROG"
@@ -2185,261 +2197,264 @@ msgstr "PROGRAM"
 
 #: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
-msgstr "filtriraj kroz PROGRAM (mora prihvaćati -d)"
+msgstr "filtrira arhivu kroz PROGRAM (mora prihvatiti -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
-msgstr "Odabir lokalnih datoteka:"
+msgstr "Selekcija lokalnih datoteka:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
-msgstr "ostani u lokalnom datotečnom sustavu pri stvaranju arhive"
+msgstr "kreira arhivu u lokalnom datotečnom sustavu"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
-msgstr "ne uklanjaj početne „/“ iz imena datoteka"
+msgstr "ne skida početne „/“ iz imena datoteka"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
-msgstr "slijedi simboličke veze; arhiviraj i ispiši datoteke na koje pokazuju"
+msgstr "slijedi simboličke veze; arhivira i sprema datoteke u koje veze gađaju"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
-msgstr "slijedi čvrste veze; arhiviraj i ispiši datoteke na koje se odnose"
+msgstr "slijedi čvrste veze; arhivira i sprema datoteke na koje veze pokazuju"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
-msgstr "IME-ELEMENTA"
+msgstr "IME-ČLANA"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr "započni s elementom IME-ELEMENTA u arhivi"
+msgstr "čitanje arhive započeti s članom IME-ČLANA"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
-msgstr "spremi samo datoteke novije od DATUM-ILI-DATOTEKA"
+msgstr "sprema samo datoteke novije od DATUM-ILI-DATOTEKA"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
-msgstr "usporedi datum i vrijeme samo ako su podaci promijenjeni"
+msgstr ""
+"usporedi datum i vrijeme, ali samo ako su podaci promijenjeni; testira samo "
+"mtime"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROLA"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
-msgstr "napravi sigurnosnu kopiju prije uklanjanja, odaberi KONTROLU inačice"
+msgstr ""
+"osiguranje (sigurnosne kopije) napravi prije uklanjanja; odaberite varijantu "
+"KONTROLE"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
-msgstr "NIZ"
+msgstr "STRING"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
-"napravi sigurnosnu kopiju prije uklanjanja, zamijeni uobičajeni sufiks („~“ "
-"osim ako je promijenjen varijablom okoline SIMPLE_BACKUP_SUFFIX)"
+"osiguranje (sigurnosne kopije) napravi prije uklanjanja, promijeni "
+"uobičajeni sufiks „~“ (ako nije promijenjen varijablom okoline "
+"SIMPLE_BACKUP_SUFFIX) u STRING"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
-msgstr "Pretvaranja imena datoteka:"
+msgstr "Transformacija imena datoteka:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
-msgstr "ukloni BROJ vodećih komponenti iz imena datoteka pri otpakiranju"
+msgstr "skine BROJ vodećih komponenti iz imena datoteka prilikom izdvajanja"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "IZRAZ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
-msgstr "koristi sed zamjenu IZRAZA za promjenu imena datoteka"
+msgstr "transformacija imena datoteka upotrebom sed IZRAZA"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informativni izlaz:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
-msgstr "opširno ispiši obrađene datoteke"
+msgstr "izlista procesirane datoteke"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "KLJUČNA_RIJEČ"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
-msgstr "kontrola upozorenja"
+msgstr "upravljanje s upozorenjima"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
-msgstr "prikaži poruke o napretku svakih BROJ zapisa (zadano 10)"
+msgstr "poruke o progresu pokaže svakih BROJ zapisa (zadano 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
-msgstr "RADNJA"
+msgstr "AKCIJA"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
-msgstr "izvrši RADNJU na svakoj kontrolnoj točki"
+msgstr "izvrši AKCIJU na svakoj kontrolnoj točki"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
-msgstr "ispiši poruku ako nisu ispisane sve veze"
+msgstr "ispiše poruku ako sve veze nisu arhivirane"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
 "SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also "
 "accepted"
 msgstr ""
-"Ispiši ukupan broj bajtova nakon obrade arhive. Uz argument - ispiši ukupan "
-"broj bajtova nakon primanja ovog SIGNALA. Dozvoljeni signali su: SIGHUP, "
-"SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. Također se prihvaćaju imena bez prefiksa "
-"SIG."
+"ispiše ukupan broj bajtova nakon obrade arhive; s argumentom - ispiše ukupan "
+"broj bajtova nakon primanja ovog SIGNALA. Dopušteni signali su: SIGHUP, "
+"SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2; prihvaćaju se također i imena bez SIG "
+"prefiksa"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
-msgstr "ispiši vremena uređivanja datoteka u UTC-u"
+msgstr "ispiše vremena izmjene datoteka u UTC-u"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
-msgstr "ispiši potpunu rezoluciju vremena datoteke"
+msgstr "ispis (u punoj rezoluciji) vremena datoteka"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
-msgstr "pošalji opširan izlaz u DATOTEKU"
+msgstr "pošalje opširan izlaz u DATOTEKU"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
-msgstr "prikaži broj bloka u arhivi uz svaku poruku"
+msgstr "broj bloka u arhivi u svakoj poruci"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
-msgstr "traži potvrdu svake radnje"
+msgstr "pita za potvrdu za svaku akciju"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
-msgstr "prikaži zadane postavke za tar"
+msgstr "zadane (defaults) tar postavke"
 
 # bp: novi msgid
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
-msgstr "prikaži valjane raspone za snapshot-datoteke polja"
+msgstr "valjani rasponi za polja snapshot-datoteke"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
-"pri ispisu ili ekstrakciji, ispiši svaki direktorij koji ne odgovara "
+"pri listanju ili izdvajanju ispiše svaki direktorij koji se ne podurara s "
 "uvjetima pretraživanja"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
-msgstr "prikaži imena datoteke ili arhive nakon pretvaranja"
+msgstr "imena datoteka ili arhiva nakon transformacije"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
-msgstr ""
-"postavi stil navođenja imena; pogledajte niže ispravne vrijednosti STILA"
+msgstr "stil citiranja imena; pogledajte niže valjane vrijednosti za STIL"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
-msgstr "dodatno navedi znakove iz NIZA"
+msgstr "dodatno uvijek citira i znakove iz STRINGA"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
-msgstr "onemogući navođenje za znakove iz NIZA"
+msgstr "onemogući citiranje znakova iz STRINGA"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
-msgstr "Opcije kompatibilnosti:"
+msgstr "Opcije za kompatibilnost:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
-"pri stvaranju, isto kao --old-archive; pri ekstrahiranju, isto kao --no-same-"
-"owner"
+"pri kreiranju isto kao --old-archive; pri izdvajanju isto kao --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Ostale opcije:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
-msgstr "onemogući korištenje nekih potencijalno opasnih opcija"
+msgstr "deaktivira nekoliko potencijalno opasnih opcija"
 
 # bp: fuziran, dotjeran
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
-msgstr "%s: ne može se koristiti s %s"
+msgstr "„%s“: ne može se rabiti s „%s“"
 
 # bp: fuziran, dodana
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
-"Ne možete navesti više od jedne od opcija „-Acdtrux“, „--delete“ ili „--test-"
+"Smijete navesti samo jednu od opcija „-Acdtrux“, „--delete“ ili „--test-"
 "label“"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
-msgstr "Konfliktne opcije komprimiranja"
+msgstr "Konfliktne opcije za kompresiju"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nepoznato ime signala: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
-msgstr "Datoteka s primjerom datuma nije pronađena"
+msgstr "Datoteka s uzorkom datuma nije pronađena"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
-msgstr "Mijenjam %s za nepoznat oblik datuma %s"
+msgstr "S(a) %s zamijenjuje se nepoznati format datuma %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr "Opcija %s: Postupam s datumom „%s“ kao %s"
+msgstr "Opcija %s: Datum „%s“ tretira se kao %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
-msgstr "filtriraj arhivu kroz %s"
+msgstr "filtrira arhivu kroz %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
-msgstr "Ispravni argumenti opcije --quoting-style su:"
+msgstr "Valjane vrijednosti za opciju --quoting-style su:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2448,205 +2463,205 @@ msgstr ""
 "Uobičajeno ponašanje *ovog* programa tar je:\n"
 
 # bp: fuzirano, dodano
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
-msgstr "Neispravan vlasnik ili grupni ID"
+msgstr "Neispravni vlasnik ili ID grupe"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
-msgstr "Neispravan faktor pakiranja u blokove"
+msgstr "Neispravna veličina bloka"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Neispravna duljina vrpce"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
-msgstr "Neispravna vrijednost inkrementalne razine"
+msgstr "Neispravna vrijednost za inkrement razine"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
-msgstr "Više od jednog datuma praga"
+msgstr "Više od jednog praga datuma"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
-msgstr "Neispravna vrijednost raštrkane inačice"
+msgstr "Neispravna vrijednost za sparse verziju (sparse version)"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr "--atime-preserve='system' nije podržan na ovoj platformi"
+msgstr "--atime-preserve='system' opcija nije podržana na ovoj platformi"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
-msgstr "vrijednost --checkpoint nije cjelobrojna"
+msgstr "vrijednost --checkpoint nije cijeli broj"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
-msgstr "Neispravan mod naveden opcijom"
+msgstr "U opciji je naveden neispravni format prava dostupa"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
-msgstr "Neispravan broj"
+msgstr "Neispravni broj"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
-msgstr "Pogrešna veličina zapisa"
+msgstr "Neispravna veličina zapisa"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
-msgstr "Veličina sloga mora biti višekratnik %d."
+msgstr "Veličina zapisa mora biti višekratnik od %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Neispravan broj elemenata"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
-msgstr "Dozvoljena je samo jedna opcija --to-command"
+msgstr "Dopuštena je samo jedna opcija --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
-msgstr "Izobličen argument gustoće: %s"
+msgstr "Deformirani argument gustoće: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Nepoznata gustoća: „%c“"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "*Ovaj* tar ne podržava opcije „-[0-7][lmh]“"
+msgstr "Opcije „-[0-7][lmh]“ *ovaj* tar ne podržava"
 
 # bp: novi msgid
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: mjesto greške"
 
 # bp: fuzirano, dotjerano
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
-msgstr "greška u analiziranju „%s“"
+msgstr "greška pri analizi %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[DATOTEKA]..."
 
 # bp: fuzirano, popravljeno
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
-msgstr "neispravan argument u %s"
+msgstr "argumenti, koji nisu opcije u %s"
 
 # bp: novi msgid
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
-msgstr "ne mogu rastaviti TAR_OPTIONS: %s"
+msgstr "nije moguće razdijeliti TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Stara opcija „%c“ zahtijeva argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence nema smisla bez popisa datoteka"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
-msgstr "Višedjelne arhive zahtijevaju opciju „-M“"
+msgstr "Više arhivskih datoteka zahtijeva opciju „-M“"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level nema smisla bez --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
-msgstr[0] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajt)"
-msgstr[1] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajta)"
-msgstr[2] "%s: Oznaka dijela arhive je predugačka (ograničenje je %lu bajtova)"
+msgstr[0] "%s: Etiketa sveska je preduga (ograničenje je %lu bajt)"
+msgstr[1] "%s: Etiketa sveska je preduga (ograničenje je %lu bajta)"
+msgstr[2] "%s: Etiketa sveska je preduga (ograničenje je %lu bajtova)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
-msgstr "Ne mogu provjeriti višedjelne arhive"
+msgstr "Nemoguće je provjeriti svezačne arhive"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
-msgstr "Ne mogu provjeriti komprimirane arhive"
+msgstr "Nije moguće provjeriti komprimirane arhive"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
-msgstr "Ne mogu koristiti višedjelne komprimirane arhive"
+msgstr "Nemoguće je rabiti višesvezačne komprimirane arhive"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
-msgstr "Ne mogu spojiti komprimirane arhive"
+msgstr "Nije moguće spojiti komprimirane arhive"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
-msgstr "opcija „--clamp-mtime“ zahtijeva datum specificiran s „--mtime“"
+msgstr "opcija --clamp-mtime zahtijeva datum specificiran s --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
-msgstr "--pax-option se može koristiti samo na POSIX arhivama"
+msgstr "--pax-option može se rabiti samo na POSIX arhivama"
 
 # bp: fuzirano, popravljeno
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
-msgstr "--acls se može koristiti samo na POSIX arhivama"
+msgstr "--acls može se rabiti samo na POSIX arhivama"
 
 # bp: fuzirano, popravljeno
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
-msgstr "--selinux se može koristiti samo na POSIX arhivama"
+msgstr "--selinux može se rabiti samo na POSIX arhivama"
 
 # bp: fuzirano, popravljeno
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
-msgstr "--xattrs se može koristiti samo na POSIX arhivama"
+msgstr "--xattrs može se rabiti samo na POSIX arhivama"
 
 # bp: novi msgid
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
-"Ne mogu odrediti naziv najvišeg direktorija; zadajte ga eksplicitno s --one-"
-"top-level=DIR"
+"Nije moguće odrediti ime vrhovnoga direktorija; specificirajte ga "
+"eksplicitno s --one-top-level=DIR"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
-msgstr "Duljina dijela arhive ne može biti manja od veličine zapisa"
+msgstr "Duljina sveska ne može biti manja od veličine zapisa"
 
 # LOL -- TM
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
-msgstr "Kukavički odbijam napraviti praznu arhivu"
+msgstr "Pravljenje prazne arhive se kukavički odbija"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Opcije „-Aru“ nisu kompatibilne s „-f -“"
 
 # bp: fuzirano, popravljeno
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Morate navesti jednu od opcija „-Acdtrux“, „--delete“ ili „--test-label“"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
-msgstr "Izlazim sa stanjem neuspjeha zbog prethodnih grešaka"
+msgstr "Izlaz sa statusom neuspjeha zbog prethodnih grešaka"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
@@ -2654,377 +2669,387 @@ msgstr[0] "%s: Datoteka skraćena za %s bajt"
 msgstr[1] "%s: Datoteka skraćena za %s bajta"
 msgstr[2] "%s: Datoteka skraćena za %s bajtova"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Ključna riječ %s je nepoznata ili još nije implementirana"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
-msgstr "Vremenska oznaka je izvan dozvoljenih granica"
+msgstr "Vremenska oznaka je izvan dopuštenoga raspona"
+
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
 
-#: src/xheader.c:205
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
-msgstr "Uzorak %s se ne može koristiti"
+msgstr "Uzorak %s se ne može rabiti"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
-msgstr "Ključnu riječ %s se ne može zaobići"
+msgstr "Ključnu riječ %s nije moguće prepisati (nadjačati)"
+
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
 
-#: src/xheader.c:668
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
-msgstr "Izobličeno prošireno zaglavlje: nedostaje duljina"
+msgstr "Deformirano prošireno zaglavlje: nedostaje duljina"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
-msgstr "Duljina proširenog zaglavlja %*s je izvan granica"
+msgstr "Duljina proširenog zaglavlja %*s je izvan raspona"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
-msgstr "Izobličeno prošireno zaglavlje: nedostaje praznina nakon duljine"
+msgstr "Deformirano prošireno zaglavlje: nedostaje praznina nakon duljine"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
-msgstr "Izobličeno prošireno zaglavlje: nedostaje znak jednakosti"
+msgstr "Deformirano prošireno zaglavlje: nedostaje znak jednakosti"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
-msgstr "Izobličeno prošireno zaglavlje: nedostaje novi redak"
+msgstr "Deformirano prošireno zaglavlje: nedostaje novi redak (newline)"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr "Zanemarujem nepoznatu ključnu riječ proširenog zaglavlja „%s“"
+msgstr "Ignorira se nepoznata ključna riječ proširenog zaglavlja „%s“"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
-"Stvoreni par ključna_riječ/vrijednost je predugačak (ključna_riječ=%s, "
-"duljina=%s)"
+"Predugi generirani par ključna_riječ/vrijednost (ključna_riječ=%s, duljina="
+"%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Prošireno zaglavlje %s=%s je izvan raspona %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr "Izobličeno prošireno zaglavlje: neispravan %s=%s"
+msgstr "Deformirano proširenje zaglavlja: neispravni %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
-msgstr "Izobličeno prošireno zaglavlje: suvišan %s=%s"
+msgstr "Deformirano prošireno zaglavlje: suvišan %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
-msgstr ""
-"Izobličeno prošireno zaglavlje: neispravan %s: neočekivan znak razdvajanja %c"
+msgstr "Deformirano proširenje zaglavlja: neispravni %s: neočekivani međaš %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
-"Izobličeno prošireno zaglavlje: neispravan %s: neparan broj vrijednosti"
+"Deformirano proširenje zaglavlja: neispravni %s: neparan broj vrijednosti"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
-msgstr "%s: nije ispravno vremensko ograničenje"
+msgstr "%s: nije ispravno vremensko ograničenje (timeout)"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr "%s: nepoznata radnja kontrolne točke"
+msgstr "%s: nepoznata akcija kontrolne točke"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
-msgstr "piši"
+msgstr "pisati"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
-msgstr "čitaj"
+msgstr "(u/pro)čitati"
 
 #. TRANSLATORS: This is a "checkpoint of write operation",
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
-msgstr "Kontrolna točka pisanja %u"
+msgstr "Zapisati kontrolnu točku %u"
 
 #. TRANSLATORS: This is a "checkpoint of read operation",
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
-msgstr "Kontrolna točka čitanja %u"
+msgstr "Učitati kontrolnu točku %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
-"genfile rukuje podatkovnim datotekama GNU paxutils skupa testova.\n"
+"genfile rukuje podatkovnim datotekama GNU paxutils testsuite.\n"
 "OPCIJE su:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
-msgstr "Opcije stvaranja datoteka:"
+msgstr "Opcije za kreiranje datoteka:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "VELIČINA"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
-msgstr "Napravi datoteku navedene VELIČINE"
+msgstr "Kreiranje datoteke dane VELIČINE"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Piši u datoteku IME umjesto na standardni izlaz"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
-msgstr "Čitaj imena datoteka iz DATOTEKE"
+msgstr "Učitati imena datoteka iz DATOTEKE"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T čita imena završena praznim (null) znakom"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
-msgstr "Popuni datoteku navedenim UZORKOM. UZORAK je „default“ ili „zeros“"
+msgstr "Popuni datoteku s navedenim UZORKOM. UZORAK je „default“ ili „zeros“"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
-msgstr "Veličina bloka za raštrkanu datoteku"
+msgstr "Veličina bloka za raspršenu (sparse) datoteku"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
-"Stvori raštrkanu datoteku. Ostatak naredbenog retka zadaje mapu datoteke."
+"Generira raspršenu (sparse) datoteku. Ostatak naredbe zada mapu datoteke."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
-msgstr "POMAK"
+msgstr "ODMAK"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
-msgstr "Idi na zadani pomak prije pisanja podataka"
+msgstr "Otiđe na zadani odmak prije pisanja podataka"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
-msgstr "Izostavi sve dijagnostičke poruke koje nisu fatalne"
+msgstr "Priguši sve dijagnostičke poruke koje nisu fatalne"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
-msgstr "Opcije statistike datoteka:"
+msgstr "Opcije za statistiku datoteka:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
-"Ispiši sadržaj statistike strukture za svaku navedenu datoteku. Uobičajeni "
-"OBLIK je: "
+"Ispiše sadržaj struct stat za svaku navedenu datoteku. Standardni FORMAT je: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Opcije sinkronog izvršavanja:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPCIJA"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Izvrši ARGUMENTE. Korisno uz --checkpoint i jednu od opcija --cut, --append, "
 "--touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
-msgstr ""
-"Izvrši zadane radnje (pogledajte dolje) pri dostizanju kontrolne točke BROJ"
+msgstr "Izvrši dane akcije (v. dolje) pri dostizanju kontrolne točke BROJ"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
-msgstr "Postavi datum za sljedeću opciju --touch"
+msgstr "Zadaje datum za sljedeću --touch opciju"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
-msgstr "Prikaži izvršene kontrolne točke i izlazno stanje NAREDBE"
+msgstr "Pokaže izvršene kontrolne točke i izlazni status NAREDBE"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
-"Radnje sinkronog izvršavanja. One se izvršavaju kad se dostigne broj "
-"kontrolne točke zadan opcijom --checkpoint."
+"Sinkrono izvršene akcije. Izvršavaju se kad se dostigne broj kontrolne točke "
+"dan opcijom --checkpoint."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 "Skrati DATOTEKU na veličinu zadanu prethodnom opcijom --length (ili 0 ako "
-"nije zadano)"
+"veličina nije dana)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
-"Dodaj VELIČINA bajtova u DATOTEKU. VELIČINA je zadana prethodnom opcijom --"
+"Dodati VELIČINU bajtova u DATOTEKU. VELIČINA je zadana prethodnom opcijom --"
 "length."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
-msgstr "Ažuriraj vrijeme pristupa i uređivanja DATOTEKE"
+msgstr "Ažurira vremena dostupa i izmjene DATOTEKE"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Izvrši NAREDBU"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Izbriše DATOTEKU"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Neispravna veličina: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
-msgstr "Broj izvan dozvoljenih granica: %s"
+msgstr "Broj je izvan dopuštenoga raspona: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativna veličina: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
-msgstr "stat(%s) nije uspio"
+msgstr "nije uspjelo odrediti status od %s"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "tražena duljina datoteke %lu, stvarna %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
-msgstr "stvorena datoteka nije raštrkana"
+msgstr "kreirana datoteka nije raspršena (sparse)"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
-msgstr "Greška analize broja kod „%s“"
+msgstr "Greška analize broja u blizini „%s“"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
-msgstr "Nepoznat oblik datuma"
+msgstr "Nepoznat format datuma"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENTI...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
-msgstr "ne mogu otvoriti „%s“"
+msgstr "nije moguće otvoriti „%s“"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
-msgstr "ne mogu tražiti"
+msgstr "nije moguće skočiti na poziciju"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "ime datoteke sadrži prazan (null) znak"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
-"ne mogu stvoriti raštrkane datoteke na standardnom izlazu, koristite opciju "
-"--file"
+"nemoguće je generirati raspršene (sparse) datoteke na standardnom izlazu, "
+"rabite opciju --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr "netočna maska (kod „%s“)"
+msgstr "netočna maska (blizu „%s“)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Nepoznato polje „%s“"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "ne mogu postaviti vrijeme na „%s“"
+msgstr "nije moguće postaviti vrijeme na „%s“"
 
 # bp: fuzirano.
 # možda je „vezu“ suvišna
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
-msgstr "ne mogu ukloniti vezu „%s“"
+msgstr "nije moguće skratiti „%s“"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "naredba %s nije uspjela"
 
 # bp: fuzirano.
 # možda je „vezu“ suvišna
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "ne mogu ukloniti vezu „%s“"
+msgstr "nije moguće dobiti status od „%s“"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "ne mogu postaviti vrijeme na „%s“"
+msgstr "direktorij „%s“ nije moguće ukloniti"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
-msgstr "ne mogu ukloniti vezu „%s“"
+msgstr "nije moguće ukloniti vezu (unlink) „%s“"
 
 #: tests/genfile.c:918
 #, c-format
 msgid "Command exited successfully\n"
-msgstr "Izlaz naredbe uspješan\n"
+msgstr "Naredba je uspješno izvršena\n"
 
 #: tests/genfile.c:920
 #, c-format
 msgid "Command failed with status %d\n"
-msgstr "Naredba nije uspjela sa stanjem %d\n"
+msgstr "Naredba nije uspjela; status %d\n"
 
 #: tests/genfile.c:924
 #, c-format
 msgid "Command terminated on signal %d\n"
-msgstr "Naredba završena signalom %d\n"
+msgstr "Naredba okončana signalom %d\n"
 
 #: tests/genfile.c:926
 #, c-format
@@ -3034,574 +3059,17 @@ msgstr "Naredba zaustavljena signalom %d\n"
 #: tests/genfile.c:929
 #, c-format
 msgid "Command dumped core\n"
-msgstr "Naredba je izbacila jezgru\n"
+msgstr "Naredba je proizvela core dump\n"
 
 #: tests/genfile.c:932
 #, c-format
 msgid "Command terminated\n"
-msgstr "Naredba završena\n"
+msgstr "Naredba je okončana\n"
 
 #: tests/genfile.c:964
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat zahtijeva imena datoteka"
 
-#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-#~ msgstr "%.*s: ARGP_HELP_FMT parametar mora biti pozitivan"
-
-#~ msgid "%s: option '--%s' doesn't allow an argument\n"
-#~ msgstr "%s: opcija „--%s“ ne dozvoljava argument\n"
-
-#~ msgid "%s: unrecognized option '--%s'\n"
-#~ msgstr "%s: neprepoznata opcija „--%s“\n"
-
-#~ msgid "%s: option '-W %s' is ambiguous\n"
-#~ msgstr "%s: opcija „-W %s“ je višeznačna\n"
-
-#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
-#~ msgstr "%s: opcija „-W %s“ ne dozvoljava argument\n"
-
-#~ msgid "%s: option '-W %s' requires an argument\n"
-#~ msgstr "%s: opcija „-W %s“ zahtijeva argument\n"
-
-#~ msgid "Unlink FILE"
-#~ msgstr "Ukloni vezu DATOTEKE"
-
-#~ msgid "same as both -p and -s"
-#~ msgstr "isto kao -p i -s zajedno"
-
-#~ msgid ""
-#~ "The --preserve option is deprecated, use --preserve-permissions --"
-#~ "preserve-order instead"
-#~ msgstr ""
-#~ "Opcija --preserve je zastarjela, koristite --preserve-permissions --"
-#~ "preserve-order umjesto nje"
-
-#~ msgid "Field too long while reading snapshot file"
-#~ msgstr "Polje predugačko pri čitanju datoteke snimke stanja"
-
-#~ msgid "Read error in snapshot file"
-#~ msgstr "Greška čitanja u datoteci snimke stanja"
-
-#~ msgid "Unexpected field value in snapshot file"
-#~ msgstr "Neočekivana vrijednost polja u datoteci snimke stanja"
-
-#~ msgid "Cannot get working directory"
-#~ msgstr "Ne mogu saznati trenutni radni direktorij"
-
-#~ msgid "sort names to extract to match archive"
-#~ msgstr "razvrstaj imena za ekstrakciju da odgovaraju arhivi"
-
-#~ msgid "Invalid group"
-#~ msgstr "Neispravna grupa"
-
-#~ msgid "--occurrence cannot be used in the requested operation mode"
-#~ msgstr "--occurrence se ne može koristiti u traženom načinu rada"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr "Ne mogu kombinirati --listed-incremental s --newer"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr "--preserve-order nije kompatibilno s --listed-incremental"
-
-#~ msgid "Extended header length is out of allowed range"
-#~ msgstr "Duljina proširenog zaglavlja je izvan dozvoljenih granica"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: ilegalna opcija -- %c\n"
-
-#~ msgid "block size"
-#~ msgstr "veličina bloka"
-
-#~ msgid "Cannot dup"
-#~ msgstr "Neuspjeli dup"
-
-#~ msgid "Cannot use compressed or remote archives"
-#~ msgstr "Ne mogu koristiti komprimirane ili udaljene (remote) arhive"
-
-#~ msgid "tar (child)"
-#~ msgstr "tar (podproces)"
-
-#~ msgid "tar (grandchild)"
-#~ msgstr "tar (pod-podproces)"
-
-#~ msgid "Reading %s\n"
-#~ msgstr "Čitam %s\n"
-
-#~ msgid "WARNING: No volume header"
-#~ msgstr "UPOZORENJE: Nema zaglavlja za dio arhive"
-
-#~ msgid "Child returned status %d"
-#~ msgstr "Podproces završio uz status %d"
-
-#~ msgid "Member names contain `..'"
-#~ msgstr "Imena članova sadrže `..'"
-
-# FIXME -- clarify this against source -- TM -- didn't help
-# Paul E. said this means:
-#
-# "tar" read a LONGNAME or LONGLINK header from the archive in a context
-# where it was not expected.
-#~ msgid "Visible long name error"
-#~ msgstr "Vidljiva pogreška u dugom imenu"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Greška iz koje se ne mogu oporaviti: završavam s radom"
-
-#~ msgid "Device number out of range"
-#~ msgstr "Broj uređaja izvan opsega"
-
-#~ msgid "Visible longname error"
-#~ msgstr "Vidljiva pogreška u dugom imenu"
-
-#~ msgid "Renamed %s to %s"
-#~ msgstr "Preimenovao %s u %s"
-
-#~ msgid "Symlinked %s to %s"
-#~ msgstr "Napravio simbolički link %s prema %s"
-
-#~ msgid "Unknown demangling command %s"
-#~ msgstr "Nepoznata naredba za demangliranje %s"
-
-#~ msgid "Missing file name after -C"
-#~ msgstr "Nedostaje ime datoteke nakon -C"
-
-#~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd: Ne mogu alocirati prostor za međuspremnik\n"
-
-#~ msgid "Cannot allocate buffer space"
-#~ msgstr "Ne mogu alocirati prostor za međuspremnik"
-
-#~ msgid ""
-#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
-#~ "You may redistribute it under the terms of the GNU General Public "
-#~ "License;\n"
-#~ "see the file named COPYING for details."
-#~ msgstr ""
-#~ "Ovaj program dolazi BEZ GARANCIJA, do granica dozvoljenih zakonom.\n"
-#~ "Možete ga redistribuirati pod uvjetima GNU General Public License;\n"
-#~ "vidi datoteku imena COPYING za detalje."
-
-#~ msgid "Premature end of file"
-#~ msgstr "Prerani kraj datoteke"
-
-# FIXME -- now this is supposed to be funny
-#~ msgid "rmtd: Garbage command %c\n"
-#~ msgstr "rmtd: %c je neispravna naredba\n"
-
-#~ msgid ""
-#~ "GNU `tar' saves many files together into a single tape or disk archive, "
-#~ "and\n"
-#~ "can restore individual files from the archive.\n"
-#~ msgstr ""
-#~ "GNU `tar' sprema mnogo datoteka zajedno u jednu arhivu na traci ili "
-#~ "disku, i\n"
-#~ "može povratiti pojedinačne datoteke iz arhive.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "If a long option shows an argument as mandatory, then it is mandatory\n"
-#~ "for the equivalent short option also.  Similarly for optional arguments.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Ako duga opcija pokazuje agument kao obavezan, onda je obavezan\n"
-#~ "i za ekvivalentnu kratku opciju također.  Jednako vrijedi i za "
-#~ "opcionalne\n"
-#~ "argumente.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Main operation mode:\n"
-#~ "  -t, --list              list the contents of an archive\n"
-#~ "  -x, --extract, --get    extract files from an archive\n"
-#~ "  -c, --create            create a new archive\n"
-#~ "  -d, --diff, --compare   find differences between archive and file "
-#~ "system\n"
-#~ "  -r, --append            append files to the end of an archive\n"
-#~ "  -u, --update            only append files newer than copy in archive\n"
-#~ "  -A, --catenate          append tar files to an archive\n"
-#~ "      --concatenate       same as -A\n"
-#~ "      --delete            delete from the archive (not on mag tapes!)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Glavni mod rada:\n"
-#~ "  -t, --list              ispiši sadržaje arhive\n"
-#~ "  -x, --extract, --get    ekstrahiraj datoteke iz arhive\n"
-#~ "  -c, --create            kreiraj novu arhivu\n"
-#~ "  -d, --diff, --compare   nađi razlike između arhive i datotečnog "
-#~ "sustava\n"
-#~ "  -r, --append            nadodaj datoteke na kraj arhive\n"
-#~ "  -u, --update            nadodaj samo datoteke novije od kopije u "
-#~ "arhivi\n"
-#~ "  -A, --catenate          nadodaj tar datoteke na arhivu\n"
-#~ "      --concatenate       isto kao -A\n"
-#~ "      --delete            izbriši iz arhive (ne radi na magnetskim "
-#~ "trakama!)\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Operation modifiers:\n"
-#~ "  -W, --verify               attempt to verify the archive after writing "
-#~ "it\n"
-#~ "      --remove-files         remove files after adding them to the "
-#~ "archive\n"
-#~ "  -k, --keep-old-files       don't replace existing files when "
-#~ "extracting\n"
-#~ "      --overwrite            overwrite existing files when extracting\n"
-#~ "      --overwrite-dir        overwrite directory metadata when "
-#~ "extracting\n"
-#~ "  -U, --unlink-first         remove each file prior to extracting over "
-#~ "it\n"
-#~ "      --recursive-unlink     empty hierarchies prior to extracting "
-#~ "directory\n"
-#~ "  -S, --sparse               handle sparse files efficiently\n"
-#~ "  -O, --to-stdout            extract files to standard output\n"
-#~ "  -G, --incremental          handle old GNU-format incremental backup\n"
-#~ "  -g, --listed-incremental=FILE\n"
-#~ "                             handle new GNU-format incremental backup\n"
-#~ "      --ignore-failed-read   do not exit with nonzero on unreadable "
-#~ "files\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Modifikatori operacija:  -W, --verify             pokušaj verificirati "
-#~ "arhivu nakon pisanja\n"
-#~ "      --remove-files       obriši datoteke nakon njihovog dodavanja "
-#~ "arhivi\n"
-#~ "  -k, --keep-old-files     ne zamjenjuj postojeće datoteke kod "
-#~ "ekstrakcije\n"
-#~ "      --overwrite          prepisuj postojeće datoteke kod ekstrakcije\n"
-#~ "      --overwrite-dir      prepisuj meta-podatke direktorija kod "
-#~ "ekstrakcije\n"
-#~ "  -U, --unlink-first       obriši svaku datoteku prije ekstrakcije preko "
-#~ "nje\n"
-#~ "      --recursive-unlink   isprazni hijerarhije prije ekstrahiranja u\n"
-#~ "                               direktorij\n"
-#~ "  -S, --sparse             tretiraj efikasno 'sparse' datoteke\n"
-#~ "                               (slabo popunjene datoteke)\n"
-#~ "  -O, --to-stdout          ekstrahiraj datoteke na standardni izlaz\n"
-#~ "  -G, --incremental        obradi inkrementalni backup starog GNU-"
-#~ "formata\n"
-#~ "  -g, --listed-incremental=FILE\n"
-#~ "                           obradi inkrementalni backup novog GNU-formata\n"
-#~ "      --ignore-failed-read\n"
-#~ "                           ne završavaj uz ne-nula izlazni kod na\n"
-#~ "                               nečitljivim datotekama\n"
-
-# FIXME -- 'volume number' -- TM
-#~ msgid ""
-#~ "\n"
-#~ "Handling of file attributes:\n"
-#~ "      --owner=NAME             force NAME as owner for added files\n"
-#~ "      --group=NAME             force NAME as group for added files\n"
-#~ "      --mode=CHANGES           force (symbolic) mode CHANGES for added "
-#~ "files\n"
-#~ "      --atime-preserve         don't change access times on dumped files\n"
-#~ "  -m, --modification-time      don't extract file modified time\n"
-#~ "      --same-owner             try extracting files with the same "
-#~ "ownership\n"
-#~ "      --no-same-owner          extract files as yourself\n"
-#~ "      --numeric-owner          always use numbers for user/group names\n"
-#~ "  -p, --same-permissions       extract permissions information\n"
-#~ "      --no-same-permissions    do not extract permissions information\n"
-#~ "      --preserve-permissions   same as -p\n"
-#~ "  -s, --same-order             sort names to extract to match archive\n"
-#~ "      --preserve-order         same as -s\n"
-#~ "      --preserve               same as both -p and -s\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Tretiranje atributa datoteka:\n"
-#~ "      --owner=NAME             forsiraj NAME za vlasnika dodanih "
-#~ "datoteka\n"
-#~ "      --group=NAME             forsiraj NAME za grupu dodanih datoteka\n"
-#~ "      --mode=CHANGES           forsiraj (symboličke) promjene pristupnog\n"
-#~ "                                   moda za dodane datoteke\n"
-#~ "      --atime-preserve         ne mijenjaj vremena pristupa (access "
-#~ "time)\n"
-#~ "                                   pohranjenim datotekama\n"
-#~ "  -m, --modification-time      ne ekstrahiraj vremena modifikacije\n"
-#~ "      --same-owner             pokušaj postaviti vlasništvo datoteka\n"
-#~ "                                   kao u arhivi\n"
-#~ "      --no-same-owner          ekstrahiraj datoteke pod svojim "
-#~ "vlasništvom\n"
-#~ "      --numeric-owner          uvijek koristi numerička imena\n"
-#~ "                                   korisnika/grupa\n"
-#~ "  -p, --same-permissions       ekstrahiraj informacije o dozvolama\n"
-#~ "      --no-same-permissions    ne ekstrahiraj informacije o dozvolama\n"
-#~ "      --preserve-permissions   isto kao -p\n"
-#~ "  -s, --same-order             sortiraj imena kod ekstrakcije da "
-#~ "odgovaraju\n"
-#~ "                                   arhivi\n"
-#~ "      --preserve-order         isto kao -s\n"
-#~ "      --preserve               isto kao -p i -s zajedno\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Device selection and switching:\n"
-#~ "  -f, --file=ARCHIVE             use archive file or device ARCHIVE\n"
-#~ "      --force-local              archive file is local even if has a "
-#~ "colon\n"
-#~ "      --rsh-command=COMMAND      use remote COMMAND instead of rsh\n"
-#~ "  -[0-7][lmh]                    specify drive and density\n"
-#~ "  -M, --multi-volume             create/list/extract multi-volume "
-#~ "archive\n"
-#~ "  -L, --tape-length=NUM          change tape after writing NUM x 1024 "
-#~ "bytes\n"
-#~ "  -F, --info-script=FILE         run script at end of each tape (implies -"
-#~ "M)\n"
-#~ "      --new-volume-script=FILE   same as -F FILE\n"
-#~ "      --volno-file=FILE          use/update the volume number in FILE\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Selektiranje i mijenjanje uređaja:\n"
-#~ "  -f, --file=ARCHIVE             koristi datoteku ili uređaj za "
-#~ "arhiviranje\n"
-#~ "                                     ARCHIVE\n"
-#~ "      --force-local              ime arhive je lokalno čak i ako sadrži\n"
-#~ "                                     dvotočku\n"
-#~ "      --rsh-command=COMMAND      koristi remote COMMAND umjesto rsh\n"
-#~ "  -[0-7][lmh]                    specificiraj drive i density\n"
-#~ "  -M, --multi-volume             kreiraj/izlistaj/ekstrahiraj višedjelne\n"
-#~ "                                     arhive\n"
-#~ "  -L, --tape-length=NUM          promijeni traku nakon ispisivanja\n"
-#~ "                                     NUM x 1024 bajtova\n"
-#~ "  -F, --info-script=FILE         pokreni skriptu na kraju svake trake\n"
-#~ "                                     (podrazumijeva -M)\n"
-#~ "      --new-volume-script=FILE   isto kao -F FILE\n"
-#~ "      --volno-file=FILE          koristi/nadopuni volume number u FILE\n"
-
-# FIXME -- clear this 'device blocking' xlation -- TM
-# FIXME -- vidi ovaj 'znači EOF' u man -- TM
-#~ msgid ""
-#~ "\n"
-#~ "Device blocking:\n"
-#~ "  -b, --blocking-factor=BLOCKS   BLOCKS x 512 bytes per record\n"
-#~ "      --record-size=SIZE         SIZE bytes per record, multiple of 512\n"
-#~ "  -i, --ignore-zeros             ignore zeroed blocks in archive (means "
-#~ "EOF)\n"
-#~ "  -B, --read-full-records        reblock as we read (for 4.2BSD pipes)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Faktor grupiranja u blokove na uređaju (device blocking):\n"
-#~ "  -b, --blocking-factor=BLOCKS   BLOCKS x 512 bajtova po zapisu (record)\n"
-#~ "      --record-size=SIZE         SIZE bajtova po zapisu, višekratnik od "
-#~ "512\n"
-#~ "  -i, --ignore-zeros             ignoriraj blokove ispunjene nulama u "
-#~ "arhivi\n"
-#~ "                                     (koji inače znače EOF)\n"
-#~ "  -B, --read-full-records        pregrupiraj blokove dok čitaš\n"
-#~ "                                     (za 4.2BSD cjevovode -- pipes)\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Archive format selection:\n"
-#~ "  -V, --label=NAME                   create archive with volume name "
-#~ "NAME\n"
-#~ "              PATTERN                at list/extract time, a globbing "
-#~ "PATTERN\n"
-#~ "  -o, --old-archive, --portability   write a V7 format archive\n"
-#~ "      --posix                        write a POSIX format archive\n"
-#~ "  -j, --bzip2                        filter the archive through bzip2\n"
-#~ "  -z, --gzip, --ungzip               filter the archive through gzip\n"
-#~ "  -Z, --compress, --uncompress       filter the archive through compress\n"
-#~ "      --use-compress-program=PROG    filter through PROG (must accept -"
-#~ "d)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Selekcija formata arhive:\n"
-#~ "  -V, --label=NAME                   kreiraj arhivu s imenom dijela "
-#~ "arhive NAME\n"
-#~ "              PATTERN                u vrijeme izlistavanja/ekstrakcije,\n"
-#~ "                                         koristi PATTERN za globbing\n"
-#~ "  -o, --old-archive, --portability   ispiši V7 format arhivu\n"
-#~ "      --posix                        ispiši POSIX format arhivu\n"
-#~ "  -j, --bzip2                        filtriraj arhivu kroz bzip2\n"
-#~ "  -z, --gzip, --ungzip               filtriraj arhivu kroz gzip\n"
-#~ "  -Z, --compress, --uncompress       filtriraj arhivu kroz compress\n"
-#~ "      --use-compress-program=PROG    filtriraj kroz program PROG (moji "
-#~ "mora\n"
-#~ "                                         prihvaćati opciju -d)\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Local file selection:\n"
-#~ "  -C, --directory=DIR          change to directory DIR\n"
-#~ "  -T, --files-from=NAME        get names to extract or create from file "
-#~ "NAME\n"
-#~ "      --null                   -T reads null-terminated names, disable -"
-#~ "C\n"
-#~ "      --exclude=PATTERN        exclude files, given as a PATTERN\n"
-#~ "  -X, --exclude-from=FILE      exclude patterns listed in FILE\n"
-#~ "      --anchored               exclude patterns match file name start "
-#~ "(default)\n"
-#~ "      --no-anchored            exclude patterns match after any /\n"
-#~ "      --ignore-case            exclusion ignores case\n"
-#~ "      --no-ignore-case         exclusion is case sensitive (default)\n"
-#~ "      --wildcards              exclude patterns use wildcards (default)\n"
-#~ "      --no-wildcards           exclude patterns are plain strings\n"
-#~ "      --wildcards-match-slash  exclude pattern wildcards match "
-#~ "'/' (default)\n"
-#~ "      --no-wildcards-match-slash exclude pattern wildcards do not match "
-#~ "'/'\n"
-#~ "  -P, --absolute-names         don't strip leading `/'s from file names\n"
-#~ "  -h, --dereference            dump instead the files symlinks point to\n"
-#~ "      --no-recursion           avoid descending automatically in "
-#~ "directories\n"
-#~ "  -l, --one-file-system        stay in local file system when creating "
-#~ "archive\n"
-#~ "  -K, --starting-file=NAME     begin at file NAME in the archive\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Selekcija lokalnih datoteka:\n"
-#~ "  -C, --directory=DIR          promijeni direktorij u DIR\n"
-#~ "  -T, --files-from=NAME        dobavi imena za ekstrahirati ili kreirati\n"
-#~ "                                   iz datoteke NAME\n"
-#~ "      --null                   -T čita nul-terminirana imena, onemogući -"
-#~ "C\n"
-#~ "      --exclude=PATTERN        izostavi datoteke, dane s PATTERN\n"
-#~ "  -X, --exclude-from=FILE      izostavi uzorak datoteka: pobrojane u "
-#~ "FILE\n"
-#~ "      --anchored                - koje započinju tim imenom (default)\n"
-#~ "      --no-anchored             - koje se podudaraju s uzorkom nakon "
-#~ "nekog '/'\n"
-#~ "      --ignore-case            izostavljanje ignorira razliku\n"
-#~ "                                   između velikih i malih slova\n"
-#~ "      --no-ignore-case         izostavljanje uzima u obzir razliku\n"
-#~ "                                   između malih i velikih slova "
-#~ "(default)\n"
-#~ "      --wildcards              izostavi uzorke koristi wildcard "
-#~ "(default)\n"
-#~ "      --no-wildcards           uzorci za izostavljanje su obični nizovi\n"
-#~ "      --wildcards-match-slash  izostavi uzorak wildcard podudara '/'\n"
-#~ "                                                                (default)\n"
-#~ "      --no-wildcards-match-slash\n"
-#~ "                               izostavi uzorak - wildcard ne podudara "
-#~ "'/'\n"
-#~ "  -P, --absolute-names         ne briši vodeće `/' iz imena datoteka\n"
-#~ "  -h, --dereference            ne arhiviraj simbolički link nego "
-#~ "datoteku\n"
-#~ "                                   na koju pokazuje\n"
-#~ "      --no-recursion           ne idi rekurzivno u poddirektorije\n"
-#~ "  -l, --one-file-system        ne prelazi na drugi datotečni sustav\n"
-#~ "                                   kod kreiranja datoteka\n"
-#~ "  -K, --starting-file=NAME     počni s imenom NAME u arhivi kod "
-#~ "ekstrakcije\n"
-
-#~ msgid ""
-#~ "  -N, --newer=DATE             only store files newer than DATE\n"
-#~ "      --newer-mtime=DATE       compare date and time when data changed "
-#~ "only\n"
-#~ "      --after-date=DATE        same as -N\n"
-#~ msgstr ""
-#~ "  -N, --newer=DATE             pohranjuj samo datoteke novije od DATE\n"
-#~ "      --newer-mtime=DATE       usporedi datum i vrijeme samo\n"
-#~ "                                   ako su se promijenili podaci\n"
-#~ "      --after-date=DATE        isto kao -N\n"
-
-#~ msgid ""
-#~ "      --backup[=CONTROL]       backup before removal, choose version "
-#~ "control\n"
-#~ "      --suffix=SUFFIX          backup before removal, override usual "
-#~ "suffix\n"
-#~ msgstr ""
-#~ "      --backup[=CONTROL]       backup-iraj prije brisanja, izaberi "
-#~ "mehanizam\n"
-#~ "                                   kontrole verzije\n"
-#~ "      --suffix=SUFFIX          backup-iraj prije brisanja, promijeni\n"
-#~ "                                   standardni sufiks.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Informative output:\n"
-#~ "      --help            print this help, then exit\n"
-#~ "      --version         print tar program version number, then exit\n"
-#~ "  -v, --verbose         verbosely list files processed\n"
-#~ "      --checkpoint      print directory names while reading the archive\n"
-#~ "      --totals          print total bytes written while creating archive\n"
-#~ "  -R, --block-number    show block number within archive with each "
-#~ "message\n"
-#~ "  -w, --interactive     ask for confirmation for every action\n"
-#~ "      --confirmation    same as -w\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Informativni ispis:\n"
-#~ "      --help            ispiši ovu pomoć, potom završi\n"
-#~ "      --version         ispiši broj verzije tar programa, potom završi\n"
-#~ "  -v, --verbose         opširno izlistaj imena datoteka kod procesiranja\n"
-#~ "      --checkpoint      ispisuj imena direktorija dok čitaš arhivu\n"
-#~ "      --totals          ispisuj ukupan broj ispisanih bajtova dok "
-#~ "kreiraš\n"
-#~ "                            arhivu\n"
-#~ "  -R, --block-number    prikaži broj bloka unutar arhive uz svaku poruku\n"
-#~ "  -w, --interactive     traži odobrenje za svaku akciju\n"
-#~ "      --confirmation    isto kao -w\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "GNU tar cannot read nor produce `--posix' archives.  If POSIXLY_CORRECT\n"
-#~ "is set in the environment, GNU extensions are disallowed with `--posix'.\n"
-#~ "Support for POSIX is only partially implemented, don't count on it yet.\n"
-#~ "ARCHIVE may be FILE, HOST:FILE or USER@HOST:FILE; DATE may be a textual "
-#~ "date\n"
-#~ "or a file name starting with `/' or `.', in which case the file's date is "
-#~ "used.\n"
-#~ "*This* `tar' defaults to `-f%s -b%d'.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "GNU tar ne može čitati ili proizvoditi `--posix' arhive.  Ako je\n"
-#~ "POSIXLY_CORRECT definirano u environment okolini, GNU ekstenzije se\n"
-#~ "onemogućuju pomoću `--posix'. Podrška za POSIX je samo djelomično\n"
-#~ "implementirana, ne računajte još na nju.\n"
-#~ "ARCHIVE može biti FILE, HOST:FILE ili USER@HOST:FILE; DATE može biti\n"
-#~ "tekstualni datum ili ime datoteke koje započinje s `/' ili `.',\n"
-#~ "u kojem slučaju je korišten datum datoteke.\n"
-#~ "*Ovaj* `tar' podrazumijeva `-f%s -b%d'.\n"
-
-#~ msgid "Obsolete option, now implied by --blocking-factor"
-#~ msgstr "Zastarjela opcija, sada podrazumijevana s --blocking-factor"
-
-#~ msgid "Obsolete option name replaced by --blocking-factor"
-#~ msgstr "Zastarjelo ime opcije zamijenjeno s --blocking-factor"
-
-#~ msgid "Obsolete option name replaced by --read-full-records"
-#~ msgstr "Zastarjelo ime opcije zamijenjeno s --read-full-records"
-
-#~ msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
-#~ msgstr "Upozorenje: opcija -I nije podržana; možda ste mislili -j ili -T?"
-
-#~ msgid "Obsolete option name replaced by --touch"
-#~ msgstr "Zastarjelo ime opcije zamijenjeno s --touch"
-
-#~ msgid "Obsolete option name replaced by --absolute-names"
-#~ msgstr "Zastarjelo ime opcije zamijenjeno s --absolute-names"
-
-#~ msgid "Obsolete option name replaced by --block-number"
-#~ msgstr "Zastarjelo ime opcije zamijenjeno s --block-number"
-
-#~ msgid "Warning: the -y option is not supported; perhaps you meant -j?"
-#~ msgstr "Upozorenje: opcija -y nije podržana; možda ste željeli -j?"
-
-#~ msgid "Obsolete option name replaced by --backup"
-#~ msgstr "Zastarjelo ime opcije zamijenjeno s --backup"
-
-#~ msgid "Written by John Gilmore and Jay Fenlason."
-#~ msgstr "Napisali John Gilmore i Jay Fenlason."
-
-#~ msgid "Error exit delayed from previous errors"
-#~ msgstr "Pogrešan izlaz (naknadno) zbog prijašnjih pogrešaka"
-
-#~ msgid ""
-#~ "If a long option shows an argument as mandatory, then it is mandatory\n"
-#~ "for the equivalent short option also.\n"
-#~ "\n"
-#~ "  -l, --file-length=LENGTH   LENGTH of generated file\n"
-#~ "  -p, --pattern=PATTERN      PATTERN is `default' or `zeros'\n"
-#~ "      --help                 display this help and exit\n"
-#~ "      --version              output version information and exit\n"
-#~ msgstr ""
-#~ "Ako duga opcija pokazuje argument kao obavezan, tada je on obavezan\n"
-#~ "također i za ekvivalentnu kratku verziju opcije.\n"
-#~ "\n"
-#~ "  -l, --file-length=LENGTH   LENGTH (duljina) generirane datoteke\n"
-#~ "  -p, --pattern=PATTERN      PATTERN je `default' ili `zeros'\n"
-#~ "      --help                 ispiši ovu pomoć i završi\n"
-#~ "      --version              ispiši informaciju o verziji i završi\n"
+#~ msgid "OPTION"
+#~ msgstr "OPCIJA"
diff --git a/po/hu.gmo b/po/hu.gmo
index d4852ca889697464e608b5847a45f4adb318e106..2265dbe134ba3f01c4731c1b3264efb9a55b1fef 100644
GIT binary patch
delta 15025
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
X?0#bl_u-XA;IyxhnzQ-EjSzJJtGHBS

delta 12966
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

diff --git a/po/hu.po b/po/hu.po
index 92272ec8..14aefeee 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,25 +1,25 @@
 # Hungarian translation of the GNU tar.
-# Copyright (C) 2002, 2006, 2007, 2008, 2009, 2010, 2014, 2015, 2016 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2006, 2007, 2008, 2009, 2010, 2014, 2015, 2016, 2018 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 #
 # Gábor István <stive@mezobereny.hu>, 2002.
 # Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010, 2014, 2016.
-# Balázs Úr <urbalazs@gmail.com>, 2015.
-#: src/create.c:1599
+# Balázs Úr <urbalazs@gmail.com>, 2015, 2018.
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-28 11:58+0200\n"
-"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-01-20 14:21+0100\n"
+"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "Language: hu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.2\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 #: gnu/argmatch.c:134
@@ -101,7 +101,7 @@ msgid "give a short usage message"
 msgstr "rövid használati utasítás megjelenítése"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NÉV"
 
@@ -139,29 +139,29 @@ msgid "write error"
 msgstr "íráshiba"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű\n"
+msgstr "%s: a(z) „%s%s” kapcsoló nem egyértelmű\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű, lehetőségek:"
+msgstr "%s: a(z) „%s%s” kapcsoló nem egyértelmű, lehetőségek:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: a(z) „%c%s” kapcsoló ismeretlen\n"
+msgstr "%s: a(z) „%s%s” kapcsoló ismeretlen\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: a(z) „%c%s” kapcsoló nem enged meg argumentumot\n"
+msgstr "%s: a(z) „%s%s” kapcsoló nem enged meg argumentumot\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: a(z) „--%s” kapcsolóhoz argumentum szükséges\n"
+msgstr "%s: a(z) „%s%s” kapcsolóhoz argumentum szükséges\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -236,12 +236,12 @@ msgstr "^[iIyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Csomagolta: %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Csomagolta: %s\n"
@@ -249,12 +249,11 @@ msgstr "Csomagolta: %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -264,8 +263,8 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Licenc: GPLv3+: A GNU GPL 3. vagy újabb változata <http://gnu.org/licenses/"
-"gpl.html>\n"
+"Licenc: GPLv3+: A GNU GPL 3. vagy újabb változata <https://gnu.org/licenses/"
+"gpl.html>.\n"
 "Ez egy szabad szoftver: terjesztheti és/vagy módosíthatja.\n"
 "NINCS GARANCIA, a törvény által engedélyezett mértékig.\n"
 "\n"
@@ -402,16 +401,15 @@ msgid "%s home page: <%s>\n"
 msgstr "A(z) %s honlapja: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "A(z) %s honlapja: <http://www.gnu.org/software/%s/>.\n"
+msgstr "A(z) %s honlapja: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Általános segítség a GNU szoftverek használatához: <http://www.gnu.org/"
-"gethelp/>.\n"
+"Általános segítség a GNU szoftverek használatához: <https://www.gnu.org/"
+"gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -534,196 +532,196 @@ msgstr "Nem irányíthatók át fájlok a távoli parancssorhoz"
 msgid "Cannot execute remote shell"
 msgstr "Nem futtatható távoli parancssor"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "A keresési irány kívül esik a tartományon"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Érvénytelen pozicionálási irány"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Érvénytelen pozicionálási eltolás"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "A keresési eltolás kívül esik a tartományon"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Érvénytelen bájtszám"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "A bájtszám kívül esik a tartományon"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Idő előtti fájlvége"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Érvénytelen működési kód"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "A művelet nem támogatott"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Váratlan paraméterek"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 "Szalagos meghajtó manipulálása, parancsok elfogadása távoli folyamattól"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "SZÁM"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "hibakeresési szint beállítása"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FÁJL"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "hibakeresés kimeneti fájlnevének beállítása"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "a(z) %s nem nyitható meg"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "túl sok argumentum"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Értelmetlen parancs"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Ez nem úgy néz ki, mint egy tar archívum"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Olvasott bájtok teljes száma"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Kiírt bájtok teljes száma"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Törölt bájtok teljes száma"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(cső)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Az archívumtartalom olvasásának visszautasítása a terminálról (hiányzó -f "
 "kapcsoló?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Az archívumtartalom írásának visszautasítása a terminálra (hiányzó -f "
 "kapcsoló?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "A record_size értéke érvénytelen"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Nem adott meg archívumnevet"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nem ellenőrizhető az archívum, ha a szabványos be/kimenetet használja"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Az archívum tömörített. Használja a(z) %s kapcsolót."
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Tömörített archívumok nem frissíthetők"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "A szalag eleje, most kilépek"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Túl sok hiba, kilépek"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Rekordméret = %lu blokk"
 msgstr[1] "Rekordméret = %lu blokk"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Kitöltetlen blokk (%lu bájt) az archívumban"
 msgstr[1] "Kitöltetlen blokk (%lu bájt) az archívumban"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Nem törölhető vissza az archív fájl, lehet hogy olvashatatlan lesz a -i "
 "nélkül"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "az rmtlseek nem állt meg egy rekord határán"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: érvénytelen kötetszámot tartalmaz"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Kötetszám-túlcsordulás"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Készítse elő a(z) %d kötetet %s számára és üssön entert:"
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Fájlvége a várt felhasználói válasz helyett"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "FIGYELMEZTETÉS: Az archívum befejezetlen"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -734,67 +732,67 @@ msgstr ""
 " q          A Tar megszakítása\n"
 " y vagy újsor  A művelet folytatása\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !          Új parancsértelmező hívása\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?          Ezen lista kiírása\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Nincs új kötet, kilépés.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Nincs megadva fájlnév, próbálkozzon újra.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Érvénytelen bemenet. A súgó a ? beírásával kérhető le.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "A(z) „%s” parancs meghiúsult"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nem folytatódik ezen a köteten"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s lehetséges, hogy ezen a köteten folytatódott: a fejléc csonkolt nevet "
 "tartalmaz"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s mérete hibás (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ez a kötet kívül esik a sorozaton (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Az archívum nincs úgy címkézve, hogy megfeleljen a következőhöz: %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "A(z) %s kötet nem felel meg a következőnek: %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -802,214 +800,214 @@ msgstr ""
 "%s: a fájlnév túl hosszú egy GNU többkötetes fejlécben való tároláshoz, "
 "csonkításra került"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "az írás nem egy rekord határán fejeződött be"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Csak %lu bájt olvasható %lu bájtból"
 msgstr[1] "Csak %lu bájt olvasható %lu bájtból"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "A tartalom eltér"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Váratlan fájlvége jel az archívumban"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "A fájltípus eltér"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "A mód eltér"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Az Uid eltér"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "A Gid eltér"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "A módosítási idő eltér"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "A méret eltér"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Nincs a következőre linkelve: %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "A szimbolikus link eltér"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Az eszközszám eltér"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Ellenőrzés "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: A(z) „%c” fájltípus ismeretlen, a diffelés normális fájlként történt"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Az archívum eltávolított előtagokkal rendelkező fájlneveket tartalmaz."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Az archívum átalakított fájlneveket tartalmaz."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr ""
 "Lehetséges, hogy az ellenőrzés nem fogja megtalálni az eredeti fájlokat."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "AZ ELLENŐRZÉS SIKERTELEN: %d érvénytelen fejléc található"
 msgstr[1] "AZ ELLENŐRZÉS SIKERTELEN: %d érvénytelen fejléc található"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Egy magányos nulla blokk %s helyen"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: fájl gyorsítótár-könyvtár címkét tartalmaz (%s); %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr ""
 "a(z) %s érték a(z) %s %s...%s tartományán kívül esik, helyettesítve a "
 "következővel: %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "a(z) %s érték a(z) %s %s...%s tartományán kívül esik"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Negatív oktális fejlécek előállítása"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: a fájlnév túl hosszú (maximum: %d), nem kerül kiírásra"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: a fájlnév túl hosszú (nem darabolható), nem kerül kiírásra"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: a fájlnév túl hosszú, nem kerül kiírásra"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: a fájl zsugorítva %s bájtra, nullákkal kerül kitöltésre"
 msgstr[1] "%s: a fájl zsugorítva %s bájtra, nullákkal kerül kitöltésre"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: a fájl eltérő fájlrendszeren van, nem kerül kiírásra"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "a tartalom nem került kiírásra"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Ismeretlen fájltípus, fájl a figyelmen kívül hagyva"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Hiányzó linkek a következőre: „%s”."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: a fájl változatlan, nem kerül kiírásra"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: a fájl az archívumban van, nem kerül kiírásra"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "a könyvtár nem került kiírásra"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: a fájl módosult olvasás közben"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: a foglalat figyelmen kívül hagyva"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: ajtó figyelmen kívül hagyva"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Ugrás a következő fejlécre"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "A nem fejlécek törlése az archívumból"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: valószínűtlenül régi időbélyeg: %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: a(z) %s időbélyeg %s másodperccel a jövőbe mutat"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Váratlan inkonzisztencia a könyvtár létrehozása során"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: meglévő fájl kihagyása"
@@ -1032,7 +1030,7 @@ msgstr "Kísérlet a szimbolikus linkek kibontására közvetlen linkként"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: nem lehet kibontani -- a fájl egy másik köteten folytatódik"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Váratlan hosszú névfejléc"
 
@@ -1049,7 +1047,7 @@ msgstr "A jelenlegi „%s” újabb vagy egyező korú"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: A tagnév „..” szöveget tartalmaz"
 
 #: src/extract.c:1696
 #, c-format
@@ -1061,22 +1059,22 @@ msgstr "%s: Nem sikerült biztonsági mentést készíteni erről a fájlról"
 msgid "Cannot rename %s to %s"
 msgstr "%s: Nem nevezhető át a következőre: %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: A könyvtár át lett nevezve a következőről: %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: a könyvtár új"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: a könyvtár eltérő fájlrendszeren van, nem kerül kiírásra"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: a könyvtár át lett nevezve"
@@ -1207,36 +1205,36 @@ msgstr "%s: %s törlése\n"
 msgid "%s: Cannot remove"
 msgstr "%s: nem távolítható el"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: kihagyás"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blokk %s: ** A blokk üres **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blokk %s: ** Fájlvége **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blokk %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr ""
 "Üres értékek a fejléc azon részében, ahol a program a(z) %s számértéket várta"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1244,162 +1242,162 @@ msgstr ""
 "feltételezi, hogy kettes komplemens"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Az archívum %.*s oktális értéke túllépi a(z) %s tartományt"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Az archívum elavulófélben levő base-64-es fejléceket tartalmaz"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 "Az archívum előjeles base-64 karakterlánca (%s) túllépi a(z) %s tartományt"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Az archívum base-256-os értéke túllépi a(z) %s tartományt"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Az archívum %.*s értéket tartalmaz, ahol a program %s számértéket vár"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Az archívum %s értéke túllépi a(z) %s %s..%s tartományát"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " link a következőre: %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ismeretlen fájltípus: %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Hosszú link--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Hosszú név--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Kötetfejléc--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Folytatva %s bájttól--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Könyvtár létrehozása:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s átnevezése a következőre: %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Nem nevezhető át a következőre: %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s helyreállítása a következő névre: %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: a fájl el lett távolítva a beolvasás előtt"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "gyermekfolyamat"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "folyamatközi csatorna"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Helyi fájlnévválasztás:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "az adott FÁJL hozzáadása az archívumhoz (hasznos, ha neve kötőjellel "
 "kezdődik)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "KÖNYVTÁR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "váltás a KÖNYVTÁR könyvtárba"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "kibontandó nevek lekérdezése vagy létrehozás a FÁJLBÓL"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 "a -T nullal lezárt neveket olvas, következik belőle a --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "a korábbi --null kapcsoló hatásának letiltása"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "a bemeneti fájl vagy tagnevek idézettségének megszüntetése (alapértelmezett)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "ne szüntesse meg a bemeneti fájl vagy tagnevek idézettségét"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "a -T változatlan fájlneveket olvas (nincs kapcsolókezelés)"
+msgstr ""
+"a -T változatlan fájlneveket olvas (nincs elfedés vagy kapcsolókezelés)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "a -T a kötőjellel kezdődő fájlneveket kapcsolónak tekinti (alapeset)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MINTA"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "a MINTAKÉNT megadott fájlok kihagyása"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "a FÁJLBAN megadott minták kihagyása"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1407,24 +1405,24 @@ msgstr ""
 "a CACHEDIR.TAG-et tartalmazó könyvtárak tartalmának kihagyása, a címkefájl "
 "kivételével"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak alatt minden kihagyása"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak kihagyása"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "a FÁJLT tartalmazó könyvtárak tartalmának kihagyása, a FÁJL kivételével"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "kizáró minták olvasása minden egyes könyvtárhoz a FÁJLBÓL, ha létezik"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1432,120 +1430,124 @@ msgstr ""
 "kizáró minták olvasása minden egyes könyvtárhoz és annak alkönyvtáraihoz a "
 "FÁJLBÓL, ha létezik"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "a FÁJLT tartalmazó könyvtárak alatt minden kihagyása"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "a FÁJLT tartalmazó könyvtárak kihagyása"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "verziókezelő rendszer könyvtárainak kihagyása"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "kizárási minták olvasása a VCS ignore fájlokból"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "mentési és zárolási fájlok kihagyása"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "belépés a könyvtárakba rekurzívan (alapértelmezett)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "ne lépjen be automatikusan a könyvtárakba"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Fájlnévillesztés beállításai (érintik mind a kihagyási, mind a felvételi "
 "mintákat):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "a minták illesztése a fájlnevek elejére"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "a minták illesztése bármely „/” után (alapértelmezett kihagyáskor)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "kis- és nagybetűk figyelmen kívül hagyása"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "kis- és nagybetűkre érzékeny illesztés (alapértelmezett)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "helyettesítő karakterek használata (alapértelmezett kihagyáskor)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "szó szerinti karakterlánc-illesztés"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr ""
 "a helyettesítő karakterek illeszkednek a „/” jelre (alapértelmezett "
 "kihagyáskor)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "a helyettesítő karakterek nem illeszkednek a „/” jelre"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"A következő kapcsolók voltak használva minden nem elhagyható argumentum után "
+"az archívumlétrehozási vagy -frissítési módban. Ezek a kapcsolók helyzetiek, "
+"és csak az őket követő argumentumokat érintik. Rendezze őket újra megfelelő "
+"sorrendbe."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "a -C %s kapcsolónak nincs hatása"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "a --%s %s kapcsolónak nincs hatása"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "a --%s kapcsolónak nincs hatása"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "parancssor"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: a(z) %s helyről kért fájllista már be van olvasva innen: %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "nem darabolható a(z) „%s” karakterlánc: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: a beolvasott fájlnév null karaktert tartalmaz"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Mintaillesztő karaktereket használt a fájlnevekben"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1553,47 +1555,47 @@ msgstr ""
 "Használja a --wildcards kapcsolót a mintaillesztés engedélyezéséhez, vagy a "
 "--no-wildcards kapcsolót ezen figyelmeztetés letiltásához"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nem található az archívumban"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: A szükséges előfordulás nem található az archívumban"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Hibás archívumcímke"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "A -C használata fájllistán belül nem engedélyezett a --listed-incremental "
 "kapcsolóval"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Csak egy -C engedélyezett a --listed-incremental kapcsolóval"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "A(z) „%s” és a(z) „%s” kapcsolók mind a szabványos bemenetet igénylik"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Érvénytelen archívumformátum"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU szolgáltatásokat kértél inkompatibilis az archívumformátumokon"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1819,7 +1821,7 @@ msgstr "Kimeneti adatfolyam kiválasztása:"
 msgid "extract files to standard output"
 msgstr "fájlok kibontása a szabványos kimenetre"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "PARANCS"
 
@@ -1855,7 +1857,7 @@ msgstr "a FÁJL használata a fájltulajdonos UID-ek és nevek leképezésére"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "a FÁJL használata a fájltulajdonos GID-ek és nevek leképezésére"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DÁTUM-VAGY-FÁJL"
 
@@ -2069,7 +2071,7 @@ msgstr "újrablokkolás olvasáskor (4.2BSD csövekhez)"
 msgid "Archive format selection:"
 msgstr "Archívumformátum kiválasztása:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMÁTUM"
 
@@ -2154,63 +2156,63 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "tömörítése a PROG használatával (el kell fogadnia a -d kapcsolót)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Helyi fájlválasztás:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "az archívum létrehozásakor maradjon a helyi fájlrendszeren"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "ne vágja le a kezdő „/” jelet a fájlnevekből"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "szimbolikus linkek követése; az általuk mutatott fájlok archiválása és "
 "kiíratása"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "közvetlen linkek követése; az általuk mutatott fájlok archiválása és "
 "kiíratása"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "TAGNÉV"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "kezdés a TAGNÉV tagnál az archívum olvasásakor"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "csak a DÁTUM-VAGY-FÁJL dátumnál újabb fájlok tárolása"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DÁTUM"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "dátum és idő összehasonlítása ha csak a dátum módosult"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "FELÜGYELET"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "mentés eltávolítás előtt, a FELÜGYELET verzió kiválasztása"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "KARAKTERLÁNC"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2218,62 +2220,62 @@ msgstr ""
 "mentés eltávolítás előtt, a szokásos utótag („~”, hacsak a "
 "SIMPLE_BACKUP_SUFFIX környezeti változó nem bírálja felül) felülbírálása"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Fájlnév-átalakítások:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "a fájlnevek SZÁM darab kezdő összetevőjének levágása kibontáskor"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "KIFEJEZÉS"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "A KIFEJEZÉS sed helyettesítőkifejezés használata fájlnevek átalakítására"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informatív kimenet:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "feldolgozott fájlok bőbeszédű listázása"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "KULCSSZÓ"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "figyelmeztetés felügyelete"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "előrehaladási üzenetek megjelenítése minden SZÁM. rekordnál (alapértelmezés: "
 "10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "MŰVELET"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "a MŰVELET végrehajtása minden ellenőrzőponton"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "üzenet kiírása, ha nem minden link került kiíratásra"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SZIGNÁL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2285,35 +2287,35 @@ msgstr ""
 "Az engedélyezett szignálok: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 és SIGUSR2; a "
 "SIG előtag nélküli nevek is elfogadottak"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "a fájlmódosítási idők kiírása UTC szerint"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "fájl módosítási idejének kiírása teljes pontossággal"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "bőbeszédű kimenet küldése a FÁJLBA"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "az archívumon belüli blokkszám megjelenítése minden egyes üzenettel"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "megerősítés kérése minden egyes művelethez"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "a tar alapértelmezéseinek megjelenítése"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "érvényes tartományok megjelenítése a pillanatkép-fájl mezőkhöz"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2321,31 +2323,31 @@ msgstr ""
 "listázáskor vagy kibontáskor minden egyes, a keresési feltételnek meg nem "
 "felelő könyvtár listázása"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "fájl- vagy archívumnevek megjelenítése átalakítás után"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STÍLUS"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "az idézési stílus beállítása, az érvényes STÍLUS értékeket lásd alább"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "a KARAKTERLÁNCBÓL származó karakterek kiegészítő idézése"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "a KARAKTERLÁNCBÓL származó karakterek idézésének letiltása"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Kompatibilitási kapcsolók:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2353,22 +2355,22 @@ msgstr ""
 "létrehozáskor megegyezik a --old-archive kapcsolóval; kibontáskor a --no-"
 "same-owner kapcsolóval"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Egyéb kapcsolók:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "néhány potenciálisan káros kapcsoló használatának letiltása"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "a(z) „%s” kapcsoló nem használható a következővel: „%s”"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2376,40 +2378,40 @@ msgstr ""
 "A következő kapcsolók közül egynél többet nem használhat: „-Acdtrux”, „--"
 "delete” vagy „--test-label”"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "A tömörítési kapcsolók ütköznek"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Ismeretlen szignálnév: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "A dátummintafájl nem található"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s cseréje az ismeretlen %s dátumformátumhoz"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "„%s” kapcsoló: A(z) „%s” dátum kezelése mint %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "az archívum tömörítése a(z) %s használatával"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "A --quoting-style kapcsoló érvényes paraméterei:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2417,164 +2419,164 @@ msgstr ""
 "\n"
 "*Ezen* tar alapértelmezései:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Érvénytelen tulajdonos- vagy csoportazonosító"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Érvénytelen blokkolási tényező"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Érvénytelen szalagméret"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Hibás növekményszintérték"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Egynél több küszöbdátum"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Érvénytelen ritka verzió érték"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 "Az --atime-preserve='system' nem támogatott ezen az operációs rendszeren"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "A --checkpoint értéke nem egy egész"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Érvénytelen mód került megadásra a kapcsolóban"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Érvénytelen szám"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Érvénytelen rekordméret"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "A rekordméretnek %d többszörösének kell lennie."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Érvénytelen elemszám"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Csak egy --to-command kapcsoló engedélyezett"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Rosszul formázott sűrűségargumentum: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Ismeretlen sűrűség: „%c”"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "A „-[0-7][lmh]” kapcsolókat *ez* a tar NEM támogatja"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: a hiba helye"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "hiba a(z) „%s” elemzésekor"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FÁJL]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "nem kapcsoló argumentumok ebben: %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "nem darabolható a TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "A régi „%c” kapcsoló paramétert igényel."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "a --occurrence értelmetlen fájllista nélkül"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Több archívumfájl esetén szükséges a „-M” kapcsoló"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "a --level értelmetlen a --listed-incremental nélkül"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: A kötetcímke túl hosszú (a korlát %lu bájt)"
 msgstr[1] "%s: A kötetcímke túl hosszú (a korlát %lu bájt)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "A többkötetes archívumok nem ellenőrizhetők"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "A tömörített archívumok nem ellenőrizhetők"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nem használhatók többkötetes tömörített archívumok"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Tömörített archívumok nem fűzhetők össze"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "a --clamp-mtime egy, a --mtime használatával megadott dátumot igényel"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "a --pax kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "a --acls kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "a --selinux kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "a --xattrs kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2582,136 +2584,145 @@ msgstr ""
 "Nem lehet kikövetkeztetni a felsőszintű könyvtár nevét; állítsa be világosan "
 "a --one-top-level=KVT kapcsolóval"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "A kötet hossza nem lehet kisebb a rekord méreténél"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Üres archívum létrehozása visszautasítva"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Az „-Aru” kapcsolók összeférhetetlenek a „-f -” kapcsolóval"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Meg kell adnia a következő kapcsolók egyikét: „-Acdtrux”, „--delete” vagy „--"
 "test-label”"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Kilépés hibaállapottal a korábbi hibák miatt"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: A fájl zsugorítva %s bájttal"
 msgstr[1] "%s: A fájl zsugorítva %s bájttal"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "A(z) %s kulcsszó ismeretlen vagy még nincs megvalósítva"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Az időbélyeg kívül esik az engedélyezett tartományon"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "A(z) %s minta nem használható"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "A(z) %s minta nem bírálható felül"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Rosszul formázott kiterjesztett fejléc: a hossz hiányzik"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "A kiterjesztett fejléc %*s hossza kívül esik a tartományon"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Rosszul formázott kiterjesztett fejléc: a hossz után hiányzik egy üres hely "
 "karakter"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "A kiterjesztett fejléc hibás: egy egyenlőségjel hiányzik"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Rosszul formázott kiterjesztett fejléc: az újsor hiányzik"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 "A(z) „%s” ismeretlen kiterjesztett fejléc kulcsszó figyelmen kívül marad"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Az előállított kulcsszó/érték pár túl hosszú (kulcsszó: %s, hossz: %s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "A kiterjesztett fejléc %s=%s értéke túllépi a(z) %s..%s tartományát"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Rosszul formázott kiterjesztett fejléc: érvénytelen %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Rosszul formázott kiterjesztett fejléc: többlet %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Rosszul formázott kiterjesztett fejléc: érvénytelen %s: váratlan határoló "
 "(%c)"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 "Rosszul formázott kiterjesztett fejléc: érvénytelen %s: az értékek száma "
 "páratlan"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: érvénytelen időtúllépés"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: ismeretlen ellenőrzőpont-művelet"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "írás"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "olvasás"
 
@@ -2719,7 +2730,7 @@ msgstr "olvasás"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "%u. írási ellenőrzőpont"
@@ -2728,12 +2739,12 @@ msgstr "%u. írási ellenőrzőpont"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "%u. olvasási ellenőrzőpont"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2741,99 +2752,103 @@ msgstr ""
 "a genfiles adatfájlokat kezel a GNU paxutils tesztcsomag számára.\n"
 "A KAPCSOLÓK:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Fájllétrehozási kapcsolók:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "MÉRET"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Az adott MÉRETŰ fájl létrehozása"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Írás a NÉV nevű fájlba a szabványos kimenet helyett"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Fájlnevek beolvasása a FÁJLBÓL"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "a -T nullal lezárt neveket olvas"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "A fájl feltöltése az adott MINTÁVAL. A MINTA a 'default' (alapértelmezett) "
 "vagy 'zeros' (nullák) egyike"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Egy blokk mérete ritka fájlhoz"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Ritka fájl előállítása. A parancssor többi része megadja a fájlleképezést."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "ELTOLÁS"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Az adott eltolásra pozicionálás az adatok kiírása előtt"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Nem végzetes diagnosztikai üzenetek elnyomása"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Fájlstatisztika kapcsolói:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "A stat struktúra tartalmának kiírása minden egyes megadott fájlhoz. Az "
 "alapértelmezett FORMÁTUM: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Szinkron végrehajtási kapcsolók:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "KAPCSOLÓ"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Az adott ARGS végrehajtása. Hasznos a --checkpoint és a --cut, --append, --"
 "touch vagy --unlink egyikével"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Az adott művelet (lásd alább) végrehajtása a SZÁM-adik ellenőrzőpont elérése "
 "után"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Dátum beállítása a következő --touch kapcsoló számára"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Végrehajtott ellenőrzőpontok és a PARANCS kilépési állapotának megjelenítése"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2841,7 +2856,7 @@ msgstr ""
 "Szinkron végrehajtási tevékenységek. Ezek a --checkpoint kapcsoló által "
 "megadott számú ellenőrzőpont elérésekor kerülnek végrehajtásra."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2849,126 +2864,126 @@ msgstr ""
 "A FÁJL csonkolása az előző --length kapcsoló által megadott méretre (vagy "
 "nullára, ha nincs megadva)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "MÉRET bájt hozzáfűzése a FÁJLHOZ. A MÉRETET az előző --length kapcsoló adja "
 "meg."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "A FÁJL hozzáférési és módosítási idejének frissítése"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "A PARANCS végrehajtása"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "FÁJL törlése"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Érvénytelen méret: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "A szám kívül esik az engedélyezett tartományon: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatív méret: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "a stat(%s) meghiúsult"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "a kért fájlhossz %lu, a tényleges %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "a létrehozott fájl nem ritka"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Hiba a(z) „%s” közelében található szám elemzésekor"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Ismeretlen dátumformátum"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENTUMOK...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "a(z) „%s” nem nyitható meg"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "Nem lehet pozicionálni"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "a fájlnév null karaktert tartalmaz"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "nem állíthatók elő ritka fájlok a szabványos kimeneten, használja a --file "
 "kapcsolót"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "helytelen maszk (a(z) „%s” közelében)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Ismeretlen mező: „%s”"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "nem állítható be az idő a következőn: „%s”"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "a(z) „%s” nem csonkítható"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "A(z) „%s” parancs meghiúsult"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "a(z) „%s” nem csonkítható"
+msgstr "a(z) „%s” nem érhető el"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "nem állítható be az idő a következőn: „%s”"
+msgstr "a(z) „%s” könyvtár nem távolítható el"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "a(z) „%s” nem törölhető"
@@ -3008,72 +3023,5 @@ msgstr "A parancs befejeződött\n"
 msgid "--stat requires file names"
 msgstr "a --stat fájlneveket igényel"
 
-#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-#~ msgstr "%.*s: Az ARGP_HELP_FMT paraméternek pozitívnak kell lennie"
-
-#~ msgid "%s: option '--%s' doesn't allow an argument\n"
-#~ msgstr "%s: a(z) „--%s” kapcsoló nem enged meg argumentumot\n"
-
-#~ msgid "%s: unrecognized option '--%s'\n"
-#~ msgstr "%s: a(z) „--%s” kapcsoló ismeretlen\n"
-
-#~ msgid "%s: option '-W %s' is ambiguous\n"
-#~ msgstr "%s: a „-W %s” kapcsoló nem egyértelmű\n"
-
-#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
-#~ msgstr "%s: a „-W %s” kapcsoló nem enged meg argumentumot\n"
-
-#~ msgid "%s: option '-W %s' requires an argument\n"
-#~ msgstr "%s: a „-W %s” kapcsolóhoz argumentum szükséges\n"
-
-#~ msgid "Unlink FILE"
-#~ msgstr "A FÁJL törlése"
-
-#~ msgid "same as both -p and -s"
-#~ msgstr "azonos, mint a -p és -s egyszerre"
-
-#~ msgid ""
-#~ "The --preserve option is deprecated, use --preserve-permissions --"
-#~ "preserve-order instead"
-#~ msgstr ""
-#~ "A --preserve kapcsoló elavult, használja a --preserve-permissions --"
-#~ "preserve-order kapcsolókat helyette"
-
-#~ msgid "--occurrence cannot be used with %s"
-#~ msgstr "a --occurrence nem használható ezzel: %s"
-
-#~ msgid "Cannot combine --listed-incremental with --newer"
-#~ msgstr ""
-#~ "A --listed-incremental és a --newer kapcsolók nem használhatók egyszerre"
-
-#~ msgid "--verify cannot be used with %s"
-#~ msgstr "A --verify nem használható ezzel: %s"
-
-#~ msgid "--preserve-order is not compatible with --listed-incremental"
-#~ msgstr ""
-#~ "a --preserve-order nem kompatibilis a --listed-incremental kapcsolóval"
-
-#~ msgid "Field too long while reading snapshot file"
-#~ msgstr "Túl hosszú mező a pillanatképfájl olvasása közben"
-
-#~ msgid "Read error in snapshot file"
-#~ msgstr "Olvasási hiba a pillanatképfájlban"
-
-#~ msgid "Unexpected field value in snapshot file"
-#~ msgstr "Váratlan mezőérték a pillanatképfájlban"
-
-#~ msgid "Cannot get working directory"
-#~ msgstr "A munkakönyvtár nem kérdezhető le"
-
-#~ msgid "%s: Directory removed before we read it"
-#~ msgstr "%s: a könyvtár el lett távolítva a beolvasás előtt"
-
-#~ msgid "sort names to extract to match archive"
-#~ msgstr ""
-#~ "kibontandó nevek rendezése, az archívumnak való megfelelés érdekében"
-
-#~ msgid "Invalid group"
-#~ msgstr "Érvénytelen csoport"
-
-#~ msgid "Extended header length is out of allowed range"
-#~ msgstr "A kiterjesztett fejléc hossza kívül esik a tartományon"
+#~ msgid "OPTION"
+#~ msgstr "KAPCSOLÓ"
diff --git a/po/id.gmo b/po/id.gmo
index 65bf8c8fafaf1467f64554f4ba6995dc7388f570..c447fb010965cd7d3c121b2f7245dbd225e954d8 100644
GIT binary patch
delta 12063
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

delta 12266
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

diff --git a/po/id.po b/po/id.po
index 00853d31..ee9a9f3d 100644
--- a/po/id.po
+++ b/po/id.po
@@ -4,12 +4,12 @@
 # Tedi Heriyanto <tedi_h@gmx.net>, 1999, 2002.
 # Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2014-08-02 10:00+0700\n"
 "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -97,7 +97,7 @@ msgid "give a short usage message"
 msgstr "berikan sebuah pesan penggunaan singkat"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAMA"
 
@@ -232,12 +232,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Dibungkus oleh %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Dibungkus oleh %s\n"
@@ -245,11 +245,11 @@ msgstr "Dibungkus oleh %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 #, fuzzy
 msgid ""
 "\n"
@@ -526,190 +526,190 @@ msgstr "Tidak dapat menjalankan remote shell"
 msgid "Cannot execute remote shell"
 msgstr "Tidak dapat menjalankan remote shell"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Arah pencarian di luar jangkauan"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Arah pencarian tidak valid"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Ofset pencarian tidak valid"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Offset pencarian di luar jangkauan"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Jumlah byte tidak valid"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Jumlah byte di luar jangkauan"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "EOF prematur"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Kode operasi tidak valid"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operasi tidak didukung"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Unexpected tidak terduga"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Manipulasi sebuah tape drive, menerima perintah dari proses remote"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NOMOR"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "tentukan tingkat penelusuran"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "BERKAS"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "tentukan keluaran nama berkas penelusuran"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "tidak dapat membuka %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "terlalu banyak argumen"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Perintah sampah"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Ini sepertinya bukan sebuah tar archive"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Total byte dibaca"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Total byte ditulis"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Total byte dihapus"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Refusing to read archive contents from terminal (missing -f option?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Refusing to write archive contents to terminal (missing -f option?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Nilai record_size tidak valid"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Tidak diberikan nama archive"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Tidak dapat memverifikasi stdin/stdout archive"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archive terkompres. Gunakan %s pilihan"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Tidak dapat update compressed archives"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Berada pada awal tape, berhenti sekarang"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Terlalu banyak errors, berhenti"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Ukuran record = %lu blok"
 msgstr[1] "Ukuran record = %lu blok"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Blok tidak sesuai (%lu byte) dalam arsip"
 msgstr[1] "Blok tidak sesuai (%lu byte) dalam arsip"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Tidak dapat backspace file archives; kemungkinan tidak bisa dibaca tanpa -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek tidak dapat berhenti di sebuah batas rekaman"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: berisi nomor volum yang tidak valid"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Nomor volum overflow"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Mempersiapkan volume #%d untuk %s dan tekan return: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "EOF pada saat user reply diharapkan"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "PERINGATAN: Archive tidak lengkap"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -721,65 +721,65 @@ msgstr ""
 " q             Batalkan tar\n"
 " y or newline  Lanjutkan operasi\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Spawn sebuah subshell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Tampilkan daftar ini\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Tidak ada new volume; keluar.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Nama berkas tidak dispesifikasikan. Coba lagi.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Masukan tidak valid. Ketik ? untuk bantuan.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "Perintah %s gagal"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s tidak dilanjutkan di volume ini"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s mungkin dilanjutkan di volume ini: header berisi nama terpotong"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s adalah ukuran yang salah (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Volume ini di luar urutan (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Label archive tidak cocok dengan %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volume %s tidak sesuai dengan %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -787,211 +787,211 @@ msgstr ""
 "%s: nama berkas terlalu panjang untuk diurutkan dalam sebuah GNU multivolume "
 "header, dipotong"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "tulis tidak berhenti di batas blok"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Hanya dapat membaca %lu dari %lu byte"
 msgstr[1] "Hanya dapat membaca %lu dari %lu byte"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Isi berbeda"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Unexpected EOF dalam archive"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Tipe berkas berbeda"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Mode berbeda"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid berbeda"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid berbeda"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Mod time berbeda"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Ukuran berbeda"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Tidak dilink ke %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symlink berbeda"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Nomor perangkat berbeda"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verifikasi "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Tipe berkas '%c' tidak dikenal, lakukan diff sebagai berkas normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Archive berisi nama berkas dengan awalan dihapus."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arsip berisikan header yang kadaluarsas"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Verifikasi mungkin gagal untuk menemukan berkas orisinil."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi"
 msgstr[1] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Sebuah lone blok nol di %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: berisi sebuah cache direktori tag %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "nilai %s dari %s di luar jangkauan %s..%s; menggantikan %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "nilai %s dari %s di luar dari jangkauan %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Membuat header oktal negatif"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: nama berkas terlalu panjang (maksimal %d); tidak di-dump"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: nama berkas terlalu panjang (tidak dapat memisahkan); tidak di-dump"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: nama link terlalu panjang; tidak di-dump"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Berkas diperkecil %s byte; dipadding dengan nol"
 msgstr[1] "%s: Berkas diperkecil %s byte; dipadding dengan nol"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: file berada pada filesistem yang berbeda; tidak di-dump"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "isi tidak didump"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipe file tidak dikenal; file diabaikan"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Hilang hubungan ke %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: berkas tidak berubah; tidak di-dump"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: berkas adalah archive; tidak di-dump"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "direktori tidak didump"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: berkas berubah saat kita membacanya"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket diabaikan"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door diabaikan"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Skip ke header berikutnya"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Menghapus non-header dari archive"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: implausibly penanda waktu lama %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: penanda %s adalah %s dalam masa datang"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inkonsistensi tidak diharapkan ketika membuat direktori"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: skipping existing file"
@@ -1015,7 +1015,7 @@ msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr ""
 "%s: Tidak dapat mengekstrak -- berkas adalah kelanjutan dari volume lain"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Tidak terduga nama header panjang"
 
@@ -1044,22 +1044,22 @@ msgstr "%s: Tidak dapat melakukan backup berkas ini"
 msgid "Cannot rename %s to %s"
 msgstr "Tidak dapat mengubah nama %s ke %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Direktori telah diubah nama dari %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Direktori adalah baru"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: directory berada pada filesistem yang berbeda; tidak di-dump"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Direktori telah diganti nama"
@@ -1186,194 +1186,194 @@ msgstr "%s: Menghapus %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Tidak dapat menghapus"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Mengabaikan"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok dari KOSONG **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Akhir dari Berkas **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Kosong dalam header saat diharapkan nilai %s numerik"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr "Nilai oktal arsip %.*s di luar batasan %s; asumsikan komplemen dua"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Nilai oktal arsip %.*s di luar batasan %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arsip berisikan header base-64 yang kadaluarsas"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Arsip yang ditandatangahi dengan string base-64 %s di luar batasan %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Nilai arsip base-256 di luar batasan %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arsip berisikan %.*s ketika nilai numerik %s diharapkan"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Nilai arsip %s dari %s di luar batasan %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " link ke %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipe file tidak dikenal %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Link Panjang--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nama Panjang--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volume Header--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Diteruskan pada byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Membuat direktori:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Mengganti nama %s ke %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s:Tidak dapat mengganti nama ke %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Mengganti nama %s kembali ke %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Berkas dihapus sebelum kita membacanya"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "proses anak"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "saluran interproses"
 
-#: src/names.c:69
+#: src/names.c:68
 #, fuzzy
 msgid "Local file name selection:"
 msgstr "Pemilihan berkas lokal:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "tambahkan berkas yang diberikan ke archive (berguna jika namanya berawal "
 "dengan sebuah dash)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "pindah ke direktori DIR"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "dapatkan nama untuk ekstrak atau buat dari BERKAS"
 
-#: src/names.c:78
+#: src/names.c:77
 #, fuzzy
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T baca nama berakhiran kosong, non-aktifkan -C"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "non-aktifkan efek dari pilihan --null sebelumnya"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "unquote nama berkas baca dengan (baku)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "jangan unquote nama berkas baca dengan"
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "POLA"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "jangan masukan berkas, berikan sebagai sebuah POLA"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "jangan masukan pola yang terdaftar dalam BERKAS"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1381,25 +1381,25 @@ msgstr ""
 "jangan masukan isi dari direktori berisi CACHEDIR.TAG, kecuali untuk berkas "
 "tag itu sendiri"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "jangan masukan apapun dibawah direktori berisi CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "jangan masukan direktori berisi CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "jangan masukan isi dari direktori berisi BERKAS, kecuali untuk BERKAS itu "
 "sendiri"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "read exclude patterns for each directory from FILE, if it exists"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1407,117 +1407,117 @@ msgstr ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "jangan masukan apapun dibawah direktori berisi BERKAS"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "jangan masukan direktori berisi BERKAS"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "jangan masukan direktori sistem pengontrol direktori"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "read exclude patterns from the VCS ignore files"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "abaikan berkas cadangan dan berkas kunci"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "rekursif kedalam direktori (baku)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "hindari penurunan secara otomatis dalam direktori"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Pilihan nama berkas cocok (mempengaruhi baik pola exclude dan include):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "pencocokan pola nama berkas mulai"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "pencocokan polah setelah '/' apapun (baku untuk exclusion)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "abaikan perbedaan huruf besar dan huruf kecil"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "pencocokan dengan memperhatikan huruf besar dan huruf kecil (baku)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "gunakan wildcards (baku untuk exclusion)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "pencocok verbatim string"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "wildcards cocok '/' (baku untuk exclusion)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "wildcards tidak cocok '/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "Perintah gagal"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: file list requested from %s daftar berkas telah dibaca %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "tidak dapat menset waktu di '%s': %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: nama berkas yang dibaca berisi karakter nul"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Pola pencocokan karakter digunakan dalam nama berkas."
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1525,47 +1525,47 @@ msgstr ""
 "Gunakan --wildcards untuk mengaktifkan pencocokan pola, atau --no-wildcards "
 "untuk menekan peringatan ini"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Tidak ditemukan dalam archive"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Kejadian yang diinginkan tidak ditemukan dalam archive"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Label archive tidak cocok"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Menggunakan pilihan -C didalam daftar berkas tidak diijinkan dengan --listed-"
 "incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Hanya satu pilihan -C yang diijinkan dengan --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Pilihan '-%s' dan '-%s' membutuhkan standard masukan"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Format archive tidak valid"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Feature GNU dibutuhkan untuk format archive yang tidak kompatibel"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1786,7 +1786,7 @@ msgstr "Pilih stream keluaran:"
 msgid "extract files to standard output"
 msgstr "ekstrak berkas ke standar keluaran"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "PERINTAH"
 
@@ -1822,7 +1822,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATE-ATAU-BERKAS"
 
@@ -2031,7 +2031,7 @@ msgstr "reblok saat kita baca (untuk 4.2BSD pipes)"
 msgid "Archive format selection:"
 msgstr "Pemilihan format archive:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2115,59 +2115,59 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "saring melalui PROG (harus menerima -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Pemilihan berkas lokal:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "tetap dalam sistem berkas lokal ketika membuat archive"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "jangan hilangkan awalan '/' dari nama berkas"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "ikuti symlinks; berkas archive dan dump yang mereka tunjuk ke"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "ikuti hard links; berkas archive dan dump yang mereka refer ke"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NAMA-ANGGOTA"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "berawal di anggota NAMA-ANGGOTA dalam archive"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "hanya simpan berkas lebih baru dari DATE-OR-FILE"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "TANGGAL"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "bandingkan tanggal dan waktu hanya ketika data berubah"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "backup sebelum penghapusan, pilih PENGONTROL versi"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2175,60 +2175,60 @@ msgstr ""
 "backup sebelum penghapusan, override akhiran biasa ('~' kecuali di override "
 "oleh variabel lingkungan SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Transformasi nama berkas:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "hilangkan NOMOR yang mengawali komponen dari nama berkas di waktu ekstraksi"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "EKSPRESI"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "gunakan sed EKSPRESI replace untuk mengubah nama berkas"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Keluaran informative:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "proses daftar berkas secara verbose"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "KATA KUNCI"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "pengendali peringatan"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "tampilkan pesan perkembangan setiap rekaman ke ANGKA (baku 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "AKSI"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "jalankan AKSI disetiap titik pemeriksaan"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "tampilkan sebuah pesan jika tidak seluruh link didump"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SINYAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2240,35 +2240,35 @@ msgstr ""
 "adalah: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 dan SIGUSR2; nama tanpa awalah SIG "
 "juga diterima"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "tampilkan waktu modifikasi berkas dalam UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "tampilkan waktu berkas sampai ke resolusi penuh"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "kirim keluaran verbose ke BERKAS"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "tampilkan jumlah blok didalam archive dengan setiap pesan"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "minta konfirmasi untuk setiap aksi"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "tampilkan tar baku"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "show valid ranges for snapshot-file fields"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2276,31 +2276,31 @@ msgstr ""
 "ketika mendaftar atau mengekstrak, daftar setiap direktori yang tidak cocok "
 "dengan kriteria pencarian"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "tampilkan berkas atau nama berkas setelah transformasi"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "GAYA"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "set nama quoting gaya; lihat dibawah untuk nilai GAYA yang valid"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "sebagai tambahan karakter quote dari STRING"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "non-aktifkan quoting untuk karakter dari STRING"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Pilihan yang kompatibel:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2308,22 +2308,22 @@ msgstr ""
 "ketika membuat, sama seperti --old-archive; ketika mengekstrak, sama seperti "
 "--no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Pilihan lain:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "non-aktifkan penggunaan dari pilihan berbahaya yang berpotensial"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' Tidak dapat mencari ke '%s'"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2331,40 +2331,40 @@ msgstr ""
 "Anda tidak bisa menspesifikasikan lebih dari satu pilihan '-Acdtrux' atau '--"
 "test-label'"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Pilihan kompresi konflik"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nama sinyal: %s tidak dikenal"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Tanggal contoh berkas tidak ditemukan"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Menggantikan %s untuk format tanggal tidak dikenal %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Pilihan %s: memperlakukan tanggal '%s' sebagai %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "saring archive melalui %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Argumen yang valid untuk pilihan --quoting-style adalah:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2372,163 +2372,163 @@ msgstr ""
 "\n"
 "*Ini* tar baku ke:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Pemilik tidak valid"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Faktor bloking tidak valid"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Panjang tape tidak valid"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Nilai tingkat peningkatan tidak valid"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Lebih dari satu treshold date"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Nilai versi sparse tidak valid"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "pilihan --atime-preserve='system' tidak didukung di platform ini"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "nilai --checkpoint bukan sebuah integer"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Mode tidak tepat diberikan pada pilihan"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Nomor tidak valid"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Ukuran record tidak valid"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Jumlah record harus kelipatan dari %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Jumlah dari elemen tidak valid"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Hanya satu pilihan --to-command yang diijinkan"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Salah bentuk kepadatan argumen: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Kepadatan tidak diketahui: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Pilihan '-[0-7][lmh]' tidak didukung oleh tar *ini*"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, fuzzy, c-format
 msgid "error parsing %s"
 msgstr "Error parsing nomor didekat `%s'"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[BERKAS]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "argumen %s untuk %s tidak valid"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, fuzzy, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "tidak dapat menset waktu di '%s': %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Pilihan 'lama' '%c' membutuhkan argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence tidak berarti tanpa sebuah daftar berkas"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Berkas multiple archive membutuhkan pilihan '-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level tidak berarti tanpa --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Label volume terlalu panjang (batasnya adalah %lu byte)"
 msgstr[1] "%s: Label volume terlalu panjang (batasnya adalah %lu byte)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Tidak dapat verifikasi multi-volume archives"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Tidak dapat verify compressed archives"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Tidak dapat menggunakan multi-volume compressed archives"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Tidak dapat update compressed archives"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option hanya dapat digunakan dalam archive POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls hanya dapat digunakan dalam archive POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux hanya dapat digunakan dalam archive POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs hanya dapat digunakan dalam archive POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2536,83 +2536,92 @@ msgstr ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Panjang volume tidak dapat lebih kecil dari ukuran rekaman"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Secara takut menolak untuk membuat sebuah archive kosong"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Pilihan '-Aru' tidak kompatibel dengan '-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Anda harus menspesifikasikan salah satu dari pilihan '-Acdtrux' atau '--test-"
 "label'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Keluar dengan status gagal karena error error sebelumnya"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Berkas mengecil sebanyak %s byte"
 msgstr[1] "%s: Berkas mengecil sebanyak %s byte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Kata kunci %s tidak diketahui atau belum diimplementasikan"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Penanda waktu di luar dari jangkauan yang diijinkan"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Pola %s tidak dapat digunakan"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Kata kunci %s tidak dapat dioverride"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Salah bentuk ekstensi header: hilang panjang"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Ekstensi panjang header %*s diluar dari jangkauan"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Salah bentuk ekstensi header: hilang blank setelah panjang"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Salah bentuk ekstensi header: hilang tanda sama dengan"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Salah bentuk ekstensi header: hilang baris baru"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Mengabaikan kata kunci ekstensi '%s' yang tidak diketahui"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2621,46 +2630,46 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Ekstensi header %s=%s diluar dari jangkauan %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Salah bentuk ekstensi header: tidak valid %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Salah bentuk ekstensi header: kelebihan %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Salah bentuk ekstensi header: tidak valid %s: tidak diduga pembatas %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Salah bentuk ekstensi header: tidak valid %s: jumlah dari nilai ganjil"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: bukan sebuah kehabisan waktu yang valid"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: aksi titik pemeriksaan tidak diketahui"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "tulis"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "baca"
 
@@ -2668,7 +2677,7 @@ msgstr "baca"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Menulis titik pemeriksaan %u"
@@ -2677,12 +2686,12 @@ msgstr "Menulis titik pemeriksaan %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Membaca titik pemeriksaan %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2690,96 +2699,100 @@ msgstr ""
 "genfile memanipulasi berkas data untuk suite pemeriksaan GNU paxutils.\n"
 "PILIHAN adalah:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Pilihan pembuatan berkas:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "UKURAN"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Buat berkas dari UKURAN yang diberikan"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Tulis ke berkas NAMA, daripada ke standar keluaran"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Baca nama berkas dari BERKAS"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T baca nama berakhiran null"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Isi berkas dengan POLA yang diberikan. POLA adalah 'baku' atau 'nol'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Ukuran dari sebuah blok untuk berkas sparse"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Buat berkas sparse. Sisa dari baris perintah memberikan peta berkas."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "OFSET"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Cari ke ofset yang diberikan sebelum menulis data"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Pilihan statistik berkas:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Tampilkan isi dari statistik struk untuk setiap berkas yang diberikan. "
 "FORMAT baku adalah: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "pilihan eksekusi synchronous:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "PILIHAN"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Jalankan ARG. Berguna dengan --checkpoint dan satu dari --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Lakukan aksi yang diberikan (lihat dibawah) ketika mencapai titik "
 "pemeriksaan NOMOR"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Set tanggal untuk pilihan --touch selanjutnya"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Tampilkan titik pemeriksaan yang dijalankan dan status keluar dari PERINTAH"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2787,7 +2800,7 @@ msgstr ""
 "Aksi eksekusi synchronous. Ini dijalankan ketika titik pemeriksaan nomor "
 "yang diberikan oleh pilihan --checkpoint dicapai."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2795,126 +2808,126 @@ msgstr ""
 "Potong BERKAS ke ukuran yang dispesifikasikan oleh pilihan --length "
 "sebelumnya (atau 0, jika ini tidak diberikan)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Tambahkan UKURAN bytes ke BERKAS. UKURAN yang diberikan oleh pilihan --"
 "length sebelumnya."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Update waktu akses dan modifikasi dari BERKAS"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Jalankan PERINTAH"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ukuran: %s tidak valid"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Jumlah diluar dari jangkauan yang diijinkan: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Ukuran negatif: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) gagal"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "panjang berkas yang diminta %lu, sebenernya %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "pembuatan berkas tidak sparse"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Error parsing nomor didekat `%s'"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Format tanggal tidak diketahui"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARG...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "tidak dapat membuka `%s'"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "Tidak dapat mencari"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "nama berkas berisi karakter null"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "tidak dapat menghasilkan berkas sparse di standar keluaran, gunakan pilihan "
 "--file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "mask tidak benar (didekat `%s')"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Field `%s' tidak diketahui"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "tidak dapat menset waktu di `%s'"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "tidak dapat memutus '%s'"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "Perintah %s gagal"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "tidak dapat memutus '%s'"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "tidak dapat menset waktu di `%s'"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "tidak dapat memutus `%s'"
@@ -2954,6 +2967,9 @@ msgstr "Perintah berakhir\n"
 msgid "--stat requires file names"
 msgstr "--stat membutuhkan nama berkas"
 
+#~ msgid "OPTION"
+#~ msgstr "PILIHAN"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT parameter harus positif"
 
diff --git a/po/it.gmo b/po/it.gmo
index cae203117c8dcac2118979fa8465b7524ad169c1..cc1e79b498d58b13959859e7f00740427edbd6e7 100644
GIT binary patch
delta 14822
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
NCDmf3&DrPcl>jg-(2xKC

delta 12835
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

diff --git a/po/it.po b/po/it.po
index 00321101..24e3c7a4 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,18 +1,18 @@
 # Italian translation of GNU tar.
-# Copyright (C) 2008, 2009, 2010, 2011, 2013, 2014, 2016 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2017 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 #
 # Lele Gaifax <lele@nautilus.eclipse.it>, 1996.
 # Marco d'Itri <md@linux.it>, 1998.
-# Milo Casagrande <milo@milo.name>, 2008-2010, 2011, 2013, 2014, 2016.
+# Milo Casagrande <milo@milo.name>, 2008-2010, 2011, 2013, 2014, 2016, 2017.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.29\n"
+"Project-Id-Version: tar-1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-17 19:00+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-18 09:05+0100\n"
 "Last-Translator: Milo Casagrande <milo@milo.name>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
 "Language: it\n"
@@ -21,7 +21,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"X-Generator: Poedit 1.8.7\n"
+"X-Generator: Poedit 2.0.4\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -100,7 +100,7 @@ msgid "give a short usage message"
 msgstr "Mostra un breve messaggio sull'uso"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOME"
 
@@ -138,29 +138,29 @@ msgid "write error"
 msgstr "Errore di scrittura"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: l'opzione \"%s\" è ambigua\n"
+msgstr "%s: l'opzione \"%s%s\" è ambigua\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: l'opzione \"%s\" è ambigua; possibilità:"
+msgstr "%s: l'opzione \"%s%s\" è ambigua; possibilità:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
+msgstr "%s: opzione \"%s%s\" non riconosciuta\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione \"%c%s\" non accetta un argomento\n"
+msgstr "%s: l'opzione \"%s%s\" non accetta un argomento\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: l'opzione \"--%s\" richiede un argomento\n"
+msgstr "%s: l'opzione \"%s%s\" richiede un argomento\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -235,12 +235,12 @@ msgstr "^[sSyY].*"
 msgid "^[nN]"
 msgstr "^[nN].*"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pacchetto creato da %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pacchetto creato da %s\n"
@@ -248,12 +248,11 @@ msgstr "Pacchetto creato da %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -263,8 +262,8 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Licenza GPLv3+: GNU GPL versione 3 o successiva <http://gnu.org/licenses/gpl."
-"html>\n"
+"Licenza GPLv3+: GNU GPL versione 3 o successiva <https://gnu.org/licenses/"
+"gpl.html>.\n"
 "Questo programma è software libero: siete liberi di modificarlo e "
 "ridistribuirlo.\n"
 "Non c'è ALCUNA GARANZIA, per quanto consentito dalle vigenti normative.\n"
@@ -403,14 +402,13 @@ msgid "%s home page: <%s>\n"
 msgstr "Sito web di %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Sito web di %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Sito web di %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr "Aiuto per l'utilizzo di software GNU: <http://www.gnu.org/gethelp/>\n"
+msgstr "Aiuto per l'utilizzo di software GNU: <https://www.gnu.org/gethelp/>\n"
 
 # (ndt) metto tra virgolette visto che è
 # il nome di una funzione non traducibile
@@ -531,197 +529,197 @@ msgstr "Impossibile reindirizzare i file dalla shell remota"
 msgid "Cannot execute remote shell"
 msgstr "Impossibile eseguire la shell remota"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Direzione di seek fuori dell'intervallo"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Direzione di seek non valida"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Offset di seek non valido"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Offset di seek fuori dell'intervallo"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Conteggio byte non valido"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Conteggio byte fuori dell'intervallo"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "EOF prematuro"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Codice d'operazione non valido"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operazione non supportata"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Argomenti non attesi"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 "Manipola un dispositivo a nastro, accettando comandi da un processo remoto"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUMERO"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "Imposta il livello di debug"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FILE"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "Imposta il nome del file di output per il debug"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "impossibile aprire %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "troppi argomenti"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Comando spazzatura"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Questo non sembra un archivio tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Byte totali letti"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Byte totali scritti"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Byte totali eliminati"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Lettura del contenuto dell'archivio dal terminale non consentita (manca "
 "l'opzione -f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Scrittura del contenuto dell'archivio sul terminale non consentita (manca "
 "l'opzione -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Valore di record_size non valido"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Non è stato indicato il nome di un archivio"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Impossibile verificare archivi su stdin/stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "L'archivio è compresso. Usare l'opzione %s."
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Impossibile aggiornare archivi compressi"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "All'inizio del nastro, uscita immediata"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Troppi errori, uscita"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Dimensioni del record = %lu blocco"
 msgstr[1] "Dimensioni del record = %lu blocchi"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Blocco non allineato nell'archivio (%lu byte)"
 msgstr[1] "Blocco non allineato nell'archivio (%lu byte)"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Impossibile muoversi all'indietro nel file dell'archivio; potrebbe non "
 "essere\n"
 "leggibile senza l'opzione -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek non si è fermata al limite di un record"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contiene un numero di volume non valido"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Overflow del numero di volume"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Preparare il volume #%d per %s e premere Invio: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Ricevuto EOF quando era attesa la risposta dell'utente"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "Attenzione: l'archivio non è completo"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -733,67 +731,67 @@ msgstr ""
 " q             Termina tar\n"
 " y o Invio     Continua l'operazione\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Esegue una subshell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Stampa questo elenco\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Nessun nuovo volume; uscita.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Nome file non specificato. Riprovare.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Input non valido. Premere ? per l'aiuto.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "comando \"%s\" non riuscito"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s non continua su questo volume"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s potrebbe continuare su questo volume: l'intestazione contiene un nome "
 "troncato"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s è la dimensione sbagliata (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Questo volume è fuori sequenza (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "L'archivio non ha un'etichetta corrispondente a %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Il volume %s non corrisponde a %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -801,212 +799,212 @@ msgstr ""
 "%s: il nome del file è troppo lungo per essere scritto in un'intestazione "
 "GNU multi-volume, troncato"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "write non si è fermata al limite di un record"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "È stato possibile leggere solo %lu byte di %lu"
 msgstr[1] "È stato possibile leggere solo %lu byte di %lu"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "I contenuti sono differenti"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "EOF inatteso nell'archivio"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "I tipi dei file sono diversi"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "I modi sono diversi"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Gli UID sono diversi"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "I GID sono diversi"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Gli orari di modifica sono diversi"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Le dimensioni sono diverse"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Non è collegato a %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "I collegamenti simbolici sono diversi"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "I numeri dei device sono diversi"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verifica "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: tipo di file \"%c\" sconosciuto, confrontato come un file normale"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "L'archivio contiene nomi di file con i prefissi iniziali rimossi."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "L'archivio contiene nomi di file trasformati."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "La verifica potrebbe non riuscire a trovare i file originali."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "Errore di verifica: trovata %d intestazione non valida"
 msgstr[1] "Errore di verifica: trovate %d intestazioni non valide"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Un singolo blocco di zeri a %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: contiene un'etichetta di directory cache %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "valore %s fuori dall'intervallo (%s) %s..%s; sostituzione con %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valore %s fuori dall'intervallo (%s) %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Generazione delle intestazioni ottali negative"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: il nome del file è troppo lungo (max %d); non archiviato"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: il nome del file è troppo lungo (impossibile dividerlo); non archiviato"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: il nome del collegamento è troppo lungo; non archiviato"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: file ristretto di %s byte; riempito con zeri"
 msgstr[1] "%s: file ristretto di %s byte; riempito con zeri"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: il file si trova su un altro file system; non archiviato"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "contenuti non archiviati"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: tipo di file sconosciuto; file ignorato"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Collegamenti mancanti a %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: il file non è modificato; non archiviato"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: il file è l'archivio; non archiviato"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "directory non archiviata"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: file modificato mentre era in lettura"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket ignorato"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door ignorata"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Passaggio alla prossima intestazione"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Eliminazione non-intestazione dall'archivio"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: orario %s inverosimilmente vecchio"
 
 # (ndt) problema del plurale...
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: l'orario %s è %s secondi nel futuro"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: incoerenza inaspettata nel creare la directory"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: file esistente saltato"
@@ -1030,7 +1028,7 @@ msgstr ""
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: impossibile estrarre -- il file continua da un altro volume"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Intestazione di nome lungo inattesa"
 
@@ -1054,7 +1052,7 @@ msgstr "Il file %s corrente è più recente o ha la stessa data"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: il nome del membro contiene \"..\""
 
 #: src/extract.c:1696
 #, c-format
@@ -1066,22 +1064,22 @@ msgstr "%s: impossibile eseguire il backup di questo file"
 msgid "Cannot rename %s to %s"
 msgstr "Impossibile rinominare %s in %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: directory rinominata da %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: directory nuova"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: la directory si trova su un altro file system; non archiviato"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: directory rinominata"
@@ -1207,35 +1205,35 @@ msgstr "%s: eliminazione di %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: impossibile rimuoverlo"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: omesso"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blocco %s: ** Blocco di NUL **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blocco %s: ** Fine del file **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blocco %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Trovati spazi nell'intestazione dove era atteso il valore numerico %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1243,161 +1241,160 @@ msgstr ""
 "che sia in complemento a due"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Il valore ottale %.*s dell'archivio è fuori dall'intervallo %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "L'archivio contiene intestazioni base-64 obsolete"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 "La stringa base-64 con segno %s dell'archivio è fuori dall'intervallo %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Il valore base-256 dell'archivio è fuori dall'intervallo %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "L'archivio contiene %.*s dove era atteso il valore numerico %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Il valore %s dell'archivio è fuori dall'intervallo (%s) %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " collegamento a %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo di file sconosciuto %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Collegamento lungo--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nome lungo--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Intestazione del volume--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua al byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Creazione directory:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Rinomina di %s in %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: impossibile rinominarlo in %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Rinomina di %s nuovamente in %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: file rimosso prima di poterlo leggere"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "il processo figlio"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "il canale tra processi"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Selezione dei nomi file locali:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "Aggiunge FILE all'archivio (utile se il nome inizia con un trattino)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "Passa alla directory DIR"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "Prende i nomi da estrarre o creare dal file FILE"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T legge nomi terminati da NULL, implica --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "Disabilita l'effetto dell'opzione --null precedente"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "Toglie i caratteri di citazione dai nomi dei file o dei membri (predefinito)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "Non toglie i caratteri di citazione dai nomi dei file o dei membri"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T legge i nomi file come sono (senza gestione opzioni)"
+msgstr "-T legge i nomi file come sono (senza escape o gestione opzioni)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T considera i nomi file che iniziano con un trattino come opzioni "
 "(predefinito)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MODELLO"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "Esclude i file i cui nomi corrispondono a MODELLO"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "Esclude i modelli elencati in FILE"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1405,24 +1402,24 @@ msgstr ""
 "Esclude i contenuti delle directory contenenti CACHEDIR.TAG, a parte il "
 "file .TAG stesso"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "Esclude tutto quanto all'interno di directory contenenti CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "Esclude le directory contenenti CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "Esclude i contenuti delle directory contenenti FILE, a parte FILE stesso "
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "Legge i modelli di esclusione per ogni directory da FILE (se esiste)"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1430,119 +1427,123 @@ msgstr ""
 "Legge i modelli di esclusione per ogni directory e sotto-directory da FILE "
 "(se esiste)"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "Esclude tutto quanto all'interno di directory contenenti FILE"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "Esclude le directory contenenti FILE"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "Esclude le directory dei sistemi di controllo della versione"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "Legge i file di esclusione dai file \"ignore\" dei CVS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "Esclude i file di backup e di blocco"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "Entra ricorsivamente nelle directory (predefinito)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "Non entra automaticamente nelle directory"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Opzioni di corrispondenza del nome del file (vale sia per i modelli di "
 "esclusione che inclusione):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "I modelli corrispondono all'inizio del nome del file"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "I modelli corrispondono dopo qualsiasi \"/\" (predefinito per le esclusioni)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "Non fa differenza tra maiuscole e minuscole"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "Considera diverse le maiuscole e le minuscole (predefinito)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "Utilizza i metacaratteri (predefinito per le esclusioni)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "Corrispondenza letterale della stringa"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "I metacaratteri corrispondono \"/\" (predefinito per le esclusioni)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "I metacaratteri non corrispondono \"/\""
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Le seguenti opzioni erano utilizzate dopo un qualsiasi argomento non "
+"opzionale in modalità creazione o aggiornamento. Queste opzioni sono "
+"posizionali e funzionano solo sugli argomenti che le seguono: riorganizzarle "
+"correttamente."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s non ha alcun effetto"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s non ha alcun effetto"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s non ha alcun effetto"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "riga di comando"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: l'elenco file richiesto da %s è già stato letto da %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "impossibile dividere la stringa \"%s\": %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: il nome di file letto contiene un carattere NULL"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Usati caratteri di corrispondenza nei nomi dei file."
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1550,47 +1551,47 @@ msgstr ""
 "Usare --wildcards per abilitare la corrispondenza o --no-wildcards per "
 "disabilitare l'avviso"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: non trovato nell'archivio"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: occorrenza richiesta non trovata nell'archivio"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Etichetta dell'archivio non corrispondente"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "L'utilizzo dell'opzione -C all'interno dell'elenco dei file non è consentita "
 "con --listed-incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Solo un'opzione -C è consentita con --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Le opzioni \"%s\" e \"%s\" richiedono entrambe lo standard input"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: formato dell'archivio non valido"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Richieste funzionalità GNU su un formato di archivio incompatibile"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1814,7 +1815,7 @@ msgstr "Selezione stream di output:"
 msgid "extract files to standard output"
 msgstr "Estrae i file sullo standard output"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "COMANDO"
 
@@ -1850,7 +1851,7 @@ msgstr "Usa FILE per mappare gli UID dei proprietari del file e i nomi"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "Usa FILE per mappare i GID dei proprietari del file e i nomi"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATA-O-FILE"
 
@@ -2063,7 +2064,7 @@ msgstr "Rifà i blocchi durante la lettura (per le pipe di 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Selezione formato di archiviazione:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMATO"
 
@@ -2150,64 +2151,64 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "Filtra attraverso PROG (deve accettare -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Selezione dei file locali:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "Resta nel file system locale durante la creazione dell'archivio"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "Non rimuove le \"/\" iniziali dai nomi dei file"
 
 # (ndt) hmmm... non molto chiara...
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "Segue i collegamenti simbolici; archivia ed esegue il dump dei file a cui "
 "puntano"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "Segue i collegamenti fisici; archivia ed esegue il dump dei file a cui si "
 "riferiscono"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NOME"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "Inizia dal membro NOME durante la lettura dell'archivio"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "Archivia solo i file più recenti di DATA-O-FILE"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "Confronta data e ora solo quando il contenuto è cambiato"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTROLLO"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "Esegue un backup prima di rimuovere, usando il CONTROLLO di versione"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRINGA"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2215,63 +2216,63 @@ msgstr ""
 "Esegue un backup prima di rimuovere, sovrascrivendo il suffisso \"~\" a meno "
 "che non sia sovrascritto dalla variabile d'ambiente SIMPLE_BACKUP_SUFFIX"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Trasformazioni dei nomi di file:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "Toglie NUMERO componenti iniziali dai nomi dei file durante l'estrazione"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "ESPRESSIONE"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "Usa un'ESPRESSIONE di sostituzione di sed per trasformare i nomi dei file"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Output informativo:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "Elenca prolissamente i file elaborati"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "PAROLACHIAVE"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "Controllo di avviso"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Visualizza un messaggio di avanzamento ogni NUMERO-esimo record (predefinito "
 "10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "AZIONE"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "Esegue l'azione a ogni punto di controllo"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "Stampa un messaggio se non tutti i collegamenti sono archiviati"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SEGNALE"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2283,35 +2284,35 @@ msgstr ""
 "sono: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2; sono accettati anche i "
 "nomi senza il prefisso SIG"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "Stampa le date di modifica del file in formato UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "Stampa la data del file in tutti i suoi dettagli"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "Invia l'output prolisso al FILE"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "Mostra il numero di blocco nell'archivio con ogni messaggio"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "Chiede conferma per ogni azione"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "Mostra le impostazioni predefinite di tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "Mostra gli intervalli validi per i campi snapshot-file"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2319,33 +2320,33 @@ msgstr ""
 "All'elencazione o all'estrazione, elenca ogni directory che non corrisponde "
 "al criterio di ricerca"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "Mostra il nome del file o dell'archivio dopo la trasformazione"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STILE"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "Imposta lo stile di citazione del nome; consultare più sotto per i valori di "
 "STILE consentiti"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "Caratteri di citazione aggiuntivi da STRINGA"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "Disabilita la citazione per i caratteri dalla STRINGA"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Opzioni di compatibilità:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2353,22 +2354,22 @@ msgstr ""
 "Alla creazione, uguale a --old-archive; all'estrazione, uguale a --no-same-"
 "owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Altre opzioni:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "Disabilita l'uso di alcune opzioni potenzialmente dannose"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "L'opzione \"%s\" non può essere usata con \"%s\""
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2376,40 +2377,40 @@ msgstr ""
 "Non è possibile indicare più di un'opzione \"-Acdtrux\", \"--delete\" o \"--"
 "test-label\""
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Conflitto tra le opzioni di compressione"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nome del segnale sconosciuto: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "File campione della data non trovato"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Sostituzione di %s al posto del formato di data sconosciuto %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Opzione %s: la data \"%s\" viene considerata come %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "Filtra l'archivio attraverso %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Argomenti validi per l'opzione --quoting-style sono:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2417,163 +2418,163 @@ msgstr ""
 "\n"
 "Questa versione di tar ha le seguenti impostazioni predefinite:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Proprietario o ID gruppo non valido"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Fattore del blocco non valido"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Lunghezza del nastro non valida"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Valore del livello incrementale non valido"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Più di una data di soglia"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Valore versione sparsa non valido"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve=\"system\" non è supportato su questa piattaforma"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "Il valore --checkpoint non è un intero"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Modo fornito sull'opzione non valido"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Numero non valido"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Dimensione del record non valida"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "La dimensione del record deve essere un multiplo di %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Numero di elementi non valido"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Consentita solo un'opzione --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argomento densità non corretto: \"%s\""
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densità sconosciuta: \"%c\""
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Le opzioni \"-[0-7][lmh]\" non sono gestite da questa versione di tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: posizione dell'errore"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "Errore nell'analizzare %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FILE]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "argomenti non opzione in %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "impossibile dividere TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "La vecchia opzione \"%c\" richiede un argomento."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence non ha senso senza un elenco di file"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Archivi multipli richiedono l'opzione \"-M\""
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "L'opzione --level non è utilizzabile senza --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: l'etichetta di volume è troppo lunga (il limite è %lu byte)"
 msgstr[1] "%s: l'etichetta di volume è troppo lunga (il limite sono %lu byte)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Impossibile verificare archivi multi-volume"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Impossibile verificare archivi compressi"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Impossibile usare archivi multi-volume compressi"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Impossibile concatenare archivi compressi"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime necessita di una data specificata utilizzando --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option può essere usata solo su archivi POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls può essere usata solo su archivi POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux può essere usata solo su archivi POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs può essere usata solo su archivi POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2581,84 +2582,93 @@ msgstr ""
 "Impossibile determinare il nome della directory principale, impostarlo con --"
 "one-top-level=DIR"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 "La lunghezza del volume non può essere minore della dimensione del record"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Rifiuto totale di creare un archivio vuoto"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Le opzioni \"-Aru\" sono incompatibili con \"-f -\""
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "È necessario specificare una delle opzioni \"-Acdtrux\", \"--delete\" o \"--"
 "test-label\""
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Uscita con stato di fallimento in base agli errori precedenti"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: il file si è ridotto di %s byte"
 msgstr[1] "%s: il file si è ridotto di %s byte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "La parola chiave %s è sconosciuta o non ancora implementata"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Orario fuori dall'intervallo consentito"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Il modello %s non può essere usato"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "La parola chiave %s non può essere sostituita"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Intestazione estesa malformata: manca la lunghezza"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "La lunghezza dell'intestazione estesa %*s è fuori dall'intervallo"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Intestazione estesa malformata: manca lo spazio dopo la lunghezza"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Intestazione estesa malformata: manca il segno di uguale"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Intestazione estesa malformata: manca un newline"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Parola chiave sconosciuta \"%s\" dell'intestazione estesa ignorata"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2667,48 +2677,48 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "L'intestazione estesa %s=%s è fuori dall'intervallo %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Intestazione estesa malformata: %s=%s non valido"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Intestazione estesa malformata: %s=%s in eccesso"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Intestazione estesa malformata: %s non valido: delimitatore %c non atteso"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 "Intestazione estesa malformata: %s non valido: numero dispari di valori"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: timeout non valido"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: azione di punto di controllo sconosciuta"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "lettura"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "scrittura"
 
@@ -2716,7 +2726,7 @@ msgstr "scrittura"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Punto di controllo di scrittura %u"
@@ -2725,12 +2735,12 @@ msgstr "Punto di controllo di scrittura %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Punto di controllo di lettura %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2738,99 +2748,103 @@ msgstr ""
 "genfile manipola i file per la suite di test GNU paxutils.\n"
 "Le opzioni sono:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Opzioni di creazione file:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "DIMENSIONE"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Crea file della DIMENSIONE indicata"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Scrive sul file NOME invece dello standard output"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Legge i nomi dei file da FILE"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T legge nomi terminati da NULL"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Riempie il file con il MODELLO fornito. MODELLO è \"default\" o \"zeros\""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Dimensione del blocco per il file sparso"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Genera file sparso. Il resto della riga di comando fornisce la mappa del "
 "file."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "OFFSET"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Si posiziona all'OFFSET indicato prima di scrivere i dati"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Elimina i messaggi di diagnostica che non sono errori"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Opzioni per le statistiche:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Stampa i contenuti di struct stat per ogni file dato. Il FORMATO predefinito "
 "è:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Opzioni di esecuzione sincrona:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPZIONE"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Esegue ARGOMENTI. Utile con --checkpoint e uno tra --cut, --append, --touch, "
 "--unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Esegue l'azione indicata (consultare più sotto) al raggiungimento del punto "
 "di controllo NUMERO"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Imposta la data per l'opzione --touch successiva"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 "Visualizza i punti di controllo eseguiti e lo stato di uscita del COMANDO"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2838,7 +2852,7 @@ msgstr ""
 "Azioni di esecuzione sincrona. Queste sono eseguite quando viene raggiunto "
 "il punto di controllo fornito dall'opzione --checkpoint."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2846,85 +2860,85 @@ msgstr ""
 "Tronca il FILE alla dimensione specificata dall'opzione --length precedente "
 "(0 se non viene fornita)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Aggiunge DIMENSIONE byte al FILE. DIMENSIONE è fornita dall'opzione --length "
 "precedente."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Aggiorna l'orario di accesso e modifica del FILE"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Esegue il COMANDO"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Elimina FILE"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Dimensione non valida: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Numero fuori dall'intervallo consentito: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Dimensione negativa: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) non riuscita"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "lunghezza file richiesta %lu, effettiva %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "il file creato non è sparso"
 
 # (ndt) ?
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Errore nell'analizzare il numero vicino a \"%s\""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Formato data non conosciuto"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGOMENTI...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "impossibile aprire \"%s\""
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "impossibile eseguire seek"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "il nome del file contiene caratteri NULL"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
@@ -2932,42 +2946,42 @@ msgstr ""
 "file"
 
 # (ndt) ?
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "maschera non corretta (vicino a \"%s\")"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Campo \"%s\" sconosciuto"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "impossibile impostare l'orario su \"%s\""
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "impossibile troncare \"%s\""
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "comando non riuscito: \"%s\""
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "impossibile troncare \"%s\""
+msgstr "impossibile eseguire stat su \"%s\""
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "impossibile impostare l'orario su \"%s\""
+msgstr "impossibile rimuovere la directory \"%s\""
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "impossibile eseguire l'unlink di %s"
@@ -3007,33 +3021,5 @@ msgstr "Comando terminato\n"
 msgid "--stat requires file names"
 msgstr "--stat richiede i nomi dei file"
 
-#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-#~ msgstr "%.*s: il parametro ARGP_HELP_FMT deve essere positivo"
-
-#~ msgid "%s: option '--%s' doesn't allow an argument\n"
-#~ msgstr "%s: l'opzione \"--%s\" non accetta un argomento\n"
-
-#~ msgid "%s: unrecognized option '--%s'\n"
-#~ msgstr "%s: opzione \"--%s\" non riconosciuta\n"
-
-#~ msgid "%s: option '-W %s' is ambiguous\n"
-#~ msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
-
-#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
-#~ msgstr "%s: l'opzione \"-W %s\" non accetta un argomento\n"
-
-#~ msgid "%s: option '-W %s' requires an argument\n"
-#~ msgstr "%s: l'opzione \"-W %s\" richiede un argomento\n"
-
-#~ msgid "Unlink FILE"
-#~ msgstr "Esegue l'unlink di FILE"
-
-#~ msgid "same as both -p and -s"
-#~ msgstr "Come -p e -s assieme"
-
-#~ msgid ""
-#~ "The --preserve option is deprecated, use --preserve-permissions --"
-#~ "preserve-order instead"
-#~ msgstr ""
-#~ "L'opzione --preserve è deprecata, usare --preserve-permissions --preserve-"
-#~ "order"
+#~ msgid "OPTION"
+#~ msgstr "OPZIONE"
diff --git a/po/ja.gmo b/po/ja.gmo
index 4ff1096fb4b249a43bd698c1d26573d9f5bcb69d..ba6493886ab965ddb77c0040fb7e756d14f87675 100644
GIT binary patch
delta 14775
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
BW^Vuh

delta 12822
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
b%^%`5_U$g5o8KOY=boH@rgZb4GaID=@BbK9

diff --git a/po/ja.po b/po/ja.po
index 8b0a13d1..f3c4cd29 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,18 +1,18 @@
-# Japanese messages for GNU tar 1.28.90
-# Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016 Free Software Foundation, Inc.
+# Japanese messages for GNU tar 1.30
+# Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
-# Masahito Yamaga <ma@yama-ga.com>, 2016.
+# Masahito Yamaga <ma@yama-ga.com>, 2017.
 #  derived from the version by
 #              Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 1999-2001.
 #              Masahito Yamaga <yamaga@ipc.chiba-u.ac.jp>, 2007.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.29\n"
+"Project-Id-Version: GNU tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-17 07:44+0900\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-18 07:23+0900\n"
 "Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
 "Language: ja\n"
@@ -99,7 +99,7 @@ msgid "give a short usage message"
 msgstr "û������ˡ��å�������ɽ��"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAME"
 
@@ -137,29 +137,29 @@ msgid "write error"
 msgstr "�񤭹��ߥ��顼"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: ���ץ���� '%s' �Ϥ����ޤ��Ǥ�\n"
+msgstr "%s: ���ץ���� '%s%s' �Ϥ����ޤ��Ǥ�\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: ���ץ���� '%s' �Ϥ����ޤ��Ǥ�. ��ǽ��������Τ�"
+msgstr "%s: ���ץ���� '%s%s' �Ϥ����ޤ��Ǥ�. ��ǽ��������Τ�"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: ̤�ΤΥ��ץ���� '%c%s'\n"
+msgstr "%s: ̤�ΤΥ��ץ���� '%s%s'\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: ���ץ���� '%c%s' �˰����Ϥ���ޤ���\n"
+msgstr "%s: ���ץ���� '%s%s' �˰����Ϥ���ޤ���\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: ���ץ���� '--%s' �ˤϰ�����ɬ�פǤ�\n"
+msgstr "%s: ���ץ���� '%s%s' �ˤϰ�����ɬ�פǤ�\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -234,12 +234,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "�ѥå�������: %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "�ѥå�������: %s\n"
@@ -247,12 +247,11 @@ msgstr "
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -262,7 +261,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"���ѵ��� GPLv3+: GNU GPL version 3 �ޤ��Ϥ���ʹ� <http://gnu.org/licenses/"
+"���ѵ��� GPLv3+: GNU GPL version 3 �ޤ��Ϥ���ʹ� <https://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"
@@ -404,14 +403,13 @@ msgid "%s home page: <%s>\n"
 msgstr "%s �ۡ���ڡ���: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "%s �ۡ���ڡ���: <http://www.gnu.org/software/%s/>\n"
+msgstr "%s �ۡ���ڡ���: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr "GNU ���եȥ��������Ѿ�ΰ���Ū�إ��: <http://www.gnu.org/gethelp/>\n"
+msgstr "GNU ���եȥ��������Ѿ�ΰ���Ū�إ��: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -530,190 +528,190 @@ msgstr "
 msgid "Cannot execute remote shell"
 msgstr "��֥����뤬�¹ԤǤ��ޤ���"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "�����������ϰϳ�"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "̵���ʸ�������"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "̵���ʸ������ե��å�"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "�������ե��åȤ��ϰϳ�"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "̵���ʥХ��ȿ�"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "�Х��ȿ����ϰϳ�"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "�ե���������潪λ"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "̵����������"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "��������Ƥ��ʤ����"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "ͽ�����̰���"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "��֥ץ����������̿�������դ��ƥơ��ץɥ饤�֤����"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUMBER"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "�ǥХå���٥������"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FILE"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "�ǥХå����ϥե�����̾������"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "%s �򳫤��ޤ���"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "������¿�����ޤ�"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "���פʥ��ޥ��"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "����� tar ���������֤ǤϤʤ��褦�Ǥ�"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "���ɤ߹��ߥХ��ȿ�"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "���񤭽Ф��Х��ȿ�"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "������Х��ȿ�"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(�ѥ���)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "ü�����饢�������֤����Ƥ��ɤ߼��Τ���� (-f ���ץ����λ���˺��?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "ü���˥��������֤����Ƥ�񤭽Ф��Τ���� (-f ���ץ����λ���˺��?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "record_size ��̵�����ͤǤ�"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "����������̾�����ꤵ��Ƥ��ޤ���"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "ɸ�������ϤΥ��������֤ϸ��ڤǤ��ޤ���"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "���������֤ϰ��̤���Ƥ��ޤ�. %s ���ץ�����ȤäƤ�������"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "���̤��줿���������֤ϥ��åץǡ��ȤǤ��ޤ���"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "�ơ��פ���Ƭ�Ǥ�. ��������ߤ��ޤ�"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "���顼��¿�����ޤ�. ��������ߤ��ޤ�"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "��Ͽ������ = %lu �֥��å�"
 msgstr[1] "��Ͽ������ = %lu �֥��å�"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "������������Υ��饤����Ȥ���Ƥ��ʤ��֥��å� (%lu �Х���)"
 msgstr[1] "������������Υ��饤����Ȥ���Ƥ��ʤ��֥��å� (%lu �Х���)"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "���������֥ե���������������᤻�ޤ���. -i �ʤ��Ǥ��ɤ�ʤ������Τ�ޤ���."
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ��Ͽ�ζ����ǻߤ�ޤ���"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: ̵���ʥܥ�塼���ֹ��ޤ�Ǥ��ޤ�"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "�ܥ�塼���ֹ椬�����С��ե������ޤ���"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "�ܥ�塼�� #%d (%s) ��������ޤ�. �꥿���󥭡��򲡤��Ƥ�������: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "�桼������������ EOF ��ɬ�פȤʤ�ޤ�"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "�ٹ�: ���������֤��Դ����Ǥ�"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -725,67 +723,67 @@ msgstr ""
 " q             tar ��λ\n"
 " y �ޤ��ϲ���  �����³\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             ���֥������ư\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             ���Υꥹ�Ȥ�ɽ��\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "�������ܥ�塼�ब����ޤ���. ��λ���ޤ�.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "�ե�����̾�����ꤵ��Ƥ��ޤ���. �⤦����.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "����������. ? �ǥإ�פ�ɽ��\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s ���ޥ�ɤ����Ԥ��ޤ���"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s �Ϥ��Υܥ�塼����Ϣ³���Ƥ��ޤ���"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s �Ϥ��Υܥ�塼���Ǥ����餯Ϣ³���Ƥ��ޤ�: �إå��Ͼ�ά���줿̾����ޤ��"
 "���ޤ�"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s �������ʥ������Ǥ� (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "���Υܥ�塼���Ϣ³���Ƥ��ޤ��� (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "���������֤� %s �˰��פ����٥뤬�դ��Ƥ��ޤ���"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "�ܥ�塼�� %s �� %s �˰��פ��ޤ���"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -793,210 +791,210 @@ msgstr ""
 "%s: �ե�����̾��Ĺ�᤮�� GNU �ޥ���ܥ�塼��إå�����¸�Ǥ��ʤ��Τ��ڤ�Τ�"
 "�ޤ�"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "�񤭹��ߤ��֥��å������ǽ���äƤ��ޤ���"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "%lu �Х��Ȥ����� %lu �Х��Ȥ����ɤ߹��ळ�Ȥ��Ǥ��ޤ���"
 msgstr[1] "%lu �Х��Ȥ����� %lu �Х��Ȥ����ɤ߹��ळ�Ȥ��Ǥ��ޤ���"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "���Ƥ��ۤʤ�ޤ�"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "�������������ͽ������ EOF ������ޤ�"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "�ե����륿���פ��ۤʤ�ޤ�"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "�⡼�ɤ��ۤʤ�ޤ�"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "�桼�� ID ���ۤʤ�ޤ�"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "���롼�� ID ���ۤʤ�ޤ�"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "�ǽ��������郎�ۤʤ�ޤ�"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "���������ۤʤ�ޤ�"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "%s �˥�󥯤��Ƥ��ޤ���"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "����ܥ�å���󥯤��ۤʤ�ޤ�"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "�ǥХ����ֹ椬�㤤�ޤ�"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "����"
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: ̤�ΤΥե����륿���� '%c', �̾�ե�����Ⱥ�ʬ����ޤ�"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "���������������Ƭ����������줿�ե�����̾������ޤ�."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "���������֤��Ѵ����줿�ե�����̾���ޤޤ�Ƥ��ޤ�"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "���Υե�����ν�߳�ǧ�˼��Ԥ�����ǽ��������ޤ�."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "��ǧ����: %d �Ĥ�̵���ʥإå������Ĥ���ޤ���"
 msgstr[1] "��ǧ����: %d �Ĥ�̵���ʥإå������Ĥ���ޤ���"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "%s �˸�Ω���������֥��å�"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: ����å��� �ǥ��쥯�ȥ� ���� %s ��ޤ�Ǥ��ޤ�; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "�� %s �� %s ���ϰ� %s..%s �ˤ���ޤ��� -- %s ������"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "�� %s �� %s ���ϰ� %s..%s �ˤ���ޤ���"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "��� 8 �ʥإå����������ޤ�"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: �ե�����̾��Ĺ�᤮�� (���� %d) �Τǥ���פ��ޤ���"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: �ե�����̾��Ĺ�᤮�� (ʬ����ǽ) �Τǥ���פ��ޤ���"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: ���̾��Ĺ�᤮��Τǥ���פ��ޤ���"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: %s �Х��Ⱦ������ʤä��Τǡ����������ޤ�"
 msgstr[1] "%s: %s �Х��Ⱦ������ʤä��Τǡ����������ޤ�"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: �ե�����ϰۤʤ�ե����륷���ƥ��ˤ���Τǥ���פ��ޤ���"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "���Ƥ����פ��ޤ���"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: ̤�ΤΥե��������; �ե������̵�뤵��ޤ�"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "%s �ؤΥ�󥯤�����ޤ���."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: �ѹ�����Ƥ��ʤ��Τǥ���פ��ޤ���"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: �ϥ��������֤ʤΤǥ���פ��ޤ���"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "�ǥ��쥯�ȥ�����פ��ޤ���"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: �ɤ߹�����ե����뤬�ѹ�����Ƥ��ޤ�"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: �����åȤ�̵�뤷�ޤ�"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door ��̵�뤷�ޤ�"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "���Υإå��򥹥��åפ��ޤ�"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "���������֤���إå��Ǥʤ���Τ������ޤ�"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: ���餯�Ť������ॹ����� %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: �����ॹ����� %s �� %s ����򼨤��Ƥ��ޤ�"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: �ǥ��쥯�ȥ����������¬��̷�⤬������ޤ���"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: ��¸�ե�����򥹥��åפ��ޤ�"
@@ -1019,7 +1017,7 @@ msgstr "
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: ���Ф��ޤ��� -- �ե�������̤Υܥ�塼�फ��³���Ƥ��ޤ�"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "ͽ������Ĺ��̾���إå�"
 
@@ -1036,7 +1034,7 @@ msgstr "
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: ���С�̾���ޤ�Τ� '..'"
 
 #: src/extract.c:1696
 #, c-format
@@ -1048,22 +1046,22 @@ msgstr "%s: 
 msgid "Cannot rename %s to %s"
 msgstr "%s ��̾���� %s ���ѹ��Ǥ��ޤ���"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: �ǥ��쥯�ȥ�̾�� %s �����ѹ�����ޤ���"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: �ǥ��쥯�ȥ�Ͽ���������ޤ���"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: �ǥ��쥯�ȥ�ϰۤʤ�ե����륷���ƥ��ˤ���Τǥ���פ��ޤ���"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: �ǥ��쥯�ȥ�̾���ѹ�����ޤ���"
@@ -1189,215 +1187,215 @@ msgstr "%s: %s 
 msgid "%s: Cannot remove"
 msgstr "%s: ����Ǥ��ޤ���"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: ��ά���ޤ�"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "�֥��å� %s: ** NUL �Υ֥��å� **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "�֥��å� %s: ** �ե�����ν�ü **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "�֥��å� %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "���� %s �Ȥʤ�٤��إå����֤����ˤʤäƤ��ޤ�"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr "8 �ʿ��� %.*s �� %s ���ϰϳ��Ǥ� -- 2 ������ȸ��ʤ��ޤ�"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "8 �ʿ��� %.*s �� %s ���ϰϳ��Ǥ�"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "���������֤��Ѥ줿 base-64 �إå����ޤޤ�Ƥ��ޤ�"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "����դ� base-64 ʸ���� %s �� %s ���ϰϳ��Ǥ�"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "base-256 �ͤ� %s ���ϰϳ��Ǥ�"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "���������֤� %.*s ���ޤޤ�Ƥ��ޤ����������Ͽ��� %s �Ȥʤ�Ϥ��Ǥ�"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "���������֤��� %s �� %s ���ϰ� %s..%s ��ˤ���ޤ���"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " %s �ؤΥ��\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " �����ʥե����륿���� %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--�����--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Ĺ��̾��--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--�ܥ�塼��إå�--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--�Х��� %s ��Ϣ³--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "�ǥ��쥯�ȥ�����:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "̾���� %s ���� %s ���ѹ����ޤ�\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: ̾���� %s ���ѹ��Ǥ��ޤ���"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "̾���� %s ���� %s ���ᤷ�ޤ�\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: �ɤ߹��߰����˺������ޤ���"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "�ҥץ�����"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "�ץ������֥���ͥ�"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "��������ե�����̾����:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "���ꤵ�줿 FILE �򥢡������֤��ɲ� (���å��� ' �ǻϤޤ�ե�����̾�ξ�����"
 "��)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "�ǥ��쥯�ȥ� DIR �ذ�ư"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "��Фޤ��Ϻ�������̾����ե����� FILE �������"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T �� null �ǽ����̾�����ɤ߹���; --verbatim-files-from ��ż�"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "���� --null ���ץ����θ��̤�̵����"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "���ϥե�����ޤ��ϥ��С�̾����ѽ�λ���� (ɸ��)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "���ϥե�����ޤ��ϥ��С�̾����ѽ�λ���ʤ�"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T ���ե�����̾��ʸ���̤���ɤ߹��� (���ץ��������ʤ�)"
+msgstr ""
+"-T ���ե�����̾��ʸ���̤���ɤ߹��� (���������פޤ��ϥ��ץ��������ʤ�)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T ���ե�����̾����å���ǻϤޤ륪�ץ����Ȥ��ƽ��� (ɸ��)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATTERN"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "PATTERN �˰��פ���ե���������"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "FILE ����󤵤줿�ѥ���������"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "�����ե����뼫�Ȥ���� CACHEDIR.TAG ��ޤ�ǥ��쥯�ȥ�����Ƥ����"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG ��ޤ�ǥ��쥯�ȥ�ʲ������Ƥ����"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG ��ޤ�ǥ��쥯�ȥ�����"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "FILE ���Ȥ���� FILE ��ޤ�ǥ��쥯�ȥ�����Ƥ����"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "�ƥǥ��쥯�ȥ�ν����ѥ������FILE (¸�ߤ�����) �����ɤ߼��"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1405,116 +1403,119 @@ msgstr ""
 "�ƥǥ��쥯�ȥꤪ��Ӥ��Υ��֥ǥ��쥯�ȥ�ν����ѥ������FILE (¸�ߤ�����) "
 "�����ɤ߼��"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "FILE ��ޤ�ǥ��쥯�ȥ�ʲ������Ƥ����"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "FILE ��ޤ�ǥ��쥯�ȥ�����"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "�С��������������ƥ�Υǥ��쥯�ȥ�����"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "�����ѥ������VCS̵��ե����뤫���ɤ߼��"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "�Хå����åפ�������ƥե��������å�"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "�ǥ��쥯�ȥ��緫��˲��äƤ��� (default)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "�ǥ��쥯�ȥ��ưŪ�˲��äƤ����ʤ�"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "�ե�����̾���ץ��ץ���� (����/��ޤ�ξ�ѥ�����˺���):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "�ե�����̾����Ƭ�ȥѥ����󤬰���"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "Ǥ�դ� '/' �ʹߤ˥ѥ����󤬰��� (ɸ��ǽ���)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "��ʸ����ʸ����̵��"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "��ʸ����ʸ�����θ���ư��� (ɸ��)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "�磻��ɥ����ɤ���� (ɸ��ǽ���)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "���Ūʸ�������"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "�磻��ɥ����ɤ� '/' �˰��� (ɸ��ǽ���)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "�磻��ɥ����ɤ� '/' �˰��פ��ʤ�"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"���Υ��ץ����򥢡������ֺ����⡼�ɤޤ��Ϲ����⡼�ɤǥ��ץ����Ǥʤ�������"
+"��ǻ���. �����Υ��ץ����Ϥ�����³�������Τߤ˱ƶ�����Τǰ��֤�ľ����"
+"��������."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s �ϸ��̤ʤ�"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s �ϸ��̤ʤ�"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s �ϸ��̤ʤ�"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "���ޥ�ɥ饤��"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: %s �����׵ᤵ�줿�ե���������ϴ��� %s �����ɤ߹��ߺѤ�"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ʸ���� '%s' ��ʬ��Ǥ��ޤ���: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: �ɤ߹��ޤ줿�ե�����̾�˥̥�ʸ��"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "�ѥ�����ޥå���ʸ�����ե�����̾�˻Ȥ��Ƥ��ޤ�"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1522,46 +1523,46 @@ msgstr ""
 "�ѥ�����ޥå���ͭ���ˤ���ʤ� --wildcards, ���ηٹ���޻ߤ���ʤ� --no-"
 "wildcards ��ȤäƤ�������"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: ������������˸��Ĥ���ޤ���"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: ������������˸��Ĥ���ޤ���"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "���������֥�٥뤬���פ��ޤ���"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "�ե�����ꥹ����� -C ���ץ����� --listed-incremental �Ȱ��˻Ȥ��ޤ���"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "-C ���ץ����� 1�Ĥ����ʤ� --listed-incremental �Ȱ��˻Ȥ��ޤ�"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "���ץ���� '%s' �� '%s' �Ϥɤ����ɸ�����Ϥ�ɬ�פǤ�"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: ̵���ʥ��������ַ���"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU ��ͭ�ε�ǽ�ϡ���ߴ��ʷ�����ɬ�פȤ��ޤ�"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1776,7 +1777,7 @@ msgstr "
 msgid "extract files to standard output"
 msgstr "�ե��������Ф���ɸ����Ϥ˽���"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "COMMAND"
 
@@ -1812,7 +1813,7 @@ msgstr "
 msgid "use FILE to map file owner GIDs and names"
 msgstr "�ե������ͭ�� GID ��̾����ޥåפ���Τ� FILE �����"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATE-OR-FILE"
 
@@ -2017,7 +2018,7 @@ msgstr "
 msgid "Archive format selection:"
 msgstr "���������ַ���������"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2101,59 +2102,59 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "PROG ��ͳ�ǥե��륿 (-d ������դ���ɬ�פ���)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "��������ե���������:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "���������ֺ������˥�������ե����륷���ƥ�˸���"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "�ե�����̾������Ƭ�� '/' ��������ʤ�"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "����ܥ�å���󥯤򤿤ɤ�; ����餬�ؤ��ե�����򥢡������֤��ƥ����"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "�ϡ��ɥ�󥯤򤿤ɤ�; ����餬�ؤ��ե�����򥢡������֤��ƥ����"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "MEMBER-NAME"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "���������֤��ɤ߼����˥��С� MEMBER-NAME �dz���"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "DATE-OR-FILE ��뿷�����ե�����Τߤ��Ǽ"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATE"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "�ǡ������ѹ����줿���������դ���ӻ�������"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "������˥С����������� CONTROL �ˤ��ƥХå����å�"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2161,59 +2162,59 @@ msgstr ""
 "������˥Хå����å�, �̾�������� (�Ķ��ѿ� SIMPLE_BACKUP_SUFFIX ��̤�����"
 "�� '~') ����"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "�ե�����̾�Ѵ�:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "��л��˥ե�����̾������Ƭ�� NUMBER �ĤΥ���ݥͥ�Ȥ����"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "�ե�����̾���Ѵ��� sed ���ִ� EXPRESSION �����"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "����:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "��������Ƥ���ե�����ΰ������Ĺ��ɽ��"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "KEYWORD"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "�ٲ�����"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "NUMBER (ɸ�� 10) ���ܤε�Ͽ���Ȥ˿�Ľ��å�������ɽ��"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "�Ƹ���� ACTION ��¹�"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "���ƤΥ�󥯤�����פ���ʤ�����å�������ɽ��"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2224,86 +2225,86 @@ msgstr ""
 "�������Х��ȿ���ɽ��. ���Ĥ��줿 SIGNAL ��: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 "
 "����� SIGUSR2. SIG ��Ƭ�����ʤ�̾���Ǥ��"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "�ե�����ι�������� UTC ��ɽ��"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "�ե�����λ���������������ɽ��"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "��Ĺ���Ϥ� FILE ������"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "������������Υ֥��å�����ơ���å������դ���ɽ��"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "���Ƥ�ư����ǧ"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "tar �δ����ͤ�ɽ��"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "���ʥåץ���åȥե�������ΰ���������ϰϤ�ɽ��"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "��������л���, �������˰��פ��ʤ��ǥ��쥯�ȥ��ơ�����ɽ��"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "�Ѵ���˥ե�����̾�ޤ��ϥ���������̾��ɽ��"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "̾�����ѷ���������. ͭ���� STYLE �ͤϲ�������."
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "���� STRING ����ʸ�������"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "STRING �����ʸ�����Ѥ�̵����"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "�ߴ����ץ����:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "�������� --old-archive ��Ʊ��. ��л��� --no-same-owner ��Ʊ��"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "����¾���ץ����:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "����Ū�˳��ˤʤ륪�ץ����λ��Ѥ�̵����"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' �� '%s' �Ȱ��˻Ȥ��ޤ���"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2311,40 +2312,40 @@ msgstr ""
 "'-Acdtrux', '--delete' �ޤ��� '--test-label' ���ץ����Τ��� 2�İʾ���ꤹ��"
 "���ȤϤǤ��ޤ���"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "���̥��ץ���󤬿�����äƤ��ޤ�"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "̤�ΤΥ����ʥ�̾: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "���ե���ץ�ե����뤬���Ĥ���ޤ���"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "̤�Τ����եե����ޥåȤ� %2$s ����� %1$s �Ȥ��ޤ�"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "���ץ���� %s: ���� '%s' �� %s �Ȥ��ư���"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "%s ��ͳ�ǥ��������֤�ե��륿"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style ���ץ������Ф���ͭ���ʰ���:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2352,163 +2353,163 @@ msgstr ""
 "\n"
 "�֤��Ρ�tar �ε�����:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "̵���ʽ�ͭ�Ԥޤ��ϥ��롼��ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "̵���ʥ֥��å��󥰰���"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "̵���ʥơ��פ�Ĺ��"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "̵������ʬ��٥���"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "1�İʾ���ߵ�Ȥʤ�����"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "̵���ʤޤФ� (sparse) �С��������"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' �Ϥ��Υץ�åȥե�����Ǥϼ�������Ƥ��ޤ���"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint �ͤ������ǤϤ���ޤ���"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "���ץ����ǻ��ꤵ�줿�⡼�ɤ�̵���Ǥ�"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "̵���ʿ�"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "̵���ʵ�Ͽ������"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "��Ͽ�������� %d ���ܿ��Ǥʤ���Ф����ޤ���"
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "̵���ʥ�����ȿ�"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "--to-command ���ץ����� 1�Ĥ�������"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "����������̩�ٰ���: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "̤�Τ�̩��: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "���ץ���� '-[0-7][lmh]' �ϡ֤��Ρ�tar �Ǥϼ�������Ƥ��ޤ���"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: ���顼�ξ��"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "%s �ι�ʸʬ�ϻ��˥��顼"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[�ե�����]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "%s ���󥪥ץ�������"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "TAR_OPTIONS ��ʬ��Ǥ��ޤ���: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "�Ť����ץ���� '%c' �ϰ�����ɬ�פȤ��ޤ�"
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence �ϥե�����������ʤ����̵��̣"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "ʣ�緿���������֥ե�����ˤ� '-M' ���ץ����ɬ�פǤ�"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--listed-incremental �ʤ��� --level ��̵��̣�Ǥ�"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: �ܥ�塼���٥뤬Ĺ�����ޤ� (%lu �Х�������)"
 msgstr[1] "%s: �ܥ�塼���٥뤬Ĺ�����ޤ� (%lu �Х�������)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "�ޥ���ܥ�塼�ॢ�������֤��ǧ�Ǥ��ޤ���"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "���̤��줿���������֤ϳ�ǧ�Ǥ��ޤ���"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "�ޥ���ܥ�塼��˰��̤��줿���������֤ϻȤ��ޤ���"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "���̤��줿���������֤�Ϣ��Ǥ��ޤ���"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime �� --mtime �ǻ��ꤵ�줿������ɬ�פǤ�"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option �� POSIX ���������֤ǤΤ߻Ȥ��ޤ�"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls �� POSIX ���������֤ǤΤ߻Ȥ��ޤ�"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux �� POSIX ���������֤ǤΤ߻Ȥ��ޤ�"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs �� POSIX ���������֤ǤΤ߻Ȥ��ޤ�"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2516,129 +2517,138 @@ msgstr ""
 "�ȥåץ�٥�ǥ��쥯�ȥ�̾�������ǽ; --one-top-level=DIR ������Ū�˻��ꤷ��"
 "��������"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "�ܥ�塼��Ĺ�ϥ쥳���ɥ�������꾮�����ƤϤ����ޤ���"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "���Υ��������ֺ����Ϥ��Ƽϴꤤ�ޤ�"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "���ץ���� '-Aru' �� '-f -' �Ȥ����Ƥ�ޤ���"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "'-Acdtrux', '--delete' �ޤ��� '--test-label' ���ץ����Τ����������줫 1�Ĥ�"
 "���ꤷ�ʤ���Фʤ�ޤ���"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "���Υ��顼�ˤ�꼺�ԥ��ơ������ǽ�λ���ޤ�"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: �ե����뤬 %s �Х��Ⱦ������ʤäƤ��ޤ�"
 msgstr[1] "%s: �ե����뤬 %s �Х��Ⱦ������ʤäƤ��ޤ�"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "������� %s ��̤�Τޤ���̤����"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "�����ॹ����פ����Ĥ��줿�ϰϳ��Ǥ�"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "�ѥ����� %s �ϻȤ��ޤ���"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "������� %s ��ʤ���ޤ���"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "���������γ�ĥ�إå�: Ĺ���λ��꤬����ޤ���"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "��ĥ�إå�Ĺ %*s ���ϰϳ��Ǥ�"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "���������γ�ĥ�إå�: Ĺ���θ�˥֥�󥯤�����ޤ���"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "���������γ�ĥ�إå�: = (��������) ���椬����ޤ���"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "���������γ�ĥ�إå�: ���Ԥ�����ޤ���"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "̤�Τγ�ĥ�إå�������� '%s' ��̵��"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "�������줿������ɤ��ͤΥڥ���Ĺ�᤮�ޤ� (�������=%s, Ĺ��=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "��ĥ�إå� %s=%s �� %s..%s ���ϰ���ˤ���ޤ���"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "���������γ�ĥ�إå�: %s=%s ������"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "���������γ�ĥ�إå�: %s=%s ��;ʬ"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "���������γ�ĥ�إå�: %s ��̵��: ͽ�����̶��ڤ�ʸ�� %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "���������γ�ĥ�إå�: %s ��̵��: �����"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: ̵���ʥ����ॢ����"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: ̤�Τθ������"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "�񤭹���"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "�ɤ߽Ф�"
 
@@ -2646,7 +2656,7 @@ msgstr "
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "�����å��ݥ���� %u ��񤭽Ф��ޤ�"
@@ -2655,12 +2665,12 @@ msgstr "
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "�����å��ݥ���� %u ���ɤ߹��ߤޤ�"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2668,93 +2678,97 @@ msgstr ""
 "genfile �� GNU paxutils �ƥ��ȥ��åȤ��Ф��ƥǡ����ե���������ޤ�.\n"
 "���ץ�����:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "�ե�����������ץ����:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "SIZE"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "���ꤵ�줿 SIZE �Υե���������"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "ɸ����Ϥ�����˥ե����� NAME �˽���"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "FILE ����ե�����̾���ɤ߹���"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T �� null �ǽ����̾�����ɤ߹��ߤޤ�"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "���ꤵ�줿 PATTERN �ǥե���������ޤ�. PATTERN �� 'default' �ޤ��� 'zeros'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "�ޤФ�� (sparse) �ե�����Υ֥��å�������"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "�ޤФ�� (sparse) �ե����������. �Ĥ�Υ��ޥ�ɥ饤��ǥե�����ޥåפ����."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "���ե��å�"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "�ǡ�����񤭽Ф����˻��ꤵ�줿���ե��åȤޤǸ���"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "��̿Ū�Ǥʤ����ǥ�å�����������"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "�ե��������ץ��ץ����:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "�ơ��λ���ե�������Ф��� struct stat �����Ƥ�ɽ��. ɸ�� FORMAT ��: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Ʊ���¹ԥ��ץ����:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPTION"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "ARGS ��¹�. --checkpoint ����� --cut, --append, --touch, --unlink ����� 1"
 "�ĤȤȤ�˻��Ѥ���Ȥ褤"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "�����å��ݥ���� NUMBER ��ã���˻��ꤵ�줿��������� (��������) ��¹�"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "���� --touch ���ץ��������դ�����"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "�¹Ԥ��줿�����å��ݥ���Ȥ� COMMAND �ν�λ���ơ�������ɽ��"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2762,7 +2776,7 @@ msgstr ""
 "Ʊ���¹ԥ��������. ������ --checkpoint option �ǻ��ꤵ�줿�����å��ݥ����"
 "�ֹ����ã�����Ȥ��˼¹Ԥ����."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2770,123 +2784,123 @@ msgstr ""
 "FILE �� --length ���ץ���� (�ޤ��ϻ��꤬�ʤ���� 0) �ǻ��ꤵ�줿���������ڤ�"
 "�Τ�"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "FILE �� SIZE �Х����ɵ�. SIZE ������ --length ���ץ����ǻ���."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "FILE �κǽ�������������Ⱥǽ���������򹹿�"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "COMMAND ��¹�"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "FILE ����"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "̵���ʥ�����: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "�ֹ椬���Ĥ��줿�ϰϳ�: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "�������: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) ����"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "�׵ᤵ�줿�ե�����Ĺ %lu, �ºݤ��� %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "�������줿�ե�����ϥ��ѡ����ǤϤ���ޤ���"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "`%s' �ζ᤯�ǿ�����ʸʬ�ϻ��˥��顼"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "̤�Τ����շ���"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' �򳫤��ޤ���"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "�ܤ��Ф��ޤ���"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "�ե�����̾���̥�ʸ����ޤ�Ǥ��ޤ�"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "�ޤФ�� (sparse) �ե������ɸ����Ϥ˽񤭽Ф��ޤ���. --file ���ץ��������"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "�����ʥޥ��� (`%s' �˶ᤤ)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "̤�ΤΥե������ `%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "`%s' �˻��������Ǥ��ޤ���"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "`%s' �� truncate �Ǥ��ޤ���"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "���ޥ�ɼ���: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "`%s' �� truncate �Ǥ��ޤ���"
+msgstr "`%s' �� stat �Ǥ��ޤ���"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "`%s' �˻��������Ǥ��ޤ���"
+msgstr "�ǥ��쥯�ȥ� `%s' �����Ǥ��ޤ���"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' �� unlink �Ǥ��ޤ���"
@@ -2926,6 +2940,9 @@ msgstr "
 msgid "--stat requires file names"
 msgstr "--stat �ˤϥե�����̾��ɬ��"
 
+#~ msgid "OPTION"
+#~ msgstr "OPTION"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT �ѥ�᡼���������ͤǤʤ���Фʤ�ޤ���"
 
diff --git a/po/ko.gmo b/po/ko.gmo
index 18b07b8e074f5452b75a9439923b96d280e82db5..c20867f7474cad8246f7b3966dda78576dc259c7 100644
GIT binary patch
delta 12232
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

delta 12484
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
D!pk|u

diff --git a/po/ko.po b/po/ko.po
index f1f6a562..44f5f484 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -4,12 +4,12 @@
 # Bang Jun-Young <bangjy@nownuri.net>, 1996-1997.
 # Seong-ho Cho <darkcircle.0426@gmail.com>, 2016.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.29\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2016-09-22 02:59+0900\n"
 "Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
 "Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
@@ -100,7 +100,7 @@ msgid "give a short usage message"
 msgstr "간단한 사용법 메시지를 보여줍니다"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "<명칭>"
 
@@ -236,12 +236,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "%s(%s)(으)로 패키지 구성함\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "%s(으)로 패키지 구성함\n"
@@ -249,11 +249,11 @@ msgstr "%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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 #, fuzzy
 msgid ""
 "\n"
@@ -532,204 +532,204 @@ msgstr "원격 셸의 파일을 리다이렉션할 수 없습니다"
 msgid "Cannot execute remote shell"
 msgstr "원격 셸을 실행할 수 없습니다"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "탐색 방향 범위를 벗어났습니다"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "부적절한 탐색 방향"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "부적절한 탐색 오프셋"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "탐색 오프셋 범위를 벗어났습니다"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "부적절한 바이트 계수"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "바이트 계수 범위를 벗어났습니다"
 
 #
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "빨리 나타난 파일 끝 문자"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "잘못된 동작 코드"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "동작을 지원하지 않습니다"
 
 #
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "예기치 않은 인자"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "원격 프로세스 명령을 받아들여 테이프 드라이브를 다룹니다"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "<번호>"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "디버깅 레벨을 설정하십시오"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "<파일>"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "디버깅 출력 파일 이름을 설정하십시오"
 
 #
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "%s을(를) 열 수 없습니다"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "인자가 너무 많습니다"
 
 #
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "쓸모없는 명령"
 
 #
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "이것은 tar 아카이브가 아닌 것 같습니다"
 
 #
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "총 읽기 바이트"
 
 #
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "총 쓰기 바이트"
 
 #
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "총 삭제 바이트"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(파이프)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "터미널에서 아카이브 내용 읽기를 거부하고 있습니다(-f 옵션이 빠졌습니까?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "터미널에서 아카이브 내용 기록을 거부하고 있습니다(-f 옵션이 빠졌습니까?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "record_size로 부적절한 값"
 
 #
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "아카이브 이름을 설정하지 않았습니다"
 
 #
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "표준입/출력 아카이브를 검증할 수 없습니다"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "압축 아카이브입니다. %s 옵션을 사용하십시오"
 
 #
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "압축 아카이브를 업데이트할 수 없습니다"
 
 #
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "테이프의 시작 부분. 지금 끝냄"
 
 #
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "오류가 너무 많습니다. 끝냄"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "레코드 크기 = %lu 블록"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "아카이브에 비정렬 블록 있음(%lu 바이트)"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "아카이브 파일을 후진할 수 없습니다. -i 옵션이 없으면 읽을 수 없습니다"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "레코드 범위에서 rmtlseek 동작을 멈추지 않았습니다"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: 잘못된 볼륨 번호 값이 있습니다"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "볼륨 번호 값 범위 초과"
 
 #
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "%2$s의 볼륨 #%1$d번을 준비한 후 return키를 치십시오: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "사용자의 응답이 필요한 곳에 EOF가 있음"
 
 #
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "경고: 아카이브가 불완전합니다"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -741,71 +741,71 @@ msgstr ""
 " y 또는 newline  처리 과정 계속\n"
 "\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             하위 셸 실행\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             이 목록 출력\n"
 
 #
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "새 볼륨 아님. 빠져나갑니다.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "파일 이름을 지정하지 않았습니다. 다시 시도하십시오.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "부적절한 입력. 도움말을 보려면 ? 기호를 입력하십시오.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s 명령 실행 실패"
 
 #
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s은(는) 현재 볼륨 뒤로 계속되지 않습니다"
 
 #
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s은(는) 현재 볼륨 뒤로 계속되는 것 같습니다: 헤더에 잘린 이름이 있습니다"
 
 #
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s은(는) 잘못된 크기입니다(%s != %s + %s)"
 
 #
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "이 볼륨은 반복 순서를 벗어납니다(%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "아카이브에 %s와(과) 일치하는 레이블을 붙이지 않았습니다"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s 볼륨이 %s와(과) 일치하지 않음"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -813,232 +813,232 @@ msgstr ""
 "%s: GNU 다중 볼륨 헤더에 파일 이름을 저장하기에 너무 깁니다. 파일 이름을 자름"
 
 #
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "블록 경계로 기록을 끝내지 않았습니다"
 
 #
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "%2$lu 바이트 중 %1$lu 바이트만 읽을 수 있습니다"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "내용이 다름"
 
 #
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "아카이브에 예기치 않은 파일 끝 문자"
 
 #
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "파일 형식이 다름"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "모드가 다름"
 
 #
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "uid가 다름"
 
 #
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "gid가 다름"
 
 #
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "변경 일시가 다름"
 
 #
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "크기가 다름"
 
 #
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "%s에 연결하지 않음"
 
 #
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "심볼릭 링크 다름"
 
 #
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "장치 번호 다름"
 
 #
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "검증 "
 
 #
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: 알 수 없는 '%c' 파일 형식. 일반 파일과 다릅니다."
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "아카이브에 따라 붙은 접두부를 제거한 파일 이름이 있습니다."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "아카이브에 변환 파일 이름이 있습니다."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "원본 파일 위치를 찾을 때 검증에 실패한 것 같습니다."
 
 #
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "검증 실패: 부적절한 헤더 %d개를 발견했습니다"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "%s에 단독 0 블록"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: %s 캐시 디렉터리 태그가 있습니다. %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr ""
 "%1$s 값은 %3$s..%4$s 범위의 %2$s 값을 벗어납니다. %5$s(으)로 대신합니다."
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "%2$s의 %3$s..%4$s 범위를 벗어나는 %1$s 값"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "음의 8진수 헤더 만드는 중"
 
 #
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: 파일 이름이 너무 깁니다(최대 %d문자). 덤프 가져오지 않음"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: 파일 이름이 너무 깁니다(나눌 수 없음). 덤프 가져오지 않음"
 
 #
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: 링크 이름이 너무 깁니다. 덤프 가져오지 않음"
 
 #
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: 파일 크기가 %s 바이트로 줄었습니다. 0 값으로 채움"
 
 #
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: 다른 파일 시스템에 있는 파일입니다. 덤프 가져오지 않음"
 
 #
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "내용 덤프를 가져오지 않음"
 
 #
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: 알 수 없는 파일 타입: 파일을 무시함"
 
 #
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "%s 링크 빠짐."
 
 #
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: 파일을 바꾸지 않았습니다. 덤프 가져오지 않음"
 
 #
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: 아카이브 파일입니다. 덤프 가져오지 않음"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "디렉터리 덤프를 저장하지 않았습니다"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: 파일을 읽고 나서 내용이 바뀌었습니다"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: 소켓을 무시했습니다"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door 값을 무시했습니다"
 
 #
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "다음 헤더로 건너 뜀"
 
 #
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "아카이브에서 비헤더 부분을 제거함"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: 상당히 오래된 %s 타임스탬프"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: %s 타임스탬프는 앞으로 %s초 입니다."
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: 디렉터리를 만들 때 예상치 못한 모순을 발견했습니다"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: 기존 파일 건너뜀"
@@ -1062,7 +1062,7 @@ msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: 추출할 수 없음 -- 다른 볼륨에 연결한 파일입니다"
 
 #
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "예상치 못한 긴 파일 헤더"
 
@@ -1094,25 +1094,25 @@ msgid "Cannot rename %s to %s"
 msgstr "%s을(를) %s(으)로 이름을 바꿀 수 없습니다"
 
 #
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: 디렉터리 이름이 이전 %s 디렉터리 이름에서 바뀌었습니다"
 
 #
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: 새 디렉터리입니다"
 
 #
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: 다른 파일 시스템에 있는 디렉터리. 덤프를 가져오지 않았습니다"
 
 #
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: 디렉터리 이름이 바뀌었습니다"
@@ -1243,227 +1243,227 @@ msgid "%s: Cannot remove"
 msgstr "%s: 제거할 수 없습니다"
 
 #
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: 생략"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "%s 블록: ** 널 블록 **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "%s 블록: ** 파일의 끝 **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "%s 블록: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "%s 숫자값이 나타나야 하는 헤더가 비어있습니다"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
 "아카이브의 %.*s 8진수 값이 %s 값 범위를 벗어났습니다. 2의 보수인 것 같습니다"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "아카이브의 %.*s 8진수 값이 %s 값 범위를 벗어났습니다"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "아카이브에 오래된 64진 헤더가 있습니다"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "아카이브의 %s 부호화 64진 문자열 값이 %s 값 범위를 벗어났습니다"
 
 #
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "아카이브 256진 값이 %s 범위를 벗어납니다"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "아카이브에 %.*s(이)가 있는데, %s 숫자 값이 필요합니다"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "아카이브의 %1$s 값이 %3$s..%4$s 범위의 %2$s 값을 벗어났습니다"
 
 #
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " %s(으)로 링크\n"
 
 #
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr "알 수 없는 %s 파일 형식\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--긴 링크--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--긴 이름--\n"
 
 #
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--볼륨 헤더--\n"
 
 #
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%s 바이트에서 계속--\n"
 
 #
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "디렉터리를 만드는 중:"
 
 #
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s 이름을 %s 이름으로 바꾸는 중\n"
 
 #
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: %s 이름으로 바꿀 수 없습니다"
 
 #
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr ""
 "%s 이름을 %s 이름으로 되돌리는 중\n"
 " \n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: 파일을 읽기 전에 제거했습니다"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "하위 프로세스"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "프로세스간 통신 채널"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "로컬 파일 이름 선택:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "설정 <파일>을 아카이브에 추가(파일 이름에 대시 문자를 앞에 붙이면 좋습니다)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "<디렉터리>"
 
 #
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "<디렉터리>로 전환"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "<파일>에서 추출할 이름을 가져오거나 지정 이름으로 만듦"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T에서 널 문자로 끝난 이름을 읽습니다. --vervatim-files-from을 생략함"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "이전 --null 옵션 적용 비활성화"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "입력 파일 또는 구성 요소 이름 따옴표 제거(기본)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "입력 파일 또는 구성 요소 이름에서 따옴표 제거하지 않음"
 
-#: src/names.c:87
+#: src/names.c:86
 #, fuzzy
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr "-T에서 있는 그대로의 파일 이름을 읽습니다(옵션 처리 안함)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T에서 옵션에 쓰는 대시 문자로 시작하는 파일 이름을 취급합니다(기본값)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "<패턴>"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "주어진 <패턴> 값에 해당하는 파일 제외"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "<파일> 목록에 있는 패턴 제외"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "태그 파일을 제외하고 CACHEDIR.TAG가 들어잇는 디렉터리의 모든 내용 제외"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG가 들어있는 디렉터리의 모든 항목 제외"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG가 들어있는 디렉터리 제외"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "<파일> 자신을 제외하고, <파일>이 들어있는 디렉터리 내용 제외"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "<파일>이 있다면 각 디렉터리에 대한 제외 패턴을 <파일>에서 읽기"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1471,117 +1471,117 @@ msgstr ""
 "<파일>이 있다면 각 디렉터리 및 하위 디렉터리에 대한 제외 패턴을 <파일> 에서 "
 "읽기"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "<파일>이 들어있는 디렉터리의 모든 항목 제외"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "<파일>이 들어있는 디렉터리 제외"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "버전 관리 시스템 디렉터리 제외"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "VCS 무시 파일의 제외 패턴 읽기"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "백업 및 잠금 파일 제외"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "디렉터리의 모든 계층에 대해 처리(기본값)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "디렉터리로의 자동 진입을 피합니다"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "파일 이름 비교 옵션(제외 및 포함 옵션 모두 해당):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "파일 이름 시작 부분에 일치하는 패턴"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "임의의 '/' 위치 다음에 일치하는 패턴(제외 조건용 기본값)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "대소문자 무시"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "대소문자 일치(기본값)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "와일드카드 사용(제외 조건용 기본값)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "있는 그대로의 문자열 일치 여부 비교"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "'/' 문자 와일드카드 비교 대상에 포함(제외 조건용 기본값)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "'/' 문자 와일드카드 비교 대상에 포함 안 함"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "명령행"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%1$s: %3$s에서 이미 읽은 파일 목록을 %2$s에서 요청했습니다"
 
 #
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "'%s' 문자열 나눌 수 없음: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: 읽은 파일 이름에 널 문자가 있습니다"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "파일 이름에 사용하는 패턴 비교 문자"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1590,46 +1590,46 @@ msgstr ""
 "wildcards를 사용하십시오"
 
 #
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: 아카이브에 없음"
 
 #
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: 아카이브에 필요한 내용이 없습니다"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "아카이브 레이블 일치하지 않음"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr "파일 목록에서 -C 옵션은 --listed-incremental 옵션과 사용할 수 없습니다"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "-C 옵션은 --listed-incremental 옵션만 함께 사용할 수 있습니다"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "'%s' 및 '%s' 옵션은 표준 입력이 필요합니다"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: 부적절한 아카이브 형식"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "비호환 아카이브 형식에서 GNU 기능을 필요로 합니다"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1848,7 +1848,7 @@ msgstr "출력 스트림 선택:"
 msgid "extract files to standard output"
 msgstr "표준 출력으로 파일 추출"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "<명령>"
 
@@ -1884,7 +1884,7 @@ msgstr "파일 소유자 UID 및 이름을 매핑할 때 <파일> 사용"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "파일 소유자 GID 및 이름을 매핑할 때 <파일> 사용"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "<날짜-또는-파일>"
 
@@ -2088,7 +2088,7 @@ msgstr "읽었을 때 블록 재배치(4.2BSD 파이프용)"
 msgid "Archive format selection:"
 msgstr "아카이브 형식 선택:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "<형식>"
 
@@ -2172,60 +2172,60 @@ msgstr "<프로그램>"
 msgid "filter through PROG (must accept -d)"
 msgstr "<프로그램>으로 필터링합니다(-d 옵션을 받아들여야 함)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "로컬 파일 선택:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "아카이브를 만들 때 로컬 파일 시스템에서 대기"
 
 #
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "파일 이름 앞에 붙은 '/' 제거하지 않음"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "심볼릭 링크를 따라서 가리키는 파일을 아카이빙하고 덤프 보관합니다"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "하드 링크를 따라서 가리키는 파일을 아카이빙하고 덤프 보관합니다"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "<구성원-이름>"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "아카이브를 읽을 때 <구성원-이름> 구성원으로 시작"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "<날짜-또는-파일>보다 최신인 파일만 저장합니다"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "<날짜>"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "날짜만 바뀌었을 때 날짜 및 시간 비교"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "<처리방식>"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "제거 전 백업하고, 버전 <관리자> 선택"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "<문자열>"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2233,59 +2233,59 @@ msgstr ""
 "지우기 전에 일반적인 접미부를 붙여 백업합니다(SIMPLE_BACKUP_SUFFIX 환경 변수"
 "를 설정하기 전에는 '~' 문자 사용)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "파일 이름 변환:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "추출할 때 파일 이름 앞에 오는 <번호> 갯수의 요소를 뺍니다"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "<표현식>"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "파일 이름을 변환할 <표현식> 대신 sed 사용"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "정보 출력:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "처리한 파일 목록을 자세하게 보여줍니다"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "<키워드>"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "경고 출력 제어"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "모든 <번호> 번째 레코드(기본 10)의 진행 메시지 나타냄"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "<동작>"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "각 검사 지점에서 <동작> 실행"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "모든 링크의 덤프를 가져오지 않았을 때 메시지 출력"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "<시그널>"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2296,129 +2296,129 @@ msgstr ""
 "을 때 총 바이트 수를 출력합니다. 허용 시그널은 SIGHUP, SIGQUIT, SIGINT, "
 "SIGUSR1, SIGUSR2 입니다. SIG 접두부가 빠진 이름을 지닌 시그널도 허용합니다."
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "파일 수정 일시를 UTC로 출력"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "파일 작성 시간을 완전한 형식으로 출력"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "자세한 출력을 <파일>로 보냄"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "각 메시지로 아카이브 블록 번호 표시"
 
 #
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "각 동작 수행시 확인"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "tar 기본 설정 표시"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "스냅샷 파일 필드 유효 범위 표시"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "내용 조회 및 추출시, 검색어와 일치하지 않는 각각의 디렉터리 표시"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "변환 처리 후 파일 또는 아카이브 이름 표시"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "<스타일>"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "이름 인용 부호 처리 방식을 설정합니다. 올바른 <스타일> 값은 아래를 참고하십시"
 "오"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "<문자열> 문자 인용 부호 처리 추가"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "<문자열>의 문자 인용 부호 처리 비활성화"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "호환 옵션:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "만들 때는 --old-archive와 같고, 추출할 때는 --no-same-owner와 같습니다"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "다른 옵션:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "잠재적으로 위험한 옵션 사용을 비활성화"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s'은(는) '%s'와(과) 사용할 수 없습니다"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
 "'-Acdtrux', '--delete', '--test-label' 옵션 중 하나 이상을 지정하면 안 됩니다"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "헷갈리는 압축 옵션"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "알 수 없는 시그널 이름: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "날짜 샘플 파일이 없습니다"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "알 수 없는 %2$s 날짜 형식에서 %1$s을(를) 바꿉니다"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "%s 옵션: '%s' 날짜를 %s(으)로 취급합니다"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "%s(으)로 아카이브를 필터링합니다"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style 옵션에 유효한 인자 값:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2426,167 +2426,167 @@ msgstr ""
 "\n"
 "*이* tar 기본 옵션은 다음과 같습니다:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "부적절한 소유자 ID 또는 그룹 ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "부적절한 블로킹 인수"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "부적절한 테이프 길이"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "잘못된 증분 레벨 값"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "하나 이상의 임계 일자 값"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "잘못된 희소 버전 값"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system'은 이 플랫폼에서 지원하지 않습니다"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint 값이 정수형이 아닙니다"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "옵션에 부적절한 모드가 주어짐"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "부적절한 숫자 값"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "부적절한 레코드 크기"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "레코드 크기는 %d의 배수여야 합니다."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "부적절한 요소 갯수"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "--to-command 옵션만 사용할 수 있습니다"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "비정상적인 밀도 인자 값: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "알 수 없는 밀도 값: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "'-[0-7][lmh]' 옵션은 *이* tar에서 지원하지 않습니다"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: 오류 위치"
 
 #
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "%s 해석 오류"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[<파일>]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "%s에 옵션이 없는 인자 값"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "TAR_OPTIONS 값을 쪼갤 수 없습니다: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "오래된 '%c' 옵션에 인자 값이 필요합니다."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "파일 목록이 없으면 --occurrence 옵션은 의미가 없습니다"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "여러 아카이브 파일을 지정하려면 '-M' 옵션이 필요합니다."
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--listed-incremental 옵션이 없으면 --level 옵션은 의미가 없습니다"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: 볼륨 레이블이 너무 깁니다(%lu 바이트로 제한)"
 
 #
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "다중-볼륨 아카이브를 검증할 수 없습니다"
 
 #
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "압축된 아카이브를 검증할 수 없습니다"
 
 #
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "압축된 다중-볼륨 아카이브를 사용할 수 없습니다"
 
 #
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "압축 아카이브를 이어 붙일  수 없습니다"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime 옵션을 사용하려면 --mtime으로 날짜를 지정해야합니다"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option 옵션은 POSIX 아카이브에만 사용할 수 있습니다"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls 옵션은 POSIX 아카이브에만 사용할 수 있습니다"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux 옵션은 POSIX 아카이브에만 사용할 수 있습니다"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs 옵션은 POSIX 아카이브에만 사용할 수 있습니다"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2594,127 +2594,136 @@ msgstr ""
 "최상위 디렉터리 이름을 추측할 수 없습니다. --one-top-level=<디렉터리> 옵션으"
 "로 분명하게 지정하십시오"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "볼륨 길이는 레코드 크기보다 작을 수 없습니다"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "빈 아카이브 만들기를 조심스럽게 거부하고 있습니다"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "'-Aru' 옵션은 '-f -' 옵션과 함께 사용할 수 없습니다"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "'-Acdtrux', '--delete', '--test-label' 옵션 중 하나를 지정해야합니다"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "앞서 발생한 오류로 실패 코드를 반환하며 빠져나감"
 
 #
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: 파일 크기가 %s 바이트로 줄었습니다"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "%s 키워드를 인식할 수 없거나 아직 구현하지 않았습니다"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "타임스탬프가 허용 범위를 벗어났습니다"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "%s 패턴을 사용할 수 없습니다"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "%s 키워드를 중복 우선 적용할 수 없습니다"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "잘못된 확장 헤더: 길이 정보 빠짐"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "%*s 확장 헤더 길이가 범위를 벗어납니다"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "잘못된 확장 헤더: 길이 정보 다음 공백 빠짐"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "잘못된 확장 헤더: 등호 기호 빠짐"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "잘못된 확장 헤더: 개행 문자 빠짐"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "알 수 없는 '%s' 확장 헤더 키워드 무시"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "생성한 키워드/값 쌍이 너무 깁니다(키워드=%s, 길이=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "%s=%s 확장 헤더가 %s..%s 범위를 벗어납니다"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "잘못된 확장 헤더: 부적절한 %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "잘못된 확장 헤더: %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "잘못된 확장 헤더: 부적절한 %s: 예상치 못한 구분 기호 %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "잘못된 확장 헤더: 부적절한 %s: 비정상적인 숫자값"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: 유효하지 않은 제한 시간"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: 알 수 없는 검사 지점 동작"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "쓰기"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "읽기"
 
@@ -2723,7 +2732,7 @@ msgstr "읽기"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "기록 검사 지점 %u"
@@ -2733,12 +2742,12 @@ msgstr "기록 검사 지점 %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "읽기 검사 지점 %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2746,93 +2755,97 @@ msgstr ""
 "genfile은 GNU paxutils 테스트 모음용 데이터 파일을 다룹니다.\n"
 "옵션은 다음과 같습니다:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "파일 생성 옵션:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "<크기>"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "주어진 <크기>의 파일을 만듭니다"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "표준 출력 대신 파일 <이름>"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "<파일>의 파일 이름을 읽습니다"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T 옵션은 널 문자로 끝난 이름을 읽습니다"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "설정 <패턴>으로 파일을 채웁니다. <패턴>은 'default' 또는 'zeros' 입니다"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "성긴 파일 블록 크기"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "성긴 파일을 만듭니다. 명령행의 나머지 부분에는 파일 맵을 지정합니다."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "<오프셋>"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "데이터 기록 전 설정 오프셋 탐색"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "치명적이지 않은 진단 메시지 숨김"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "파일 통계 옵션:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "지정 파일의 구조 상태 내용을 출력합니다. 기본 <형식>은 다음과 같습니다: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "동기화 실행 옵션:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "<옵션>"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "<인자>를 실행합니다. --checkpoint와 --cut, --append, --touch, --unlink 옵션 "
 "중 하나를 병행하면 쓸만합니다."
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "검사 지점 <번호>에 도달할 때 다음 동작(하단 참조)을 수행합니다"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "다음 --touch 옵션의 날짜 설정"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "실행한 검사 지점과 <명령>의 상태 코드를 나타냅니다"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2840,138 +2853,138 @@ msgstr ""
 "실행 동작을 동기화합니다. --checkpoint 옵션으로 지정한 검사 지점 번호에 도달"
 "하면 실행합니다."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 "앞서 --length 옵션으로 지정한 크기만큼 <파일>을 자릅니다(설정하지 않으면 0)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "<파일>에 <크기> 값 만큼의 바이트를 붙여넣습니다. <크기>는 앞서 언급한 --"
 "length 옵션에 지정합니다."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "<파일>의 접근 및 수정 시각 업데이트"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "<명령> 실행"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "부적절한 크기: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "숫자 값이 허용 범위를 벗어남: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "음수 크기: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) 처리 실패"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "요청한 파일 길이는 %lu지만, 실제 길이는 %lu 입니다"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "만든 파일은 성긴 파일이 아닙니다"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "`%s' 부근 숫자 값 해석 오류"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "알 수 없는 날짜 형식"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[<인자>...]"
 
 #
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s'을(를) 열 수 없습니다"
 
 #
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "탐색할 수 없음"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "파일 이름에 널 문자가 있습니다"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "표준 출력에 분할 파일을 만들 수 없습니다. --file 옵션을 사용하십시오"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "올바르지 않은 마스크(`%s' 부근)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "알 수 없는 `%s' 필드"
 
 #
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "`%s' 시간에 맞출 수 없습니다"
 
 #
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "`%s'을(를) 자를 수 없습니다"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "명령 실행 실패: %s"
 
 #
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "`%s'을(를) 자를 수 없습니다"
 
 #
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "`%s' 시간에 맞출 수 없습니다"
 
 #
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' 링크를 해제할 수 없습니다"
@@ -3011,6 +3024,9 @@ msgstr "명령 실행 중단\n"
 msgid "--stat requires file names"
 msgstr "--stat에 파일 이름이 필요합니다"
 
+#~ msgid "OPTION"
+#~ msgstr "<옵션>"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT 매개 변수는 양수 값이어야 합니다"
 
diff --git a/po/ky.gmo b/po/ky.gmo
index b07d8f4789ba7eecc3fbb4afbddb42da5b455cc7..1d7b6e6ca83e4328562ada5891a7fda8d3d6d90e 100644
GIT binary patch
delta 28
kcmX@Nj``d=<_(kMcrA4ejC75R6%0+ROwBhhh+9_y0GMV92><{9

delta 28
kcmX@Nj``d=<_(kMc+GVUjdTso6%386j14z0h+9_y0GKff0RR91

diff --git a/po/ky.po b/po/ky.po
index 569cfdc8..a64e0453 100644
--- a/po/ky.po
+++ b/po/ky.po
@@ -3,12 +3,12 @@
 # This file is distributed under the same license as the PACKAGE package.
 # Azilet Beishenaliev <aziletb@gmail.com>, 2007.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.18\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2007-09-01 01:06+0100\n"
 "Last-Translator: Azilet Beishenaliev <aziletb@gmail.com>\n"
 "Language-Team: Kirghiz <i18n-team-ky-kyrgyz@lists.sourceforge.net>\n"
@@ -100,7 +100,7 @@ msgid "give a short usage message"
 msgstr "Колдонуу жөнүндө кыска маалымат көрсөтөт"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "АТЫ"
 
@@ -238,12 +238,12 @@ msgstr "^[оО]"
 msgid "^[nN]"
 msgstr "^[жЖ]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -251,11 +251,11 @@ msgstr ""
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -506,195 +506,195 @@ msgstr "Алыстагы команда процессору иштетилге
 msgid "Cannot execute remote shell"
 msgstr "Алыстагы команда процессору иштетилген жок"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Издөө жолу диапазондун тышында"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 #, fuzzy
 msgid "Invalid seek direction"
 msgstr "Опцияда жарабаган укук абалы берилди"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 #, fuzzy
 msgid "Invalid seek offset"
 msgstr "Жараксыз көлөм: %s"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Издөө даражасы диапазондун тышында"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 #, fuzzy
 msgid "Invalid byte count"
 msgstr "Лентанын узундугу жараксыз"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 #, fuzzy
 msgid "Byte count out of range"
 msgstr "Издөө даражасы диапазондун тышында"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 #, fuzzy
 msgid "Premature eof"
 msgstr "rmtd: Файлдын соңу эрте келди\n"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 #, fuzzy
 msgid "Invalid operation code"
 msgstr "Негизги иштөө абалы:"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr ""
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 #, fuzzy
 msgid "Unexpected arguments"
 msgstr "Архивде күтүлбөгөн жерде файлдын соңу бар"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "N"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr ""
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, fuzzy, c-format
 msgid "cannot open %s"
 msgstr "`%s' ачылбай жатат"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "аргументтердин саны көп"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Туура эмес команда"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Бул tar-архиви эмес окшойт"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Алынган жалпы байт"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Жазылган жалпы байт"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 #, fuzzy
 msgid "Total bytes deleted"
 msgstr "Өчүрүлгөн жалпы байт: %s\n"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "record_size мааниси жарабайт"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Архивдин аты берилген жок"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Архивдин stdin/stdout текшерүүсү болбой жатат"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архив кысыштырылган абалда. %s опциясын колдонгула"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Кысыштырылган архивдерди жаңырталбай калды"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Лентанын башына келди, иш бүттү"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Өтө көп ката бар, иш бүттү"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Маалыматтын көлөмү = %lu блок"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Архивде түз жайлашпаган блок бар (%lu байт)"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Архивдеги файл өчпөй калды; архив ачылбаса -i деп колдонгула"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek маалыматтын чегинде токтогон жок"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: жараксыз том номери бар"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Томдун номери батпай калды"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "%2$s үчүн %1$d-томду даярдап Enter'ди басыңыз: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Колдонуучудан жооп күтүбатканда файлдын соңу келип калды"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "ЭСКЕРТҮҮ: Архив толук эмес"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -705,274 +705,274 @@ msgstr ""
 " q\t\ttar программасынын ишин бүтүр\n"
 "y же Ввод\t\tИшти улант\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Команда строкасын ач\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Бул тизмени жаз\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Жаңы том жок; иш бүттү.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Файлдын аты берилген жок. Кайра жазып көргүлө.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Туура эмес ввод. Жардам үчүн ? жазгыла.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s командасы аткарылбай калды"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s мунун бул томдо уландысы жок"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s бул томдо уланса керек: башкы-маалыматта аты кыскартылыптыр"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s көлөмү туура эмес (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Бул том иретте эмес"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Архивдин тамгасы %s менен келишпей жатат"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s тому %s менен келишпей жатат"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 "%s: файлдын аты көп-томдук GNU башкы-маалымат үчүн өтө узун, кыскартылды"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 #, fuzzy
 msgid "write did not end on a block boundary"
 msgstr "rmtlseek маалыматтын чегинде токтогон жок"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "%2$lu байттан %1$lu гана окулду"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Мазмундары окшобойт"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Архивде күтүлбөгөн жерде файлдын соңу бар"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Файл түрү окшошпойт"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Укук абалдары окшошпойт"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid окшошпойт"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid окшошпойт"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Алмаштыруу убактылары окшошпойт"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Көлөмү окшошпойт"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "%s жака шилтенген эмес"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Символикалык шилтеме окшошпойт"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Аспап номери окшошпойт"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Текшерүү "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, fuzzy, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары салыштырды"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Архивдин ичинде префикстери алынган файл аттары бар."
 
-#: src/compare.c:541
+#: src/compare.c:540
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Текшерүү учурунда алгачкы файлдар табылбай калышы мүмкүн."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "ТЕКШЕРҮҮ КАТАСЫ: %d жараксыз башкы маалымат табылды"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "%s болгон жерде нөлдүк блок бар"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: мунун ичинде %s деген кэш-папка белгиси бар; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "%s мааниси %s диапазонунун тышында %s..%s; ордуна %s коюлат"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "%s мааниси %s диапазонунун тышында %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Терс сегиздик системасында башкы маалыматтар даярдалууда"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: файлдын аты өтө узун (эң көп %d болот); кошулбайт"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: файлдын аты өтө узун (бөлүнбөйт); кошулбайт"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: шилтеменин аты өтө узун; кошулбайт"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Файл %s байтка азайды; нөлдөр менен толтурулат"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл башка файл-системасында; кошулбайт"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "астындагылар кошулган жок"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Файлдын түрү белгисиз; файл каралбайт"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "%s жака шилтемелер жок.\n"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: файл алмашкан жок; кошулбайт"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: файл архив экен; кошулбайт"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "папка кошулган жок"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: файлды окуу учурунда файл алмашты"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: сокет каралбайт"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door каралбайт"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Эмики башкы-маалыматка өттү"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Архивде башкы-маалымат болбогондор өчүрүлөт"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: %s убакыт тамгасы өтө эски"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: %s убакыт тамгасы %s сек. келечекте"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Папка ачыбатканда күтүлбөгөн нерселер болду"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
@@ -995,7 +995,7 @@ msgstr "Символикалык шилтемелерди түз шилтеме
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Чыгарылган жок -- файл башка томдон уланып келиптир"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Башкы-маалымат узун"
 
@@ -1024,22 +1024,22 @@ msgstr "%s: Бул файлдын резерв копиясы алыналбай
 msgid "Cannot rename %s to %s"
 msgstr "%s файлы %s деп алмаштыралбай калды"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Папканын эски аты %s эле"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Папка жаңы"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, fuzzy, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: файл башка файл-системасында; кошулбайт"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Папка алмаштырылды"
@@ -1166,35 +1166,35 @@ msgstr "%s: %s өчүрүлүп жатат\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Өчүрүлбөй жатат"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Муну аттады"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** нөлдөр болгон блок **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Файлдын соңу **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Башкы-маалыматта сан түрүндө %s болотурган жерде бош жерлер бар"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1202,89 +1202,89 @@ msgstr ""
 "экилик системадагы терси алынды"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 "Архивдин сегиздик системадагы мааниси болгон %.*s %s диапазонунун тышында"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Архивдеги base-64 түрүндөгү %s сөзү %s диапазонунун тышында"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Архивдин base-256 мааниси %s диапазонунун тышында"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr ""
 "Архивдин ичинде %.*s бар, алардын ордунда сан түрүндө %s болушу керек эле"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Архивдин %s мааниси %s түрүнүн %s..%s диапазонунда эмес"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " %s жака шилтеме\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " белгисиз файл түрү %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Узун шилтеме--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Узун ат--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Томдун башкы-маалыматы--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%s-байттан баштап уланды--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Жаңы папка ачылыбатат:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s'тин атын %s деп алмаштырды\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Аты %s деп алмаштыралбай калды"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s'тин атын кайра %s деп алмаштырды\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Файл окулганча өчүрүлүп кетти"
@@ -1292,80 +1292,80 @@ msgstr "%s: Файл окулганча өчүрүлүп кетти"
 #  орусчада дочерный процесс, бир процесс өз ичинен жаңы бир
 #  процесс жаратканда ошол чайлд процесс болот. Биз эмне дейбиз?
 #  Мен туулган процесс дейм.
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "туулган процесс"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "процесс-аралык канал"
 
-#: src/names.c:69
+#: src/names.c:68
 #, fuzzy
 msgid "Local file name selection:"
 msgstr "Локалдуу файлдарды тандоо:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "ФАЙЛды архивге кош (файлдын аты тире менен баштаган учурда пайдалуу)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "ПАПКА"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "ПАПКА папкасына өт"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "чыгарылатурган же жаңы ачылатурган файлдарды АТЫ деген файлдан кара"
 
-#: src/names.c:78
+#: src/names.c:77
 #, fuzzy
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T опциясы нөл менен бүткөн аттарды окуйт, -C опциясы өчүрүлөт"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/names.c:83
+#: src/names.c:82
 #, fuzzy
 msgid "unquote input file or member names (default)"
 msgstr ""
 "-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала "
 "тандалат)"
 
-#: src/names.c:85
+#: src/names.c:84
 #, fuzzy
 msgid "do not unquote input file or member names"
 msgstr "-T менен алынган файлдардын аттарындагы ковычкалар калаберет"
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 #, fuzzy
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала "
 "тандалат)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ШАБЛОН"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "ШАБЛОН менен уйкаш файлдар ишке алынбайт"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "ФАЙЛда тизмеленген шаблондор менен уйкаш файлдар ишке алынбайт"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1373,148 +1373,148 @@ msgstr ""
 "CACHEDIR.TAG файлы болгон папкалардын астындагылары тэг файлдан тышкарысы "
 "кошулбайт"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG файлы болгон папкалардын астындагыларынын баары кошулбайт"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG файлы болгон папкалар кошулбайт"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "ФАЙЛ файлы болгон папкалардын астындагылары ФАЙЛ файлындан тышкарысы "
 "кошулбайт"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "ФАЙЛ файлы болгон папкалардын астындагыларынын баары кошулбайт"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "ФАЙЛ файлы болгон папкалар кошулбайт"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr ""
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "папкалардын тереңине кирет (алдынала тандалган)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "папкалардын тереңине кирип кетүүнү токтот"
 
 # inclusion, exclusion - Kyrgyz equiv?
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "Файлдын атына уйкаштыруу опциялары (бардык шаблондорго тиешелүү):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "шаблондор файлдын атынын башталышы менен уйкаштырылат"
 
-#: src/names.c:135
+#: src/names.c:134
 #, fuzzy
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "шаблондор `/' символунан кийин келген ар жерде уйкашына каралат (алдынала "
 "тандалган)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "тамгалардын чоң-кичинесине каралбайт"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "уйкаштырууда тамгалардын чоң-кичинесине каралат (алдынала тандалган)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "шаблондор колдонулат (иштен алынбаган файлдарга алдынала тандалат)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "кандай жазылса ошондой колдонулат"
 
-#: src/names.c:145
+#: src/names.c:144
 #, fuzzy
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "шаблондор `/' символун издейт (алдынала тандалган)"
 
-#: src/names.c:147
+#: src/names.c:146
 #, fuzzy
 msgid "wildcards do not match '/'"
 msgstr "шаблондор `/' символун издебейт"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 #, fuzzy
 msgid "command line"
 msgstr "%s командасы аткарылбай калды"
 
-#: src/names.c:897
+#: src/names.c:896
 #, fuzzy, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: файл тизмеси окулган"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, fuzzy, c-format
 msgid "cannot split string '%s': %s"
 msgstr "`%s'ке убакыт аталган жок"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: алынган файлдын атында бош тамгалар бар"
 
-#: src/names.c:1358
+#: src/names.c:1388
 #, fuzzy
 msgid "Pattern matching characters used in file names"
 msgstr "Файлдын аттарында уйкаштарды издөө үчүн колдонулган тамгалар бар."
 
-#: src/names.c:1360
+#: src/names.c:1390
 #, fuzzy
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
@@ -1522,45 +1522,45 @@ msgid ""
 msgstr ""
 "Уйкаштарды издөө үчүн --wildcards опциясын колдонуңуз, же --no-wildcards"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Архивде табылган жок"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Керектүү нерселер архивде табылган жок"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Архивдин тамгасы %s менен келишпей жатат"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "`-%s' жана `-%s' опцияларына стандарт кирүү(input) керек"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Архивдин форматы жарабайт"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Бул форматтагы архив үчүн жарабаган GNU өзгөчөлүктөрү суралууда"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, fuzzy, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1791,7 +1791,7 @@ msgstr "Чыгаруу() жолун танда:"
 msgid "extract files to standard output"
 msgstr "файлдарды стандарт чыгарууга (output) жөнөт"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
@@ -1828,7 +1828,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-ЖЕ-ФАЙЛ"
 
@@ -2038,7 +2038,7 @@ msgstr "окубатканда кайрадан блокторго бөлүп ч
 msgid "Archive format selection:"
 msgstr "Архивдин форматын тандоо:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
@@ -2125,64 +2125,64 @@ msgstr "ПРОГ"
 msgid "filter through PROG (must accept -d)"
 msgstr "ПРОГ менен ишке ал (-d опциясы болушу керек)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Локалдуу файлдарды тандоо:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "архивди жасабатканда локалдуу файл системасында кал"
 
-#: src/tar.c:693
+#: src/tar.c:694
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "файл аттарынын башындагы '/'терди өчүрбө"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот"
 
-#: src/tar.c:697
+#: src/tar.c:698
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "МҮЧӨНҮН-АТЫ"
 
-#: src/tar.c:699
+#: src/tar.c:700
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "архивдеги МҮЧӨНҮН-АТЫ мүчөсүнөн башта"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "ДАТА-ЖЕ-ФАЙЛ'дан жаңы болгон файлдарды гана сакта"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "датасы алмашканда гана дата жана убактысын салыштыр"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "өчүрөрдөн мурун копиясын сактап кал, CONTROL версиясын танда"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2190,63 +2190,63 @@ msgstr ""
 "өчүрөрдөн мурун копиясын сактап калат, жалпы колдонулган суфикс кошулат (бул "
 "суфикс SIMPLE_BACKUP_SUFFIX жолу менен алмаштырылбаган болсо '~' болот)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Файлдын атынын алмашуулары:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "чыгаруу учурунда файл аттарынын башындагы N компонентти алып салат"
 
 # выражение кыргызча кандай? СҮЙЛӨМ башка жерде да бар
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "СҮЙЛӨМ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "файлдардын аттарын алмаштыруу үчүн sed replace EXPRESSION колдонгула"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Маалыматтандыруу:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "ишке алынган файлдарды кеңири маалыматы менен тизмеле"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:729
+#: src/tar.c:730
 #, fuzzy
 msgid "warning control"
 msgstr "үстүнө көчүрүү контролу:"
 
 #  Ушу 'record' сөзүнө жакшы котормо табалбай койдум
 #  'маалымат' деп жазыбаттым эле, бул жерде келишпей калаткен
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "ар N записьтен кийин маалымат берип турат (алдынала 10 болот)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "баардык шилтемелер кошулбай калса билдирүү жазып чыгар"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2258,36 +2258,36 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 жана SIGUSR2; SIG префикси жазылбаган "
 "аттарын да колдонсо болот."
 
-#: src/tar.c:744
+#: src/tar.c:745
 #, fuzzy
 msgid "print file modification times in UTC"
 msgstr "файлды алмаштыруу датасын UTC түрүндө көрсөт"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "чыккан кеңири маалыматты ФАЙЛ файлына жибер"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "ар билдирүүдө архивдин ичиндеги блок номерин көрсөт"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "ар ишти аткарууга макулдук сурап тур"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "tar'да алдынала коюлган опцияларды көрсөтөт"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2295,33 +2295,33 @@ msgstr ""
 "тизмелөө же чыгаруу учурунда издөө критериясына жатпаган папкаларды да "
 "тизмелейт"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "алмаштыруудан кийин файлдын же архивдин аттарын көрсөтөт"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "аттарга ковычка кошуу стилин тандаңыз; жарактуу СТИЛЬ түрдөрү төмөндө "
 "көрсөтүлөт."
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "STRING ичинде болгон тамгаларга кошумча ковычка кошот"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "STRING ичинде болгон тамгаларга ковычка кошпойт"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Келишүү опциялары:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2329,63 +2329,63 @@ msgstr ""
 "жаңы архив жасабатканда --old-archive менен бирдей; чыгарыбатканда --no-same-"
 "owner менен бирдей"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Башка опциялар:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "зыяндуу көрүнгөн опцияларды колдонууга тыюуу салат"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, fuzzy, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s: %s орунуна баралбай жатат"
 
-#: src/tar.c:933
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "`-Acdtrux' опцияларынан бирөөнү гана колдоно аласыңар"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Сигналдын аты белгисиз: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Датанын шаблон файлы табылган жок"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Белгисиз %1$s дата форматынын ордуна %2$s коюлат"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, fuzzy, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "%s опциясы: `%s' датасын %s деп алды"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, fuzzy, c-format
 msgid "filter the archive through %s"
 msgstr "архивди gzip менен ишке ал"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 #, fuzzy
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style опциясы үчүн мындай аргументтер бар:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2393,301 +2393,310 @@ msgstr ""
 "\n"
 "*Бул* tar алдынала мындай иштетилет:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Ээси жарабайт"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Блок көлөмү жараксыз"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Лентанын узундугу жараксыз"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 #, fuzzy
 msgid "Invalid incremental level value"
 msgstr "Файлдын форматы туура эмес"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Бирден көп ченемдөөчү дата бар"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "кеңири жайлаштыруу форматынын версиясы жарактуу эмес"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "Бул платформада --atime-preserve='system' опциясы иштебейт"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint опциясына жазылган аргумент сан эмес"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Опцияда жарабаган укук абалы берилди"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Жарабаган номер"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Маалымат көлөмү жарабайт"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Маалыматтын көлөмү %d көбөйтүндүсү болушу керек."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Элементтердин саны жарабайт"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "--to-command опциясы бир эле жолу жазылыш керек"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Тыгыздык аргументи туура эмес: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, fuzzy, c-format
 msgid "Unknown density: '%c'"
 msgstr "Түшүнүксүз тыгыздык: `%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "*Бул* tar `-[0-7][lmh]' опцияларын иштетпейт"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, fuzzy, c-format
 msgid "error parsing %s"
 msgstr "`%s' жанындагы санды окубатканда ката чыкты"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "%2$s үчүн %1$s аргументи жарабайт"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr ""
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Эски болгон `%c' опциясына параметр керек."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Бир нече архив файлы болсо `-M' опциясы колдонулушу керек"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 #, fuzzy
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Томдун тамгасы өтө узун (эң көп %lu байт боло алат)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Көп-томдуу архивдерди текшералбай калды"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Кысыштырылган архивдерди текшералбай калды"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Көп-томдуу кысыштырылган архивдерди колдоналбай калды"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Кысыштырылган архивдер кошулалбайт"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Бош архив жаратуудан уялып баш тартып жатат"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "`-Aru' опциялары `-f -' менен келишпейт"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "`-Acdtrux' опцияларынан бирөөнү тандап колдонуңуз"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Файл %s байтка азайды"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "%s сөзү белигсиз же азырынча киргизилген эмес"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 #, fuzzy
 msgid "Time stamp is out of allowed range"
 msgstr "Сан жарактуу маанилердин тышында: %s"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "%s шаблону колдонулбайт"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "%s ачкыч сөзү алмаштырылбайт"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Кеңейтилген башкы-маалымат бузук: узундук жок"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Кеңейтилген башкы-маалыматтын узундугу - %*s - диапазондун тышында"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Кеңейтилген башкы-маалымат бузук: узундуктан кийин бош жер (пробел) жок"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Кеңейтилген башкы-маалымат бузук: барабар символу жок"
 
 # newline эмне болот?
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Кеңейтилген башкы-маалымат бузук: жаңы сап жок"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, fuzzy, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Кеңейтилген башкы-маалыматта белгисиз `%s' сөзү каралбайт"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Чыккан ачкыч-сөз/маани экилиги ото узун (ачкыч-сөз=%s, узундугу=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "%s=%s түрүндөгү кеңейтилген башкы-маалымат %s..%s диапазондун тышында"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s туура эмес"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s ашыкча көп"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Кеңейтилген башкы-маалымат бузук: туура эмес %s: күтүлбөгөн жерде бул - %c - "
 "бөлүүчү символ бар"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Кеңейтилген башкы-маалымат бузук: туура эмес %s: так санда маани бар"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, fuzzy, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: Жараксыз группа"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr ""
 
@@ -2695,7 +2704,7 @@ msgstr ""
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Жазууну текшерүү жери: %u"
@@ -2704,12 +2713,12 @@ msgstr "Жазууну текшерүү жери: %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Окуунун текшерүү жери: %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2717,99 +2726,98 @@ msgstr ""
 "genfile, GNU paxutils пакетинин дата файлдарын ишке алат.\n"
 "ОПЦИЯЛАР мындай:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Жаңы файл ачуу опциялары:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "КӨЛӨМ"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Көсөтүлгөн КӨЛӨМдө жаңы файл ач"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Стандарт чыгарууга жазбай, АТЫ деген файлга жаз"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Файлдын аттарын ФАЙЛдан ал"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T опциясы бош/нөл (null) менен бүткөн аттарды окуйт"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Файлды тандалган ШАБЛОН менен толтурат. ШАБЛОН 'default' же 'zeros' болот"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Кеңири жайлашкан файлдын блок көлөмү"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Файлды кеңири жайлаштыр. Кийинки команда строкаларында файлдын картасы бар."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 #, fuzzy
 msgid "OFFSET"
 msgstr "ОРУН"
 
 # seek the given offset - orunga jyl
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "данный(data) жазаардан мурун айтылган орунга жыл"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Файлдын статистикасынын опциялары:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Алынган ар бир файл үчүн struct stat курамын көрсөтөт. Алдынала тандалган "
 "ФОРМАТ мындай: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Синхрондуу иштетүүнүн опциялары:"
 
-#: tests/genfile.c:168
-#, fuzzy
-msgid "OPTION"
-msgstr " [ОПЦИЯ...]"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 #, fuzzy
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Жазылган КОМАНДАны иштет. Бул --checkpoint жана --cut, --append, --touch "
 "бирөөсү менен колдонулганда пайдалуу"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "N текшерүү жерине жеткенде буларды (төмөндү карагыла) аткар"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Эмики --touch опциясы үчүн дата жазгыла"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Өтүлгөн текшерүү жердерди жана КОМАНДАнын бүтүрүү статусун көрсөтөт"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2817,7 +2825,7 @@ msgstr ""
 "Синхрондуу аткаруу иштери. Булар --checkpoint опциясы менен берилгенн "
 "текшерүү жерине жеткенде аткарылат."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2825,125 +2833,125 @@ msgstr ""
 "ФАЙЛды --length опциясы менен берилген көлөмгө кыскартат (берилбеген болсо 0 "
 "болот)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "ФАЙЛга КӨЛӨМ байт кошот. КӨЛӨМ --length опциясы менен берилет."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "ФАЙЛдын колдонуу жана алмашуу убакыттарын жаңылайт."
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Бул команданы иштеткиле - КОМАНДА"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Жараксыз көлөм: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Сан жарактуу маанилердин тышында: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Көлөмү терс сан: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) аткарылбай калды"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "`%s' жанындагы санды окубатканда ката чыкты"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Датанын форматы түшүнүксүз"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТТЕР...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' ачылбай жатат"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "издөө болбой калды"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "файлдын атында бош тамга бар"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "кеңири(чоң) файлдарды стандарт чыгарууга жибералбайт, --file опциясын "
 "колдонуңуз"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "туура эмес маска (`%s' жанында)"
 
 # фиелд деген кандай болот?
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Белгисиз поле `%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "`%s'ке убакыт аталган жок"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "`%s' ачылбай жатат"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "%s командасы аткарылбай калды"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "`%s'ке убакыт аталган жок"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "`%s'ке убакыт аталган жок"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' ачылбай жатат"
@@ -2983,6 +2991,10 @@ msgstr "Команда жабылды\n"
 msgid "--stat requires file names"
 msgstr "--stat опциясы менен файл аттары жазылыш керек"
 
+#, fuzzy
+#~ msgid "OPTION"
+#~ msgstr " [ОПЦИЯ...]"
+
 # положительный кыргызча кандайле?
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT параметринин мааниси оң болуш керек"
diff --git a/po/ms.gmo b/po/ms.gmo
index 6a34841b7370cf91b854270e33216c21cd50e163..02cf0d093e65c4e9e16482115134e3663ab8d0c3 100644
GIT binary patch
delta 25
gcmdnxy~}&US}|TrT>~RsBVz?a6Dw2m#k<7#0dHRik^lez

delta 25
gcmdnxy~}&US}|U8T|*;XLvsZ~BP(OW#k<7#0dFz~iU0rr

diff --git a/po/ms.po b/po/ms.po
index 0bf2b056..5656e671 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2002 Free Software Foundation, Inc.
 # Hasbullah Bin Pit <sebol@ikhlas.com>, 2002.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2002-11-23 02:38+0800\n"
 "Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n"
 "Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
@@ -97,7 +97,7 @@ msgid "give a short usage message"
 msgstr ""
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
 
@@ -233,12 +233,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -246,11 +246,11 @@ msgstr ""
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -501,54 +501,54 @@ msgstr "Tak boleh laksanakan shell jauh"
 msgid "Cannot execute remote shell"
 msgstr "Tak boleh laksanakan shell jauh"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Hala rayauan diluar julat"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 #, fuzzy
 msgid "Invalid seek direction"
 msgstr "Mod tidak sah diberi pada opsyen"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 #, fuzzy
 msgid "Invalid seek offset"
 msgstr "Setem masa tidak sah"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Offset rayauan diluar julat"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 #, fuzzy
 msgid "Invalid byte count"
 msgstr "panjang pita tidak sah"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 #, fuzzy
 msgid "Byte count out of range"
 msgstr "Offset rayauan diluar julat"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 #, fuzzy
 msgid "Premature eof"
 msgstr "rmtd: eof tak matang\n"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 #, fuzzy
 msgid "Invalid operation code"
 msgstr "%s: opsyen tidak sah -- %c\n"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr ""
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 #, fuzzy
 msgid "Unexpected arguments"
 msgstr "Penghujungan tanpa diduga data imej PNM"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 #, fuzzy
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
@@ -558,148 +558,148 @@ msgstr ""
 "  --version  Output maklumat versi.\n"
 "  --help  Output bantuan ini.\n"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr ""
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr ""
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr ""
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, fuzzy, c-format
 msgid "cannot open %s"
 msgstr "Tak dapat tutup"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Arahan sampah"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Ia nampaknya bukan seperti arkib tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr ""
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(paip)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Nilai tidak sah bagi record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Tiada nama arkib diberi"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Tak dapat menentusahkan arkib stdin/stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Tak dapat mengemaskini arkib termampat"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Pada permulaan pita, keluar sekarang"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Terlalu banyak ralat, keluar"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Saiz rekod = %lu blok"
 msgstr[1] "Saiz rekod = %lu blok"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, fuzzy, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Blok tidak dijajar (%lu byte) pada arkib"
 msgstr[1] "Blok tidak dijajar (%lu byte) pada arkib"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "tak dapat backspace fail arkib; ia mungkin tak boleh dibaca tanpa -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: mengandungi nombor volum yg tidak sah"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 #, fuzzy
 msgid "Volume number overflow"
 msgstr "Nombor volum melimpah"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Menyedia volum #%d bagi %s dan tekan return: "
 
 # libgnomeui/gnome-app-helper.c:127
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "EOF dimana maklumbalas pengguna dijangka"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "AMARAN: Arkib tidak lengkap"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -711,274 +711,274 @@ msgstr ""
 " !          Spawn  subshell\n"
 " ?          Cetak senarai ini\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Tiada volum baru; keluar.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "Arahan '%s' gagal"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s tidak bersambung pada volum ini"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s tidak bersambung pada volum ini"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s adalah salah saiz (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Volum ini tidak dalam turutan"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkib tidak dilabelkan supaya memadan %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volum %s tidak sepadan %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr ""
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Hanya boleh membaca  %lu drpd  %lu byte"
 msgstr[1] "Hanya boleh membaca  %lu drpd  %lu byte"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Kandungan berlainan"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "EOF tanpa diduga pada arkib"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Jenis fail berbeza"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Mod berbeza"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid berbeza"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid berbeza"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Masa mod berbeza"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Saiz berbeza"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Tidak dipautkan ke %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symlink berbeza"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Nombor beranti berbeza"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Tentusah"
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Jenis fail tak dikenali '%c', berlainan dengan fail normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr ""
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, fuzzy, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "GAGAL TENTUSAH: %d pengepala tak sah dikesan"
 msgstr[1] "GAGAL TENTUSAH: %d pengepala tak sah dikesan"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "nilai %s diluar julat %s %s..%s; menggantikan %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "nilai %s diluar julat %s %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Menjana pengepala oktal negatif"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, fuzzy, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: fail tidak berubah; tidak dilonggokkan"
 
-#: src/create.c:616
+#: src/create.c:615
 #, fuzzy, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: fail tidak berubah; tidak dilonggokkan"
 
-#: src/create.c:643
+#: src/create.c:642
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: fail tidak berubah; tidak dilonggokkan"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar"
 msgstr[1] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Jenis fail tak dikenali; fail diabaikan"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "Pautan ke %s\n"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fail tidak berubah; tidak dilonggokkan"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fail adalah arkib; tidak dilonggokkan"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fail berubah bila kami membacanya"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket diabaikan"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: pintu diabaikan"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Melangkah ke pengepala berikut"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Memadam bukan-pengepala drpd arkib"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr ""
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, fuzzy, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: setem masa %s adalah %lu pada masa akan datang"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Ketidakkonsistenan luar dugaan bila membuat direktori"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
@@ -1001,7 +1001,7 @@ msgstr "Cuba mengekstrak pautan simbolik sebagai pautan keras"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Tak dapat ekstrak -- fail bersambung dari volum lain"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Penghujungan tanpa diduga data imej PNM"
@@ -1031,22 +1031,22 @@ msgstr "%s: Tak dapat backup fail ini"
 msgid "Cannot rename %s to %s"
 msgstr "%s: Tak dapat menukarnama ke %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Direktori telah ditukarnama"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Direktori adalah baru"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, fuzzy, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Direktori telah ditukarnama"
@@ -1172,374 +1172,374 @@ msgstr "%s: Memadam %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: tak dapat buang"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr ""
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok TIADA **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Akhir Fail **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Pengepala kosong dimana nilai %s numerik dijangka"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr "Nilai oktal arkib %.*s diluar julat %s; anggap kedua-dua pelengkap"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Nilai oktal arkib %.*s diluar julat %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Rentetan %s base-64 ditandatangani arkibadalah diluar julat %s "
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Nilai base-256 arkub adalah diluar julat %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arkib mengandungi %.*s dimana nilai %s numerik dijangka"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Nilai %s arkib adalah dijuar julat %s %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr "Pautan ke %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Pengepala Volum--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Bersambung pada byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Mencipta direktori:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Menukarnama %s ke %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Tak dapat menukarnama ke %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Menukarnama %s kembali ke %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fail dibuang sebelum kami membacanya"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "proses anak"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "saluran antaraproses"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr ""
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr ""
 
-#: src/names.c:74
+#: src/names.c:73
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Tak dapat tukar direktori kerja"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr ""
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr ""
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:147
+#: src/names.c:146
 #, fuzzy
 msgid "wildcards do not match '/'"
 msgstr "Volum %s tidak sepadan %s"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 #, fuzzy
 msgid "command line"
 msgstr "Arahan '%s' gagal"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Tak dijumpai pada arkib"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Tak dijumpai pada arkib"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Arkib tidak dilabelkan supaya memadan %s"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Opsyen `-%s' dan `-%s' kedua-duanya memerlukan input piawai"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Kumpulan tidak sah"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1743,7 +1743,7 @@ msgstr ""
 msgid "extract files to standard output"
 msgstr "Ralat ketika menulis ke output piawai"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr ""
 
@@ -1779,7 +1779,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr ""
 
@@ -1980,7 +1980,7 @@ msgstr ""
 msgid "Archive format selection:"
 msgstr "opsyen format arkib konflik"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr ""
 
@@ -2063,118 +2063,118 @@ msgstr ""
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:694
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Membuang awalan  `%.*s' drpd nama ahli"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2182,423 +2182,432 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, fuzzy, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s: Tak dapat rayau ke %s"
 
-#: src/tar.c:933
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Anda tak boleh nyatakan lebih drpd satu opsyen `-Acdtrux'"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opsyen mampatan konflik"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Fail tarikh tidak dijumpai"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Mengganti %s bagi format tarikh tak diketahui %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Pemilik tidak sah"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Faktor pemblokan tidak sah"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "panjang pita tidak sah"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Mod tidak sah diberi pada opsyen"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 #, fuzzy
 msgid "Invalid number"
 msgstr "Nombot inod tidak sah"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Saiz rekod tidak sah"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Saiz rekod mesti dalam gandaan %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "panjang pita tidak sah"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr ""
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Opsyen `-[0-7][lmh]' tak disokong oleh tar *ini*"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr ""
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "hujah tidak sah %s bagi %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr ""
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "OPsyen lama `%c' memerlukan hujah."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Fail akrib beraneka memerlukan opsyen `-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, fuzzy, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Label volum adalah terlalu panjang (had adalah %lu byte)"
 msgstr[1] "%s: Label volum adalah terlalu panjang (had adalah %lu byte)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Tak dapat menentusah arkib multi-volume"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Tak dapat menentusahkan arkib termampat"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Tak dapat menggunakan arkib multi-volume termampat"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Tak dapat mengemaskini arkib termampat"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Secara dayus enggan mencipta arkib kosong"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Opsyen `-Aru' tak serasi dengan  `-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Anda mesti nyatakan satu drpd opsyen `-Acdtrux'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/update.c:87
+#: src/update.c:86
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Fail mengecil sebanyak %s byte"
 msgstr[1] "%s: Fail mengecil sebanyak %s byte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 #, fuzzy
 msgid "Time stamp is out of allowed range"
 msgstr "Setem masa diluar julat"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Rentetan %s base-64 ditandatangani arkibadalah diluar julat %s "
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Nilai %s arkib adalah dijuar julat %s %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, fuzzy, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: Kumpulan tidak sah"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr ""
 
@@ -2606,7 +2615,7 @@ msgstr ""
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, fuzzy, c-format
 msgid "Write checkpoint %u"
 msgstr "Menulis titiksemak %d"
@@ -2615,231 +2624,231 @@ msgstr "Menulis titiksemak %d"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, fuzzy, c-format
 msgid "Read checkpoint %u"
 msgstr "Membaca titiksemak %d"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Menjana fail data untuk suit ujian GNU tar.\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 #, fuzzy
 msgid "File creation options:"
 msgstr "Opsyen mampatan konflik"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "Ralat ketika menulis ke output piawai"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:168
-msgid "OPTION"
+#: tests/genfile.c:163
+msgid "N"
 msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Setem masa tidak sah"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Nombor inod diluar julat"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Ralat sistem tidak diketahui"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 #, fuzzy
 msgid "cannot seek"
 msgstr "Tak dapat tutup"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Tak dapat rayau ke %s"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s: Tak dapat menukarnama ke %s"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "Arahan '%s' gagal"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, c-format
 msgid "cannot stat `%s'"
 msgstr ""
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "Tak dapat simpan direktori kerja"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "%s: Tak dapat symlink ke %s"
diff --git a/po/nb.gmo b/po/nb.gmo
index a6a0fa95d59c0b8ffef2f8d9c24b9999dc15af74..ee855fba70fcb067cf2ea0ef61334bccba862e38 100644
GIT binary patch
delta 14806
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
VFE1@$AwPHWh7;nOSDq-90{}cAzPSJZ

delta 12842
zcmZ2|k9poX=K6a=EK?a77#QrB7#Iu~7#I|U7#J9t85jgq7#Kj}A_fpz#(;rA0i=L|
zfx*XsfkBdifx*{+fkA|Ufg#<1fq{*IfuRPZhJk^h*?@sTo`Hd3i2(xx4+8_k5h#7p
zfPtZ%fq~(k0Rw{=0|P^vAwxZb9s>hItsw)0Dgy(<8bbyKK?VkfONI;#!VC-yPYf9t
zlo%Koei$+^xHB*?NE<OQs4y@vBpWd>@G>wkbQm!($S^Q4OfzC&&}U#^*lYx`_^}ZK
zgEa#K1G6y$gA@Y;gS|1t+$duP25|-kh8$xC22lnEh8E*`1_l8J28LP23=DD%3=FG{
z85q<U7#L0&Lwxqpn1R8Hfq{X|1mX}!69xt|1_p){69$Gj1_p-NCJ+mLnJ_R&FfcHP
znldnGGB7acnL>OXVamXe!oa|gYRbT%12WeX;(+g_3=BpL3=I7BW(*953=9lTW(*7_
z3=9k<W(*9<3=9k_%@`Px7#JANnn8lfz#QU0cXI}YGEmT&Gk`<pt~mpP9RmXcg9QTv
zKgg#R3=9ek3=IAj3=BdH3=9Pp5Q~~E7#K7d7#Ox$Kpc4A0;0d3(~^O~n1O*o#}eYR
z1WQPWOt*wsxWW?Rz~hz>hyAo<U{GXWV34(fIN08bfx#T)a4QCIRIagtSa92lfx(M`
zfq~T;qCUWyfkB#qfuYD664iay;E<?i*kTQF*%@m{P=2+BxLm-7fkB;tfkD}ZfkBpm
zfx#O}XWBp#WIL4KX~V$4%)r2~+y>&K)iw}^owI=?N@iO~V&$@BVBlk5U{Hb5#<n1P
z>KPcEY#}ZVwS^>_dRs^$+ieR8x(Bw95E8b7Br<m>U2X@7)8%#$hhMQ{V9;h@V0do_
z2{~zd1_oOO1_mp81_m1j28IfIu#XwG+Cv<6)}DcZy`F)A;fg)Pf;;vM46Y0e3<3@i
z2ZcE>FqkqhFf=$o65%!nh=m^=AR#8_2=SS_BgDapj*zs{<_O6Ja~&ZL+Uv-`;Ksnf
z@X`@tkAV{dgBB<eJ25cSgR)n@6U3rTP7s&9aDoK+dnZVo@j64w22E#(52BnI7}!B^
z38kx`bdxhAF?Kmaa?wd=h{HZOLo60`VPJ@4U|{fcftb74g`pmt-S)dcT>i`jl34z_
zKwK{G3gLUZLK0uDD<qC5x<az&7FS6AKj{hy@@K9PhqJmt$`55XNNzB9gP0%T2GN)A
z1__}Sw|YpnS>ndP;K0DZu*D4$#9!SY1}V8i403RXXb5p<U|<2Ic6Uhru5^bazBYGA
z8t8I|Sh&<3l8cVHLkgPfQ2lS+As*rNfH>H&-UA{K-~r7>9uOa|@nB%!Vqjo6=K=BY
zO%I5J{y_Oso)80UJsB867#J90JRu(0=m|-*2R$Jk`QizQYeg>z-^UB$fl4n(RM*#e
zL44Ng1qq_1UXaAH#|sj7%-#^6X?R0QIA?E2Q5xe7NvwI^3=D~k3=CVmAr_1ILLBPp
z3-NinFT`QBzL2Qu^<`jiVqjoc<qHn+dWN^Y4B!Gq&yRtDn}LBLzz<SD#P~rpH2E<w
z=rS-c%=d#t#aTZ{B7Eov%D)T@Km8yU@%TeLqT~;WV<&$|RD}CO%&G8)<d&)akaA_c
zKd3yYXJEMQ5AoqMe@F;020#=_1VAh_3V?{aLHV%(khm=jfEe5a6`vmfanR-fNC+GY
zfaH=V0T74134lZaPawoT%RmMOQBeL5353*US%HwasR)FGL~S4>jyeM&KAI2+iSwm_
zkT^XO2no6OP+Bku5@p6vIwA;CVATdeiuScZ5T8E@f)sQ-!3+%bpvuD|7*e3L2Sdt%
z4Z)Bge-;cWh(tml7TSd{FcdQ|Fl2@>FgP+WFx(A+I7~hi5@IHykdW~Uh2)O-P)G>n
zghKRphC)2JB^2VZouLf%;3D%tC?rw635CSvzfeeG6A6PDs2c_eLc1`C#yBXQ8pgoD
z3aZb;AZey33=#q}!XUY6Zy3aZU&A12hASMB+myl~m6cm~J*1#14Tscn3&TN)f`Q?3
zI3z9~g+t=-Yd9n^{SAjifm{T{C$<rg)a?`ju_!145)$bV5DOY3z^R;JLj)v>KSn@8
z;(r7rmub~ULM$qbglKGugcP;&A|XCHAIZSr!oa}rHIjkB8C01>K@w426eKQJM?rjc
zISOLV>nKQK{TBsEyrR(%hiXPcLQW6LH-+-+t)d}8=ok$tlii~sL7yBAv8W~*5+y66
zAtA6o8WOh;q9IZ8HX7mp-WZ6_RAV3^8W01i18Si3;uuIsor+;#C}dz@xD^8q$$AE#
zScnU=p>#nk14A?;14C&nBm^$TL4xvo9Hb;vi-&}iXFSA*$?=dhQV!*J#4|8NF)%R9
ziHD^6@9~h_q?f?J-~$T51c?6j1ds>n85kBOK;rIT0we^kB|r@RlmPKLTOuTAWfB<}
zJQx@l^b;XIu1JLFn~(^JvZaZTAikE!zz_z?9f=GKo(v2OCP@%}T@pn7)g(x5_$rBk
zK_8U=<&q(Z%r6<@fUsmp_A5$;#N~oya8NO9Plh<`S~4U=UP0w0Qy}@-AO&J@P6{O7
zFGztz#f20|TKSU#N&PCRAfGcZc%(8g)Pve&8L5!CX-Q>Z2x4Ghn34(!s^_T;44fbz
zq(NxAG)P+UfYN?xkfvBj8l)}=OM{dbbJ8Fd9!rDd|95GSsN_zEc*HQBfgu4@)TcAl
zgPX-0(;-26FCF5;Z|M*XTp19b8e~91BpyolW<V0r?hHs<Pd5`%TP9^fEXd7-Slp8d
zDbQACLMom6nUL(Qlm$sMhFSHH#Nm_$ae!YIL}MD1Zq9<l*@7%c8rYfzDRNI_K^*i7
zs!t*tQX(2;L-Ki1Hbi|xHYB%9&W7Zs1=$b}p3R1s`>-C$_?8WcL+%_%DtFIeV8~)%
zV93gW6wOz2AeF|y90rC|1_lPnTu9v3=RyoxoePQc1G$h?{~;HW9o6$7i8Ck<BHx?`
zX^d{pgEZCZKjcANrk@XqyO?~4L|Z;2zaPzq#O*UEty2IA%Ax{@!?qScO3r%)5DNqf
zAwla<2&n}F3mF)~85kJy3n5*&<Ao51^A~{=V?Bd)5yVCDMUc3hQv?a(i$#!B`nd?=
z6X9YA->w)UA6E?VX+tr@qV2^H2VX6QIPhCBB#JCcAnMagAnH0xAa%s@5>Uw0GccSf
zfdu{E5(WlK1_lPpQi#UlQm_jd7DDNxrI7smvJ~QT<1$E;#FRnew7d)=-VLR<ltCPP
zw+v$8-!e#AQ!0lzM6aBIK^v6+eaayQRg^>Gax#>^q8#G$!{rcz-jzcfz*hkY;)n`}
zzRU_p?b%WRiOOje3=G~33=D@WAP(ZMgwPh1kh&zX5)#tODj68+LA~DFm5}`UtCE3X
zJp%)SQWYd5E>%I&1Wz?2&djPIK1r&El<n=+kP>oTH3P#_P(Qz#fkA|kfnik*q)6Xi
z3yJ$9wUAm+rVf%uV(TE;ySI*^9^8xFTnBOawK_=9GuJ~D7}i4^0IQ}O>meoL+ImQk
zAAx4y8}*Qq^9i&$&(Ht~8G#0f!?hd09b|^^21p1`Xn^#nmNwKwTCEQnATASbgaoB?
zBP8fU8yUbO9Su<aEGT`n5mI7)XoTovXo8fC22GGUz^n<<_p@z+=&x>qgxJ(3NV%}5
z2~x0~uWw>th-F}4_}2unFs2z2679_ppKpQE_nIN)0!Is^Wux5!iHhVFNb2rrfp}z9
z3nb+3LgkrTA!$dW6_nZ;7(7}b)q7<tq@=8$)C%#*##ROfKL!SdgRKk<!JtlP8zcx*
z+8{w#-v;sF>Nbc48`~hM`Fa}z!%Id6hR1CXhn($TV2A<rf;%8}hEFFX7lm~~99-22
z(Ko*nTol(ctnOrBsAOPZ*wqP%Q<E-8ka~1MQf);SB#|xbg2esyE=Wk6>w*+0AG;t9
zvh0RrtN3mRzqT7vJ}mBr1of?MND<B10|{C09#GWOGcc6)KwQ?}0|}}vJ&+K&0#?Al
z@T3P)u>6CH%lAS`JpEos<&xM7$t}}+Aw~1WUPxVH-UqUPfx*8IlBhHLAa%j?J_d$l
z(CAnn1A_r5|8w+16k7H}3=Zyx#8qoQq(0x)5ApG<euxFU6Cl~Ocml*HvnMbxlru0e
z9Gw8k*R~TOiLYoP#3LIfLOgI_A|&xWoCs0(Wg-JZJ!sfWa}vbB$Vm{38Ye+qykrt2
zv0a)3$rW6aAqL4zhFD-b8KSOwGDQE%$&f^NaWbUNV3`6@=QRZq!W~l}O|!LAAW_6I
zm7yLyTBSD?5|sW^A=Pi|R7l(}nhLS-^i)XNcrz7ZA;UCC>eZVDQSUpAfq@BBTTX-M
z%Z2i%O@ml8a~dQO@1F)~C%m2pN!;J2K?@AQ>5!mOoDNQv42IJoLGLgfQX7^`hxl;w
zbcl~`PlrU2<P1o5^_l?*sqz_+M7Mqh#Np3oKs?4i6OuS>XF@y>JrmNL@2sB*$&Y7e
zGB9v3Ffcru3CU*fXF?48I+KARf`NfScNWCLwpoypZ2K%oqWdrlQf_F?hBz>EHl%K-
zoelAM-)u<9xCJVIVKyX<{g@4jqI#`45CaS5K(fioIS?P+m;-SD>s(0V)OIc;$X%gy
z%3O$r&2u3RTRj(&-|x(YdIU<pp9>iW{4p1jt)1sV(n#?<aJ660uxuWrl6X81l1QxQ
zLxMhGKE#44P<qdNNYFo-4@vb(3m`%3vjF1orUj5V-M9c^&Y1;}g6HD`NWmn!5K@kq
zFNBEuE(FyD^$ZM!3n6jewh$6j(-uOq$)<&n0_NyKh()}MAaUxv2$GLe7C{_XxCm0)
z&0GXYJM$Jn#)Q@`f;wmsBv+kT1j$A37lABhU|?L#z#tCF|6+?F2J0<`lmq^YAwI}l
z42k1DDF4J_NL0LC4Dr#|#Sja`mq6m$XbHq;5lbN5^qM6Qi#{xY1Uc(cNEBE=>5Qce
z4E3N<=ow2PE<U{!QhS|W3JHm8OCcfgX(=QmSeHR8_FV=E%KT*z3tE>!65Xt23=HuM
z3=FH6F))NNGB9v2hvbH&6%Y^2TmjLyZv{mCl@$#2;6dT1D<D2)TnTBpSg(YHMEgoe
zWwCH2B&gS}ge1bND<M(xWhKOcTB{)HZC63ciSShrhh?vV6zL66@dc|OiF?Z`NXR{0
z1#L+DSp|tBfz^;WG+qrc&}lWq#WAZP1x?Xvh{pca5DQkVhGgIUt05tFV>QI5UsgjL
zCb<UUAe}XkkaJiADS(pJK%y$Qehs8Rn79U#2=_zj^J^d-iTi6H<-yxEkVN-+4J3*f
z)<O~!`&x*@CD%ei#AYp|1T0z$DHmo#>0?m(<620zmRSdBlGTT-gE(O7ItB)NP@{1j
zr1{Le9+J)6)<d#g!Fos{TDKlz@Wb_xf`n%S14BP({%8Zlz;hcQ)inP`NJyz|goL2u
zMu>;PH$rO1)Q#XGxt^hRBP9E*+z9d6x{VMEwr+$N^k5^zr{6b1icro?kf2rH1j#j4
zn;>Z<dK1K)bSOV(6T|}*o4^(^EZPJqSI%vML>bd&kV8NX$ITFh#+xD4V(ex}e_+yP
zNPqv_W{3siTObZn-U2D%thPWL;JgKrC{wmT9MHT4;?s^T5Qk3N0&)1tEs&D(_!dYA
z|JcI7AOXt%)>|Pi4B5)S;13$_-wLtl!d6J)dA=1AHNT<itha%SPKNYtkf>R*4dQ`E
z+aQfhp6w6^8E=O~LC|(+VuOlL+z!d^8@4kr)Pv^jwrq!_%H7)`QE+TK#3yIBL!#o+
zc1RKXcRM8U=<I;_EM*5I1j=_n96DnMBzvvd0rBz89gu?Q`wmF<mE8%+9j-ee`m%O1
z)PpAiyLU1$WHK-?EZPZ4EIhj)sa|Op#335H7#MalGBD`wf~5AByCEeR&mKs~*+A)x
zJ&<fUWe+6HtlR@}*zP?H4ABe>4CnVis&nnVkSNXCTMsGO%JxDEihX+_F21)HqLF1E
zD3LHQNbG|cXs{3BKqshp#6HOIdjVAZC{*3;eGmt}-3RfA?0yD@e9&apen{(j@_q(}
zKn4be=k@y`L1B3SlAWRsK=N_V0f-9^9e@P=xdV{Y`}Y7O1Pl*C3Y3t8kknju5TdUC
zAjE<D4nnH+D+eLw@*aX@bNfS(w32%W;?er)had*-Jp_rf2Ztaf-@ikU0!iX9WFk`I
zFr>lIeHfDZFCK=}_qPs1eE0-Pzd8(QihVc?Dat<|hLnu<M<8h_`Uu3nwj*E%)HAF+
z0x4S0AAxin-ar+49)<X<<R~O6dXGX<@xr5!5ITAklG=YCg@laKF$RWe1_p+(V-WtO
zV~|A6b{rB?g2$n`;y5G`2OS4Fu%3aT>o_EiuN{ZD^xbhtBH}s$u~7a5B#}9vfcPN)
z1SF(poq#xC#|cO+cmD(=&c#kba);YV$QW<rNl4MX;3OnluRRGVAC8=4V9*2Q|4Sz!
zLC$yzlE|b_LE=#N6eJFvPeB|~bBckXj)8$;!6|UiG02~WIK=fdWH>GPG$d}1oQCLs
zcN(If<qV{puss9OSA7Oj5G_2zz)%mG(!X>D(j8_#3n|0x&O#DP{aJ{Q*Fwc_oP|^_
zlII`=mD4%MfW)M85Pf&fLGrikc}R#jormQ6%JUEpE`;)TpNBMRAD?Ha2an0xT!0iD
zofjZJ-F5+Dz^w}qhX`JT1hxG|NH$G_^4l&#9JKZ##NulgA?=9Y7a=8|=_N?+3b+Ju
zVBsZ5+;6%BNpr6*fy#dd1_t)akT_Pp3~`A6Wk?-R1EqIdhB)NQWk}*vx&m=f#1%+8
zzWxeC|KTeTi{D>?q$#ee5c8C-Lb9j-Rft3Du0qUPTz?f3G#9Tz40wGNl3&HIK@9S|
z21!gQ*C0MAzXplB8P_2CPF{mJ^zk)Fc9p*lNdx-VA!#7;I>f>G*CB~<>2-+yH`gKd
z)XUz0R3`p6AVJe}17gvU8xR*iy}`h+n}LBr<R&C7T(}7l|9uluTWZ~cB*OSxkZe|a
z3*z(nw-^{cF)%P}zs10y2^tf+4Jpd6+<}yUH}8NewR#5KyO5yBy$eY!v+qJu>EXK&
zpS`>bu~79MB(6j5K|-qb9>l>b??K9mhxZ^p{&kN5yf#GOKEz>i_aX8&_aXT|^gbk4
zlz{1a28OlwA=&QPeP~bRKExvD2aur5c>sxmX%8SiUikoG(Y*%{2Y-RmG7ll@TpmIk
z9R3huZrejhYj?&&$ne|Bhmfdy_mF`>0hIqa9zhBm%|{Ri*gb-DlRF<leEQ@OB+djL
zLmc1;rOO^ea>MG!kdQk47!pP7Par-udIE|2z$Xy#_9u`i+63iadBVU@Z^6L8@c#*<
z<g<7R3Hp$y5SLdyg~V0QQ^>r)gQpOKjh{gb4tfS@FLXSE<c9udkRo^6GswIEXkZJp
zHU)(37#SEIg64@C7#O~QrePQv7(5sm>KTlf7#MysGB7-2U|?9vz`zg+T6F|k;ljYc
za2>Q_g^___Gspx628LKh28Q`ic|A~vpMim4JtG6dU8p>W0<HI%#K^#)&&a^wz{tR$
z3{?k`1K|QjNYx8ozQYI#e+CAI1gN1Bpw&$b3=ABM3=BJ=V(B1V3=9lGjF6nd2Q^TZ
zk%55?s^%|L4U7UUNHK@X889+1{9<Ha=w@JGxX8f3(8|cbu#bU(VG|<*!;^YO1_ocK
zu1ru1hmnC{7RZ;N^%+nDjxs`m7o_YO0|UcV5CaJ(F)}c`Wn^GzWME+Uh9q9f$iQ%&
z5i+dD19h|#)Xduq3=B3*3=H+>p#q@gR-lzmpy^bQ8K60R1x5yjd`1R_T~IZjp)^Py
zhBtziYcVn~WI^RX3syjKW>7vC69YpxBLf2$BLl+~(C9iN149NQ1A_@81A{OVLp_5Q
zD2^By7{nPF7^X2YFhnpiFk~|_Fq{Orkdc9583O}D93un6KhW|FMh1pg3=9nFObnnQ
zAcpUZ3=F1B3=CfxAXO~L;uuB-hECA@A1Hx=7NapTFzkmqriFolL5m5J|3PXQ7@+YF
z;V>`=F)=VaVq{=A024r>-5DVT4yZIs1kD37FffELGB8YMWMDYW0I3K186mADkha+j
z3=9()AwzcWK>`d63<nq)7#=V(Fo2faSuip%Xx1|^FjRmPGB7ZxF)=XwfVy-t0|P@I
zXvG^e-sG7W7^IjO7%qWU%P}x8XfQ&S(nvEhFc>p3Fla;7f$W(JH6sIL29(W&B)=3Y
z#te#o6R5;IMh1pGAl*=WjFEw12?M0XV$I0FAPLp<4oYujWMFs=YQZuxFkA#V0IE-q
zk%6HWl!zH1!>xZnX@h}*;Si_}f$CijRcnSG{xcaE7*rV<7$!j#fEF9bGBGgB1FiXE
zgj7UODKG_!Jq4%-Ks_gr-~$E*hGQTGXb_u;fgu%YX#*p4loYh82IL_o28Lyz{0~}o
zcY=X|!H<!F;SB?%jLu<TVE74&Q$_}c6^xLY%ZHJHfsqN)lmeOmg^_`w2*hB3)O4<l
z3=DNp%l1O)I}8jAFF@Iofq~&6Xx1B)t)Y5AE2u<4`Co~NfuR_x0n`QG4w`}mWjm<C
zK1K$H!%#Ld^%trKH2jV%eu{yCL5Puo;RR?#B?AM41Sl$@YIT_y80;At82&IYFx+Qk
zV5tAZ$iN`O$iT3Uk%6HEYRWT428JUH3=EBo3=B04kha<_P$>qL2Q@+knIK&$(6Y>}
zpm77J1skBW1QVo*b%ud~Are#^Gchm(FfuUof=XA=N=YULhJ~>B&tYU>5M*Rvm;x#w
zpq5xLF)*kwF)*-04O|OayT{1D5XH#AaD#z?VI63o396O_ng&2z(A2vQBLiqg2E+wp
zZbrz!6o~T*)EHr4V6X=3sb^qdXJTNeW@KOx02Mlnkddny43L^^IU@tZOi($`#K2$*
zbqL6i6`-}7&=s?w*-g;eF_1V23q#d`R!O=sGBCVnWMHsmWMJ3;TF?qA_Zb)%rh_`W
zAjO~*45C46IzcpO#UqI3WMW|8Wny4ZWny4B$H2f4&d9(Z$Hc(U$;iO4l97QSfPsNw
zCurFw6Ql_)1+}z_k%1wd5mKFlR!xD-I>-p=U4z)5<+t%rwIDv&{!$PNlpsJgA(XwH
z5z=x6ad&`9I7SABRt5$JPDTcXG^hcKKvgfOxMpBrxC|--7$FUr7DfgJentj{^9+#o
z0>}&)_Gg52^A<n^>KU9saSGvp=K@xOYB5GgYqbn&5l9-eZWly1F)}dpF)%Q^VPs&?
z0LLK%!#0ovsBDMQ&!O~fMh1opP%}X5j2AF6FjPV1M8JCM85sUEGBCUZ%}|3D6f-a|
zJZ6A2tGK}mAgTkQhR856Fq{RAc0uKuL5UJHV+tyu7#J9iL)A?N<t9c3hC)WjVwP2m
zkkPZfpmf8)03I>B05TdB{-AZbAof2{6$v!}GzA9|6Jugvm;lNh3=9k(p>k$S3=Air
zY>*nzGFx*d28Qn-4g&+jHAV)8;|vT8ZHx>Im5dAwR~Z=?=0fE_)4TT=85lk?FfbT`
z%6~>i1_lFA4q#wlxWUN4V9CV5a1XS=093m{HG!t*UPCREhtg{p85nLdK)TxEObiS=
zplXeo7#NsAEgVJ$1~Enk23|%6hDV^v4b+SS<s?uVVqjqCVqjqS4Ql`OfD#GR&>|=e
zTB!^&&zF&b!3!$37&M^Fz`$^Zk%3_XsF-GCVE7MG1WJ6M{0wSTGBGfeGcqu&W@KRC
zU}9kC0u^MSiVc*#LG1=c$V4?%8^dQ%{SR7P{0=0-#K5qhfq`KyBLjmc)KWtz&C1BY
zpa_afkUCH$1scm?WMG)Xz`&3Tn*C&C0L?i=Wf>T9p)AlM^8yA21|~)Z21iB)hO<!f
zo`OP;k%8e9sQeEGB@_k*h7X`>l97So4pb4y4A4BjEi|$5LB&B!bU<>TwZb48gh4Bt
zdqE8g&=f8x?im;uHbT|2LiM+U_>2q;9gGYNp$rTRGeG4(3nK%=Z;<7T3=BUQ7#J3V
z5(dabP?L%gGExcE&(H&^f<cBbFff1|4pIhMhOY=J%NZFMzA`c}c!TN;P-<snV5k7K
za6pRCFleId;4=mW6$1uo1`7iQhLg`AT`iD0koo`r|NsB_+2kTaz0EmBlNmP~n#eJ4
z&Nbi1Hu=2W)X6RO3pV>Y2rzA4>(s}w+1+~=qmN^dd$68DXmM&<X^uj9W=V#Eu5NNh
zYI1f#er8^YLSkNuLVjMVLVg-ZytG6|L031ipdd9b1;i@JFHOz>F-r4tGV`(*|L|ei
zY#F$XgEb(;)8B9N+sF)#%__-d+>^KG#cfv050hasvYcGkZEI?-YiOivXs%#rWMyoq
zZD3?zz!l)H8<bj>S)7@lr|Xhfl4_-3WMF8fYhbEtWTaqdY-MDz`9pU&BeSWV$z-2i
z)y;{0_ZT-9PiSS{EHx#HeX{DD#gkvmS+RNlTsNl8MGN{kHw&!V#>nj$<gTaSS6Nb$
znLfGkxVR^h*YeX9Qu9hu^ArxP*40feEjhGX2h4<c55@y~@z8FC)SR5uBCtHfubcO-
o7Gc>evmuR>In2>#bHmPh&duu&8}Ll7pT;_w{X)&=<riAy0Di70!2kdN

diff --git a/po/nb.po b/po/nb.po
index af85b404..12c275fe 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -1,18 +1,18 @@
-# Norwegian (Bokmål) translation of GNU tar.
+# Norwegian (bokmål) translation of GNU tar.
 # Copyright (C) 2016 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Karl Anders Øygard <Karl.Oygard@fou.telenor.no>, 1996.
 # Espen Skjelnes Johnsen <espejohn@sn.no>, 1997.
 # Johnny A. Solbu <johnny@solbu.net, 2014.
-# Åka Sikrom <a4@hush.com>, 2016.
+# Åka Sikrom <a4@hush.com>, 2016-2017.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-22 13:28+0100\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-24 09:13+0100\n"
 "Last-Translator: Åka Sikrom <a4@hush.com>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
 "Language: nb\n"
@@ -21,7 +21,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.8.7.1\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -100,7 +100,7 @@ msgid "give a short usage message"
 msgstr "vis en kort bruksanvisning"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAVN"
 
@@ -138,29 +138,29 @@ msgid "write error"
 msgstr "skrivefeil"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: valget «%s» er flertydig\n"
+msgstr "%s: valget «%s%s» er flertydig\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: valget «%s» er flertydig, og kan bety følgende:"
+msgstr "%s: valget «%s%s» er flertydig, og kan bety følgende:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: «%c%s» er et ukjent valg\n"
+msgstr "%s: «%s%s» er et ukjent valg\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: valget «%c%s» tillater ikke argumenter\n"
+msgstr "%s: valget «%s%s» tillater ikke argumenter\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: valget «--%s» krever et argument\n"
+msgstr "%s: valget «%s%s» krever et argument\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -235,12 +235,12 @@ msgstr "^[jJ]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakket av %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakket av %s\n"
@@ -248,12 +248,11 @@ msgstr "Pakket av %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -403,12 +402,11 @@ msgid "%s home page: <%s>\n"
 msgstr "Nettside for %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
 msgstr "Nettside for %s: <http://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Generell hjelp til bruk av GNU-programvare: <http://www.gnu.org/gethelp/>\n"
@@ -532,194 +530,194 @@ msgstr "Klarte ikke å videresende filer til eksternt skall"
 msgid "Cannot execute remote shell"
 msgstr "Klarte ikke å kjøre eksternt skall"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Søkeretning er utenfor tillatt rekkevidde"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Ugyldig søkeretning"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Ugyldig søkeforskyvning"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Søkeforskyvning er utenfor tillatt rekkevidde"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Ugyldig antall byte"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Opptelling av byte er utenfor tillatt rekkevidde"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "For tidlig slutt på fil"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Ugyldig handlingskode"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Handlinga støttes ikke"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Uventede argumenter"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Styr en båndstasjon, og godta kommandoer fra eksterne prosesser"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUMMER"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "endre feilsøkningsnivå"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FIL"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "endre navn på feilsøkingsfil"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "klarte ikke å åpne %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "for mange argumenter"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Ugyldig kommando"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Dette ser ikke ut som et tar-arkiv"
 
 #
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Antall leste byte"
 
 #
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Antall skrevne byte"
 
 #
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Antall slettede byte"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(datarør)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Nekter å lese arkivinnhold fra terminal (glemte du «-f»?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Nekter å sende arkivinnhold til terminal (glemte du «-f»?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Ugyldig verdi for «record_size»"
 
 #
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Arkivnavn mangler"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Klarte ikke å kontrollere stdin-/stdout-arkiv"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkivet er komprimert. Bruk valget %s"
 
 #
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Komprimerte arkiver kan ikke oppdateres"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Nådde begynnelsen av båndet. Avslutter nå"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Det har oppstått for mange feil. Avslutter"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Registerstørrelse = %lu blokk"
 msgstr[1] "Registerstørrelse = %lu blokker"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Ujustert blokk (%lu byte) i arkivet"
 msgstr[1] "Ujustert blokk (%lu byte) i arkivet"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Klarte ikke å gå tilbake i arkivfila. Den kan være uleselig uten «-i»"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek stoppet ikke på en registergrense"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: inneholder ugyldig volumnummer"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Alle mulige volumnumre er oppbrukt"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Klargjør volum #%d for %s og trykk Enter: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "EOF der svar fra bruker skulle vært"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "ADVARSEL: Arkivet er ufullstendig"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -730,65 +728,65 @@ msgstr ""
 " q             Avbryt tar\n"
 " y eller linjeskift  Fortsett handling\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Start et underskall\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Skriv ut denne lista\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Intet nytt volum. Avslutter.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Filnavn mangler. Prøv på nytt.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ugyldig inndata. Skriv «?» for for hjelp.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s kommando mislyktes"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s fortsetter ikke i dette volumet"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s fortsetter kanskje på dette volumet. Hodet inneholder avkortet navn"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s er feil størrelse (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Dette volumet er ute av sekvens (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkiv ikke navngitt for å passe med %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volumet «%s» stemmer ikke overens med «%s»"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -796,210 +794,210 @@ msgstr ""
 "%s: filnavnet er for langt tid å lagres i et GNU-multivolum-hode, og blir "
 "derfor avkortet"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "skriving endte ikke ved en blokkgrense"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Klarte bare å lese %lu av %lu byte"
 msgstr[1] "Klarte bare å lese %lu av %lu byte"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Innholdet er ulikt"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Uventet slutt på fil i arkivet"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Filtypen er ulik"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Modus er ulik"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid er ulik"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid er ulik"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Endringstiden er ulik"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Størrelsen er ulik"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Ikke lenket til %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symbolsk lenke er ulik"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Enhetsnummer avviker"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Kontroller "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Ukjent filtype «%c», diffet som vanlig fil"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arkivet inneholder filnavn med ledende prefikser fjernet."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arkivet inneholder forvandlede filnavn."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Verifikasjon kan mislykkes i å finne originalfilene."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "KONTROLLFEIL: fant %d ugyldig arkivhode"
 msgstr[1] "KONTROLLFEIL: fant %d ugyldige arkivhoder"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Enslig null-blokk ved %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: inneholder en buffermappetag %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "verdien %s er utenfor %s rekkevidde %s..%s. Erstatter %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "verdien %s er utenfor %s rekkevidde %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Lager negative oktalhoder"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: filnavnet er for langt (maks %d), og fila ble ikke dumpet"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: filnavnet er for langt og/eller splittet, og fila ble ikke dumpet"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: lenkenavnet er for langt, og fila ble ikke dumpet"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Fila krympet med %s byte. Fyller ut med nuller"
 msgstr[1] "%s: Fila krympet med %s byte. Fyller ut med nuller"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fila er på et annet filsystem, og ble derfor ikke dumpet"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "innholdet ble ikke dumpet"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Ukjent filtype. Fila ignoreres"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Mangler lenker til %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fila er uendret, og ble ikke dumpet"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fila er selve arkivet, og ble ikke dumpet"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "mappe ble ikke dumpet"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fil endret mens vi leste den"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: sokkel ignorert"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: dør ignorert"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Hopper til neste startseksjon"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Tar bort ikke-hodedata fra arkivet"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: usansynlig gammelt tidsstempel %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: tidsstempel %s er %s sekunder i fremtiden"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Uventet inkonsekvens ved opprettelse av mappe"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: hopper over eksisterende fil"
@@ -1022,7 +1020,7 @@ msgstr "Forsøker å pakke ut symbolske lenker som harde lenker"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Klarte ikke å pakke ut -- fila fortsettes fra et annet volum"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Uventet langt navnehode"
 
@@ -1039,7 +1037,7 @@ msgstr "Gjeldende %s er nyere eller samme alder"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: Medlemsnavn inneholder «..»"
 
 #: src/extract.c:1696
 #, c-format
@@ -1051,22 +1049,22 @@ msgstr "%s: Klarte ikke å lage sikkerhetskopi av denne fila"
 msgid "Cannot rename %s to %s"
 msgstr "Klarte ikke å endre navn på %s til %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Mappa har endret navn fra %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Mappa er ny"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: mappa er på et annet filsystem, og ble ikke dumpet"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Mappa har endret navn"
@@ -1192,192 +1190,193 @@ msgstr "%s: Sletter %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Klarte ikke å fjerne"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Utelater"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blokk %s: ** Blokk med NUL-er **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blokk %s: ** Slutt på fil **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blokk %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Blankt hvor numerisk %s-verdi forventes"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr "Arkivoktalverdi %.*s er ut av %s rekkevidde; forutsatt toerkomplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Arkivets oktalverdi %.*s er utenfor %s rekkevidde"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkivet inneholder foreldede base-64-hoder"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Arkiv-signert base-64-streng %s er utenfor %s-rekkevidde"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Arkivets base-256-verdi er utenfor %s-rekkevidde"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arkivet inneholder %.*s hvor numerisk %s-verdi forventes"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Arkivverdi %s er utenfor %s-intervallet %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " lenke til %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ukjent filtype %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lang lenke--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Langt navn--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volumhode--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Fortsatte ved byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Lager mappe:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Endrer navn på %s til %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Klarte ikke å endre navn til %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Endrer navn %s tilbake til %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fila ble fjernet før programmet rakk å lese den"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "underprosess"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "mellomprosesskanal"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Lokalt filvalg:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "legg oppgitt FIL til arkivet (nyttig hvis navnet starter med en bindestrek)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "MAP"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "bytt til mappa MAP"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "få navn å pakke ut eller opprette fra FIL"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T les null-adskilte navn, og slår av «-C»"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "deaktiverer effekten til foregående --null-valg"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "avsitér inndatafil eller medlemsnavn (standard)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "ikke avsitér inndatafil eller medlemsnavn"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T les filnavn nøyaktig slik de er (ingen valghåndtering)"
+msgstr ""
+"-T les filnavn nøyaktig slik de er (ingen håndtering av valg eller "
+"skiftesekvenser)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T behandle filnavn som begynner med bindestrek som valg (standard)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MØNSTER"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "ekskludere filer, gitt som et MØNSTER"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "ekskluder mønster listet i FIL"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1385,24 +1384,24 @@ msgstr ""
 "ekskluder innholdet av mapper som inneholder CACHEDIR.TAG, med unntak av "
 "selve tagg-fila"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "ekskluder alt under mapper som inneholder CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "ekskluder mapper som inneholder CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "ekskluder innholdet av mapper som inneholder FIL, med unntak av selve FIL-en"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "lese ekskluder mønstre for hver mappe fra FIL, hvis den finnes"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1410,116 +1409,119 @@ msgstr ""
 "lese ekskluder mønstre for hver mappe fra FIL og dens undermapper, hvis den "
 "finnes"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "ekskluder alt under mapper som inneholder FIL"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "ekskluder mapper som inneholder FIL"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "ekskluder versjonskontrollsystemmapper"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "les ekskluder mønstre fra VCS-ignorere filer"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "ekskluder sikkerhetskopi- og låsefiler"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "gå rekursivt ned i mapper (standard)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "unngå automatisk nedstigning i mapper"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "valg for filnavntreff (påvirker både ekskluder- og inkludermønstre):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "mønstre passer med filnavnstart"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "mønstre passer etter «/» (standard for ekskludering)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "ignorer bokstavstørrelse"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "match forskjell på små og store bokstaver (standard)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "bruk jokertegn (standard for ekskludering)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "ordrett strengsammenligning"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "jokertegn samsvarer «/» (standard for ekskludering)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "jokertegn samsvarer ikke «/»"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Følgende ekstravalg ble brukt i arkivmodus etter argumenter som ikke godtar "
+"ekstravalg. Plasser valgene etter argumenter som godtar dem hvis du vil at "
+"de skal ha noen effekt."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s har ingen effekt"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s har ingen effekt"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s har ingen effekt"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "kommandolinje"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: filliste forespurt fra %s allerede lest fra %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "Klarte ikke å splitte strengen «%s». %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: lest filnavn inneholder nulltegn"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Mønster samsvarer med tegn som brukes i filnavn"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1527,47 +1529,47 @@ msgstr ""
 "Bruk --wildcards for å aktivere mønstergjenkjenning, eller --no-wildcards "
 "for å undertrykke denne advarselen"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Finnes ikke i arkivet"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Obligatorisk forekomst finnes ikke i arkivet"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arkivetikett samsvarer ikke"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Valget «-C» kan ikke brukes i fillista i kombinasjon med «--listed-"
 "incremental»"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Kun ett -C-valg er tillatt med --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Valgene «-%s» og «-%s» vil begge ha standard inn"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Ugyldig arkivformat"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-funksjoner forsøkt på inkompatibelt arkiv-format"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1787,7 +1789,7 @@ msgstr "Velg utdatastrøm:"
 msgid "extract files to standard output"
 msgstr "pakk ut filer til standardutdata"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "KOMMANDO"
 
@@ -1824,7 +1826,7 @@ msgstr "bruk valgt FIL for å tilknytte fileiers UID og navn"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "bruk valgt FIL for å tilknytte fileiers GID og navn"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATO-ELLER-FIL"
 
@@ -2032,7 +2034,7 @@ msgstr "Omblokker ved lesning (for 4.2BSD-rør)"
 msgid "Archive format selection:"
 msgstr "Arkivformatvalg:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2116,60 +2118,60 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtrér gjennom PROGRAM (må akseptere -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Lokalt filvalg:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "bli i lokale filsystem når du oppretter arkiv"
 
 #
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "ikke fjern ledende «/» fra filnavn"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "Følg symbolske lenker; arkiver og dump filene de peker til"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "følg harde lenker; arkiver og dump filene de refererer til"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "MEDLEMS-NAVN"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "begynn med medlem MEDLEMSNAVN ved lesing av arkivet"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "bare lagre filer som er nyere enn DATO-ELLER-FIL"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATO"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "sammenlign dato og tid kun ved dataendringer  "
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROLL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "sikkerhetskopi før sletting, velg versjonskontroll"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRENG"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2177,59 +2179,59 @@ msgstr ""
 "sikkerhetskopi før sletting, overstyr vanlig suffiks («~» med mindre "
 "overstyrt av miljøvariabelen SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Filnavnforvandlinger:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "fjern NUMMER antall innledende komponenter fra filnavn ved utpakking"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "UTTRYKK"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "bruk sed erstatnings-UTTRYKK for å forvandle filnavn"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informativ utdata:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "vis navn på alle filer som behandles"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "NØKKELORD"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "advarselskontroll"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "vis framdriftsmeldinger hver ANTALL register (standard 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "HANDLING"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "utfør HANDLING på hvert sjekkpunkt"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "skriv ut en melding hvis ikke alle lenker ble dumpet"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2241,35 +2243,35 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 og SIGUSR2; navnene uten SIG-prefikset er "
 "også akseptert"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "vis endringstidspunkt som UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "vis full oppløsning på filtider"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "send detaljert utdata til FIL"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "vis blokknummer i arkiv med hver melding"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "be om bekreftelse for hver handling"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "vis tar-standarder"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "vis gyldige verdiområder for øyeblikksbildefilfelt"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2277,31 +2279,31 @@ msgstr ""
 "ved listing eller utpakking, vis hver mappe som ikke samsvarer med "
 "søkekriteriene"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "Vis fil eller arkivnavn etter forvandling"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "angi siteringsstil; se nedenfor for gyldige STIL-verdier"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "i tillegg sitér fra STRENG"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "deaktiver sitering av tegn fra STRENG"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Kompatibilitetsvalg:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2309,22 +2311,22 @@ msgstr ""
 "ved opprettelse, samme som --old-archive. ved utpakking, samme som  --no-"
 "same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Andre valg:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "deaktiver bruk av noen potensielt skadelige valg"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "«%s» kan ikke brukes sammen med «%s»"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2332,40 +2334,40 @@ msgstr ""
 "Du kan ikke angi flere enn ett av valgene «-Acdtrux», «--delete» og  «--test-"
 "label» samtidig"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Konflikt i kompresjonsflagg"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Ukjent signalnavn: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Fant ikke dato-eksempelfil"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Erstatter %s for ukjent datoformat %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Valg %s: Behandler dato «%s» som «%s»"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtrer arkivet gjennom  %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Gyldige argumenter for valget --quoting-style er:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2373,165 +2375,165 @@ msgstr ""
 "\n"
 "*Denne* tar standardiserer til:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Ugyldig eier eller gruppe-ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Ugyldig blokkeringsfaktor"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Ugyldig tapelengde"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Ugyldig inkrementell nivåverdi"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Mer enn én grense-dato"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Ugyldig version for filer med huller"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve=«system» støttes ikke på denne platformen"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint-verdien er ikke et heltall"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Ugyldig modus gitt i flagg"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Ugyldig nummer"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Ugyldig registerstørrelse"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Blokkstørrelse må være delbart på %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr " Ugyldig antall elementer"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Kun ett «--to-command»-alternativ tillatt"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Feilformatert tetthetsargument: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Ukjent tetthet «%c»"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Valgene «-[0-7][lmh]» støttes ikke av *denne* implementasjonen av tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: plassering av feilen"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "feil under tolkning av %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FIL] …"
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "%s inneholder argumenter som ikke er valg"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "klarte ikke å dele opp «TAR_OPTIONS»: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Gammelt valg «%c» behøver et argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence er meningsløs uten en filliste"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Ved flere arkivfiler behøves «-M»-valget"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--lever er meningsløs uten --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Volumetikett er for lang (grensen er %lu byte)"
 msgstr[1] "%s: Volumetikett er for lang (grensen er %lu byte)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Arkiv som går over flere volum kan ikke kontrolleres"
 
 #
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Komprimerte arkiver kan ikke kontrolleres"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Komprimerte arkiver som går over flere volum kan ikke brukes"
 
 #
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Klarte ikke å sette sammen komprimerte arkiver"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "«--clamp-mtime» krever at du oppgir en dato med «--mtime»"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "valget «--pax-option kan bare brukes på POSIX-arkiver"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "valget «--acls» kan bare brukes på POSIX-arkiver"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "valget «--selinux» kan bare brukes på POSIX-arkiver"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "valget «--xattrs» kan bare brukes på POSIX-arkiver"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2539,81 +2541,90 @@ msgstr ""
 "Klarte ikke å finne navn på toppnivå-mappe. Velg det manuelt med --one-top-"
 "level=MAP"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Volum kan ikke være kortere enn registerstørrelse"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Programmet nekter på feigt vis å lage et tomt arkiv"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Valgene «-Aru» kan ikke brukes i kombinasjon med «-f -»"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Du må velge ett av «-Acdtrux», «--delete» eller «--test-label»"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Avslutter med feilkode på grunn av tidligere feil"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Fila krympet med %s byte"
 msgstr[1] "%s: Fila krympet med %s byte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Nøkkelordet %s er ukjent eller støttes ikke"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Tidsstempelet er utenfor tillatt rekkevidde"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Mønsteret %s kan ikke brukes"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Nøkkelordet %s kan ikke overstyres"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Feilformatert utvidet hode: lengde mangler"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Utvidet header lengde %*s er utenfor rekkevidde"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Utvidet hode er feilformatert: blanktegn mangler etter lengde"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Utvidet hode er feilformatert: likhetstegn mangler"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Utvidet hode er feilformatert: linjeskift mangler"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignorerer ukjent nøkkelord for utvidet hode («%s»)"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2621,46 +2632,46 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Utvidet hode %s=%s er utenfor rekkevidde %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Feilformatert utvidet hode: ugyldig %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Feilformatert utvidet hode: overflødig %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Feilformatert utvidet hode: ugyldig %s: skilletegnet %c er uventet"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Feilformatert utvidet hode: ugyldig %s: merkelig antall verdier"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s er et ugyldig tidsavbrudd"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: ukjent sjekkpunkt handling"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "skrive"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "lese"
 
@@ -2668,7 +2679,7 @@ msgstr "lese"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Skriver kontrollpunkt %u"
@@ -2677,12 +2688,12 @@ msgstr "Skriver kontrollpunkt %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Leser kontrollpunkt %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2690,94 +2701,98 @@ msgstr ""
 "genfile manipulerer datafiler for GNU paxutils-testpakke.\n"
 "VALG er:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Filopprettingsvalg"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "størrelse"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Opprett fil av angitt STØRRELSE"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Skriv til fil NAVN i stedet for standardutdata"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Les filnavn fra FIL"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T leser null-terminerte navn"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Fyll fila med valgt MØNSTER. MØNSTER er enten «default» (standard) eller "
 "«zeros» (nuller)"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Størrelse på en blokk for filer med huller"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Lag fil med huller. Resten av kommandolinja gir filkartet"
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "FORSKYVNING"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Søke til den angitte forskyvning før skriving av data"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Ikke vis ukritiske feilmeldinger"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Filstatistiske valg:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Skriv ut innholdet i «struct stat» for hvert angitt fil. Standardformatet er:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Synkronkjøringsvalg:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "VALG"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Kjør ARG. Nyttig i kombinasjon med «--checkpoint og enten «--cut», «--"
 "append», «--touch» eller «--unlink»"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Utfør angitt handling (se nedenfor) ved oppnådd sjekkpunktANTALL"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Angi dato for neste --touch-valg"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Vis utførte sjekkpunkter og avsluttstatusen til KOMMANDO"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2785,7 +2800,7 @@ msgstr ""
 "Synkronkjøringshandlinger. Disse utføres når sjekkpunktnummer angitt av  --"
 "checkpoint-valget er nådd."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2793,125 +2808,125 @@ msgstr ""
 "Forkort FIL til størrelsen valgt ved forrige «--length» (eller 0 hvis det "
 "ikke er valgt)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Legg valgt STØRRELSE (i byte) til en FIL. STØRRELSE bestemmes av forrige «--"
 "length»."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Oppdater tilgangs- og endringstidspunkt for FIL"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Kjør valgt KOMMANDO"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Slett valgt FIL"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "%s er en ugyldig størrelse"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "%s er utenfor tillatt rekkevidde"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativ størrelse: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) mislyktes"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "forespurt fillengde: %lu . Virkelig: %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "opprettet fil har ikke huller"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "feil ved analyse av tall ved «%s»"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Ukjent datoformat"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARG…]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "klarte ikke å åpne «%s»"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "klarte ikke å søke"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "filnavn inneholder null-tegn"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "filer med huller kan ikke sendes til standardutdata. Bruk valget «--file»"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "ugyldig maske (ved «%s»)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Feltet «%s» er ukjent"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "Klarte ikke å endre tid på «%s»"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "Klarte ikke å avkorte «%s»"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "kommando mislyktes: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "Klarte ikke å avkorte «%s»"
+msgstr "klarte ikke å hente info om «%s»"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "Klarte ikke å endre tid på «%s»"
+msgstr "klarte ikke å fjerne mappa «%s»"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "Klarte ikke å fjerne lenke til «%s»"
@@ -2951,6 +2966,9 @@ msgstr "Kommandoen avsluttet\n"
 msgid "--stat requires file names"
 msgstr "valget «--stat» krever filnavn"
 
+#~ msgid "OPTION"
+#~ msgstr "VALG"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: parameteret ARGP_HELP_FMT må være positivt"
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 53ce56a0864e40e49639d1c4cad2a588a3599d18..cf436e89fc76a827a6dcadf2e0f402ff3fa05c89 100644
GIT binary patch
delta 14957
zcmezRgn92*=K6a=EK?a77#Mt+7#Iu~7#L;<F)#=-GcYiyGBAL|eGDOVh#><*gdqbM
zv=}llNHQ=mv>GxnoMvEPm~Y6yAi}`FkZr`kz{bG9&|t*CpuoVu&~C)QAkV<Su)>Ie
zfro*C;RKYvYQ(_M&cML%$cUkyL5zWcA<LM7L63ofq0ty@FT)071_nU}28L_K3=F~y
z3=A)f85lrz|1oA@P-0+U&@*9RaA#m(2sB|}P+?$Tm}$bmz{|kEu+M~nL56{W;fx6b
zgFXWT!%Gv010+ou7_1o>7%WX07^D~&7)nhc=1(xKXJ8O#U|?8e%D^DXz`(G}lz~Bj
zfq~(IDFcHX0|UcDQw9b#ke|&UK2$ejV6b9fV6ZWRIHcT+fx(P{fnk;z14A4G1H(l#
zhy@1b3=Fai3=H1p3=9$s3=Em(3=EnK3=B=?kdRno&cKkuz`(Gx-kgC!hk=1X&H~~P
zZwm$nBL)VBWDAIor&%yCn1F)Lf`LJqfq~(#1p`A80|SGiB?CC*S}Y+Boo&g$PzLgV
zCB$KdRtyYw3=9k*RtyaM3=9mDtsqgd*ouKch=GCOh!w=1`s-E<3>pj!3|!U_7aChb
z42ZR6U@!*7r8UHdTdW}=^V%9>;U8;=1Ep;s4)e8PU{GXWU?{YKIC!!R1A{pO1H%a$
zNYpaeLd@5<Wnl1PU|@)}1*@-TSYpe-AkDzQaLg7G_m6BLA;Dn>2^j@DNF4gwK@7^Z
zV_;BcU|^VI2XXijJ4lefwS)MK!yY0pZ4Ze8XM2eLL@2+}9+IHvgZcFg3=8cU7(fYr
zzdgj~hwULgcxDet&C(8#w4vkxvB1IslKQ<J7#R2%7#LEabO}_x*#Y9yX%3J?cfbLX
zNdGuMf?UxN60#wV3=I193=9k%AO-^i!wyG?k6$=Kd?f0`z@W{*z+m76$ptY^5CaRG
zAW^W!i2)R<45ytK7;G3A7&x6FA?M}{ad@0F0|PtAfzA*MbDbF&Tp1V`7CJ*5_}rO+
zq282%fkDs(lB(TZAP#79fduV(7l==9xIldH$pw<=#9bjls^<!Epr0!PgBt?_LzOGU
zqJyps3|b5f3}0O#A*$fUzyPwx*$v{bN;gQ<G`KO;gX4al8>H~r<p%M=Yd46?ncX2Y
zH<T83hoow0cSyF3a)&sq(H&y(GIs`sNCpOmTkeoFW#R!*7vKSLc)15S(J}OSKpeio
zqaGq~#{-gz|9L=MtmFyF@2;MZ0wu~566EEc5SLH$gha^}Pe`^p;R&(eB~%|MiGxZ$
zQ7=gLGxcI%aA06yaP@+OaGMvzoXz!K5Q8pyL4x$D7Xt$e0|NuAH>9B8@`fZ%ac@YP
zkoIO^;AUW8F!P33?Bor}mdW0bL|WnvF{jHL;-OXE5Qm?G^51$xvZbI8#N+jzJ`4<8
zpt9Qs;`1^eh|6X|`P+RU2Hf(2_~fS#Bo%Y|LVRN53yJGYD1VAC!~+L?A#r`o7vi9^
zzK{@l>kCOMEPmjqt7q``gZQk#4^mWi`$5X)C4P|9y3LP)A(4@R;g280;<x~a11APR
ze7rsY;;^Fukf^#E014_(0SpXI3=9m$fe?OKAjHSp10f-JGZ0kX)H5(V4TNaq4q{-?
zWnf^?2!cdOSP&#JW(7g=eNzy`!l^+JAFU38q><A>kf?YN1Tlv(7?Nw`f*}QwMKGkC
zNC<{_G(Q*;5?vs5p!~lu7-HdWsKj|F|5-33Zhr+s4CW4jsM836ILIah5)%F)kX(`*
z0&!Sr2qbEzhCnPl6asPh-4IAE`8fm<MU0^g4E3PI#1;yPE1^(`k0e7Oajq8%iCf=L
zNYGV4=~<!RxMSD@r5}bus#~@&NL^tT2Jv}r7^J|O8V1R>7sDXsia<D|Jg^LBs0Rmm
zemJB=ni~$W@OU@_Loovb!>4ct21f=4hO`KX!&XE<f_85NBxJ5fKyt~82uKKhjezJE
ziiG&kHWK17r$|VC_l$(3t<p$Hh_px6LlWKGNQi;kA|XL|9IEkoBm)C00|UdmNKj&7
zVE7UV@wrqKBpcaBK^#^d1xYJCQIKr6Bnnblorr>1{5=X%TPjCG(n4r7BnngNqakru
z9t}xEAU>$!u^<}agZ<Hv)O{oxV$qdoNC>=)hFHKH14-RRF_5?|j)8<gV+<slt%-qH
z^f?Bik1ZBb(kjG4JX9YT%fR5mz`#%*%fR5wz`(F47Ls^C%^6TNs~ZRLS!f)@pxih}
z>TQUFB*y7+5Qnagg9P;kD1SSYzb6h7f`{WEMe@lwNQgg;1KU&2@GlM$7uxZV5O9o#
z#A#AIBr5XbAr9z|hxlxHJS0dj#Y4*We^6RA0TNO^2@DK{3=9l036Mm5E&<}ew@~_1
z0s})dBLl<t1O|q44D}2Q!AX#yP)ddbsYf!TBrH#c1lg=)h)=g9L(<3zDF0?M149%8
z1H;>7NUHZpffOwDDGUrg3=9n2DG>cPQXn4rlmdxDp;SmnsHZY82!ry!b1EbR!c(C^
zoXWu90cv`sLVSKQ6{7KBDkSc{r9y&QJ&l1O4AdG<V_@(EHOHa+^Jx(EYUz+#(K;QH
zJ@eBcX>EQw!~x6G85rt8CEnq5NSuC5hXff%2E@ne8ITaM&Va~gWkB+CV+O?Fy%`XL
zKW0FpL@^VR?|m~Nxu7%?;`5oA5DRx^LZawuCIdqd0|Ud;Oon=JP+4R#FmQr=0Hyo0
zAc<xsl%AgjX|pZOg47AivmoWg+boEM;@Ob=Z=Vf`%9w13N1C!37!p7&o@{VpV_?dG
zgs6TF#DnfR^$-owIS`*V=0NIz4N&@C4kR)0<U-nnb-9q*a&s=kf_=FVi|^(_O0-|O
zkV?lO50cM|^B`%aDG#D<avmg&Y{-K+WKTU*;tG`h2-U!s4~awhd`Oxw$%hod?)eZ0
zX68c-n4S+QA=l?a^8ZJu`v3WmTqINg@wt2f#K%4b5OWitbbV<7Bu={uAgTUX0Rux8
zsOwY!DXT*YA(cpNAp=7ysDD@piR*ub5QDUeAZft92$Bo(iy+x_SrH_$UWCds6+;@S
zM#Yf2Aio&wuzH4d#gMqX4V7Rmfs_L-C6KsIh0?1_AVK@F1mZB0Qb>^+TMBVNe<>uW
z_m@Iy#S5hj4B?=nyA;w_bSr~6ysr$BICqtS98}N1aIXv!x6<X1APy*pq}rl#h)*U#
z`Fo-AcgrC@{a+5T$gBe5;E)Q414}C)QM981V&1a~h&ql+NZp}U2?-hRN(KgNQ2wu}
zWMHrawf`$28b4J+T&Pe5p<SvV`8%Tu;`2>akSMub1&PydP;stmh`ez%!~-$a5DROn
zA&G8bHN+unt05tAx|)HZ9@HKFUJZ#$p&E$6>NOCbJJmo8%B_JoptlAR#MhzfUerLU
zQ|4N5Tr!B(GB9{EFfcgPLLAZurMK5Y>X-+$kdRibgXEs5I)-|1U#_x_fnhx;pVmP_
zBCsBkCc5h(F5OxW@yWw_NSV*pzyR*9>ozbjJY`^DaBg5=5Mg9s&}@X1^>$5=xOZ-X
z)Q+>8AZg@I6C}IyG(!@*QFA@S<)O`xpl@o1DA>>palo}^hyxf}ASIwq3na*$TOdIi
z-U2Dvl3O4pTYU>81p8Yc`c}0tFj#;FGFl)Z%-;&>X{oeA8nf~Btq_+@YJ~*lp;k!H
zUulI@9{-_y$u@|%OB=+Z{5FWb`Zh>OxxNijCv0tl^a=O0LG=G>gM^q!JER=3Zif_f
ze(eklu?!3h^|kE~gKxJ(LV~RW;&Wpt9oqp3s`d^@i)U2_Bq|<tKvFk*C&VY3osf`=
z>4eBPbwbk4@=i!<Ki&zc_kVOk;$E-|?2&o~gDwUJKL!Q{hb{(&U<L+;{w_!mKJJ19
z;lD1354E}>78rCxf<CO9f#EeH14B|bq%!jBWnfTaWMF9OWnjo<U|?9;2dPuU`yn1s
z?1wnWr5~a{r5_ZP^$ZLJ{R|BA85kH^`XObs$^?jkjuRjuQ#t_>_X{RKirnoJAZ7je
z2@nHWCqh!U>O@G;W=({oiJ222*>~$iNUFa%5n?XiBuJ6%G>L&h7nJ{7CP9K`(<Dg#
zJUt1LeO^w2goMy!kV_dDbSFdjj*}tTFlI6&b>~ioB&v0jAww%KCqu@9Or}80TRjEh
zfs;`FgDDVw|E4f7)PqL5?58p?WH2x=1WbkGf}K+#K7BqF66gP?f{IE82J>l<vb$s&
z#HX95L0UkMra{t-?Q}@Vm_D5Wlwla=O@|~><rxeN0SpWb!85>d&ah+#B;>ZtV5kR=
zMqQZ!sf3=-fNGctNkqXjA&IPFCd2`=W<rAQ`b<b_mYfBNBAr<f@$gxY#5i*n#3N^B
zL9*YkS&)!1o(=I(-E2r=-!{9RfgzNEf#LCNNRV63fuw<?IgnIaKL?VHHq3$e@YEbg
zoPL=DF-T%ABzpzSg)~IUq4fN@ko<mpE+o$H%!MRgfq9U$VFsmx>gPfF_j&Um1{cj^
zU|?ckV3;-!5)w1#L41C49wdLW&4)OMcRnOe)#pQ^%5FZy!m#;}AkLl-ssF3zL&}4W
z`H(bnY(6CF7#A=w*n{%F!2(E}7A$}$T)zNf;oAj}M54725*67CAsQwugjjfCAtcCO
zEQCan)*?tX>$3>b`kk@}lK37jf@I(Siy)0p*2R#h=3UIdkj=nQ&)~TjQs!@63~|W&
z#Sn}2mO%1<{t`%B&RzoX@yR6+A3RtBDM<L2LK2<cQb?4fE`_v;=Pre0%P&hIX~1$B
z#GImKkk<8rWgrLDGcded1~KU4GDutsEQf@E`ErPO$#O`6F?l%y0|#iddpRU3RxF3q
zitCp{($3H25C<r&U;vM#N3DRga=TYRQv1CXkOs@Y6_7M$u#$m64V3?VS3)F8RzeI~
zwi1%q&aZ?-$xo0%1_lQ6Rgj>LTLqDCSOtliRjVLTa()#g5k80V`By`7iTY|t1I21J
zB#lI`hV%^!Rx>cvgNDhsuZ9Hm^VN__NO%pzBGomJxN~0vDR6w(KoV=*8i)^*)<6oT
z$!j2~d-)nj;yb$rQlQ;k1M&H{HINchY%RndpS2JVSFB~I2X{VKt%bzl`?ZiVTWuYr
z$TV07$=|8#AQnzo2MM8r>mWXRwGNUN{;q?>sm^+c!KLdVX=(X-P#iNbJX;Tmx_9d#
zA@O}ZB*Y{()I);8U<1U$@(qx<Sp%g{Zh$C!wgJ+S__u+9p_7q;A$}ty6~EjBQLnlg
zlCPaMLmU<d<ri*-w1|2)LrTD#n;~gJYYQX_YwNc_+U?7?Kzy=w3#7JsvIUZA*|$Pk
zIu2VQ4hh=|iNic7zj-Sp&Syi_9o`B_6F0X)qVV5VNK`0ngQ&CI28p7?ZIE)LzHl2v
zLH9ODTrJrKvFHd?{0@}=bsNMXyxSo~r}B1)Ljtx##8bCJ3b5+!kb-Cac1YB%*$(l@
z_3aP~1$IExYwZB%s(J>89gytgvjY-W!BBqm4oG55+5vG`$qq<vn6d+sk1y?j#5KcC
zh($(FI(8?dpz7EONfRe_LK2<eE{J~HU66i7^)65p)H5&~+y%++uXjNz4~^XrA4czn
z6u}+485jyc&GX%mxYXPONkpZ4ASK+iJ&+LGvIi2hXZJut=I$OydGKiuq*1E17vfR<
zy^yFj+snWp3d;Yfdm;6D^<GGvO#?}QEZhr;vvYePA@gl7Bo+VL3(0Qm`yjbOcON7%
z#_fY-$65Oz4qUen5;EuaLCXGL`yjc;bU(zyar+q<>OnIYv-d-a)>Zo<79HFVNrWf&
zLkxPeACfJ34?v<q`~W18nIC|}c?^_pH~^_lmmGlPieCpHQ6+wmfgu_+`h5`Mz=a1P
z=4?I4P!FEnx_S^2<Xnd!m5BKvNKn@wg2d(NLy$P+J`8b~`C*6!QHLSj^YX*cPU~Sv
z2!$MhcqA4|ryhZH+jEaV3bcwNkdUrBQV;Rrf+LW`aqtKvPX8Z)_)PXFBoR6ug{TWY
z3h`0NQAl~Q=qMy;uOEd(iO?}f9b$0|;=}l3kd{#WF-YoXISz4v+;NBlRqBs3Fq~mz
zV9+_v!0?2Df#K%~NF3ce39*R%6eJE!PeFX1a0+5@^C?Jyv-lLGlG=ZYfgzoNf#KdM
zNJ;8;8d9#*o`%$h-KQaG>CtIOn&CPFiSl~uGmz99bOw?yv(G?W+IR+1lFdE?F<>23
zob@b3o%~ryh?$;+q>bXU3=EYF3=FkrA@%?FvkVMr3=9k|=OE^<J_pGSN6ta2_dn;r
z<wQM$?RiMhdYy+<64~b&z;nI}&qJbM>v@PvZ=Q#w+7IU;xkdK^ByD(HfcUuM0wnwH
zzW~WzpDsW`PVpinN_;LtLa_KEB*dm&1ZC5D28OK{85jZ?7#L1nWMJ@TU|^8B1j)xa
zm%uJ$sJR4*v(8J9IP1RzsRgHBf~5A@mms;}<0VK#M(i?#A8;8G)TNgpLBH%W14BLo
z1H-w?kjlyK3Il^GDF4@9frP-~D-exGu0Rsk%PSBU%Uy*uwH&W9Fsx-@U}(My@v-4G
zNYH0ogM?JkHAt$Sb`285JFYP>gn-i2HAqzYT?hG?fg$laB$1b0XJDuYO|wtA4oSVs
zu0sqs1LePi@<nbyqQLA1ByITKfF#cJ8;~HMdIOT!PTYWW;jTgXS~ns3EN(*N{cl1X
z7JCztCg$B_s0Yt#Z@&qN)7v*8W%IY2kX&GM3(}WMy#=xG@-0Y+Fy4j)y~=G!8mPJr
zF>u#yi2lpBA$>~8I}nd$+<`<*-yLY3a0fC}BY3wSl3GLVLTagncOfpkbr({kO5cOT
zUHCmn2cjNIpSlMrphWLO>WIYqkdT;oACgFq+=n=b@c|@JOFe+3v497V0&dX*NP+gM
z{sAO)iams658H<jgGwJle7xczBsE`q2&%0Z7+4=c(un>e2tVWz#KCosAZcJfRQ&NH
zNE+dN4C#QlJcgvPipP-DKl3pp5!Ua3D){~w5;WRRAVF911k!vy`~*@ob3BFk)buH&
zEKhw33DSd4ArAWe6q2|Uo<S@&eFjOyInN*=xbPXoLnog>a>e&&;1H;1(0C4+cnEn8
zDbZ#;hosgmQ2z1f5Cb1Shs3?q3rMru_65X8?Jpo{XT=MM0}eywZ@hpwROuzer*$tO
zA+h%*q$&3CB`8Yk85o>iK^hXhuOM-^{}ltnSq27%Kd&Gma_TjtAQ658@v+?-NTRBE
z1NH&Kyf=^%@zfgz1|>!Yh6isL7{nPF7?|Hd$_?rFkhoWT4++uY_YjBdc+bFK1Iqtz
z-a~>&^8>_!zz>kL(ES0D77l-a1l_j}kjh5oBc%3={|L#BH6J0B)U=NfhpzYt$#$1N
zLd<>j5mK-TeS$PTlRiO0Z0jcmhI-KS+J#S$xE1;gi5sWS5FZwQhWK#iXGqi>{R~NT
z4?jb)C-)afVlw#x$t}TOASGx27f63${uf9cvEd8EoOfR!X-VoUB#Pa?g8F|93=C0U
z85rUj7#Nm(h2#d7Z;))F{SCq|{s!^ctZxtlj(&rriBI1k25WwY(4pTUaohMElK3ut
zhlCva4+w4g1Jc}2{sAcgSN*7mRHr9?Kq{RVKOhCmpC6E15cCt`fQ3IH+3dtmNRi9=
z3*r#rU*J|OgTpV#1cf6bBnrPWKx$3UXy|#+vK-Ko9R^6(K8b;W!Gwu{VF4opLsmT_
z1H(7a0wXB42d%jRt!`mpV9;k|U^v0Zz%Y-2fkB>;fuR&C=g7psunNk)%D})-1Z9Ip
zyFnvjuNW8@dO%BY7#J9;p>m*A5i=MW7&b97FqAMbF!X`U1NHwwi-th+e^C1wf*2t|
ze}$2O0pvK4_)SIzhDD4F4E+oY4F4Dz7?hY87`#EF6buXuUW^P3>lqmsjF=c0PBK7-
zac?m~dP|&43=9XM4mirlz>vnsz%Y}6fkBpufuRXxFsT2(h=GB@lZk<04+8^398|Fz
z69dB+hyrkx90L`f%D}*&4Ye2~{S_+C1*Ll#85mZ9B%pXNBWR9~fuV$vfx(QCf#Dt_
z1A_-tEl9~y#(D+@(DJuEj0_CZKq3r~Di*ZH3&dq*WME(c`53B+iHU*X5vXYn<%1Tb
zMKCZhJYj^)j(}ED&4S8-a#kzI5C#SY38+{;l-|h5z);S>z;GFq|3PYMKm=&g5K6ye
zfJ`7&F)}cCGcqu!FflMB!sMWafR^ilgh1=UteF@X!a*b8ObiU=jF90xklcMn28M}@
zkS?7AR3At@7Rs*Q4qA2xDy<k880LYdMWGTQjF16hkm4JR3=G0d3=FG590mr4#ZbD6
zfq~%}0|Uc0Mh1pU3=9lyP`xV{A-QS=XyhBJ7DTONWMDYS$iR@yz`&5q$iPqwihpND
z28Lj$Mj1v124^M)hDlI9NRuif1A`(XsH|pS*v!blAjrhP;Kc;V=f;eXg36SMfuRVb
zn1O-eHv<F19jJcL;O0fpY8oa6h6qLmhA&WY7A6LU7_j<!1_mprpg0qxv;r-+1IgWC
zfV9^@>vmEZAuA+xL9-hS3=C3?koH0*R4+(92;XI3U=U+sVBlk7V0g*Mz>vepz_5go
zf#E4Agqau^wty5t@m59#h7ef%zX7d)gGzh=rB)~#w1yAFv|wUjuw!IkxXr-8AjHVP
z5CF9}14>&mGBEIfECeYAIgkm`*#vQSf<l#nfng$O42g+>;W%gz3lxo@EDllt!k`6Y
zpBNYz{GbNLGcqu!F)=U*AZ52*jF6=`xuDPh71s<53|AN!7<i$2zJm;6U|{fPWMB|s
zVqjPX<%3pGW-~G{XfQD_xI)dl$-uy%#RQsvhYBb%F)-*bLF#O%K8AxZ257|-69a=b
z)S^kC>X{MJ!~%`^yMj_aRBjrSHh`M@0HhXb4l^TUnPwSOjXe`I{B5BEFBl;80BAKU
zs5`b5v_=z@-$9E|86kDTZbk-%cBp!&xeUjle9($X(BcA^IEelLA{ZDLt}`$&{D7(h
zjk<w^mw}4dYS0`$69dCa(85wC28J073=Gmx*Mk(TWn^I3!pOkz9~Adc@t2^E1S123
zBohO}1x84H9?HnTaGjBXp`Q`b+Xd+bt)c-f!(0I3fcg%M3=DEi3=E8*x&T!E>w(H;
z1_p*YsLN_Vol%fQpaq4D3=DRlG{DHfU=EefW`MM4RTvo<_!$`(_A@dt>}G(}f*?CU
zYeq~#<ppReh7r<|iehA7_{hM(a0qG!NZlhw28IcY4D}4Pj0_Atj0_A73=9mPK^Us&
z07w-Bq*n`CPQk{=z>o)(14)4v7(WCR&kPI<I#BTqQ2GIsR)vNZXf=f~69dD2P|9ay
zVBlk9U{D9Esb^r|fGPs5^8p!b$OLJ2fhMDVF)%R91uJA=SOcX&YCwyPiy0XhDi|3U
zm>3xt7?~It-ZL;Tyn(8bWMp8t1yTq~<)BbtWMGg5C0Hg%Lk21ZDaB?pGBB)$Y6M9f
z0mUB^q^ae^1ZlH@#6fsEBLl+^5Q72IGXgOufZ`QYHG@_}PkyK>Tn`$i2Cd#UWP~(l
zj)1zipt6&Zf#D(}149=mLKqns+87uZ)-gcZ)pa1F7$7Z5H&96fQpW&kmw}`ngO<90
z3U($2h5|-N3zQccbe#+g46{KA2Go59Wol1G$Y{VqP-}vTfk7HXGcqt(GeX8sBN-VO
zQWzN+u0g$h4>SSD#K5qe0Wy($8C2zgY-NCS@IXT(zoBYD!rY7u4C@#nT_YYQ$l#9w
zD2y2x7?y)7b&w)Z*Y-Uqk{B2m{xdQ#bR!wCj}g*~0IjbDsZD2OVED-ZX&vS<Fff=f
zGBB_)F)++wWMDW9Dw`P@7?hb97_68eP2N5R1_otD28O>N&7gb)rNI=aP}vJ+K?omc
zFtJ1F=?n}EM<G&RQkMxbjs2XFfgzKDf#E76149P`q)iQ4VZ;yB_ZaGdzo2#$NDU(c
zLl`3i!y3?%chK^7CI*ImpmDaJP=&3G3=ABM3=B@71{zfC6(eLA18g&t0IdoJF%K{@
zFid7(VA#*Vz%XSpqk-^b0Rxu$xuCWrC_+K4Cng34QBZZy$iT3Xfq~&LBLl+?1_lOE
zs1rdexfPfg7+jbb7#bKE7&e291*JaF!b(O423<x5h8Czx#GrCEj0_A585kJUnHU(B
zLdE1585nvQ7#M6psp&4rS)fvvfq}t-5z?CisXN5L!0?=bf#Ed+149zjP>{F_65AKb
zZUjj%Ffg2FWMI&TIu^7r-iMKaVHN`eg950{3QCm>3=Hgy3=F@Z`U*f*6liMzNIy3d
z1H)TT70<}Pu#JI%VLMb2XcNQ<P-6(n2dSL`YIQL(Fl=C8VE6_V2W^7509w}w<(~$H
z21qd!KV*Q6U;6xFV2CkfU??zTU<eWY1t|(ZYC!t_|NsBL?$=~11HF2m%;eO(;#39q
z0G~2rZ7T(Lzfcfcp)9qiI5R&_!B`=`NFgV&B(+GvCZnXJpx8=ZKRvHhFTW^VKL?_>
zSU<fWM=zr!H^)woD<mVcSRu1mA+0DiRiQXPt)x7$DAh`#GQU(Iu_zTHT#~PloROH9
zo~n@Om6xJWl$w%RTvC*oR9cd%kXZsUBef_MWQd=?Lbzj4kfUEnq>e&KzCuYxszPc-
zNorn+LP2U#Ze~eIYKlTqr9w_(xgOW%RD)@ZIvM%7sR{*&>8Vx-_m-EJ>%rU%bCSMl
zvHs?-hAPaGzNxuMsYMETiMgo?$@zIDiJ5uD3hH`#>YGJO53|*)s}`#kt1G1Brxxd_
zmnbCW<m8ttB<3k37NwWwrskD!F{l<>DdZQFfI<tZII~zGF*hkQy)?hHn2@}+LP36U
zab{9xPG(7FYOxiXaZIYklN-Xs7`Y~&wq7WsP?}einw+1WmsypXf@&$(<P4i7YO2Kw
zs>KQ!iNy+e`3k9NX{pI247$4LLYp~lg_-=Eu_z5uC`wICDOO0!%t-|YNiirTBqf$)
z<|=4_j4V!0EJy{V38;@V67y1WGV{_kH%r-1;9yHtaP#zW-Mqy80ORJJp5K|RauhOB
za|#qni!<}m!HEkN0XX6(J+%a+LEnyR^Ge^n9Gi2)(m3i<71HuS;SMqbVsEiRIVg>k
z7N@2tB&LB<XJTHZLSBBJE<`>t2OdGi3YnnTO3uhEOI1iNN=+;QyT7y`1;onDPf68N
zPzcFLEl!07XfZgY7UUOag5oqWN5MBS4`d4{FctFiaw?IGF3CtNfjSP9I&<|D6asQm
z6N^)IKml1)1Wx588L7Dn1x5J<sYN-JdYdoARdNdyrRL_Br7EOk7NsVa<QG*=w#mxo
zEG|hbQAkiNR^L27D^7;V*kJPiHd|gxT>~RsBVz?a6Dw2m$)4@f0v5UkhPp;(3Wk<e
zh9=quhLcO$)dkB^i%JqfQQ?rBpIVk$l(%_hyC@@1Kz?dUW{HB4o`Igp<Wn8y^)8tu
zpuAO9l$nK`LrWEM6VnwkQcD!TGC7%9*$U;ESyh?osd);id7xyFl3E0!iVKQTGgDIY
z^tfD76$*+{lQUDRQWe03K}jY!-?|6*=)wz=)V$Q9#2kfy(xjZsWCfpkNTC5XC^HpQ
zzNA6Q7d@`1%v1$}WsE{uetwZcN~%IxeojtmN@jYhf`)5edTLH_s-{9oYIbo6$X!(k
zuPJ1M$_sZ_S3d=J#~?>FzYtGX9f&Da`DLkKv&vIT6hNU=lAl^!l9*Vc$F=!ihX#{z
zcxqBXVtQs?qC#0>o&qSN!wW&2g^F_bX=Wjx%#^&u#9W1>)Uw19NNMu2?<+g3Gyz+p
zke-?fN|}&yM4==<6;W2CDj<rIyv)=Rh1Ar%l+w(U%yeSZSS#e_r>BCVFe5c3HBX@`
zGb;~VuqcC*INb2E)S}ePVzA-xG|e^n^0dPe3i)|SsoAM{DUeJ7)4?@)()4|L&_X6P
zHLV2V2b6*aU3jzaj44bJkirICjzL{FL|q{#HMO`zAqf=pc`3!9f*73KpruX~$ot@+
z0%h$~P|22@p^yqLh>A5g-=CGmCFtZD9OCHb0!mcnnOP~RMVsB0x-o6$U9p(O+c76S
zH8(XcRUxA^r$8YoGfN>oHL0jHGaDSI?tY=V#1~2H*QjxAzP;@amnt~@r6U3eTp)qM
z8ftinLSCZ6<b($j^@)jjxrvF{x(fMeAlu7Ri?TEG(u;HRQ%Z~V6ck)QnFs1KP&|RE
z15iz%o0yi7n3oNXMNt0BNKHxtC6}BWP^!tyE6d3TR{@}`ke8U9p9^*itX4|R(^F9J
zNG&Q(R?o=H2C0Es0nR<3T%Mj<o|;!&k_xRQ^fq5TD8tK`J^9nQbhqrpJW%>mR{$ry
z{DRcH)I0`|U~Xaol0;c*5hS#svS8K41x1;8=^&BGjpuWfLApT2T4^yjxYa>*DOg>8
xL0M5EMBV%IVvO07*)F_d%-{U+f;|^w(q_Zk@+^$`n*;C9=3&g<{PuMR8vxra|7`#O

delta 13012
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
OXY(+6Z#MnX!3F><op71}

diff --git a/po/nl.po b/po/nl.po
index 735e63bc..cfbd6e36 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,20 +1,21 @@
 # Dutch translations for GNU tar.
-# Copyright (C) 2016 Free Software Foundation, Inc.
+# Copyright (C) 2018 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 #
-# “Moet men krabben waar het jeukt?”
+# “Hoeperdepoep!”
 #
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008, 2010, 2011, 2013, 2014, 2016.
 # Erwin Poeze <erwin.poeze@gmail.com>, 2009.
 # Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
-#: src/create.c:1599
+# Benno Schulenberg <vertaling@coevern.nl>, 2005, 2006, 2007, 2008, 2010, 2011, 2013, 2014, 2016, 2018.
+#
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.29\n"
+"Project-Id-Version: tar-1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-20 10:15+0200\n"
-"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-01-26 19:14+0100\n"
+"Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
@@ -22,7 +23,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.0\n"
+"X-Generator: Poedit 2.0.4\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -103,7 +104,7 @@ msgid "give a short usage message"
 msgstr "een korte gebruikssamenvatting tonen"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAAM"
 
@@ -141,29 +142,29 @@ msgid "write error"
 msgstr "schrijffout"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: optie '%s' is niet eenduidig\n"
+msgstr "%s: optie '%s%s' is niet eenduidig\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: optie '%s' is niet eenduidig; mogelijkheden zijn:"
+msgstr "%s: optie '%s%s' is niet eenduidig; mogelijkheden zijn:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: onbekende optie '%c%s'\n"
+msgstr "%s: onbekende optie '%s%s'\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: optie '%c%s' staat geen argument toe\n"
+msgstr "%s: optie '%s%s' staat geen argument toe\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: optie '--%s' vereist een argument\n"
+msgstr "%s: optie '%s%s' vereist een argument\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -238,12 +239,12 @@ msgstr "^[jJyY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "In pakketvorm gebracht door %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "In pakketvorm gebracht door %s\n"
@@ -251,12 +252,11 @@ msgstr "In pakketvorm gebracht door %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -269,7 +269,7 @@ msgstr ""
 "Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n"
 "De precieze licentie is GPL-3+: GNU General Public License versie 3 of "
 "later.\n"
-"Zie http://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst.\n"
+"Zie https://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst.\n"
 "Deze software kent GEEN GARANTIE, voor zover de wet dit toestaat.\n"
 "\n"
 
@@ -408,15 +408,14 @@ msgid "%s home page: <%s>\n"
 msgstr "Webpagina van %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Webpagina van %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Webpagina van %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Algemene hulp bij gebruik van GNU-software: <http://www.gnu.org/gethelp/>\n"
+"Algemene hulp bij gebruik van GNU-software: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -535,193 +534,193 @@ msgstr "Kan geen bestanden omleiden voor shell op afstand"
 msgid "Cannot execute remote shell"
 msgstr "Kan gindse shell niet uitvoeren"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Sprongrichting valt buiten bereik"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Ongeldige sprongrichting"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Ongeldige sprongpositie"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Sprongpositie valt buiten bereik"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Ongeldig byte-aantal"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Byte-aantal valt buiten bereik"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Voortijdig einde van bestand"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Ongeldige bewerkingscode"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Bewerking wordt niet ondersteund"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Onverwachte argumenten"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 "Een magneetband manipuleren, en opdrachten accepteren van een ander proces."
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "AANTAL"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "debug-niveau instellen"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "BESTAND"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "naam van debug-uitvoerbestand instellen"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "kan %s niet openen"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "te veel argumenten"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Ongeldige opdracht"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Dit ziet er niet uit als een tar-archief"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Totaal aantal gelezen bytes"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Totaal aantal geschreven bytes"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Totaal aantal verwijderde bytes"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(pijp)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Archiefinhoud wordt niet van terminal gelezen (ontbrekende optie '-f'?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Archiefinhoud wordt niet naar terminal geschreven (ontbrekende optie '-f'?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Ongeldige waarde voor recordgrootte"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Geen archiefnaam opgegeven"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan archieven op standaardinvoer of -uitvoer niet verifiëren"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archief is gecomprimeerd.  Gebruik optie '%s'."
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Kan ingepakte archieven niet bijwerken"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Aan het begin van de band -- tar sluit nu af."
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Te veel fouten -- tar sluit nu af."
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Recordgrootte = %lu blok"
 msgstr[1] "Recordgrootte = %lu blokken"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Niet-uitgelijnd blok (%lu byte) in archief"
 msgstr[1] "Niet-uitgelijnd blok (%lu bytes) in archief"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Kan niet terugzoeken in archiefbestand; het kan onleesbaar zijn zonder -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek() is niet gestopt op een recordgrens"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: bevat een ongeldig deelnummer"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Deelnummer-overloop"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Zet deel #%d voor %s klaar en druk op Enter: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "een lege tekst, terwijl gebruikersinvoer werd verwacht"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "WAARSCHUWING: Archief is onvolledig"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -733,65 +732,65 @@ msgstr ""
 " q           tar afbreken\n"
 " y of Enter  doorgaan\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !           een subshell starten\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?           dit lijstje tonen\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Geen nieuw deel -- tar sluit af.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Geen bestandsnaam opgegeven.  Probeer het nog eens.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ongeldige invoer.  Typ ? voor hulp.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "Opdracht %s is mislukt"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s gaat niet verder in dit deel"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s gaat mogelijk verder in dit deel: de kop bevat een afgekapte naam"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s heeft een verkeerde grootte (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Dit deel valt buiten de reeks (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Archief bevat geen label, kan niet overeenkomen met %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Deel %s komt niet overeen met %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -799,211 +798,211 @@ msgstr ""
 "%s: bestandsnaam is te lang om opgeslagen te worden in een GNU-meerdelenkop; "
 "afgekapt"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "schrijven is niet gestopt op een recordgrens"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Kon slechts %lu van %lu byte lezen"
 msgstr[1] "Kon slechts %lu van %lu bytes lezen"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Inhouden verschillen"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Onverwacht einde-van-bestand in archief"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Bestandssoort verschilt"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Modus verschilt"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "UID verschilt"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "GID verschilt"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Wijzigingstijd verschilt"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Grootte verschilt"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Niet gekoppeld aan %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symbolische koppeling verschilt"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Apparaatnummer verschilt"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verifiëren "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Onbekende bestandssoort '%c'; gedifft als gewoon bestand"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Archief bevat bestandsnamen waarvan de prefixen verwijderd zijn."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Archief bevat getransformeerde bestandsnamen."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Een verificatie kan mogelijk de originele bestanden niet vinden."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "Verificatie is MISLUKT: %d ongeldige kop gevonden"
 msgstr[1] "Verificatie is MISLUKT: %d ongeldige koppen gevonden"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Een los blok met nullen op %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: map bevat cache-markering %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "waarde %s valt buiten bereik voor %s (%s..%s); wordt vervangen door %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "waarde %s valt buiten bereik voor %s (%s..%s)"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Er worden negatieve octale koppen gemaakt"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: bestandsnaam is te lang (max %d); niet gearchiveerd"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: bestandsnaam is te lang (kan niet worden gesplitst); niet gearchiveerd"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: koppelingsnaam is te lang; niet gearchiveerd"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Bestand is gekrompen met %s byte; aangevuld met nullen"
 msgstr[1] "%s: Bestand is gekrompen met %s bytes; aangevuld met nullen"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: bestand staat op een ander bestandssysteem; niet gearchiveerd"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "inhoud niet gearchiveerd"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Onbekende bestandssoort; bestand genegeerd"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Ontbrekende koppelingen naar %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: bestand is ongewijzigd; niet gearchiveerd"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: bestand is het archief zelf; niet gearchiveerd"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "map is niet gearchiveerd"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: bestand is gewijzigd tijdens het lezen"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket genegeerd"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: deur genegeerd"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Alles tot aan volgende kop wordt overgeslagen"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Niet-kop wordt uit archief verwijderd"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: onwaarschijnlijk oud tijdsstempel %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: tijdsstempel %s ligt %s seconden in de toekomst"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Onverwachte inconsistentie tijdens aanmaken van map"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: bestaand bestand wordt overgeslagen"
@@ -1027,7 +1026,7 @@ msgstr ""
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Kan niet uitpakken -- bestand gaat door vanuit een ander deel"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Onverwachte langenaamkop"
 
@@ -1044,7 +1043,7 @@ msgstr "Huidige %s is nieuwer of even oud"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: Lidnaam bevat '..'"
 
 #: src/extract.c:1696
 #, c-format
@@ -1056,22 +1055,22 @@ msgstr "%s: Kan geen reservekopie van dit bestand maken"
 msgid "Cannot rename %s to %s"
 msgstr "Kan %s niet tot %s hernoemen"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Map is hernoemd van %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Map is nieuw"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: bestand staat op een ander bestandssysteem; niet gearchiveerd"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Map is hernoemd"
@@ -1199,35 +1198,35 @@ msgstr "%s: Verwijderen van %s...\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Kan niet verwijderen"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Overgeslagen"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok van NUL-tekens **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Einde-van-bestand **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Witruimte in kop waar numerieke waarde voor %s werd verwacht"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1235,162 +1234,161 @@ msgstr ""
 "aangenomen"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Octaalwaarde %.*s in archief valt buiten bereik voor %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archief bevat ouderwetse grondtal-64 koppen"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Tekenreeks %s (met grondtal-64-met-teken) valt buiten bereik voor %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Grondtal-256 waarde in archief valt buiten bereik voor %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Archief bevat %.*s waar numerieke waarde voor %s werd verwacht"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Waarde %s in archief valt buiten bereik voor %s (%s..%s)"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " koppeling naar %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " onbekende bestandssoort %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lange koppeling--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Lange naam--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Deelkop--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Verder bij byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Aanmaken van map:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Hernoemen van %s naar %s...\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "Kan %s niet naar %s hernoemen"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Hernoemen van %s terug naar %s...\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Bestand werd verwijderd voordat het gelezen kon worden"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "dochterproces"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "interproces-kanaal"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Lokale bestandsnaamkeuze:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "het gegeven BESTAND aan het archief toevoegen (handig als de naam begint met "
 "een '-')"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "MAP"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "naar MAP gaan"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "namen van in of uit te pakken bestanden uit BESTAND halen"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 "'-T' leest met NUL afgesloten namen; impliceert '--verbatim-files-from'"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "het resultaat van de vorige '--null'-optie ongedaan maken"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "aanhalingstekens verwijderen rond invoerbestand of lidnamen (standaard)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "geen aanhalingstekens verwijderen rond invoerbestand of lidnamen"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "'-T' leest bestandsnamen verbatim (ziet geen opties)"
+msgstr "'-T' leest bestandsnamen verbatim (ziet geen opties noch escapes)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "'-T' ziet bestandsnamen die beginnen met een streepje als opties (standaard)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATROON"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "bestanden uitsluiten, gegeven als een PATROON"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "uitsluitingspatronen staan opgesomd in BESTAND"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1398,24 +1396,24 @@ msgstr ""
 "inhoud van mappen die CACHEDIR.TAG bevatten uitsluiten, behalve CACHEDIR.TAG "
 "zelf"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "alles onder mappen die CACHEDIR.TAG bevatten uitsluiten"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "mappen die CACHEDIR.TAG bevatten uitsluiten"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "inhoud van mappen die BESTAND bevatten uitsluiten, behalve BESTAND zelf"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "uitsluitingspatronen voor mappen uit BESTAND lezen, als deze bestaat"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1423,117 +1421,121 @@ msgstr ""
 "uitsluitingspatronen voor mappen en submappen uit BESTAND lezen, als deze "
 "bestaat"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "alles onder mappen die BESTAND bevatten uitsluiten"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "mappen die BESTAND bevatten uitsluiten"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "systeemmappen van versiebeheer uitsluiten"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "uitsluitingspatronen uit VCS-ignore-bestanden lezen"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "reservekopieën en vergrendelingsbestanden uitsluiten"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "recursief in mappen afdalen (standaard)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "niet automatisch afdalen in mappen"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "patronen komen overeen met begin van bestandsnaam"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "patronen komen overeen met alles na een '/' (is standaard bij uitsluiting)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "verschil tussen hoofd- en kleine letters negeren"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "hoofdlettergevoelige vergelijking (standaard)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "jokertekens gebruiken (is standaard bij uitsluiting)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "exacte tekenreeksvergelijking"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "jokertekens komen overeen met '/' (is standaard bij uitsluiting)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "jokertekens komen niet overeen met '/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"De volgende opties werden gebruikt na non-optie argumenten in aanmaak- of "
+"bijwerkingsmodus.  Deze opties zijn positie-afhankelijk en hebben alleen "
+"invloed op de nakomende argumenten.  Herschik de opties voor het gewenste "
+"effect."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s heeft geen effect"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s heeft geen effect"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s heeft geen effect"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "opdrachtregel"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: verzochte bestandenlijst uit %s is al gelezen uit %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "kan tekenreeks '%s' niet splitsen: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: gelezen bestandsnaam bevat een NUL-teken"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Bestandsnamen bevatten jokertekens."
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1541,46 +1543,46 @@ msgstr ""
 "Gebruik '--wildcards' om patroonovereenkomsten in te schakelen,\n"
 "of '--no-wildcards' om deze waarschuwing te onderdrukken."
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Komt niet voor in archief"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Is vereist maar komt niet voor in archief"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Archieflabel komt niet overeen"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Met '--listed-incremental' is '-C' niet toegestaan binnen een bestandenlijst"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Met '--listed-incremental' is slechts één '-C' toegestaan"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Opties '%s' en '%s' willen beide standaardinvoer gebruiken"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Ongeldige archiefindeling"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-functies gevraagd bij een incompatibele archiefindeling"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1807,7 +1809,7 @@ msgstr "Selecteren van uitvoerkanaal:"
 msgid "extract files to standard output"
 msgstr "bestanden uitpakken naar standaarduitvoer"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "OPDRACHT"
 
@@ -1844,7 +1846,7 @@ msgstr "UID's en gebruikersnamen uit BESTAND halen"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "GID's en groepsnamen uit BESTAND halen"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATUM-OF-BESTAND"
 
@@ -2059,7 +2061,7 @@ msgstr "doorgaan met lezen tot blok compleet is (voor 4.2BSD-pijpen)"
 msgid "Archive format selection:"
 msgstr "Archiefindelingskeuze:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "INDELING"
 
@@ -2143,62 +2145,62 @@ msgstr "PROGRAMMA"
 msgid "filter through PROG (must accept -d)"
 msgstr "het archief door dit programma filteren (moet '-d' accepteren)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Lokale bestandskeuze:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "in het lokale bestandssysteem blijven bij maken van archief"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "leidende '/' niet uit bestandsnamen verwijderen"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "symbolische koppelingen volgen; de bestanden waar ze naar verwijzen "
 "archiveren"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "harde koppelingen volgen; de bestanden waar ze naar verwijzen archiveren"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "LIDNAAM"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "beginnen bij lid LIDNAAM tijdens lezen van het archief"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "alleen bestanden opslaan die nieuwer zijn dan DATUM-OF-BESTAND"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "datum en tijd alleen vergelijken wanneer gegevens veranderd zijn"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "MANIER"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "voor verwijdering een reservekopie maken, op de aangegeven MANIER"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "TEKENREEKS"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2207,61 +2209,61 @@ msgstr ""
 "(in plaats van '~', die standaard is tenzij door omgevingsvariable "
 "SIMPLE_BACKUP_SUFFIX veranderd)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Bestandsnaam-transformaties:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "dit AANTAL leidende componenten uit bestandsnamen verwijderen"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "EXPRESSIE"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "deze vervangings-EXPRESSIE gebruiken om bestandsnamen met 'sed' te "
 "transformeren"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informatieve uitvoer:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "de verwerkte bestanden opsommen"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "SLEUTELWOORD"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "waarschuwingsbeleid"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "voortgangsberichten tonen voor elk AANTALste record (standaard 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ACTIE"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "bij elk controlepunt deze ACTIE uitvoeren"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "een bericht tonen als niet alle links gearchiveerd werden"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2273,35 +2275,35 @@ msgstr ""
 "ontvangen wordt; mogelijke signalen zijn: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 "
 "en SIGUSR2; de namen zonder het voorvoegsel SIG worden ook geaccepteerd"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "bestandswijzigingstijden in UTC tonen"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "bestandstijden in volledige resolutie tonen"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "gedetailleerde uitvoer naar BESTAND sturen"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "bloknummer binnen archief tonen bij elk bericht"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "bij elke actie om toestemming vragen"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "standaardinstellingen van 'tar' tonen"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "geldige bereiken tonen voor snapshot-velden"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2309,33 +2311,33 @@ msgstr ""
 "bij opsommen of uitpakken: elke map opsommen die niet aan zoekcriteria "
 "voldoet"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "bestands- of archiefnamen na transformatie tonen"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STIJL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "aanhalingsstijl voor namen instellen (zie verderop voor geldige waarden van "
 "STIJL)"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "ook de tekens in TEKENREEKS aanhalen"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "de tekens in TEKENREEKS niet aanhalen"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Compatibiliteitsopties:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2343,23 +2345,23 @@ msgstr ""
 "bij aanmaken hetzelfde als --old-archive; bij uitpakken hetzelfde als --no-"
 "same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Andere opties:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr ""
 "het gebruik van potentieel gevaarlijke opties of opdrachten uitschakelen"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "optie '%s' gaat niet samen met '%s'"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2367,40 +2369,40 @@ msgstr ""
 "Slechts één van de opties '-Acdtrux', '--delete', of '--test-label' is "
 "mogelijk"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Conflicterende compressie-opties"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Onbekende signaalnaam: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Voorbeeldbestand voor tijdsstempel niet gevonden"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Onbekende datumopmaak %2$s wordt vervangen door %1$s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Optie %s: datum '%s' wordt begrepen als %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "het archief door '%s' filteren"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Geldige argumenten van de optie '--quoting-style' zijn:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2408,163 +2410,163 @@ msgstr ""
 "\n"
 "*Deze* tar gebruikt de volgende standaardwaarden:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Ongeldige eigenaar of groeps-ID"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Ongeldige blokkenfactor"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Ongeldige bandlengte"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Onjuiste waarde van incrementeel niveau"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Meerdere drempeldata"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Ongeldig versienummer voor luchtige indeling"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' is op dit platform niet mogelijk"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "Waarde van '--checkpoint' is geen geheel getal"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Ongeldige modus gegeven bij optie"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Ongeldig nummer"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Ongeldige recordgrootte"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Recordgrootte moet een veelvoud zijn van %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Ongeldig aantal elementen"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Slechts één optie '--to-command' is toegestaan"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Ongeldig dichtheidsargument: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Onbekende dichtheid: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Opties '-[0-7][lmh]' worden niet ondersteund door *deze* tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: locatie van de fout"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "fout bij ontleden van %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[BESTAND]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "non-optie argumenten in %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "kan TAR_OPTIONS niet splitsen: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Oude optie '%c' vereist een argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "Optie '--occurrence' betekent niets zonder een bestandenlijst"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Voor meerdere archiefbestanden is de optie '-M' vereist"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Optie '--level' is betekenisloos zonder '--listed-incremental'"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Deellabel is te lang (grens is %lu byte)"
 msgstr[1] "%s: Deellabel is te lang (grens is %lu bytes)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Kan meerdelige archieven niet verifiëren"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Kan ingepakte archieven niet verifiëren"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan geen meerdelige ingepakte archieven verwerken"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Kan ingepakte archieven niet samenvoegen"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "Optie '--clamp-mtime' vereist een datum opgegeven via '--mtime'"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "Optie '--pax' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "Optie '--acls' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "Optie '--selinux' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "Optie '--xattrs' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2572,83 +2574,92 @@ msgstr ""
 "Kan naam van topmap niet achterhalen; zet deze expliciet met '--one-top-"
 "level=MAP'"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Deellengte kan niet kleiner zijn dan de recordgrootte"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Een compleet leeg archief wordt niet aangemaakt"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Opties '-Aru' gaan niet samen met '-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "U dient een van de opties '-Acdtrux', '--delete', of '--test-label' op te "
 "geven"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Gestopt in fouttoestand vanwege eerdere fouten"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Bestand is gekrompen met %s byte"
 msgstr[1] "%s: Bestand is gekrompen met %s bytes"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Sleutelwoord %s is onbekend of nog niet geïmplementeerd"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Tijdsstempel valt buiten toegestaan bereik"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Patroon %s kan niet worden gebruikt"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Sleutelwoord %s kan niet worden overstegen"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Onjuiste uitgebreide kop: ontbrekende lengte"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Lengte %*s van uitgebreide kop valt buiten bereik"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Onjuiste uitgebreide kop: ontbrekende witruimte na de lengte"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Onjuiste uitgebreide kop: ontbrekend isgelijkteken"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Onjuiste uitgebreide kop: ontbrekend regeleinde"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Genegeerd: onbekend sleutelwoord '%s' in uitgebreide kop"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2657,47 +2668,47 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 "Waarde %2$s in uitgebreide kop valt buiten bereik voor %1$s (%3$s..%4$s)"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Onjuiste uitgebreide kop: overtollige %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s: onverwacht scheidingsteken %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s: oneven aantal waarden"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: ongeldige tijdswaarde"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: onbekende actie voor controlepunt"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "schrijven"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "lezen"
 
@@ -2705,7 +2716,7 @@ msgstr "lezen"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Schrijfcontrolepunt %u"
@@ -2714,12 +2725,12 @@ msgstr "Schrijfcontrolepunt %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Leescontrolepunt %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2728,99 +2739,103 @@ msgstr ""
 "paxutils.\n"
 "OPTIES zijn:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Bestandsaanmaak-opties:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "GROOTTE"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "een bestand van de gegeven GROOTTE aanmaken"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "naar het bestand NAAM schrijven i.p.v. naar standaarduitvoer"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "bestandsnamen uit BESTAND lezen"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T leest met NUL afgesloten namen"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "het bestand met het gegeven PATROON vullen; PATROON is 'default' (standaard) "
 "of 'zeros' (nullen)"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "blokgrootte voor luchtig bestand"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "luchtig bestand genereren; de rest van de opdrachtregel specificeert de "
 "indeling"
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "POSITIE"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "naar deze positie springen alvorens met schrijven te beginnen"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "niet-fatale foutmeldingen onderdrukken"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Bestandsstatistieken-opties:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "voor elk gegeven bestand de inhoud van de struct 'stat' printen; de "
 "standaard INDELING is: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Synchrone-uitvoer-opties:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPTIE"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "gegeven ARGUMENTEN uitvoeren; dit is nuttig bij '--checkpoint' samen met één "
 "van '--cut', '--append', '--touch', of '--unlink'"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "de gegeven actie uitvoeren (zie verderop) bij bereiken van het AANTALste "
 "controlepunt"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "de datum voor de volgende '--touch'"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "de uitgevoerde controlepunten en de afsluitwaarde van OPDRACHT tonen"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2828,7 +2843,7 @@ msgstr ""
 "Synchroon uit te voeren acties.  Deze worden uitgevoerd bij het bereiken van "
 "het controlepunt opgegeven met de optie '--checkpoint'."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2836,129 +2851,129 @@ msgstr ""
 "BESTAND afkappen tot de grootte opgegeven met een voorafgaande optie '--"
 "length' (of 0 als niet gegeven)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "BESTAND met GROOTTE aantal bytes vergroten; deze GROOTTE is met een "
 "voorafgaande optie '--length' opgegeven"
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "de toegangs- en wijzigingstijdsstempels van BESTAND bijwerken"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "OPDRACHT uitvoeren"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "BESTAND verwijderen"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ongeldige grootte: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Getal valt buiten toegestaan bereik: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatieve grootte: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
-msgstr "Kan status van %s niet bepalen"
+msgstr "kan status van %s niet bepalen"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "gevraagde bestandslengte is %lu, werkelijke is %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "aangemaakt bestand is niet luchtig"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fout tijdens getalsontleding, nabij '%s'"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Onbekende datumopmaak"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENTEN]..."
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
-msgstr "Kan '%s' niet openen"
+msgstr "kan '%s' niet openen"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
-msgstr "Kan niet springen"
+msgstr "kan niet springen"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
-msgstr "Bestandsnaam bevat een NUL-teken"
+msgstr "bestandsnaam bevat een NUL-teken"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
-"Kan geen luchtige bestanden genereren op standaarduitvoer; gebruik de optie "
+"kan geen luchtige bestanden genereren op standaarduitvoer; gebruik de optie "
 "'--file'"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr "Onjuist masker (nabij '%s')"
+msgstr "onjuist masker (nabij '%s')"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Onbekend veld '%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "Kan tijdsstempel van '%s' niet zetten"
+msgstr "kan tijdsstempel van '%s' niet zetten"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
-msgstr "Kan '%s' niet afkappen"
+msgstr "kan '%s' niet afkappen"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
-msgstr "Opdracht %s is mislukt"
+msgstr "opdracht %s is mislukt"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "Kan '%s' niet afkappen"
+msgstr "kan status van '%s' niet opvragen"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "Kan tijdsstempel van '%s' niet zetten"
+msgstr "kan map '%s' niet verwijderen"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
-msgstr "Kan '%s' niet verwijderen"
+msgstr "kan '%s' niet verwijderen"
 
 #: tests/genfile.c:918
 #, c-format
@@ -2995,6 +3010,9 @@ msgstr "Opdracht is afgebroken\n"
 msgid "--stat requires file names"
 msgstr "Optie '--stat' vereist bestandsnamen"
 
+#~ msgid "OPTION"
+#~ msgstr "OPTIE"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: Parameter in ARGP_HELP_FMT moet positief zijn"
 
diff --git a/po/pl.gmo b/po/pl.gmo
index 0a4211216a4d7592fe5126f49053dff8c4d6ce98..27acc84c37a66ecf6642e949518dc0ee6d1a851f 100644
GIT binary patch
delta 15036
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
AZ2$lO

delta 12936
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

diff --git a/po/pl.po b/po/pl.po
index 4269e79d..c992ec8f 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,13 +5,13 @@
 # Thanks to: Jakub Bogusz for remarks and corrections, 2003, 2004, 2007, 2008, 2010,
 # 	Jan Psota for corrections, 2017.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2017-07-03 03:30+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-19 20:10+0100\n"
 "Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -99,7 +99,7 @@ msgid "give a short usage message"
 msgstr "krótka informacja o opcjach"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAZWA"
 
@@ -137,29 +137,29 @@ msgid "write error"
 msgstr "błąd zapisu"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: opcja „%s” jest niejednoznaczna\n"
+msgstr "%s: opcja „%s%s” jest niejednoznaczna\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: opcja „%s” jest niejednoznaczna; możliwości:"
+msgstr "%s: opcja „%s%s” jest niejednoznaczna; możliwości:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: nierozpoznana opcja „%c%s”\n"
+msgstr "%s: nierozpoznana opcja „%s%s”\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: opcja „%c%s” nie może mieć argumentu\n"
+msgstr "%s: opcja „%s%s” nie może mieć argumentu\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: opcja „--%s” wymaga argumentu\n"
+msgstr "%s: opcja „%s%s” wymaga argumentu\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -234,12 +234,12 @@ msgstr "^[TtYy].*"
 msgid "^[nN]"
 msgstr "^[nN].*"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Pakowane przez %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Pakowane przez %s\n"
@@ -247,12 +247,11 @@ msgstr "Pakowane przez %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -262,7 +261,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Licencja GPLv3+: GNU GPL wersja 3 albo późniejsza http://gnu.org/licenses/"
+"Licencja GPLv3+: GNU GPL wersja 3 albo późniejsza https://gnu.org/licenses/"
 "gpl.html\n"
 "To jest wolne oprogramowanie: możesz je modyfikować i rozpowszechniać.\n"
 "Autorzy NIE DAJĄ GWARANCJI w granicach dozwolonych prawem.\n"
@@ -401,15 +400,14 @@ msgid "%s home page: <%s>\n"
 msgstr "Strona domowa %s: %s\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Strona domowa %s: http://www.gnu.org/software/%s/\n"
+msgstr "Strona domowa %s: https://www.gnu.org/software/%s/\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Informacje o używaniu oprogramowania GNU: http://www.gnu.org/gethelp/\n"
+"Informacje o używaniu oprogramowania GNU: https://www.gnu.org/gethelp/\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -533,146 +531,146 @@ msgstr "Nie można przekierować plików do zdalnej powłoki"
 msgid "Cannot execute remote shell"
 msgstr "Nie można uruchomić zdalnej powłoki"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Sposób ustawiania pozycji w pliku spoza zakresu"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Błędny kierunek przesuwania wskaźnika pozycji"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Błędne przesunięcie wskaźnika pozycji"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Pozycja w pliku poza zakresem"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Błędna liczba bajtów"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Liczba bajtów poza zakresem"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Przedwczesny EOF"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Błędny kod operacji"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operacja nie przewidziana"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Nieoczekiwany argumenty"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 "Posługiwanie się napędem taśmowym, przyjmowanie poleceń od zdalnego procesu"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "LICZBA"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "ustawienie poziomu wypisywania informacji diagnostycznych"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "PLIK"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "plik do zapisywania informacji diagnostycznych"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
-msgstr "nie można otworzyć %s"
+msgstr "nie udało się otworzyć %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "za dużo argumentów"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Bezsensowna komenda"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "To nie wygląda jak archiwum tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Liczba przeczytanych bajtów"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Licza zapisanych bajtów"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Liczba skasowanych bajtów"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Odmowa czytania zawartości archiwumn z terminala (brakująca opcja -f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Odmowa pisania zawartości archiwumn do terminala (brakująca opcja -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Błędna wartość record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Nie podana nazwa archiwum"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nie można zweryfikować archiwum z/do stdin/stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archiwum jest skompresowane. Należy użyć opcji %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Nie można uaktualnić archiwum skompresowanego"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Na początku taśmy, teraz kończę"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Za dużo błędów, kończę"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -680,7 +678,7 @@ msgstr[0] "Rozmiar rekordu = %lu blok"
 msgstr[1] "Rozmiar rekordu = %lu bloki"
 msgstr[2] "Rozmiar rekordu = %lu bloków"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -688,38 +686,38 @@ msgstr[0] "Nierówny blok (%lu bajt) w archiwum"
 msgstr[1] "Nierówny blok (%lu bajty) w archiwum"
 msgstr[2] "Nierówny blok (%lu bajtów) w archiwum"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Nie można się cofnąć w pliku archiwum; może nie być czytelny bez -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek nie zatrzymał się na granicy rekordów"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: zawiera błędny numer części"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Przepełnienie numeru części"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Przygotuj część numer %d dla %s i naciśnij return: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "EOF kiedy była oczekiwana odpowiedź użytkownika"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "UWAGA: Archiwum jest niekompletne"
 
 # rare case when `for parts' translates into `części' for both sing. and plural in Polish - rzm
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -730,68 +728,68 @@ msgstr ""
 " q             Zakończenie programu tar\n"
 " y albo Enter  Kontynuacja\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Uruchomienie powłoki\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Wypisanie tej listy\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Brak nowej części; zakończenie pracy.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Brak nazwy pliku. Spróbuj jeszcze raz.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 "Błędne dane wejściowe. Wciśnij ? żeby przeczytać informacje pomocnicze\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s polecenie zwróciło błąd"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nie jest kontynuowany w tej części"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s prawdopodobnie jest kontynuowany w tej części: nagłówek zawiera skróconą "
 "nazwę"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s to zły rozmiar (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ta część nie jest w kolejności (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Etykieta archiwum nie pasuje do %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Część %s nie pasuje do %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -799,11 +797,11 @@ msgstr ""
 "%s: nazwa pliku jest za długa do zapisania w nagłówku wieloczęściowego "
 "archiwum GNU, zostanie skrócona"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "zapis nie zakończył się na granicy bloków"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
@@ -811,75 +809,75 @@ msgstr[0] "Można było przeczytać tylko %lu z %lu bajtu"
 msgstr[1] "Można było przeczytać tylko %lu z %lu bajtów"
 msgstr[2] "Można było przeczytać tylko %lu z %lu bajtów"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Zawartości się różnią"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Nieoczekiwany EOF w archiwum"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Różne typy plików"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Uprawnienia się różnią"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid się różni"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid się różni"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Czas modyfikacji się różni"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Rozmiar się różni"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Nie dołączony do %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Łącze symboliczne się różni"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Różnią się numery urządzeń"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Sprawdzanie "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Nieznany typ pliku „%c”, porównywany jako zwykły plik"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Archiwum zawiera nazwy plików bez początkowych elementów ścieżek."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Archiwum zawiera zmienione nazwy plików."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Podczas weryfikacji mogą nie być znalezione pliki lokalne"
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -887,48 +885,48 @@ msgstr[0] "BŁĄD WERYFIKACJI: wykryto %d błędny nagłówek"
 msgstr[1] "BŁĄD WERYFIKACJI: wykryto %d błędne nagłówki"
 msgstr[2] "BŁĄD WERYFIKACJI: wykryto %d błędnych nagłówków"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Samotny blok zerowy przy %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: zawiera znacznik katalogu pamięci podręcznej %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "wartość %s z %s poza zakresem %s..%s; podstawione %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "wartość %s z %s poza zakresem %s..%s"
 
 # hm? - rzm
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Tworzenie ujemnych nagłówków ósemkowych"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: nazwa pliku jest za długa (powyżej %d); nie została zapisana"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: nazwa pliku jest za długa (nie może być podzielona); nie została zapisana"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: nazwa łącza jest za długa; nie została zapisana"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -936,78 +934,78 @@ msgstr[0] "%s: Plik skurczył się o %s bajt; jest dopełniany zerami"
 msgstr[1] "%s: Plik skurczył się o %s bajty; jest dopełniany zerami"
 msgstr[2] "%s: Plik skurczył się o %s bajtów; jest dopełniany zerami"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: plik w innym systemie plików; nie został zapisany"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "zawartość nie została zapisana"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Nieznany typ pliku; plik zignorowany"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Brakujące łącza do %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: plik jest niezmieniony; nie został zapisany"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: plik jest w tym archiwum; nie został zapisany"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "katalog nie został zapisany"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: plik zmienił się w trakcie czytania"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: zignorowane gniazdo z nazwą"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: zignorowany plik door"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Przeskoczenie do następnego nagłówka"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Kasowanie z archiwum nie-nagłówka"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: niemożliwie stara data %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: znacznik czasowy %s jest przesunięty o %s s w przyszłość"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Nieoczekiwana niespójność przy zakładaniu katalogu"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: pominięcie istniejącego pliku"
@@ -1030,7 +1028,7 @@ msgstr "Próba odtworzenia łącza symbolicznego jako zwykłego"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Nie można odtworzyć -- plik jest kontynuowany z innej części"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Niespodziewany nagłówek z długą nazwą"
 
@@ -1047,7 +1045,7 @@ msgstr "Aktualny %s jest nowszy albo w tym samym wieku"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: nazwa elementu zawiera „..”"
 
 #: src/extract.c:1696
 #, c-format
@@ -1059,22 +1057,22 @@ msgstr "%s: Nie można było zrobić kopii zapasowej tego pliku"
 msgid "Cannot rename %s to %s"
 msgstr "Nie można przemianować %s na %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Nazwa katalogu została zmieniona z %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Katalog jest nowy"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: katalog w innym systemie plików; nie został zapisany"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Nazwa katalogu została zmieniona"
@@ -1200,35 +1198,35 @@ msgstr "%s: Usunięcie %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Nie można usunąć"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Pominięty"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok zer **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok: %s: ** Koniec pliku **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Odstępy w nagłówku zamiast spodziewanej wartości numerycznej %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1236,164 +1234,165 @@ msgstr ""
 "jak uzupełnienie dwójkowe"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Wartość ósemkowa %.*s w archiwum jest spoza zakresu %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiwum zawiera przestarzałe nagłówki base64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "W archiwum jest łańcuch base64 %s spoza zakresu %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Wartość base256 w archiwum jest spoza zakresu %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Archiwum zawiera %.*s tam gdzie oczekiwana była liczba %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Wartość %s w archiwum jest spoza zakresu %s %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " łącze do %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nieznany typ pliku %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Długie łącze--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Długa nazwa--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Nagłówek części--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Kontynuacja od bajtu %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Tworzony jest katalog:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Nazwa %s zmieniona na %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Nie można przemianować na %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Nazwa zmieniona z %s z powrotem na %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Plik usunięty zanim został przeczytany"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "proces potomny"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "kanał między procesami"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Wybór lokalnej nazwy pliku:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "dodanie podanego PLIKU do archiwum (przydatne jeżeli jego nazwa startuje od "
 "myślnika)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "KATALOG"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "przejście do KATALOGU"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "nazwy plików do rozpakowania lub spakowania z PLIKU"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T czyta nazwy zakończone zerem, włącza --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "wyłączenie efektu użycia opcji --null"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 "usunięcie znaków cytowania z nazwy pliku wejściowego lub plików w archiwum "
 "(domyślnie)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 "bez usuwania znaków cytowania z nazwy pliku wejściowego lub plików w archiwum"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "z opcją -T - czytanie nazw plików dosłownie (bez uwzględniania opcji)"
+msgstr ""
+"z opcją -T - czytanie nazw plików dosłownie (bez uwzględniania sekwencji "
+"sterujących ani opcji)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "z opcją -T - traktowanie nazw plików zaczynających się od myślnika jako "
 "opcji (domyślnie)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "WZORZEC"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "wykluczenie nazw pasujących do WZORCA"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "wykluczenie nazw pasujących do wzorców w PLIKU"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1401,24 +1400,24 @@ msgstr ""
 "wykluczenie katalogów zawierających znacznik pamięci podręcznej CACHEDIR."
 "TAG, oprócz samych plików znacznika"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG i ich podkatalogów"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "wykluczenie katalogów zawierających PLIK, ale nie samego PLIKU"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 "czytanie wzorców pomijania dla każdego katalogu z PLIKU, jeżeli istnieje"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1426,120 +1425,123 @@ msgstr ""
 "czytanie wzorców pomijania dla każdego katalogu i jego podkatalogów z PLIKU, "
 "jeżeli istnieje"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "wykluczenie katalogów zawierających PLIK i ich podkatalogów"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "wykluczenie katalogów zawierających PLIK"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "wykluczenie katalogów systemu administrowania wersjami"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 "czytanie wzorców pomijania z analogicznych plików systemów zarządzania "
 "wersjami (VCS)"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "wykluczenie plików kopii zapasowych i rezerwacji zasobów"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "zagłębianie się w podkatalogi (domyślnie)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "bez automatycznego zagłębiania się w katalogi"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Opcje filtracji nazw plików (dotyczą zarówno wzorców wykluczania jak "
 "włączania):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "nazwy porównywane od początków nazw plików"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "wzorce odnoszą się do nazw po każdym „/” (domyślnie)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "traktowanie tak samo małych i wielkich liter"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "odróżnianie małych i wielkich liter (domyślnie)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "używanie wildcards (domyślnie dla wykluczania)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "dosłowne porównywanie napisów"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "wildcards są porównywane z „/” (domyślnie dla wykluczania)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "wildcards nie są porównywane z „/”"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Następujące opcje zostały użyte po nieopcjonalnych argumentach w trybie "
+"tworzenia albo aktualizacji archiwum. Te opcje wpływają tylko na argumenty, "
+"które następują po nich. Proszę je odpowiednio uporządkować."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "opcja -C %s nie odniosła skutku"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "opcja --%s %s nie odniosła skutku"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "opcja --%s nie odniosła skutku"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "linia polecenia"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: lista plików żądana z %s już przeczytana z %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "nie można podzielić napisu „%s”: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: przeczytana nazwa pliku zawiera znak NUL"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "W nazwach plików użyto znaków dopasowania wzorców"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1547,47 +1549,47 @@ msgstr ""
 "Użyj --wildcards aby włączyć porównywanie wzorców albo --no-wildcards żeby "
 "wyłączyć to ostrzeżenie"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nie znalazłem w archiwum"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Brak podanego wystąpienia pliku w archiwum"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Nie pasująca etykieta archiwum"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Nie jest dozwolone używanie opcji -C wewnątrz listy plików razem z --listed-"
 "incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Z --listed-incremental można użyć tylko jednej opcji -C"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Opcje „%s” i „%s” obie chcą dostępu do standardowego wejścia"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Błędny format archiwum"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Próba użycia rozszerzeń GNU z niekompatybilnym formatem archiwum"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1812,7 +1814,7 @@ msgstr "Wybór strumienia wyjściowego"
 msgid "extract files to standard output"
 msgstr "rozpakowanie plików na standardowe wyjście"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "POLECENIE"
 
@@ -1850,7 +1852,7 @@ msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 "użycie PLIKU do konwersji identyfikatorów i nazw grup właścicieli plików"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATA_ALBO_PLIK"
 
@@ -2068,7 +2070,7 @@ msgstr "podzielenie na bloki przy odczycie (dla pipe 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Wybór formatu archiwum:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2153,59 +2155,59 @@ msgstr "PROGRAM"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtrowanie przez PROGRAM (akceptujący -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Wybór plików lokalnych:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "pozostanie w jednym systemie plików"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "bez usuwania początkowego „/” z nazw plików"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "archiwizacja plików, na które wskazują łącza symboliczne"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "archiwizacja plików, na które wskazują łącza zwykłe"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NAZWA-PLIKU"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "zaczęcie od pliku NAZWA-PLIKU w czasie czytania archiwum"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "zapisanie tylko plików nowszych niż DATA albo data PLIKU"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "porównywanie daty i czasu tylko dla zmienionych danych"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "TRYB"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "kopia zapasowa przed usunięciem, wybranie TRYBU zarządzania wersjami"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "NAPIS"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2213,62 +2215,62 @@ msgstr ""
 "kopia zapasowa przed usunięciem, zmiana domyślnego przyrostka („~”, jeżeli "
 "nie zmieniony przez zmienną środowiska SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Zmiany nazwy plików:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "ucięcie przed rozpakowaniem LICZBY początkowych elementów ścieżki z nazw "
 "plików"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "WYRAŻENIE"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "użycie WYRAŻENIA zamiany sed-a do przekształcenia nazw plików"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informacje:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "wypisywanie szczegółów o przetwarzanych plikach"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "SŁOWO KLUCZOWE"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "sterowanie ostrzeżeniami"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "wypisywanie co ILE rekordów informacji o przetwarzaniu (domyslnie co 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "AKCJA"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "wykonanie AKCJI przy każdym punkcie kontrolnym"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "wypisanie komunikatu jeżeli nie wszytkie łącza zostały zapisane"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SYGNAŁ"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2280,35 +2282,35 @@ msgstr ""
 "sygnały: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2; nazwy bez prefiksu SIG "
 "są też akceptowane"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "wypisanie czasów modyfikacji plików w UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "wypisanie czasu pliku z pełną dokładnością"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "zapisanie dokładnych informacji w PLIKU"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "pokazanie przy każdym komunikacie numeru bloku w archiwum"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "proszenie o potwierdzenie każdego działania"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "wypisanie domyślnych ustawień tar-a"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "pokazanie zakresów dozwolonych wartości pól danych kopii przyrostowej"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2316,33 +2318,33 @@ msgstr ""
 "wypisywanie każdego katalogu nie pasującego do kryteriów szukania przy "
 "wypisywaniu albo rozpakowywaniu archiwum"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "pokazanie nazw plików albo archiwów po przeszktałceniu"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STYL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "ustawienie stylu ujmowania nazw w cudzysłowy; poniżej dozwolone wartości "
 "STYLU"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "dodatkowe ujmowanie w znaki cytowania znaków z ŁAŃCUCHA"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "wyłączenie ujmowania w znaki cytowania znaków z ŁAŃCUCHA"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Opcje kompatybilności:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2350,22 +2352,22 @@ msgstr ""
 "przy tworzeniu: to samo co --old-archive przy odtwarzaniu: to co --no-same-"
 "owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Inne opcje:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "wyłączenie używania potencjalnie szkodliwych opcji"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "opcja „%s” nie może być użyta z opcją „%s”"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2373,40 +2375,40 @@ msgstr ""
 "Nie można podać więcej niż jednej opcji z „-Acdtrux”, „--delete” albo „--"
 "test-label”"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Niezgodne opcje kompresji"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nieznana nazwa sygnału: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Nie znaleziono pliku z datą"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Postawienie %s w miejscu nieznanego formatu daty %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Opcja %s: Potraktowanie daty „%s” jako %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtrowanie archiwum przez %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Prawidłowe argumenty dla opcji --quoting-style:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2414,120 +2416,120 @@ msgstr ""
 "\n"
 "*Ten* tar ma domyślne parametry:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Błędny identyfikator właściciela lub grupy"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Błędny współczynnik łączenia w bloki"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Błędna długość taśmy"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Błędny numer poziomu przyrostowej kopii zapasowej"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Więcej niż jedna data graniczna"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Błędna wartość wersji plików rzadkich"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "ten system nie pozwala na użycie --atime-preserve='system'"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "wartość --checkpoint nie jest liczbą całkowitą"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Błędne uprawnienia podane w opcji"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Błędny numer"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Błędna wielkość rekordu"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Rozmiar rekordu musi być wielokrotnością %d"
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Błędna ilość elementów"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Wolno użyć tylko jednej opcji polecenia --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Błędna specyfikacja gęstości: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Nieznana gęstość: „%c”"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Opcje „-[0-7][lmh]” nie są dostępne w *tym* tarze"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: lokalizacja błędu"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "błąd przetwarzania %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[PLIK]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "argumenty nie będące opcjami w %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "nie można rozdzielić TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Stara opcja „%c” wymaga argumentu."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence nie ma znaczenia bez listy plików"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Archiwum składające się z wielu plików wymaga opcji „-M”"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "opcja --level nic nie znaczy bez użycia --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2535,43 +2537,43 @@ msgstr[0] "%s: Za długa etykieta części (może mieć do %lu bajtu)"
 msgstr[1] "%s: Za długa etykieta części (może mieć do %lu bajtów)"
 msgstr[2] "%s: Za długa etykieta części (może mieć do %lu bajtów)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Nie można zweryfikować archiwum wieloczęściowego"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Nie można zweryfikować archiwum skompresowanego"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nie można używać wieloczęściowego archiwum skompresowanego"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Nie można połączyć skompresowanych archiwów"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime wymaga podania daty przy pomocy --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "Opcja --pax-option może być użyta tylko do archiwów POSIX-owych"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "Opcja --acls może być użyta tylko do archiwów POSIX-owych"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "Opcja --selinux może być użyta tylko do archiwów POSIX-owych"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "Opcja --xattrs może być użyta tylko do archiwów POSIX-owych"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2579,29 +2581,29 @@ msgstr ""
 "Nie udało się wydedukować głównego katalogu; proszę ustawić go wprost opcją "
 "--one-top-level=KATALOG"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Długość części nie może być mniejsza od wielkości rekordu"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Tchórzliwie odmawiam utworzenia pustego archiwum"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Opcje „-Aru” są niekompatybilne z „-f -”"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Trzeba podać jedną z opcji „-Acdtrux”, „--delete” albo „--test-label”"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Zakończenie w stanie błędu z powodu uprzednich błędów"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
@@ -2609,52 +2611,61 @@ msgstr[0] "%s: Plik skurczył się o %s bajt"
 msgstr[1] "%s: Plik skurczył się o %s bajty"
 msgstr[2] "%s: Plik skurczył się o %s bajtów"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Słowo kluczowe %s jest nieznane albo jeszcze nie zaimplementowane"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Czas spoza dozwolonego zakresu"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Nie może być użyty wzorzec %s"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Słowo kluczowe %s nie może być zastąpione"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Błędny nagłówek rozszerzony: brakuje długości"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Długośc nagłówka rozszerzonego %*s jest poza zakresem"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Błędny nagłówek rozszerzony: brakuje odstępu po długości"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Błędny nagłówek rozszerzony: brakuje znaku równości"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Błędny nagłówek rozszerzony: brakuje znaku mowej linii"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego „%s”"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2663,46 +2674,46 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Nagłówek rozszerzony - %s=%s jest poza zakresem %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Błędny nagłówek rozszerzony: błędny %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Błędny nagłówek rozszerzony: nadmiarowe %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Błędny nagłówek rozszerzony: błędny %s: niespodziewany ogranicznik %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Błędny nagłówek rozszerzony: błędny %s: nieparzysta liczba wartości"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: błędna specyfikacja ograniczenia czasu"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: nieznana akcja przy punkcie kontrolnym"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "zapis"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "odczyt"
 
@@ -2710,7 +2721,7 @@ msgstr "odczyt"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Punkt kontrolny zapisu %u"
@@ -2719,12 +2730,12 @@ msgstr "Punkt kontrolny zapisu %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Punkt kontrolny odczytu %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2732,94 +2743,98 @@ msgstr ""
 "genfile służy do operacji na plikach w ramach zestawu testów GNU paxutils.\n"
 "OPCJE:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Opcje tworzenia plików:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "ROZMIAR"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Utworzenie pliku o podanym ROZMIARZE"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Pisanie na pliku NAZWA zamiast na standardowe wyjście"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Czytanie nazw plików z PLIKU"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T czyta nazwy zakończone zerem"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Wypełnienie pliku podanym WZORCEM. WZORZEC to „default” albo „zeros”"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Rozmiar bloku pliku rzadkiego"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Utworzenie pliku rzadkiego. Reszta argumentów określa mapę pliku."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "POZYCJA"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Ustawienie pozycji zapisu przez zapisem danych"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Pominięcie nie-krytycznych komunikatów diagnostycznych"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Opcje statystyki plików"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Wypisanie zawartości  struct stat  dla każdego podanego pliku. Domyślny "
 "FORMAT: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Opcje równoczesnego wykonywania:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPCJA"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Wykonanie ARGUMENTÓW. Przydatne z --checkpoint i jednym z --cut, --append, --"
 "touch albo --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Wykonanie podanej akcji (zobacz niżej) po napotkaniu punktu kontrolnego NUMER"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Ustaw datę następnej opcji --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Wypisanie wykonanych punktów kontrolnych i kodu wyjścia POLECENIA"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2827,7 +2842,7 @@ msgstr ""
 "Akcje równoczesnego wykonania. Są podejmowane po osiągnięciu punktu "
 "kontrolnego o numerze podanym przez opcję --checkpoint"
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2835,128 +2850,129 @@ msgstr ""
 "Obcięcie PLIKU do rozmiaru podanego przez poprzednia opcję --length (albo 0, "
 "jeżeli nie został podany)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Dodanie ROZMIAR bajtów do PLIKU. ROZMIAR jak podany przez poprzednią opcję --"
 "length."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Uaktualnienie czasów dostepu i modyfikacji PLIKU"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Wykonanie POLECENIA"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Skasowanie PLIKU"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Błędny rozmiar: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Liczba spoza dozwolonego zakresu: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Ujemny rozmiar: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "błąd stat(%s)"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "żądana długość pliku %lu, faktyczna %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "utworzony plik nie jest rzadki"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Błąd przetwarzania liczby blisko „%s”"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Nieznany format daty"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENTY...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
-msgstr "nie można otworzyć „%s”"
+msgstr "nie udało się otworzyć „%s”"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
-msgstr "nie można ustawić pozycji"
+msgstr "nie udało się ustawić pozycji"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "nazwa pliku zawiera znak NUL"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
-"nie można utworzyć pliku rzadkiego na standardowym wyjściu, użyj opcji --file"
+"nie udało się utworzyć pliku rzadkiego na standardowym wyjściu, użyj opcji --"
+"file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "nieprawidłowa maska (koło „%s”)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr " Nieznane pole „%s”"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "nie można ustawić czasu na „%s”"
+msgstr "nie udało się ustawić czasu na „%s”"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
-msgstr "nie można skrócić „%s”"
+msgstr "nie udało się skrócić „%s”"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "polecenie zwróciło błąd: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "nie można skrócić „%s”"
+msgstr "nie udało się odczytać stanu „%s”"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "nie można ustawić czasu na „%s”"
+msgstr "nie udało się usunąć katalogu „%s”"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
-msgstr "nie można usunąć „%s”"
+msgstr "nie udało się usunąć „%s”"
 
 #: tests/genfile.c:918
 #, c-format
@@ -2993,23 +3009,5 @@ msgstr "Polecenie zakończone\n"
 msgid "--stat requires file names"
 msgstr "--stat wymaga podania nazwy pliku"
 
-#~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-#~ msgstr "%.*s: Parametr ARGP_HELP_FMT musi być dodatni"
-
-#~ msgid "%s: option '--%s' doesn't allow an argument\n"
-#~ msgstr "%s: opcja „--%s” nie może mieć argumentu\n"
-
-#~ msgid "%s: unrecognized option '--%s'\n"
-#~ msgstr "%s: nierozpoznana opcja „--%s”\n"
-
-#~ msgid "%s: option '-W %s' is ambiguous\n"
-#~ msgstr "%s: opcja „-W %s” jest niejednoznaczna\n"
-
-#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
-#~ msgstr "%s: opcja „-W %s” nie może mieć argumentu\n"
-
-#~ msgid "%s: option '-W %s' requires an argument\n"
-#~ msgstr "%s: opcja „-W %s” wymaga argumentu\n"
-
-#~ msgid "Unlink FILE"
-#~ msgstr "Usunięcie PLIKU"
+#~ msgid "OPTION"
+#~ msgstr "OPCJA"
diff --git a/po/pt.gmo b/po/pt.gmo
index d036707777bf16aefeee9c6abe2996c26287b4b0..65beeb89d031ba0869fa3b194dd0cf8808c24262 100644
GIT binary patch
literal 62757
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

delta 2167
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
G9Qpv-KSZAZ

diff --git a/po/pt.po b/po/pt.po
index 844ab4da..439aad49 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -1,189 +1,188 @@
 # Portuguese translation of the "tar" messages
-# Copyright (1995) Free Software Foundation, Inc.
-# Ant�nio Jos� Coutinho <ajc@di.uminho.pt>
+# This file is distributed under the same license as the tar package.
+# Copyright (C) 2018 Free Software Foundation, Inc.
+# António José Coutinho <ajc@di.uminho.pt>
+# Pedro Albuquerque <palbuquerque73@gmail.com>, 2018.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.11.9\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 1996-04-20 21:50\n"
-"Last-Translator: Ant�nio Jos� Coutinho <ajc@di.uminho.pt>\n"
-"Language-Team: Portuguese <pt@li.org>\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-10-02 23:48+0100\n"
+"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
+"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
 "Language: pt\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"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\\n\n"
+"X-Generator: Gtranslator 2.91.7\n"
 
 #: gnu/argmatch.c:134
-#, fuzzy, c-format
+#, c-format
 msgid "invalid argument %s for %s"
-msgstr "Formato de data inv�lido \"%s\""
+msgstr "argumento inválido %s para %s"
 
 #: gnu/argmatch.c:135
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr ""
+msgstr "argumento ambíguo %s para %s"
 
 #: gnu/argmatch.c:154
 msgid "Valid arguments are:"
-msgstr ""
+msgstr "Os argumentos válidos são:"
 
 #: gnu/argp-help.c:148
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr ""
+msgstr "ARGP_HELP_FMT: valor %s é menor ou igual que %s"
 
 #: gnu/argp-help.c:224
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr ""
+msgstr "%.*s: o parâmetro ARGP_HELP_FMT requer um valor"
 
 #: gnu/argp-help.c:234
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr ""
+msgstr "%.*s: parâmetro ARGP_HELP_FMT desconhecido"
 
 #: gnu/argp-help.c:247
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr ""
+msgstr "Lixo em ARGP_HELP_FMT: %s"
 
 #: gnu/argp-help.c:1228
-#, fuzzy
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
-"Os argumentos obrigat�rios ou opcionais para as op��es longas tamb�m\n"
-"s�o obrigat�rios ou opcionais para as correspondentes op��es curtas.\n"
+"Os argumentos obrigatórios ou opcionais para as opções longas também são "
+"obrigatórios ou opcionais para as opções curtas correspondentes."
 
 #: gnu/argp-help.c:1615
 msgid "Usage:"
-msgstr ""
+msgstr "Uso:"
 
 #: gnu/argp-help.c:1619
 msgid "  or: "
-msgstr ""
+msgstr "  ou: "
 
 #: gnu/argp-help.c:1631
-#, fuzzy
 msgid " [OPTION...]"
-msgstr ""
-"\n"
-"Forma de usar: %s [OP��O]...\n"
+msgstr " [OPÇÃO...]"
 
 #: gnu/argp-help.c:1658
-#, fuzzy, c-format
+#, c-format
 msgid "Try '%s --help' or '%s --usage' for more information.\n"
-msgstr "Para mais informa��o, tente \"%s --help\".\n"
+msgstr "Tente \"%s --help\" ou \"%s --usage\" para mais informação.\n"
 
 #: gnu/argp-help.c:1686
 #, c-format
 msgid "Report bugs to %s.\n"
-msgstr ""
+msgstr "Reportar erros a %s.\n"
 
 #: gnu/argp-help.c:1887 gnu/error.c:195
 msgid "Unknown system error"
-msgstr "Erro desconhecido, do sistema"
+msgstr "Erro de sistema desconhecido"
 
 #: gnu/argp-parse.c:81
 msgid "give this help list"
-msgstr ""
+msgstr "Mostra esta lista de ajuda"
 
 #: gnu/argp-parse.c:82
 msgid "give a short usage message"
-msgstr ""
+msgstr "Mostrar mensagem curta de uso"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
-msgstr ""
+msgstr "NOME"
 
 #: gnu/argp-parse.c:84
 msgid "set the program name"
-msgstr ""
+msgstr "define o nome do programa"
 
 #: gnu/argp-parse.c:85
 msgid "SECS"
-msgstr ""
+msgstr "SEGS"
 
 #: gnu/argp-parse.c:86
 msgid "hang for SECS seconds (default 3600)"
-msgstr ""
+msgstr "espera SEGS segundos (predefinição 3600)"
 
 #: gnu/argp-parse.c:143
 msgid "print program version"
-msgstr ""
+msgstr "Mostrar versão do programa"
 
 #: gnu/argp-parse.c:160
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr ""
+msgstr "(ERRO DO PROGRAMA) Sem versão conhecida!?"
 
 #: gnu/argp-parse.c:613
 #, c-format
 msgid "%s: Too many arguments\n"
-msgstr ""
+msgstr "%s: demasiados argumentos\n"
 
 #: gnu/argp-parse.c:759
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr ""
+msgstr "(ERRO DO PROGRAMA) A opção devia ter sido reconhecida!?"
 
 #: gnu/closeout.c:122
-#, fuzzy
 msgid "write error"
-msgstr "Escreve-se registo\n"
+msgstr "erro de escrita"
 
 #: gnu/getopt.c:278
 #, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr ""
+msgstr "%s: a opção \"%s%s\" é ambígua\n"
 
 #: gnu/getopt.c:284
 #, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr ""
+msgstr "%s: a opção \"%s%s\" é ambígua; possibilidades:"
 
 #: gnu/getopt.c:319
 #, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr ""
+msgstr "%s: opção \"%s%s\" desconhecida\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "A antiga op��o `%c' exige um argumento."
+msgstr "%s: a opção \"%s%s\" não permite um argumento\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "A antiga op��o `%c' exige um argumento."
+msgstr "\"%s: a opção \"%s%s\" requer um argumento\n"
 
 #: gnu/getopt.c:621
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr ""
+msgstr "%s: opção inválida -- \"%c\"\n"
 
 #: gnu/getopt.c:636 gnu/getopt.c:682
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option requires an argument -- '%c'\n"
-msgstr "A antiga op��o `%c' exige um argumento."
+msgstr "%s: a opção requer um argumento -- \"%c\"\n"
 
 #: gnu/obstack.c:338 gnu/obstack.c:340 gnu/xalloc-die.c:34
 msgid "memory exhausted"
-msgstr ""
+msgstr "memória esgotada"
 
 #: gnu/openat-die.c:38
-#, fuzzy, c-format
+#, c-format
 msgid "unable to record current working directory"
-msgstr "N�o se conseguiu determinar a directoria corrente"
+msgstr "impossível gravar a pasta de trabalho actual"
 
 #: gnu/openat-die.c:57
 #, c-format
 msgid "failed to return to initial working directory"
-msgstr ""
+msgstr "falha ao voltar à pasta de trabalho inicial"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -208,11 +207,11 @@ msgstr ""
 #. and use glyphs suitable for your language.
 #: gnu/quotearg.c:362
 msgid "`"
-msgstr ""
+msgstr "\""
 
 #: gnu/quotearg.c:363
 msgid "'"
-msgstr ""
+msgstr "\""
 
 #. TRANSLATORS: A regular expression testing for an affirmative answer
 #. (english: "yes").  Testing the first character may be sufficient.
@@ -222,7 +221,7 @@ msgstr ""
 #. locale -k LC_MESSAGES | grep '^yesexpr='
 #: gnu/rpmatch.c:150
 msgid "^[yY]"
-msgstr ""
+msgstr "^[Ss]"
 
 #. TRANSLATORS: A regular expression testing for a negative answer
 #. (english: "no").  Testing the first character may be sufficient.
@@ -232,26 +231,26 @@ msgstr ""
 #. locale -k LC_MESSAGES | grep '^noexpr='
 #: gnu/rpmatch.c:163
 msgid "^[nN]"
-msgstr ""
+msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Empacotado por %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Empacotado 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
-msgstr ""
+msgstr "(©)"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -260,24 +259,30 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl."
+"html>\n"
+"Este é um programa grátis: pode alterá-lo e redistribuí-lo.\n"
+"Não há QUALQUER GARANTIA, até ao limite da Lei.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: gnu/version-etc.c:102
 #, c-format
 msgid "Written by %s.\n"
-msgstr ""
+msgstr "Escrito por %s\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: gnu/version-etc.c:106
 #, c-format
 msgid "Written by %s and %s.\n"
-msgstr ""
+msgstr "Escrito por %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: gnu/version-etc.c:110
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr ""
+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
@@ -288,6 +293,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
@@ -298,6 +305,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
@@ -308,6 +317,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
@@ -318,6 +329,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
@@ -329,6 +342,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
@@ -340,6 +356,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
@@ -351,6 +370,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
@@ -362,34 +384,36 @@ msgid ""
 "\n"
 "Report bugs to: %s\n"
 msgstr ""
+"\n"
+"Reportar erros a: %s\n"
 
 #: gnu/version-etc.c:247
 #, c-format
 msgid "Report %s bugs to: %s\n"
-msgstr ""
+msgstr "Reportar %s erros a: %s\n"
 
 #: gnu/version-etc.c:251
 #, c-format
 msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Página inicial %s: <%s>\n"
 
 #: gnu/version-etc.c:253
 #, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr ""
+msgstr "Página inicial %s: <http://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr ""
+msgstr "Ajuda geral para uso de programas GNU: <http://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
 #. %s itself is not translated.
 #. Translate it as `%s: Function %s failed'.
 #: lib/paxerror.c:60 lib/paxerror.c:73
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot %s"
-msgstr "N�o se consegue duplicar %s com \"dup\""
+msgstr "%s: função %s falhou"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -398,710 +422,682 @@ msgstr "N
 #: lib/paxerror.c:86
 #, c-format
 msgid "%s: Warning: Cannot %s"
-msgstr ""
+msgstr "%s: aviso: função %s falhou"
 
 #: lib/paxerror.c:95
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot change mode to %s"
-msgstr "%s: N�o se pode mudar para o modo para %0.4o"
+msgstr "%s: impossível alterar o modo para %s"
 
 #: lib/paxerror.c:103
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot change ownership to uid %lu, gid %lu"
-msgstr "%s: N�o se pode mudar o dono (owner) para \"uid\" %d, \"gid\" %d"
+msgstr "%s: impossível alterar propriedade para uid %lu, gid %lu"
 
 #: lib/paxerror.c:129
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot hard link to %s"
-msgstr "N�o se consegue ler a liga��o (\"link\") %s"
+msgstr "%s: impossível ligar rigidamente a %s"
 
 #: lib/paxerror.c:181 lib/paxerror.c:213
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Read error at byte %s, while reading %lu bytes"
-msgstr[0] ""
-"Erro de leitura no \"byte\" %ld, durante a leitura de %d \"bytes\" do "
-"ficheiro %s"
-msgstr[1] ""
-"Erro de leitura no \"byte\" %ld, durante a leitura de %d \"bytes\" do "
-"ficheiro %s"
+msgstr[0] "%s: erro de leitura no byte %s, ao ler %lu byte"
+msgstr[1] "%s: erro de leitura no byte %s, ao ler %lu bytes"
 
 #: lib/paxerror.c:194
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
-msgstr[0] ""
-"Erro de leitura no \"byte\" %ld, durante a leitura de %d \"bytes\" do "
-"ficheiro %s"
-msgstr[1] ""
-"Erro de leitura no \"byte\" %ld, durante a leitura de %d \"bytes\" do "
-"ficheiro %s"
+msgstr[0] "%s: aviso: erro de leitura no byte %s, ao ler %lu byte"
+msgstr[1] "%s: aviso: erro de leitura no byte %s, ao ler %lu bytes"
 
 #: lib/paxerror.c:261
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot seek to %s"
-msgstr "N�o se consegue escrever em %s"
+msgstr "%s: impossível ir para %s"
 
 #: lib/paxerror.c:277
 #, c-format
 msgid "%s: Warning: Cannot seek to %s"
-msgstr ""
+msgstr "%s: aviso: impossível ir para %s"
 
 #: lib/paxerror.c:286
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot create symlink to %s"
-msgstr "%s: N�o se conseguiu criar uma liga��o simb�lica (link) para `%s'"
+msgstr "%s: impossível criar ligação simbólica a %s"
 
 #: lib/paxerror.c:351
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Wrote only %lu of %lu byte"
 msgid_plural "%s: Wrote only %lu of %lu bytes"
-msgstr[0] "%s: Apenas se conseguiu escrever %d de um total de %d bytes"
-msgstr[1] "%s: Apenas se conseguiu escrever %d de um total de %d bytes"
+msgstr[0] "%s: escritos só %lu de %lu byte"
+msgstr[1] "%s: escritos só %lu de %lu bytes"
 
 #: lib/paxnames.c:140
-#, fuzzy, c-format
+#, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Retira-se \"/\" das liga��es (\"links\") absolutas "
+msgstr "A remover \"%s\" iniciais para nomes de membros"
 
 #: lib/paxnames.c:141
-#, fuzzy, c-format
+#, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "Retira-se \"/\" das liga��es (\"links\") absolutas "
+msgstr "A remover \"%s\" iniciais de alvos rigidamente ligados"
 
 #: lib/paxnames.c:154
 msgid "Substituting `.' for empty member name"
-msgstr ""
+msgstr "A substituir \".\" para nomes de membro vazios"
 
 #: lib/paxnames.c:155
 msgid "Substituting `.' for empty hard link target"
-msgstr ""
+msgstr "A substituir \".\" para alvos rigidamente ligados vazios"
 
 #: lib/rtapelib.c:299
 #, c-format
 msgid "exec/tcp: Service not available"
-msgstr "exec/tcp: Servi�o indispon�vel"
+msgstr "exec/tcp: serviço indisponível"
 
 #: lib/rtapelib.c:303
 #, c-format
 msgid "stdin"
-msgstr ""
+msgstr "stdin"
 
 #: lib/rtapelib.c:306
 #, c-format
 msgid "stdout"
-msgstr ""
+msgstr "stdout"
 
 #: lib/rtapelib.c:429
 #, c-format
 msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Impossível ligar a %s: falha ao resolver"
 
 #: lib/rtapelib.c:502
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "N�o se consegue executar uma \"shell\" remota"
+msgstr "Impossível redireccionar ficheiros para shell remota"
 
 #: lib/rtapelib.c:516
 #, c-format
 msgid "Cannot execute remote shell"
-msgstr "N�o se consegue executar uma \"shell\" remota"
+msgstr "Impossível executar shell remota"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
-msgstr ""
+msgstr "Direcção de procura fora de alcance"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
-msgstr ""
+msgstr "Direcção de procura inválida"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
-msgstr ""
+msgstr "Desvio de procura inválido"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
-msgstr ""
+msgstr "Desvio de procura fora de alcance"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
-#, fuzzy
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
-msgstr "Formato de data inv�lido \"%s\""
+msgstr "Contagem de bytes inválida"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
-msgstr ""
+msgstr "Contagem de bytes fora de alcance"
 
-#: rmt/rmt.c:558
-#, fuzzy
+#: rmt/rmt.c:562
 msgid "Premature eof"
-msgstr "rmtd: Fim de ficheiro prematuro\n"
+msgstr "eof prematuro"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
-msgstr ""
+msgstr "Código de operação inválido"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
-msgstr ""
+msgstr "Operação não suportada"
 
-#: rmt/rmt.c:664
-#, fuzzy
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
-msgstr "Fim de ficheiro inesperado nos nomes truncados"
+msgstr "Argumentos inesperados"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
+"Manipular um dispositivo de fita, aceitando comandos de um processo remoto"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
-msgstr ""
+msgstr "NÚMERO"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
-msgstr ""
+msgstr "definir nível de depuração"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
-msgstr ""
+msgstr "FICHEIRO"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
-msgstr ""
+msgstr "definir nome do ficheiro de saída da depuração"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
-#, fuzzy, c-format
+#: rmt/rmt.c:719 rmt/rmt.c:787
+#, c-format
 msgid "cannot open %s"
-msgstr "N�o se consegue abrir %s"
+msgstr "impossível abrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
-msgstr ""
+msgstr "demasiados argumentos"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
-msgstr "Comando desconhecido"
+msgstr "Comando lixo"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
-msgstr "Isto  n�o se parece a um arquivo \"tar\""
+msgstr "Isto não parece ser um arquivo tar"
 
-#: src/buffer.c:590
-#, fuzzy
+#: src/buffer.c:592
 msgid "Total bytes read"
-msgstr "N�mero total de de \"bytes\" escritos: %d\n"
+msgstr "Total de bytes lidos"
 
-#: src/buffer.c:592
-#, fuzzy
+#: src/buffer.c:594
 msgid "Total bytes written"
-msgstr "N�mero total de de \"bytes\" escritos: %d\n"
+msgstr "Total de bytes escritos"
 
-#: src/buffer.c:593
-#, fuzzy
+#: src/buffer.c:595
 msgid "Total bytes deleted"
-msgstr "N�mero total de de \"bytes\" escritos: %d\n"
+msgstr "Total de bytes eliminados"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
-msgstr ""
+msgstr "(túnel)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
+"Recusa de ler o conteúdo do arquivo a partir do terminal (opção -f em falta?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
+"Recusa de escrever o conteúdo do arquivo para o terminal (opção -f em falta?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
-msgstr "Valor inv�lido para tamanho de registo (record_size)"
+msgstr "Valor inválido para tamanho de record_size"
 
-#: src/buffer.c:714
-#, fuzzy
+#: src/buffer.c:716
 msgid "No archive name given"
-msgstr "N�o deram nome de arquivo, que  fazer?"
+msgstr "Sem nome de arquivo"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
-msgstr "N�o se pode  de verificar arquivos stdin ou stdout"
+msgstr "Impossível verificar arquivos stdin/stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
-msgstr ""
+msgstr "Arquivo comprimido. Use a opção %s"
 
-#: src/buffer.c:828 src/tar.c:2455
-#, fuzzy
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
-msgstr "N�o se pode actualizar o verificar um arquivo comprimido"
+msgstr "Impossível actualizar arquivos comprimidos"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
-msgstr "No princ�pio da fita, p�ra-se imediatamente"
+msgstr "No princípio da fita, a sair agora"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
-msgstr "Erros de mais: termina-se"
+msgstr "Demasiados erros, a sair"
 
-#: src/buffer.c:967
-#, fuzzy, c-format
+#: src/buffer.c:969
+#, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
-msgstr[0] "Tamanho de bloco (blocksize) = blocos de %d"
-msgstr[1] "Tamanho de bloco (blocksize) = blocos de %d"
+msgstr[0] "Tamanho do registo = %lu bloco"
+msgstr[1] "Tamanho do registo = %lu blocos"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Bloco desalinhado (%lu byte) no arquivo"
+msgstr[1] "Bloco desalinhado (%lu bytes) no arquivo"
 
-#: src/buffer.c:1075
-#, fuzzy
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
-msgstr "N�o se conseguiu recuar o arquivo; pode ser ileg�vel sem -i"
+msgstr "Impossível recuar o arquivo; pode ser ilegível sem -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
-msgstr ""
+msgstr "rmtlseek não parado num limite de registo"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
-msgstr ""
+msgstr "%s: contém um número de volume inválido"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
-msgstr ""
+msgstr "Transporte de número de volume"
 
-#: src/buffer.c:1218
-#, fuzzy, c-format
+#: src/buffer.c:1220
+#, c-format
 msgid "Prepare volume #%d for %s and hit return: "
-msgstr "\aPreparar o volume no. %d para  %s e premir \"Return\": "
+msgstr "Preparar volume nº %d para %s e premir Enter: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
-msgstr ""
+msgstr "EOF onde era esperada resposta do utilizador"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
-msgstr "ATEN��O: O arquivo est� incompleto"
+msgstr "AVISO: o arquivo está incompleto"
 
-#: src/buffer.c:1243
-#, fuzzy, c-format
+#: src/buffer.c:1245
+#, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
 " q             Abort tar\n"
 " y or newline  Continue operation\n"
 msgstr ""
-" n [nome]   Dar um novo nome para o pr�ximo (e seguintes) volume(s)\n"
-" q          Cancelar o tar\n"
-" !          Criar uma \"sub-shell\" (interpretador de comandos)\n"
-" ?          Escrever esta lista\n"
+" n nome        Dar um novo nome ao próximo volume (e seguintes)\n"
+" q             Abortar o tar\n"
+" y ou newline  Continuar operação\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
-msgstr ""
+msgstr " !             Gerar uma  sub-shell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
-msgstr ""
+msgstr " ?             Mostra esta lista\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
-msgstr "N�o h� novo volume; termina-se. \n"
+msgstr "Não há novo volume; a sair.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
-msgstr ""
+msgstr "Sem nome de ficheiro. Tente novamente.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
-msgstr ""
+msgstr "Entrada inválida. Digite ? para ajuda.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
-msgstr ""
+msgstr "O comando %s falhou"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
-msgstr "%s n�o tem continuidade neste volume"
+msgstr "%s não tem continuidade neste volume"
 
-#: src/buffer.c:1541
-#, fuzzy, c-format
+#: src/buffer.c:1543
+#, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s n�o tem continuidade neste volume"
+msgstr ""
+"%s possivelmente é continuado neste volume: o cabeçalho contém um nome "
+"truncado"
 
-#: src/buffer.c:1559
-#, fuzzy, c-format
+#: src/buffer.c:1561
+#, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
-msgstr "%s n�o � a dimens�o correcta (%ld != %ld + %ld)"
+msgstr "%s tem um tamanho errado (%s != %s + %s)"
 
-#: src/buffer.c:1574
-#, fuzzy, c-format
+#: src/buffer.c:1576
+#, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
-msgstr "Este volume est� fora da sequ�ncia"
+msgstr "Este volume está fora da sequência (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
-#, fuzzy, c-format
+#: src/buffer.c:1654 src/buffer.c:1672
+#, c-format
 msgid "Archive not labeled to match %s"
-msgstr "O arquivo n�o tem etiqueta e n�o condiz com %s"
+msgstr "O arquivo não rotulado para corresponder a %s"
 
-#: src/buffer.c:1682
-#, fuzzy, c-format
+#: src/buffer.c:1676
+#, c-format
 msgid "Volume %s does not match %s"
-msgstr "O volume n�o condiz!  %s!=%s"
+msgstr "Volume %s não corresponde a %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
+"%s: nome de ficheiro muito grande para um cabeçalho GNU multi-volume, "
+"truncado"
 
-#: src/buffer.c:1965
-#, fuzzy
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
-msgstr ""
-"O fim-de-ficheiro do arquivo %s n�o se encontra na fronteira de um bloco"
+msgstr "escrita não acabou num limite de bloco"
 
-#: src/compare.c:98
-#, fuzzy, c-format
+#: src/compare.c:97
+#, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
-msgstr[0] "%s: S� se p�de ler  %d de um total de %ld \"bytes\"\n"
-msgstr[1] "%s: S� se p�de ler  %d de um total de %ld \"bytes\"\n"
+msgstr[0] "Lido só %lu de %lu byte"
+msgstr[1] "Lidos só %lu de %lu bytes"
 
-#: src/compare.c:108 src/compare.c:398
-#, fuzzy
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
-msgstr "Tempo de modifica��o"
+msgstr "Conteúdo diferente"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
-msgstr "Fim de ficheiro inesperado no arquivo"
+msgstr "EOF inesperado no arquivo"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
-#, fuzzy
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
-msgstr "%s: Liga��o (\"link\") simb�lica � diferente\n"
+msgstr "Tipo de ficheiro diferente"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
-msgstr ""
+msgstr "Modo diferente"
 
-#: src/compare.c:208
-#, fuzzy
+#: src/compare.c:207
 msgid "Uid differs"
-msgstr "%s: %s diferente\n"
+msgstr "Uid diferente"
 
-#: src/compare.c:210
-#, fuzzy
+#: src/compare.c:209
 msgid "Gid differs"
-msgstr "%s: %s diferente\n"
+msgstr "Gid diferente"
 
-#: src/compare.c:214
-#, fuzzy
+#: src/compare.c:213
 msgid "Mod time differs"
-msgstr "Tempo de modifica��o"
+msgstr "Tempo de modificação diferente"
 
-#: src/compare.c:218 src/compare.c:432
-#, fuzzy
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
-msgstr "%s: Liga��o (\"link\") simb�lica � diferente\n"
+msgstr "Tamanho diferente"
 
-#: src/compare.c:267
-#, fuzzy, c-format
+#: src/compare.c:266
+#, c-format
 msgid "Not linked to %s"
-msgstr "%s: N�o est� ligado a %s\n"
+msgstr "Não ligado a %s"
 
-#: src/compare.c:293
-#, fuzzy
+#: src/compare.c:292
 msgid "Symlink differs"
-msgstr "%s: Liga��o (\"link\") simb�lica � diferente\n"
+msgstr "Ligação simbólica diferente"
 
-#: src/compare.c:325
-#, fuzzy
+#: src/compare.c:324
 msgid "Device number differs"
-msgstr "%s: Os n�meros do perif�rico mudaram\n"
+msgstr "Número de dispositivo diferente"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
-msgstr "Verifica��o"
+msgstr "Verificar"
 
-#: src/compare.c:480
-#, fuzzy, c-format
+#: src/compare.c:479
+#, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
-"Tipo de ficheiro \"%c\" desconhecido para %s; comparado como um ficheiro "
-"normal"
+"%s: tipo de ficheiro \"%c\" desconhecido, comparado como ficheiro normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
-msgstr ""
+msgstr "O arquivo contém nomes de ficheiro com prefixos iniciais removidos."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
-msgstr ""
+msgstr "O arquivo contém nomes de ficheiro transformados."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
-msgstr ""
+msgstr "A verificação pode não localizar os ficheiros originais."
 
-#: src/compare.c:620
-#, fuzzy, c-format
+#: src/compare.c:619
+#, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
-msgstr[0] "ERRO DE VERIFICA��O: Encontraram-se %d cabe�alhos inv�lidos"
-msgstr[1] "ERRO DE VERIFICA��O: Encontraram-se %d cabe�alhos inv�lidos"
+msgstr[0] "ERRO DE VERIFICA��O: Encontraram-se %d cabe�alhos inv�lidos"
+msgstr[1] "ERRO DE VERIFICAÇÃO: %d cabeçalhos inválidos detectados"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
-msgstr ""
+msgstr "Um bloco zero sozinho em %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
-msgstr ""
+msgstr "%s: contém uma etiqueta de pasta cache %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
-msgstr ""
+msgstr "valor %s fora de %s alcance %s..%s; a substituir %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
-msgstr ""
+msgstr "valor %s fora de %s alcance %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
-msgstr ""
+msgstr "A gerar cabeçalhos octais negativos"
 
-#: src/create.c:606 src/create.c:669
-#, fuzzy, c-format
+#: src/create.c:605 src/create.c:668
+#, c-format
 msgid "%s: file name is too long (max %d); not dumped"
-msgstr "%s: n�o foi modificado; n�o ser� arquivado"
+msgstr "%s: nome de ficheiro muito longo (máx. %d); não despejado"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
+"%s: nome de ficheiro muito longo (não pode ser separado); não despejado"
 
-#: src/create.c:643
-#, fuzzy, c-format
+#: src/create.c:642
+#, c-format
 msgid "%s: link name is too long; not dumped"
-msgstr "%s: n�o foi modificado; n�o ser� arquivado"
+msgstr "%s: nome da ligação muito longo; não despejado"
 
-#: src/create.c:1106
-#, fuzzy, c-format
+#: src/create.c:1105
+#, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
-msgstr[0] "O ficheiro %s diminuiu em %d \"bytes\", ser� completado com zeros"
-msgstr[1] "O ficheiro %s diminuiu em %d \"bytes\", ser� completado com zeros"
+msgstr[0] "%s: ficheiro encolhido %s byte; a preencher com zeros"
+msgstr[1] "%s: ficheiro encolhido em %s bytes; a preencher com zeros"
 
-#: src/create.c:1204
-#, fuzzy, c-format
+#: src/create.c:1203
+#, c-format
 msgid "%s: file is on a different filesystem; not dumped"
-msgstr "%s: Est� num outro sistema de ficheiros; n�o ser� arquivado"
+msgstr "%s: ficheiro num sistema de ficheiros diferente; não despejado"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
-#, fuzzy
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
-msgstr " (imagem da mem�ria despejada \"core dumped\")"
+msgstr "conteúdo não despejado"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
-msgstr "%s: Tipo de ficheiro desconhecido; ficheiro ignorado"
+msgstr "%s: tipo de ficheiro desconhecido; ficheiro ignorado"
 
-#: src/create.c:1576
-#, fuzzy, c-format
+#: src/create.c:1575
+#, c-format
 msgid "Missing links to %s."
-msgstr " liga��o para %s\n"
+msgstr "Ligações a %s em falta."
 
-#: src/create.c:1737
-#, fuzzy, c-format
+#: src/create.c:1736
+#, c-format
 msgid "%s: file is unchanged; not dumped"
-msgstr "%s: n�o foi modificado; n�o ser� arquivado"
+msgstr "%s: ficheiro não alterado; não despejado"
 
-#: src/create.c:1746
-#, fuzzy, c-format
+#: src/create.c:1745
+#, c-format
 msgid "%s: file is the archive; not dumped"
-msgstr "%s � o arquivo; n�o ser� arquivado"
+msgstr "%s o ficheiro é o arquivo; não despejado"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
-msgstr ""
+msgstr "pasta não despejada"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
-msgstr ""
+msgstr "%s: ficheiro alterado durante a leitura"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
-msgstr ""
+msgstr "%s: socket ignorada"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
-msgstr ""
+msgstr "%s: porta ignorada"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
-msgstr "Salta para pr�ximo cabe�alho"
+msgstr "Saltar para cabeçalho seguinte"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
-msgstr "Apaga-se do arquivo um n�o-cabe�alho"
+msgstr "Eliminar não-cabeçalho do arquivo"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
-msgstr ""
+msgstr "%s: carimbo implausivelmente antigo %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
-msgstr ""
+msgstr "%s: carimbo %s está %s s no futuro"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
-msgstr ""
+msgstr "%s: inconsistência inesperada ao fazer a pasta"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
-msgstr ""
+msgstr "%s: a saltar ficheiro existente"
 
 #: src/extract.c:901
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
-msgstr ""
+msgstr "%s: pasta renomeada antes que o seu estado pudesse ser extraído"
 
 #: src/extract.c:1086
 msgid "Extracting contiguous files as regular files"
-msgstr "Est�o-se a extrair ficheiros cont�guos como sendo ficheiros normais"
+msgstr "A extrair ficheiros contíguos como ficheiros regulares"
 
 #: src/extract.c:1433
 msgid "Attempting extraction of symbolic links as hard links"
-msgstr ""
-"Est�-se a tentar extrair liga��es simb�licas (sym. links) como liga��es "
-"f�sicas (hard links)"
+msgstr "A tentar extrair ligações simbólicas como ligações rígidas"
 
 #: src/extract.c:1596
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
-msgstr ""
-"N�o se pode extra�r `%s' -- � a continua��o de um ficheiro de outro volume"
+msgstr "%s: impossível extrair -- ficheiro continuado de outro volume"
 
-#: src/extract.c:1603 src/list.c:1167
-#, fuzzy
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
-msgstr "Fim de ficheiro inesperado no ficheiro de arquivo"
+msgstr "Nome longo de cabeçalho inesperado"
 
 #: src/extract.c:1610
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Unknown file type '%c', extracted as normal file"
 msgstr ""
-"Tipo \"%c\" do ficheiro \"%s\" desconhecido; extrai-se como um ficheiro "
-"normal"
+"%s: tipo de ficheiro \"%c\" desconhecido, extraído como ficheiro normal"
 
 #: src/extract.c:1636
 #, c-format
 msgid "Current %s is newer or same age"
-msgstr ""
+msgstr "%s actual é mais recente ou da mesma idade"
 
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: nome de membro contém \"..\""
 
 #: src/extract.c:1696
 #, c-format
 msgid "%s: Was unable to backup this file"
-msgstr ""
+msgstr "%s: impossível fazer seguranças deste ficheiro"
 
 #: src/extract.c:1845
 #, c-format
 msgid "Cannot rename %s to %s"
-msgstr "N�o se consegue mudar o nome de %s para %s"
+msgstr "Impossível renomear %s para %s"
 
-#: src/incremen.c:494 src/incremen.c:536
-#, fuzzy, c-format
+#: src/incremen.c:493 src/incremen.c:535
+#, c-format
 msgid "%s: Directory has been renamed from %s"
-msgstr "Mudou-se o nome do directoria %s"
+msgstr "%s: a pasta foi renomeada de %s"
 
-#: src/incremen.c:549
-#, fuzzy, c-format
+#: src/incremen.c:548
+#, c-format
 msgid "%s: Directory is new"
-msgstr "O directoria %s � novo"
+msgstr "%s: a pasta é nova"
 
-#: src/incremen.c:566
-#, fuzzy, c-format
+#: src/incremen.c:565
+#, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
-msgstr "%s: Est� num outro sistema de ficheiros; n�o ser� arquivado"
+msgstr "%s: pasta num sistema de ficheiros diferente; não despejada"
 
-#: src/incremen.c:587
-#, fuzzy, c-format
+#: src/incremen.c:586
+#, c-format
 msgid "%s: Directory has been renamed"
-msgstr "Mudou-se o nome do directoria %s"
+msgstr "%s: a pasta foi renomeada"
 
 #: src/incremen.c:1003 src/incremen.c:1018
 msgid "Invalid time stamp"
-msgstr ""
+msgstr "Carimbo inválido"
 
 #: src/incremen.c:1047
 msgid "Invalid modification time"
-msgstr ""
+msgstr "Hora de modificação inválida"
 
 #: src/incremen.c:1057
 msgid "Invalid modification time (nanoseconds)"
-msgstr ""
+msgstr "Hora de modificação inválida (nano-segundos)"
 
 #: src/incremen.c:1073
 msgid "Invalid device number"
-msgstr ""
+msgstr "Número de dispositivo inválido"
 
 #: src/incremen.c:1081
 msgid "Invalid inode number"
-msgstr ""
+msgstr "Número inode inválido"
 
 #: src/incremen.c:1137
 #, c-format
 msgid "%s: byte %s: %s %.*s... too long"
-msgstr ""
+msgstr "%s: byte %s: %s %.*s... muito longo"
 
 #: src/incremen.c:1153 src/incremen.c:1211 src/incremen.c:1273
-#, fuzzy
 msgid "Unexpected EOF in snapshot file"
-msgstr "Fim de ficheiro inesperado no ficheiro de arquivo"
+msgstr "EOF inesperado em ficheiro instantâneo"
 
 #: src/incremen.c:1161
 #, c-format
 msgid "%s: byte %s: %s %s followed by invalid byte 0x%02x"
-msgstr ""
+msgstr "%s: byte %s: %s %s seguido de byte 0x%02x inválido"
 
 #: src/incremen.c:1174
 #, c-format
@@ -1109,456 +1105,477 @@ msgid ""
 "%s: byte %s: (valid range %s..%s)\n"
 "\t%s %s"
 msgstr ""
+"%s: byte %s: (intervalo válido %s..%s)\n"
+"\t%s %s"
 
 #: src/incremen.c:1181
 #, c-format
 msgid "%s: byte %s: %s %s"
-msgstr ""
+msgstr "%s: byte %s: %s %s"
 
 #: src/incremen.c:1262
 #, c-format
 msgid "%s: byte %s: %s"
-msgstr ""
+msgstr "%s: byte %s: %s"
 
 #: src/incremen.c:1265
 msgid "Missing record terminator"
-msgstr ""
+msgstr "Terminador de registo em falta"
 
 #: src/incremen.c:1371 src/incremen.c:1374
 msgid "Bad incremental file format"
-msgstr ""
+msgstr "Formato de ficheiro incremental errado"
 
 #: src/incremen.c:1393
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
-msgstr ""
+msgstr "Versão de formato incremental não suportada: %<PRIuMAX>"
 
 #: src/incremen.c:1549
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr ""
+msgstr "dumpdir mal formado: esperado \"%c\", obtido %#3o"
 
 #: src/incremen.c:1559
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr ""
+msgstr "dumpdir mal formado: \"X\" duplicado"
 
 #: src/incremen.c:1572
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr ""
+msgstr "dumpdir mal formado: nome vazio em \"R\""
 
 #: src/incremen.c:1585
 msgid "Malformed dumpdir: 'T' not preceded by 'R'"
-msgstr ""
+msgstr "dumpdir mal formado: \"T\" não precedido de \"R\""
 
 #: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr ""
+msgstr "dumpdir mal formado: nome vazio em \"T\""
 
 #: src/incremen.c:1611
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr ""
+msgstr "dumpdir formado: esperado \"%c\", obtido fim de dados"
 
 #: src/incremen.c:1618
 msgid "Malformed dumpdir: 'X' never used"
-msgstr ""
+msgstr "dumpdir formado: \"X\" nunca usado"
 
 #: src/incremen.c:1662
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot create temporary directory using template %s"
-msgstr "N�o se pode mudar para a directoria %s"
+msgstr "Impossível criar pasta temporária usando o modelo %s"
 
 #: src/incremen.c:1723
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
-msgstr ""
+msgstr "%s: sem purgar a pasta: impossível obter informações"
 
 #: src/incremen.c:1736
 #, c-format
 msgid "%s: directory is on a different device: not purging"
-msgstr ""
+msgstr "%s: a pasta está num dispositivo diferente: sem purgar"
 
 #: src/incremen.c:1744
 #, c-format
 msgid "%s: Deleting %s\n"
-msgstr "%s: Apaga-se  %s\n"
+msgstr "%s: a eliminar %s\n"
 
 #: src/incremen.c:1749
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Cannot remove"
-msgstr "N�o se consegue apagar %s"
+msgstr "%s: impossível remover"
 
-#: src/list.c:219
-#, fuzzy, c-format
+#: src/list.c:218
+#, c-format
 msgid "%s: Omitting"
-msgstr "Omite-se %s"
+msgstr "%s: a omitir"
 
-#: src/list.c:237
-#, fuzzy, c-format
+#: src/list.c:236
+#, c-format
 msgid "block %s: ** Block of NULs **\n"
-msgstr "bloco %10ld: ** Bloco de NULs **\n"
+msgstr "bloco %s: ** Bloco de NULs **\n"
 
-#: src/list.c:263
-#, fuzzy, c-format
+#: src/list.c:262
+#, c-format
 msgid "block %s: ** End of File **\n"
-msgstr "bloco %10ld: ** Fim-de-ficheiro **\n"
+msgstr "bloco %s: ** Fim-de-ficheiro **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
-#, fuzzy, c-format
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
+#, c-format
 msgid "block %s: "
-msgstr "bloco %10ld: "
+msgstr "bloco %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
-msgstr ""
+msgstr "Espaços no cabeçalho onde era esperado um valor numérico %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
+"O valor octal do arquivo %.*s está fora do alcance %s; a assumir o "
+"complemento de dois"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
-msgstr ""
+msgstr "O valor octal do arquivo %.*s está fora do alcance %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
-msgstr ""
+msgstr "O arquivo contém cabeçalhos de base 64 obsoletos"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
-msgstr ""
+msgstr "Cadeia %s assinada de base 64 do arquivo fora do alcance %s"
 
-#: src/list.c:883
-#, fuzzy, c-format
+#: src/list.c:884
+#, c-format
 msgid "Archive base-256 value is out of %s range"
-msgstr "Este volume est� fora da sequ�ncia"
+msgstr "Valor de base 256 do arquivo fora do alcance %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
-msgstr ""
+msgstr "O arquivo contém %.*s onde era esperado um valor numérico %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
-msgstr ""
+msgstr "O valor %s do arquivo está fora de alcance %s, %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
-msgstr " liga��o para %s\n"
+msgstr " ligar a %s\n"
 
-#: src/list.c:1280
-#, fuzzy, c-format
+#: src/list.c:1277
+#, c-format
 msgid " unknown file type %s\n"
-msgstr " tipo de ficheiro desconhecido \"%c\"\n"
+msgstr " tipo de ficheiro desconhecido %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
-msgstr ""
+msgstr "--Ligação longa--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
-msgstr ""
+msgstr "--Nome longo--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
-msgstr "--Cabe�alho de volume--\n"
+msgstr "--Cabeçalho de volume--\n"
 
-#: src/list.c:1314
-#, fuzzy, c-format
+#: src/list.c:1311
+#, c-format
 msgid "--Continued at byte %s--\n"
-msgstr "--Continua no \"byte\" %ld--\n"
+msgstr "--Continua no byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
-msgstr "Cria��o de directoria::"
+msgstr "A criar pasta:"
 
-#: src/misc.c:738
-#, fuzzy, c-format
+#: src/misc.c:751
+#, c-format
 msgid "Renaming %s to %s\n"
-msgstr "Mudou-se o nome %s para %s"
+msgstr "A renomear %s para %s\n"
 
-#: src/misc.c:747 src/misc.c:766
-#, fuzzy, c-format
+#: src/misc.c:760 src/misc.c:779
+#, c-format
 msgid "%s: Cannot rename to %s"
-msgstr "N�o se consegue mudar o nome de %s para %s"
+msgstr "%s: impossível renomear %s"
 
-#: src/misc.c:771
-#, fuzzy, c-format
+#: src/misc.c:784
+#, c-format
 msgid "Renaming %s back to %s\n"
-msgstr "Mudou-se o nome %s para %s"
+msgstr "A renomear %s para %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
-msgstr ""
+msgstr "%s: ficheiro removido antes de ser lido"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
-msgstr ""
+msgstr "processo filho"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
-msgstr ""
+msgstr "canal inter-processos"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
-msgstr ""
+msgstr "Selecção de nome de ficheiro local:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
+"adicionar FICHEIRO dado ao arquivo (útil se o nome começa por um hífen)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
-msgstr ""
+msgstr "PASTA"
 
-#: src/names.c:74
-#, fuzzy
+#: src/names.c:73
 msgid "change to directory DIR"
-msgstr "N�o se pode mudar para a directoria %s"
+msgstr "mudar para a pasta PASTA"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
-msgstr ""
+msgstr "obter nomes a extrair ou criar de FICHEIRO"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
-msgstr ""
+msgstr "-T lê nomes terminados em null; implica --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
-msgstr ""
+msgstr "desactiva o efeito da opção --null anterior"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
+"tirar aspas do ficheiro de entrada ou de nomes de membro (predefinição)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
-msgstr ""
+msgstr "não tirar aspas do ficheiro de entrada ou de nomes de membro"
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr ""
+msgstr "-T lê nomes de ficheiro literalmente (sem escape ou gestão de opções)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
+"-T trata nomes de ficheiro começados com hífen como opções (predefinição)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
-msgstr ""
+msgstr "PADRÃO"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
-msgstr ""
+msgstr "exclui ficheiros, dados como PADRÃO"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
-msgstr ""
+msgstr "exclui padrões listados no FICHEIRO"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
+"exclui conteúdos de pastas contendo CACHEDIR.TAG, excepto o próprio ficheiro "
+"etiqueta"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
+msgstr "exclui tudo em pastas que contenham CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
+msgstr "exclui pastas que contenham CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
+"exclui conteúdo de pastas que contenham FICHEIRO, excepto o próprio FICHEIRO"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
-msgstr ""
+msgstr "lê padrões de exclusão para cada pasta de FICHEIRO, se existir"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
+"lê padrões de exclusão para cada pasta e suas sub-pastas de FICHEIRO, se "
+"existir"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
-msgstr ""
+msgstr "exclui tudo em pastas que contenham FICHEIRO"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
-msgstr ""
+msgstr "exclui pastas que contenham FICHEIRO"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
-msgstr ""
+msgstr "exclui pastas do sistema de controlo de versões"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
-msgstr ""
+msgstr "ler padrões de exclusão dos ficheiros \"ignore\" dos VCS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
-msgstr ""
+msgstr "exclui ficheiros de seguranças e bloqueio"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
-msgstr ""
+msgstr "recursivo em pastas (predefinição)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
-msgstr ""
+msgstr "evita descer automaticamente nas pastas"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
+"Opções de comparação de nomes de ficheiro (afecta padrões de exclusão e "
+"inclusão):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
-msgstr ""
+msgstr "padrões coincidem com o início do nome de ficheiro"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
-msgstr ""
+msgstr "padrões coincidem após qualquer \"/\" (predefinição para exclusão)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
-msgstr ""
+msgstr "ignorar maiúsculas"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
-msgstr ""
+msgstr "Sensível a maiúsculas (predefinição)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
-msgstr ""
+msgstr "usar caracteres universais (predefinição para exclusão)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
-msgstr ""
+msgstr "comparação literal de cadeias"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
-msgstr ""
+msgstr "caracteres universais coincidem com \"/\" (predefinição para exclusão)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
-msgstr ""
+msgstr "caracteres universais não coincidem com \"/\""
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"As opções seguintes foram usadas após qualquer argumento não-opcional em "
+"modo de criação ou actualização de arquivo. Estas opções são posicionais e "
+"só afectam argumentos a seguir. Por favor, reordene-as apropriadamente."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s não tem qualquer efeito"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s não tem qualquer efeito"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s não tem qualquer efeito"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
-msgstr ""
+msgstr "linha de comandos"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
-msgstr ""
+msgstr "%s: lista de ficheiros pedida de %s já lida de %s"
 
-#: src/names.c:978 src/checkpoint.c:274
-#, fuzzy, c-format
+#: src/names.c:977 src/checkpoint.c:308
+#, c-format
 msgid "cannot split string '%s': %s"
-msgstr "N�o se pode criar uma liga��o (\"link\") simb�lica de  %s para %s"
+msgstr "impossível dividir a cadeia \"%s\": %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
-msgstr ""
+msgstr "%s: nome de ficheiro lido contém um carácter nulo"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
-msgstr ""
+msgstr "Padrão coincidente com caracteres usados em nomes de ficheiro"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
+"Use --wildcards para activar a comparação com padrões ou --no-wildcards para "
+"suprimir este aviso"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
-msgstr "%s: N�o foi encontrado no arquivo"
+msgstr "%s: não encontrado no arquivo"
 
-#: src/names.c:1379
-#, fuzzy, c-format
+#: src/names.c:1409
+#, c-format
 msgid "%s: Required occurrence not found in archive"
-msgstr "%s: N�o foi encontrado no arquivo"
+msgstr "%s: ocorrência requerida não encontrada no arquivo"
 
-#: src/names.c:1413
-#, fuzzy, c-format
+#: src/names.c:1443
+#, c-format
 msgid "Archive label mismatch"
-msgstr "O arquivo n�o tem etiqueta e n�o condiz com %s"
+msgstr "Etiqueta de arquivo trocada"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
+"Não pode usar a opção -C dentro da lista de ficheiros com --listed-"
+"incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
-msgstr ""
+msgstr "Só é permitida uma opção -C com --listed-incremental"
 
-#: src/tar.c:88
-#, fuzzy, c-format
+#: src/tar.c:87
+#, c-format
 msgid "Options '%s' and '%s' both want standard input"
-msgstr "Ambas as op��es `-%s' e `-%s' precisam do \"standard input\""
+msgstr "Ambas as opções \"%s\" e \"%s\" querem a entrada padrão"
 
-#: src/tar.c:165
-#, fuzzy, c-format
+#: src/tar.c:164
+#, c-format
 msgid "%s: Invalid archive format"
-msgstr "Formato de data inv�lido \"%s\""
+msgstr "%s: formato de arquivo inválido"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
-msgstr ""
-"Est�o-se a querer propriedades GNU num arquivo com formato incompat�vel"
+msgstr "Desejadas funcionalidades GNU em formato de arquivo incompatível"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
 msgstr ""
+"Estilo de aspas \"%s\" desconhecido. Tente \"%s --quoting-style=help\" para "
+"obter uma lista."
 
 #: src/tar.c:354
 msgid ""
@@ -1570,6 +1587,14 @@ msgid ""
 "  tar -tvf archive.tar         # List all files in archive.tar verbosely.\n"
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
+"O GNU \"tar\" grava muitos ficheiros juntos numa só fita magnética ou num "
+"disco e pode restaurar ficheiros individuais desse arquivo.\n"
+"\n"
+"Exemplos:\n"
+"  tar -cf arquivo.tar foo bar  # Cria arquivo.tar a partir de foo e bar.\n"
+"  tar -tvf arquivo.tar         # Lista todos os ficheiros em arquivo.tar "
+"extensamente.\n"
+"  tar -xf arquivo.tar          # Extrai todos os ficheiros em arquivo.tar.\n"
 
 #: src/tar.c:363
 msgid ""
@@ -1582,87 +1607,96 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
+"O sufixo da segurança é \"~\", a menos que definido por --suffix ou "
+"SIMPLE_BACKUP_SUFFIX.\n"
+"O controlo de versão pode ser definido com --backup ou VERSION_CONTROL, os "
+"valores são:\n"
+"\n"
+"  none, off       nunca fazer seguranças\n"
+"  t, numbered     fazer seguranças numeradas\n"
+"  nil, existing   numeradas se existirem seguranças numeradas, senão "
+"simples\n"
+"  never, simple   fazer sempre seguranças simples\n"
 
 #: src/tar.c:393
 msgid "Main operation mode:"
-msgstr ""
+msgstr "Modo de operação principal:"
 
 #: src/tar.c:396
 msgid "list the contents of an archive"
-msgstr ""
+msgstr "lista o conteúdo de um arquivo"
 
 #: src/tar.c:398
 msgid "extract files from an archive"
-msgstr ""
+msgstr "extrai ficheiros de um arquivo"
 
 #: src/tar.c:401
-#, fuzzy
 msgid "create a new archive"
-msgstr "Fim de ficheiro inesperado no arquivo"
+msgstr "cria um novo arquivo"
 
 #: src/tar.c:403
 msgid "find differences between archive and file system"
-msgstr ""
+msgstr "encontra diferenças entre o arquivo e o sistema de ficheiros"
 
 #: src/tar.c:406
 msgid "append files to the end of an archive"
-msgstr ""
+msgstr "anexa ficheiros ao fim de um arquivo"
 
 #: src/tar.c:408
 msgid "only append files newer than copy in archive"
-msgstr ""
+msgstr "anexa só ficheiros mais recentes que a cópia no arquivo"
 
 #: src/tar.c:410
 msgid "append tar files to an archive"
-msgstr ""
+msgstr "anexa ficheiros tar a um arquivo"
 
 #: src/tar.c:413
 msgid "delete from the archive (not on mag tapes!)"
-msgstr ""
+msgstr "elimina do arquivo (não em fitas magnéticas)"
 
 #: src/tar.c:415
 msgid "test the archive volume label and exit"
-msgstr ""
+msgstr "testa a etiqueta de volume do arquivo e sai"
 
 #: src/tar.c:420
 msgid "Operation modifiers:"
-msgstr ""
+msgstr "Modificadores de operação:"
 
 #: src/tar.c:423
 msgid "handle sparse files efficiently"
-msgstr ""
+msgstr "gere ficheiros dispersos eficazmente"
 
 #: src/tar.c:424
 msgid "TYPE"
-msgstr ""
+msgstr "TIPO"
 
 #: src/tar.c:425
 msgid "technique to detect holes"
-msgstr ""
+msgstr "técnica para detectar buracos"
 
 #: src/tar.c:426
 msgid "MAJOR[.MINOR]"
-msgstr ""
+msgstr "PRINCIPAL[.MENOR]"
 
 #: src/tar.c:427
 msgid "set version of the sparse format to use (implies --sparse)"
-msgstr ""
+msgstr "define a versão do formato disperso a usar (implica --sparse)"
 
 #: src/tar.c:429
 msgid "handle old GNU-format incremental backup"
-msgstr ""
+msgstr "gere o formato GNU antigo de segurança incremental"
 
 #: src/tar.c:431
 msgid "handle new GNU-format incremental backup"
-msgstr ""
+msgstr "gere o formato GNU novo de segurança incremental"
 
 #: src/tar.c:433
 msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "nível de despejo para arquivos incrementais listados criados"
 
 #: src/tar.c:435
 msgid "do not exit with nonzero on unreadable files"
-msgstr ""
+msgstr "não sair com ficheiros não-zero ou ilegíveis"
 
 #: src/tar.c:437
 msgid ""
@@ -1671,144 +1705,152 @@ msgid ""
 "diff, --extract or --list and when a list of files is given either on the "
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
+"processa só a ocorrência NÚMERO de cada ficheiro no arquivo; esta opção é "
+"válida só em conjunto com um dos sub-comandos --delete, --diff, --extract ou "
+"--list e quando uma lista de ficheiros é dada via linha de comandos ou pela "
+"opção -T; A predefinição de NÚMERO é 1"
 
 #: src/tar.c:443
 msgid "archive is seekable"
-msgstr ""
+msgstr "o arquivo pode ser procurado"
 
 #: src/tar.c:445
 msgid "archive is not seekable"
-msgstr ""
+msgstr "o arquivo não pode ser procurado"
 
 #: src/tar.c:447
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "não verificar números de dispositivo ao criar arquivos incrementais"
 
 #: src/tar.c:450
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
+"verificar números de dispositivo ao criar arquivos incrementais "
+"(predefinição)"
 
 #: src/tar.c:456
 msgid "Overwrite control:"
-msgstr ""
+msgstr "Controlo de sobreposição:"
 
 #: src/tar.c:459
 msgid "attempt to verify the archive after writing it"
-msgstr ""
+msgstr "tenta verificar o arquivo após a escrita"
 
 #: src/tar.c:461
-#, fuzzy
 msgid "remove files after adding them to the archive"
-msgstr "Retira-se a especifica��o do \"drive\" aos nomes no arquivo"
+msgstr "remove os ficheiros após os adicionar ao arquivo"
 
 #: src/tar.c:463
 msgid "don't replace existing files when extracting, treat them as errors"
-msgstr ""
+msgstr "não substitui ficheiros existentes ao extrair, trata-os como erros"
 
 #: src/tar.c:466
 msgid "don't replace existing files when extracting, silently skip over them"
 msgstr ""
+"não substitui ficheiros existentes ao extrair, salta-os silenciosamente"
 
 #: src/tar.c:469
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
+"não substitui ficheiros existentes mais recentes que as cópias no arquivo"
 
 #: src/tar.c:471
 msgid "overwrite existing files when extracting"
-msgstr ""
+msgstr "sobrescreve ficheiros existentes ao extrair"
 
 #: src/tar.c:473
 msgid "remove each file prior to extracting over it"
-msgstr ""
+msgstr "remove cada ficheiro antes de extrair por cima"
 
 #: src/tar.c:475
 msgid "empty hierarchies prior to extracting directory"
-msgstr ""
+msgstr "esvazia hierarquias antes de extrair a pasta"
 
 #: src/tar.c:477
 msgid "preserve metadata of existing directories"
-msgstr ""
+msgstr "preserva meta-dados de pastas existentes"
 
 #: src/tar.c:479
 msgid "overwrite metadata of existing directories when extracting (default)"
-msgstr ""
+msgstr "sobrescreve meta-dados de pastas existentes ao extrair (predefinição)"
 
 #: src/tar.c:482
 msgid "preserve existing symlinks to directories when extracting"
-msgstr ""
+msgstr "preserva ligações simbólicas a pastas ao extrair"
 
 #: src/tar.c:485
 msgid "create a subdirectory to avoid having loose files extracted"
-msgstr ""
+msgstr "cria uma sub-pasta para evitar ter ficheiros soltos extraídos"
 
 #: src/tar.c:491
 msgid "Select output stream:"
-msgstr ""
+msgstr "Seleccione o fluxo de saída:"
 
 #: src/tar.c:494
 msgid "extract files to standard output"
-msgstr ""
+msgstr "extrair ficheiros para a saída padrão"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
-msgstr ""
+msgstr "COMANDO"
 
 #: src/tar.c:496
 msgid "pipe extracted files to another program"
-msgstr ""
+msgstr "encaminha ficheiros extraídos para outro programa"
 
 #: src/tar.c:498
 msgid "ignore exit codes of children"
-msgstr ""
+msgstr "ignora códigos de saída dos filhos"
 
 #: src/tar.c:500
 msgid "treat non-zero exit codes of children as error"
-msgstr ""
+msgstr "trata códigos de saída não-zero dos filhos como erro"
 
 #: src/tar.c:505
 msgid "Handling of file attributes:"
-msgstr ""
+msgstr "Gestão de atributos de ficheiro:"
 
 #: src/tar.c:508
 msgid "force NAME as owner for added files"
-msgstr ""
+msgstr "força NOME como dono para ficheiros adicionados"
 
 #: src/tar.c:510
 msgid "force NAME as group for added files"
-msgstr ""
+msgstr "força NOME como grupo para ficheiros adicionados"
 
 #: src/tar.c:512
 msgid "use FILE to map file owner UIDs and names"
-msgstr ""
+msgstr "usa FICHEIRO para mapear UIDs e nomes do dono"
 
 #: src/tar.c:514
 msgid "use FILE to map file owner GIDs and names"
-msgstr ""
+msgstr "usa FICHEIRO para mapear GIDs e nomes do dono"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
-msgstr ""
+msgstr "DATA-OU-FICHEIRO"
 
 #: src/tar.c:516
 msgid "set mtime for added files from DATE-OR-FILE"
-msgstr ""
+msgstr "define mtime para ficheiros adicionados de DATA-OU-FICHEIRO"
 
 #: src/tar.c:518
 msgid ""
 "only set time when the file is more recent than what was given with --mtime"
 msgstr ""
+"definir hora só se o ficheiro for mais recente que a que foi dada com --mtime"
 
 #: src/tar.c:519
 msgid "CHANGES"
-msgstr ""
+msgstr "ALTERAÇÕES"
 
 #: src/tar.c:520
 msgid "force (symbolic) mode CHANGES for added files"
-msgstr ""
+msgstr "força (simbolicamente) o modo ALTERAÇÕES para ficheiros adicionados"
 
 #: src/tar.c:522
 msgid "METHOD"
-msgstr ""
+msgstr "MÉTODO"
 
 #: src/tar.c:523
 msgid ""
@@ -1816,1093 +1858,1142 @@ msgid ""
 "reading (METHOD='replace'; default) or by not setting the times in the first "
 "place (METHOD='system')"
 msgstr ""
+"preserva horas de acesso em ficheiros despejados, seja restaurando as horas "
+"após leitura (MÉTODO=\"replace\": predefinição), seja não definindo horas "
+"(MÉTODO=\"system\")"
 
 #: src/tar.c:527
 msgid "don't extract file modified time"
-msgstr ""
+msgstr "não extrai hora modificada do ficheiro"
 
 #: src/tar.c:529
 msgid ""
 "try extracting files with the same ownership as exists in the archive "
 "(default for superuser)"
 msgstr ""
+"tenta extrair ficheiros com o mesmo dono que existe no arquivo (predefinição "
+"para super-utilizador)"
 
 #: src/tar.c:531
 msgid "extract files as yourself (default for ordinary users)"
-msgstr ""
+msgstr "extrai ficheiros como você mesmo (predefinição para utilizador normal)"
 
 #: src/tar.c:533
 msgid "always use numbers for user/group names"
-msgstr ""
+msgstr "usa sempre números para nomes de utilizador/grupo"
 
 #: src/tar.c:535
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
+"extrai informação sobre permissões de ficheiro (predefinição para super-"
+"utilizador)"
 
 #: src/tar.c:539
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
+"aplicar umask de utilizador ao extrair permissões do arquivo (predefinição "
+"para utilizador norma)"
 
 #: src/tar.c:541
 msgid ""
 "member arguments are listed in the same order as the files in the archive"
 msgstr ""
+"argumentos de membro são listados na mesma ordem que os ficheiros no arquivo"
 
 #: src/tar.c:545
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
+"atrasa a definição de horas de modificação e permissões de pastas extraídas "
+"até à conclusão da extração"
 
 #: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
-msgstr ""
+msgstr "cancela o efeito da opção --delay-directory-restore"
 
 #: src/tar.c:549
 msgid "ORDER"
-msgstr ""
+msgstr "ORDEM"
 
 #: src/tar.c:551
 msgid "directory sorting order: none (default), name or inode"
-msgstr ""
+msgstr "ordem das pastas: nenhuma (predefinição), nome ou inode"
 
 #: src/tar.c:553
 msgid "directory sorting order: none (default) or name"
-msgstr ""
+msgstr "ordem das pastas: nenhuma (predefinição) ou nome"
 
 #: src/tar.c:560
 msgid "Handling of extended file attributes:"
-msgstr ""
+msgstr "Gestão de atributos de ficheiro estendidos:"
 
 #: src/tar.c:563
 msgid "Enable extended attributes support"
-msgstr ""
+msgstr "Activar suporte a atributos estendidos"
 
 #: src/tar.c:565
 msgid "Disable extended attributes support"
-msgstr ""
+msgstr "Desactivar suporte a atributos estendidos"
 
 #: src/tar.c:566 src/tar.c:568
 msgid "MASK"
-msgstr ""
+msgstr "MÁSCARA"
 
 #: src/tar.c:567
 msgid "specify the include pattern for xattr keys"
-msgstr ""
+msgstr "especifica o padrão de inclusão para chaves xattr"
 
 #: src/tar.c:569
 msgid "specify the exclude pattern for xattr keys"
-msgstr ""
+msgstr "especifica o padrão de exclusão para chaves xattr"
 
 #: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr ""
+msgstr "Activar suporte a contexto SELinux"
 
 #: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr ""
+msgstr "Desactivar suporte a contexto SELinux"
 
 #: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr ""
+msgstr "Activar suporte a POSIX ACLs"
 
 #: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr ""
+msgstr "Desactivar suporte a POSIX ACLs"
 
 #: src/tar.c:582
 msgid "Device selection and switching:"
-msgstr ""
+msgstr "Selecção e troca de dispositivo:"
 
 #: src/tar.c:584
 msgid "ARCHIVE"
-msgstr ""
+msgstr "ARQUIVO"
 
 #: src/tar.c:585
 msgid "use archive file or device ARCHIVE"
-msgstr ""
+msgstr "usa o ficheiro de arquivo ou o dispositivo ARQUIVO"
 
 #: src/tar.c:587
 msgid "archive file is local even if it has a colon"
-msgstr ""
+msgstr "o ficheiro arquivo é local, mesmo que tenha dois pontos"
 
 #: src/tar.c:589
 msgid "use given rmt COMMAND instead of rmt"
-msgstr ""
+msgstr "usa COMANDO rmt em vez de rmt"
 
 #: src/tar.c:591
 msgid "use remote COMMAND instead of rsh"
-msgstr ""
+msgstr "usa COMANDO remoto em vez de rsh"
 
 #: src/tar.c:595
 msgid "specify drive and density"
-msgstr ""
+msgstr "especifica unidade e densidade"
 
 #: src/tar.c:609
-#, fuzzy
 msgid "create/list/extract multi-volume archive"
-msgstr "N�o se pode verificar arquivos multi-volume"
+msgstr "cria/lista/extrai arquivos multi-volume"
 
 #: src/tar.c:611
 msgid "change tape after writing NUMBER x 1024 bytes"
-msgstr ""
+msgstr "muda a fita após escrever NÚMERO x 1024 bytes"
 
 #: src/tar.c:613
 msgid "run script at end of each tape (implies -M)"
-msgstr ""
+msgstr "executa o script no fim de cada fita (implica -M)"
 
 #: src/tar.c:616
 msgid "use/update the volume number in FILE"
-msgstr ""
+msgstr "usa/actualiza o número do volume em FICHEIRO"
 
 #: src/tar.c:621
 msgid "Device blocking:"
-msgstr ""
+msgstr "Bloqueio de dispositivo:"
 
 #: src/tar.c:623
 msgid "BLOCKS"
-msgstr ""
+msgstr "BLOCOS"
 
 #: src/tar.c:624
 msgid "BLOCKS x 512 bytes per record"
-msgstr ""
+msgstr "BLOCOS x 512 bytes por registo"
 
 #: src/tar.c:626
 msgid "NUMBER of bytes per record, multiple of 512"
-msgstr ""
+msgstr "NÚMERO de bytes por registo, múltiplo de 512"
 
 #: src/tar.c:628
 msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr ""
+msgstr "ignora blocos a zero no arquivo (significa EOF)"
 
 #: src/tar.c:630
 msgid "reblock as we read (for 4.2BSD pipes)"
-msgstr ""
+msgstr "rebloqueia à medida que lê (para túneis 4.2BSD)"
 
 #: src/tar.c:635
-#, fuzzy
 msgid "Archive format selection:"
-msgstr "Arquivo para stdin"
+msgstr "Selecção de formato do arquivo:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
-msgstr ""
+msgstr "FORMATO"
 
 #: src/tar.c:638
 msgid "create archive of the given format"
-msgstr ""
+msgstr "cria arquivo no formato indicado"
 
 #: src/tar.c:640
 msgid "FORMAT is one of the following:"
-msgstr ""
+msgstr "FORMATO é um dos seguintes:"
 
 #: src/tar.c:641
 msgid "old V7 tar format"
-msgstr ""
+msgstr "formato V7 tar antigo"
 
 #: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
-msgstr ""
+msgstr "formato GNU se tar <= 1.12"
 
 #: src/tar.c:646
 msgid "GNU tar 1.13.x format"
-msgstr ""
+msgstr "formato GNU tar 1.13.x"
 
 #: src/tar.c:648
 msgid "POSIX 1003.1-1988 (ustar) format"
-msgstr ""
+msgstr "formato POSIX 1003.1-1988 (ustar)"
 
 #: src/tar.c:650
 msgid "POSIX 1003.1-2001 (pax) format"
-msgstr ""
+msgstr "formato POSIX 1003.1-2001 (pax)"
 
 #: src/tar.c:651
 msgid "same as pax"
-msgstr ""
+msgstr "igual a pax"
 
 #: src/tar.c:654
 msgid "same as --format=v7"
-msgstr ""
+msgstr "igual a --format=v7"
 
 #: src/tar.c:657
 msgid "same as --format=posix"
-msgstr ""
+msgstr "igual a --format=posix"
 
 #: src/tar.c:658
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr ""
+msgstr "palavra-chave[[:]=valor][,palavra-chave[[:]=valor]]..."
 
 #: src/tar.c:659
 msgid "control pax keywords"
-msgstr ""
+msgstr "controla palavras-chave pax"
 
 #: src/tar.c:660
 msgid "TEXT"
-msgstr ""
+msgstr "TEXTO"
 
 #: src/tar.c:661
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
+"cria arquivo com nome de volume TEXTO; à hora de listagem/extracção, usa "
+"TEXTO como padrão para nome de volume"
 
 #: src/tar.c:666
-#, fuzzy
 msgid "Compression options:"
-msgstr "H� conflitos entre as op��es de compress�o"
+msgstr "Opções de compressão:"
 
 #: src/tar.c:668
-#, fuzzy
 msgid "use archive suffix to determine the compression program"
-msgstr "N�o se consegue escrever para o programa de compress�o"
+msgstr "usa o sufixo do arquivo para determinar o programa de compressão"
 
 #: src/tar.c:670
-#, fuzzy
 msgid "do not use archive suffix to determine the compression program"
-msgstr "N�o se consegue escrever para o programa de compress�o"
+msgstr "não usa o sufixo do arquivo para determinar o programa de compressão"
 
 #: src/tar.c:672
 msgid "PROG"
-msgstr ""
+msgstr "PROG"
 
 #: src/tar.c:673
 msgid "filter through PROG (must accept -d)"
-msgstr ""
+msgstr "filtro por PROG (tem de aceitar -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
-msgstr ""
+msgstr "Selecção de ficheiro local:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
-msgstr ""
+msgstr "fica no sistema de ficheiros local ao criar o arquivo"
 
-#: src/tar.c:693
-#, fuzzy
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
-msgstr "Retira-se \"/\" das liga��es (\"links\") absolutas "
+msgstr "não remover \"/\" iniciais dos nomes de ficheiro"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
+"seguir ligações simbólicas; arquiva e despeja os ficheiros para onde elas "
+"apontam"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
+"seguir ligações rígidas; arquiva e despeja os ficheiros a que elas se referem"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
-msgstr ""
+msgstr "NOME-MEMBRO"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
-msgstr ""
+msgstr "começa no membro NOME-MEMBRO ao ler o arquivo"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
-msgstr ""
+msgstr "armazenar só ficheiros mais recentes que DATA-OU-FICHEIRO"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
-msgstr ""
+msgstr "DATA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
-msgstr ""
+msgstr "compara data e hora quando só os dados mudarem"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
-msgstr ""
+msgstr "CONTROLO"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
-msgstr ""
+msgstr "segurança antes de remover, escolha o CONTROLO de versão"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
-msgstr ""
+msgstr "CADEIA"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
+"segurança antes de remover, ignorar o sufixo habitual(\"~\" excepto se "
+"sobreposto pela variável de ambiente SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
-msgstr ""
+msgstr "Transformação de nome de ficheiro:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
-msgstr ""
+msgstr "remove NÚMERO componentes iniciais de nomes de ficheiro ao extrair"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
-msgstr ""
+msgstr "EXPRESSÃO"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
-msgstr ""
+msgstr "usa EXPRESSÃO sed de substituição para transformar nomes de ficheiro"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
-msgstr ""
+msgstr "Saída informativa:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
-msgstr ""
+msgstr "lista verbosamente os ficheiros processados"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
-msgstr ""
+msgstr "PALAVRA-CHAVE"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
-msgstr ""
+msgstr "controlo de aviso"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
+"mostra mensagens de progresso a cada NÚMERO registos (predefinição - 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
-msgstr ""
+msgstr "ACÇÃO"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "executa ACÇÃO a cada ponto de controlo"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
-msgstr ""
+msgstr "mostra uma mensagem se nem todas as ligações forem despejadas"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
-msgstr ""
+msgstr "SINAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
 "SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also "
 "accepted"
 msgstr ""
+"mostra o total de bytes após processar o arquivo; com um argumento - mostra "
+"o total de bytes quando este SINAL for entregue; Os sinais permitidos são: "
+"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2; os nomes sem o prefixo SIG "
+"também são aceites"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
-msgstr ""
+msgstr "mostra horas de modificação de ficheiros em UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
-msgstr ""
+msgstr "mostra hora do ficheiro em resolução completa"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
-msgstr ""
+msgstr "envia saída verbosa para FICHEIRO"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
-msgstr ""
+msgstr "mostra número de bloco dentro do arquivo com cada mensagem"
 
-#: src/tar.c:752
-#, fuzzy
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
-msgstr "N�o se consegue obter confirma��o, do utilizador"
+msgstr "pedir confirmação para cada acção"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
-msgstr ""
+msgstr "mostra predefinições tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
-msgstr ""
+msgstr "mostra intervalos válidos para campos de ficheiro-snapshot"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
+"ao listar ou extrair, lista cada pasta que não cumpre o critério de procura"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
-msgstr ""
+msgstr "mostra nomes de ficheiro ou arquivo após a transformação"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
-msgstr ""
+msgstr "ESTILO"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
-msgstr ""
+msgstr "define o estilo de aspas; veja abaixo os valores de ESTILO válidos"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
-msgstr ""
+msgstr "adicionalmente, pôr aspas em caracteres de CADEIA"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
-msgstr ""
+msgstr "desactivar aspas para caracteres de CADEIA"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
-msgstr ""
+msgstr "Opções de compatibilidade:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
-msgstr ""
+msgstr "ao criar, igual a --old-archive; ao extrair, igual a --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
-msgstr ""
+msgstr "Outras opções:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
-msgstr ""
+msgstr "desactivar uso de opções potencialmente perigosas"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
-msgstr ""
+msgstr "\"%s\" não pode ser usada com \"%s\""
 
-#: src/tar.c:933
-#, fuzzy
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
-msgstr "N�o se pode especificar mais do que uma das op��es \"-Acdtrux\""
+msgstr ""
+"Não pode especificar mais de uma das opções \"-Acdtrux\", \"--delete\" ou  "
+"\"--test-label\""
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
-msgstr "H� conflitos entre as op��es de compress�o"
+msgstr "Há conflitos nas opções de compressão"
 
-#: src/tar.c:1004
-#, fuzzy, c-format
+#: src/tar.c:1000
+#, c-format
 msgid "Unknown signal name: %s"
-msgstr "Op��o \"%c\" desconhecida"
+msgstr "Nome de sinal desconhecido: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
-msgstr ""
+msgstr "Ficheiro amostra de data não encontrado"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
-msgstr ""
+msgstr "A substituir %s por formato de data %s desconhecido"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
-msgstr ""
+msgstr "Opção %s: a tratar data \"%s\" como %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
-msgstr ""
+msgstr "filtrar o arquivo por %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
-msgstr ""
+msgstr "Argumentos válidos para a opção --quoting-style option:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
+"\n"
+"Predefinições *deste* tar:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
-msgstr ""
+msgstr "ID de dono ou grupo inválida"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
-msgstr ""
+msgstr "Factor de bloqueio inválido"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
-msgstr ""
+msgstr "Tamanho de fita inválido"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
-msgstr ""
+msgstr "Valor de nível incremental inválido"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
-msgstr ""
+msgstr "Mais de uma data limite"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
-msgstr ""
+msgstr "Valor de versão dispersa inválido"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
+"--atime-preserve=\"system\" não é suportado nesta plataforma plataforma"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
-msgstr ""
+msgstr "valor de --checkpoint não é um inteiro"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
-msgstr ""
+msgstr "Modo inválido indicado na opção"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
-msgstr ""
+msgstr "Número inválido"
 
-#: src/tar.c:1861
-#, fuzzy
+#: src/tar.c:1870
 msgid "Invalid record size"
-msgstr "Valor inv�lido para tamanho de registo (record_size)"
+msgstr "Tamanho de registo inválido"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
-msgstr "O tamanho dos registos tem que ser m�ltiplo de %d."
+msgstr "O tamanho dos registos tem de ser múltiplo de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
-msgstr ""
+msgstr "Número de elementos inválidos"
 
-#: src/tar.c:1935
-#, fuzzy
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
-msgstr "S� se permite uma op��o de compress�o"
+msgstr "Só é permitida uma opção --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
-msgstr ""
+msgstr "Argumento de densidade mal formado: %s"
 
-#: src/tar.c:2049
-#, fuzzy, c-format
+#: src/tar.c:2058
+#, c-format
 msgid "Unknown density: '%c'"
-msgstr "Op��o \"%c\" desconhecida"
+msgstr "Densidade desconhecida: \"%c\""
 
-#: src/tar.c:2066
-#, fuzzy, c-format
+#: src/tar.c:2075
+#, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
-msgstr "As op��es \"-[0-7][lmh]\" n�o s�o suportadas por *este* tar"
+msgstr "Opções \"-[0-7][lmh]\" não suportada *neste* tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
-msgstr ""
+msgstr "%s:%lu: localização do erro"
 
-#: src/tar.c:2076
-#, fuzzy, c-format
+#: src/tar.c:2085
+#, c-format
 msgid "error parsing %s"
-msgstr "Erro durante o fecho de %s"
+msgstr "Erro ao analisar %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
-msgstr ""
+msgstr "[FICHEIRO]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
-msgstr ""
+msgstr "argumentos não-opção em %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
-msgstr ""
+msgstr "impossível dividir TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
-#, fuzzy, c-format
+#: src/tar.c:2300
+#, c-format
 msgid "Old option '%c' requires an argument."
-msgstr "A antiga op��o `%c' exige um argumento."
+msgstr "A opção antiga \"%c\" requer um argumento."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
-msgstr ""
+msgstr "--occurrence não faz sentido sem uma lista de ficheiros"
 
-#: src/tar.c:2390
-#, fuzzy
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
-msgstr "Para usar v�rios arquivos � necess�ria a op��o \"-M\""
+msgstr "Múltiplos ficheiros de arquivo requerem a opção \"-M\""
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
-msgstr ""
+msgstr "--level não faz sentido sem --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%s: rótulo de volume muito longo (o limite é %lu byte)"
+msgstr[1] "%s: rótulo de volume muito longo (o limite é %lu bytes)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
-msgstr "N�o se pode verificar arquivos multi-volume"
+msgstr "Impossível verificar arquivos multi-volume"
 
-#: src/tar.c:2439
-#, fuzzy
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
-msgstr "N�o se pode actualizar o verificar um arquivo comprimido"
+msgstr "Impossível verificar arquivos comprimidos"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
-msgstr "N�o se pode de usar arquivos multi-volume comprimidos"
+msgstr "Impossível usar arquivos multi-volume comprimidos"
 
-#: src/tar.c:2457
-#, fuzzy
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
-msgstr "N�o se pode actualizar o verificar um arquivo comprimido"
+msgstr "Impossível concatenar arquivos comprimidos"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
-msgstr ""
+msgstr "--clamp-mtime precisa de uma data especificada com --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
-msgstr ""
+msgstr "--pax-option só pode ser usada em arquivos POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
-msgstr ""
+msgstr "--acls só pode ser usado em arquivos POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
-msgstr ""
+msgstr "--selinux só pode ser usado em arquivos POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
-msgstr ""
+msgstr "--xattrs só pode ser usado em arquivos POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
+"Impossível deduzir o nome da pasta de topo; por favor, defina-o "
+"explicitamente com --one-top-level=PASTA"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
-msgstr ""
+msgstr "Tamanho do volume não pode ser inferior ao tamanho do registo"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
-msgstr "Recusa-se, covardemente, a criar um arquivo vazio"
+msgstr "Recusa cobardemente a criação um arquivo vazio"
 
-#: src/tar.c:2623
-#, fuzzy
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
-msgstr "As op��es \"-Aru\" s�o imcompat�veis com \"-f -\""
+msgstr "Opções \"-Aru\" são incompatíveis com \"-f -\""
 
-#: src/tar.c:2711
-#, fuzzy
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
-msgstr "Tem que se especificar uma das op��es \"-Acdtrux\""
+msgstr ""
+"Tem de especificar uma opção de \"-Acdtrux\", \"--delete\" ou \"--test-label"
+"\""
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
-msgstr ""
+msgstr "A sair com estado de falha devido a erros prévios"
 
-#: src/update.c:87
-#, fuzzy, c-format
+#: src/update.c:86
+#, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
-msgstr[0] "%s: O ficheiro diminui em %d bytes, (desgra�a!)"
-msgstr[1] "%s: O ficheiro diminui em %d bytes, (desgra�a!)"
+msgstr[0] "%s: ficheiro encolhido em %s byte"
+msgstr[1] "%s: ficheiro encolhido em %s bytes"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
-msgstr ""
+msgstr "Palavra-chave %s desconhecida ou ainda não implementada"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
+msgstr "Carimbo fora do alcance permitido"
+
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
 msgstr ""
 
-#: src/xheader.c:205
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
-msgstr ""
+msgstr "Não pode usar o padrão %s"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
+msgstr "Não pode ignorar a palavra-chave %s"
+
+#: src/xheader.c:476
+msgid "can't update global extended header record"
 msgstr ""
 
-#: src/xheader.c:668
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
-msgstr ""
+msgstr "Cabeçalho estendido mal formado: tamanho em falta"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
-msgstr ""
+msgstr "Tamanho de cabeçalho estendido %*s fora de alcance"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
-msgstr ""
+msgstr "Cabeçalho estendido mal formado: espaço em falta após tamanho"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
-msgstr ""
+msgstr "Cabeçalho estendido mal formado: sinal de igual em falta"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
-msgstr ""
+msgstr "Cabeçalho estendido mal formado: newline em falta"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
-msgstr ""
+msgstr "A ignorar palavra-chave de cabeçalho estendido \"%s\" desconhecida"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
+"Par palavra-chave/valor gerado muito longo (palavra-chave=%s, tamanho=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
-msgstr ""
+msgstr "Cabeçalho estendido %s=%s fora de alcance %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr ""
+msgstr "Cabeçalho estendido mal formado: %s=%s inválido"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
-msgstr ""
+msgstr "Malformed extended header: %s=%s excessivo"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
+"Cabeçalho estendido mal formado: %s inválido: delimitador %c inesperado"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
-msgstr ""
+msgstr "Cabeçalho estendido mal formado: %s inválido: número ímpar de valores"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
-msgstr ""
+msgstr "%s: não é um valor de expiração válido"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: acção de ponto de controlo desconhecida"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
-msgstr ""
+msgstr "escrever"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
-msgstr ""
+msgstr "ler"
 
 #. TRANSLATORS: This is a "checkpoint of write operation",
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
-#, fuzzy, c-format
+#: src/checkpoint.c:252
+#, c-format
 msgid "Write checkpoint %u"
-msgstr "Escreve-se o ponto de verifica��o %d"
+msgstr "Ponto de controlo de escrita %u"
 
 #. TRANSLATORS: This is a "checkpoint of read operation",
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
-#, fuzzy, c-format
+#: src/checkpoint.c:258
+#, c-format
 msgid "Read checkpoint %u"
-msgstr "Leu-se o ponto de verifica��o %d"
+msgstr "Ponto de controlo de leitura %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
+"genfile manipula ficheiros de dados para o conjunto de teste GNU paxutils.\n"
+"As OPÇÕES são:\n"
 
-#: tests/genfile.c:131
-#, fuzzy
+#: tests/genfile.c:126
 msgid "File creation options:"
-msgstr "H� conflitos entre as op��es de compress�o"
+msgstr "Opções de criação de ficheiros:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
-msgstr ""
+msgstr "TAMANHO"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
-msgstr ""
+msgstr "Cria ficheiro do TAMANHO indicado"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
-msgstr ""
+msgstr "Escrever em NOME, em vez da saída padrão"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
-msgstr ""
+msgstr "Ler nomes de ficheiro de FICHEIRO"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
-msgstr ""
+msgstr "-T lê nomes terminados em nulo"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
+"Encher o ficheiro com o PADRÃO indicado. PADRÃO é \"default\" ou \"zeros\""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
-msgstr ""
+msgstr "Tamanho do bloco para ficheiro disperso"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
+"Gerar ficheiro disperso. O resto da linha de comandos dá o mapa do ficheiro."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
-msgstr ""
+msgstr "DESVIO"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
-msgstr ""
+msgstr "Ir para o desvio dado antes de escrever dados"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
-msgstr ""
+msgstr "Suprimir mensagens de diagnóstico não-fatais"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
-msgstr ""
+msgstr "Opções de estatísticas de ficheiros"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
+"Mostrar conteúdo de estrutura para cada ficheiro indicado. O FORMATO "
+"predefinido é: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
-msgstr ""
+msgstr "Opções de execução síncrona:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
+#: tests/genfile.c:163
+msgid "N"
 msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
+"Executar ARGUMENTOSS. Útil com --checkpoint e uma de --cut, --append, --"
+"touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
+"Realizar a acção indicada (ver abaixo) ao atingir o ponto de controlo NÚMERO"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
-msgstr ""
+msgstr "Definir data para a opção--touch seguinte"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
-msgstr ""
+msgstr "Mostrar pontos de controlo executados e estado de saída de COMANDO"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
+"Acções de execução síncrona. São executadas quando o número do ponto de "
+"controlo dado por --checkpoint é atingido."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
+"Truncar FICHEIRO para o tamanho especificado pela opção --length anterior "
+"(ou 0, se não foi indicado)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
+"Anexar TAMANHO bytes a FICHEIRO. TAMANHO é dado pela opção --length anterior."
 
-#: tests/genfile.c:193
-#, fuzzy
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
-msgstr "N�o se conseguiu modificar os tempos de acesso e modifica��o de %s"
+msgstr "Actualizar o acesso e horas de modificação de FICHEIRO"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
-msgstr ""
+msgstr "Executar COMANDO"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Eliminar FICHEIRO"
 
-#: tests/genfile.c:250
-#, fuzzy, c-format
+#: tests/genfile.c:245
+#, c-format
 msgid "Invalid size: %s"
-msgstr "Formato de data inv�lido \"%s\""
+msgstr "Tamanho inválido: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
-msgstr ""
+msgstr "Nº fora do alcance permitido: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
-msgstr ""
+msgstr "Tamanho negativo: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
-msgstr ""
+msgstr "stat(%s) falhou"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
-msgstr ""
+msgstr "tamanho de ficheiro pedido %lu, actual %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
-msgstr ""
+msgstr "o ficheiro criado não é disperso"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
-msgstr ""
+msgstr "Erro ao analisar nº perto de \"%s\""
 
-#: tests/genfile.c:381
-#, fuzzy, c-format
+#: tests/genfile.c:372
+#, c-format
 msgid "Unknown date format"
-msgstr "Erro desconhecido, do sistema"
+msgstr "Formato de data desconhecido"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
-msgstr ""
+msgstr "[ARGUMENTOS...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
-#, fuzzy, c-format
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
+#, c-format
 msgid "cannot open `%s'"
-msgstr "N�o se consegue abrir %s"
+msgstr "Impossível abrir %s"
 
-#: tests/genfile.c:448
-#, fuzzy
+#: tests/genfile.c:439
 msgid "cannot seek"
-msgstr "N�o se consegue executar %s"
+msgstr "impossível ir para"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
-msgstr ""
+msgstr "nome de ficheiro contém carácter nulo"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
+"impossível gerar ficheiros dispersos na saída padrão, use a opção --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr ""
+msgstr "máscara incorrecta (perto de \"%s\")"
 
-#: tests/genfile.c:675 tests/genfile.c:708
-#, fuzzy, c-format
+#: tests/genfile.c:666 tests/genfile.c:699
+#, c-format
 msgid "Unknown field `%s'"
-msgstr "Op��o \"%c\" desconhecida"
+msgstr "Campo desconhecido \"%s\""
 
-#: tests/genfile.c:735
-#, fuzzy, c-format
+#: tests/genfile.c:726
+#, c-format
 msgid "cannot set time on `%s'"
-msgstr "N�o se consegue executar \"stat\" para o ficheiro %s"
+msgstr "impossível definir hora em \"%s\""
 
-#: tests/genfile.c:765
-#, fuzzy, c-format
+#: tests/genfile.c:756
+#, c-format
 msgid "cannot truncate `%s'"
-msgstr "N�o se consegue executar \"stat\" para %s"
+msgstr "impossível truncar \"%s\""
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
-msgstr ""
+msgstr "o comando falhou: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "N�o se consegue executar \"stat\" para %s"
+msgstr "impossível obter informação para \"%s\""
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "N�o se consegue abrir a directoria %s"
+msgstr "impossível remover a pasta \"%s\""
 
-#: tests/genfile.c:788
-#, fuzzy, c-format
+#: tests/genfile.c:779
+#, c-format
 msgid "cannot unlink `%s'"
-msgstr "N�o se consegue ler a liga��o (\"link\") %s"
+msgstr "impossível desligar \"%s\""
 
 #: tests/genfile.c:918
 #, c-format
 msgid "Command exited successfully\n"
-msgstr ""
+msgstr "O comando saiu com sucesso\n"
 
 #: tests/genfile.c:920
 #, c-format
 msgid "Command failed with status %d\n"
-msgstr ""
+msgstr "O comando falhou com estado %d\n"
 
 #: tests/genfile.c:924
 #, c-format
 msgid "Command terminated on signal %d\n"
-msgstr ""
+msgstr "O comando terminou ao sinal %d\n"
 
 #: tests/genfile.c:926
 #, c-format
 msgid "Command stopped on signal %d\n"
-msgstr ""
+msgstr "O comando parou ao sinal %d\n"
 
 #: tests/genfile.c:929
 #, c-format
 msgid "Command dumped core\n"
-msgstr ""
+msgstr "O comando despejou o núcleo\n"
 
 #: tests/genfile.c:932
 #, c-format
 msgid "Command terminated\n"
-msgstr ""
+msgstr "O comando terminou\n"
 
 #: tests/genfile.c:964
-#, fuzzy, c-format
+#, c-format
 msgid "--stat requires file names"
-msgstr "--Nomes de ficheiros truncados--\n"
+msgstr "--stat requer nomes de ficheiro"
+
+#~ msgid "OPTION"
+#~ msgstr "OPÇÃO"
 
 #~ msgid "Cannot close file #%d"
-#~ msgstr "N�o se consegue fechar o ficheiro #%d"
+#~ msgstr "N�o se consegue fechar o ficheiro #%d"
 
 #~ msgid "Cannot close descriptor %d"
-#~ msgstr "N�o se consegue fechar  o ficheiro de descritor %d"
+#~ msgstr "N�o se consegue fechar  o ficheiro de descritor %d"
 
 #, fuzzy
 #~ msgid "Cannot properly duplicate %s"
-#~ msgstr "N�o se consegue redireccionar %s"
+#~ msgstr "N�o se consegue redireccionar %s"
 
 #~ msgid "Cannot use compressed or remote archives"
-#~ msgstr "N�o se pode usar arquivos comprimidos ou remotos"
+#~ msgstr "N�o se pode usar arquivos comprimidos ou remotos"
 
 #~ msgid "Cannot open pipe"
-#~ msgstr "N�o se consegue abrir \"pipe\""
+#~ msgstr "N�o se consegue abrir \"pipe\""
 
 #~ msgid "Cannot fork"
-#~ msgstr "N�o se consegue criar processo ( \"fork\" )"
+#~ msgstr "N�o se consegue criar processo ( \"fork\" )"
 
 #~ msgid "tar (child)"
 #~ msgstr "tar (filho)"
@@ -2911,13 +3002,13 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "(filho) \"pipe\" para \"stdin\""
 
 #~ msgid "Cannot open archive %s"
-#~ msgstr "N�o se consegue abrir  o arquivo %s"
+#~ msgstr "N�o se consegue abrir  o arquivo %s"
 
 #~ msgid "Archive to stdout"
 #~ msgstr "Arquivo para stdout"
 
 #~ msgid "Child cannot fork"
-#~ msgstr "Processo filho n�o consegue executar \"fork\""
+#~ msgstr "Processo filho n�o consegue executar \"fork\""
 
 #~ msgid "((child)) Pipe to stdout"
 #~ msgstr "((filho)) \"pipe\" para \"stdout\""
@@ -2929,7 +3020,7 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "(neto)  \"Pipe\" para \"stdout\""
 
 #~ msgid "Cannot read from compression program"
-#~ msgstr "N�o se consegue ler do programa de compress�o"
+#~ msgstr "N�o se consegue ler do programa de compress�o"
 
 #~ msgid "(child) Pipe to stdout"
 #~ msgstr "(filho) \"pipe\" para \"stdout\""
@@ -2941,13 +3032,13 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "(neto) \"Pipe\" para \"stdout\""
 
 #~ msgid "Write to compression program short %d bytes"
-#~ msgstr "Faltam %d bytes no que se escreveu para o programa de compress�o"
+#~ msgstr "Faltam %d bytes no que se escreveu para o programa de compress�o"
 
 #~ msgid "Could not allocate memory for blocking factor %d"
-#~ msgstr "N�o se conseguiu reservar mem�ria para um factor de bloco %d"
+#~ msgstr "N�o se conseguiu reservar mem�ria para um factor de bloco %d"
 
 #~ msgid "Only wrote %u of %u bytes to %s"
-#~ msgstr "S� se escreveram  %u \"bytes\" de um total de %u em %s"
+#~ msgstr "S� se escreveram  %u \"bytes\" de um total de %u em %s"
 
 #~ msgid "Read error on %s"
 #~ msgstr "Erro de leitura sobre %s"
@@ -2956,13 +3047,13 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "Leitura de %s\n"
 
 #~ msgid "WARNING: No volume header"
-#~ msgstr "ATEN��O: N�o h� cabe�alho de volume"
+#~ msgstr "ATEN��O: N�o h� cabe�alho de volume"
 
 #~ msgid "Only read %d bytes from archive %s"
-#~ msgstr "S� se leram %d \"bytes\" do arquivo %s"
+#~ msgstr "S� se leram %d \"bytes\" do arquivo %s"
 
 #~ msgid "WARNING: Cannot close %s (%d, %d)"
-#~ msgstr "ATEN��O: N�o se consegue  fechar %s (%d, %d)"
+#~ msgstr "ATEN��O: N�o se consegue  fechar %s (%d, %d)"
 
 #~ msgid "Child died with signal %d%s"
 #~ msgstr "Processo filho morreu com o sinal %d%s"
@@ -2971,10 +3062,10 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "Processo filho terminou com estado %d"
 
 #~ msgid "Cannot fork!"
-#~ msgstr "N�o se consegue criar processo! ( \"fork\" )"
+#~ msgstr "N�o se consegue criar processo! ( \"fork\" )"
 
 #~ msgid "Cannot exec a shell %s"
-#~ msgstr "N�o se consegue executar uma \"shell\" %s"
+#~ msgstr "N�o se consegue executar uma \"shell\" %s"
 
 #, fuzzy
 #~ msgid "Removing leading `/' from absolute path names in the archive"
@@ -2989,81 +3080,81 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "ficheiro %s"
 
 #~ msgid "Amount actually written is (I hope) %d.\n"
-#~ msgstr "A quantidade realmente escrita � %d (esperemos!).\n"
+#~ msgstr "A quantidade realmente escrita � %d (esperemos!).\n"
 
 #~ msgid "Cannot add file %s"
-#~ msgstr "N�o � poss�vel acrescentar o ficheiro %s"
+#~ msgstr "N�o � poss�vel acrescentar o ficheiro %s"
 
 #, fuzzy
 #~ msgid "Cannot add directory %s"
-#~ msgstr "N�o se consegue abrir a directoria %s"
+#~ msgstr "N�o se consegue abrir a directoria %s"
 
 #~ msgid "File name %s%s too long"
 #~ msgstr "Nome de ficheiro %s%s longo demais"
 
 #~ msgid "Could not allocate memory for diff buffer of %d bytes"
 #~ msgstr ""
-#~ "N�o se conseguiu reservar mem�ria para um \"buffer\" de compara��o, de %d "
+#~ "N�o se conseguiu reservar mem�ria para um \"buffer\" de compara��o, de %d "
 #~ "\"bytes\""
 
 #~ msgid "Cannot read %s"
-#~ msgstr "N�o se consegue ler %s"
+#~ msgstr "N�o se consegue ler %s"
 
 #, fuzzy
 #~ msgid "Data differs"
-#~ msgstr "%s: Os dados s�o diferentes\n"
+#~ msgstr "%s: Os dados s�o diferentes\n"
 
 #, fuzzy
 #~ msgid "File does not exist"
-#~ msgstr "%s: N�o existe\n"
+#~ msgstr "%s: N�o existe\n"
 
 #, fuzzy
 #~ msgid "Not a regular file"
-#~ msgstr "%s: N�o � um ficheiro normal\n"
+#~ msgstr "%s: N�o � um ficheiro normal\n"
 
 #, fuzzy
 #~ msgid "Does not exist"
-#~ msgstr "%s: N�o existe\n"
+#~ msgstr "%s: N�o existe\n"
 
 #, fuzzy
 #~ msgid "No such file or directory"
-#~ msgstr "%s: Ficheiro, ou directoria, n�o existe\n"
+#~ msgstr "%s: Ficheiro, ou directoria, n�o existe\n"
 
 #, fuzzy
 #~ msgid "Mode or device-type changed"
-#~ msgstr "%s: O modo ou o tipo de perif�rico mudou\n"
+#~ msgstr "%s: O modo ou o tipo de perif�rico mudou\n"
 
 #, fuzzy
 #~ msgid "No longer a directory"
-#~ msgstr "%s: J� n�o � uma directoria\n"
+#~ msgstr "%s: J� n�o � uma directoria\n"
 
 #~ msgid "Cannot open file %s"
-#~ msgstr "N�o se consegue abrir o ficheiro %s"
+#~ msgstr "N�o se consegue abrir o ficheiro %s"
 
 #~ msgid "Cannot seek to %ld in file %s"
-#~ msgstr "N�o se consegue mudar (\"seek\") para a posi��o  %ld do ficheiro %s"
+#~ msgstr "N�o se consegue mudar (\"seek\") para a posi��o  %ld do ficheiro %s"
 
 #~ msgid "Could not rewind archive file for verify"
-#~ msgstr "N�o se conseguiu rebobinar o arquivo para verifica��o"
+#~ msgstr "N�o se conseguiu rebobinar o arquivo para verifica��o"
 
 #~ msgid "Could not re-position archive file"
-#~ msgstr "N�o se conseguiu reposicionar o ficheiro arquivo"
+#~ msgstr "N�o se conseguiu reposicionar o ficheiro arquivo"
 
 #~ msgid "%s: Could not change access and modification times"
-#~ msgstr "%s: N�o se conseguiu mudar os tempos de acesso e modifica��o"
+#~ msgstr "%s: N�o se conseguiu mudar os tempos de acesso e modifica��o"
 
 #, fuzzy
 #~ msgid "%s: Cannot lchown to uid %d gid %d"
-#~ msgstr "%s: N�o se pode fazer \"chown\" para \"uid\" %d \"gid\" %d"
+#~ msgstr "%s: N�o se pode fazer \"chown\" para \"uid\" %d \"gid\" %d"
 
 #~ msgid "%s: Cannot chown to uid %d gid %d"
-#~ msgstr "%s: N�o se pode fazer \"chown\" para \"uid\" %d \"gid\" %d"
+#~ msgstr "%s: N�o se pode fazer \"chown\" para \"uid\" %d \"gid\" %d"
 
 #~ msgid "%s: Could not write to file"
-#~ msgstr "%s: N�o se conseguiu escrever para o ficheiro"
+#~ msgstr "%s: N�o se conseguiu escrever para o ficheiro"
 
 #~ msgid "%s: Could not create file"
-#~ msgstr "%s: N�o foi poss�vel criar o ficheiro"
+#~ msgstr "%s: N�o foi poss�vel criar o ficheiro"
 
 #~ msgid "%d at %d\n"
 #~ msgstr "%d em %d\n"
@@ -3072,47 +3163,47 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "%s: Erro ao fechar"
 
 #~ msgid "%s: Could not link to `%s'"
-#~ msgstr "%s: N�o se p�de fazer liga��o (link) para `%s'"
+#~ msgstr "%s: N�o se p�de fazer liga��o (link) para `%s'"
 
 #~ msgid "%s: Could not make node"
-#~ msgstr "%s: N�o se p�de criar um nodo"
+#~ msgstr "%s: N�o se p�de criar um nodo"
 
 #~ msgid "%s: Could not make fifo"
-#~ msgstr "%s: N�o se p�de criar um \"fifo\""
+#~ msgstr "%s: N�o se p�de criar um \"fifo\""
 
 #~ msgid "%s: Could not create directory"
-#~ msgstr "%s: N�o se p�de criar uma directoria"
+#~ msgstr "%s: N�o se p�de criar uma directoria"
 
 #~ msgid "Added write and execute permission to directory %s"
-#~ msgstr "Acrescentaram-se permiss�es de escrita e de leitura � directoria %s"
+#~ msgstr "Acrescentaram-se permiss�es de escrita e de leitura � directoria %s"
 
 #~ msgid "Visible long name error"
 #~ msgstr "Erro evidente num nome longo"
 
 #~ msgid "Could not get current directory: %s"
-#~ msgstr "N�o se conseguiu determinar a directoria corrente: %s"
+#~ msgstr "N�o se conseguiu determinar a directoria corrente: %s"
 
 #, fuzzy
 #~ msgid "File name %s/%s too long"
 #~ msgstr "Nome de ficheiro %s%s longo demais"
 
 #~ msgid "Cannot chdir to %s"
-#~ msgstr "N�o se pode mudar para a directoria %s"
+#~ msgstr "N�o se pode mudar para a directoria %s"
 
 #~ msgid "Error while deleting %s"
 #~ msgstr "Erro quando se apagava %s"
 
 #~ msgid "Hmm, this doesn't look like a tar archive"
-#~ msgstr "Pois �..., isto n�o parece ser um arquivo \"tar\""
+#~ msgstr "Pois �..., isto n�o parece ser um arquivo \"tar\""
 
 #~ msgid "Skipping to next file header"
-#~ msgstr "Salta para o pr�ximo cabe�alho de ficheiro"
+#~ msgstr "Salta para o pr�ximo cabe�alho de ficheiro"
 
 #~ msgid "EOF in archive file"
 #~ msgstr "Fim-de-ficheiro no arquivo"
 
 #~ msgid "Only wrote %ld of %ld bytes to file %s"
-#~ msgstr "S� se escreveram  %ld \"bytes\" de um total de %ld  no ficheiro %s"
+#~ msgstr "S� se escreveram  %ld \"bytes\" de um total de %ld  no ficheiro %s"
 
 #~ msgid "Visible longname error"
 #~ msgstr "Erro evidente num nome longo"
@@ -3124,25 +3215,25 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "Comando desconhecido \"%s\" para decifrar os nomes truncados"
 
 #~ msgid "Missing file name after -C"
-#~ msgstr "Falta um nome de ficheiro ap�s \"-C\""
+#~ msgstr "Falta um nome de ficheiro ap�s \"-C\""
 
 #~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd: N�o se consegue reservar espa�o tempor�rio (\"buffers\")\n"
+#~ msgstr "rmtd: N�o se consegue reservar espa�o tempor�rio (\"buffers\")\n"
 
 #~ msgid "Cannot allocate buffer space"
-#~ msgstr "N�o se consegue reservar espa�o tempor�rio (\"buffer\")"
+#~ msgstr "N�o se consegue reservar espa�o tempor�rio (\"buffer\")"
 
 #~ msgid "Premature end of file"
 #~ msgstr "Fim-de-ficheiro prematuro"
 
 #~ msgid "rmtd: Garbage command %c\n"
-#~ msgstr "rmtd: Comando \"%c\" n�o faz sentido\n"
+#~ msgstr "rmtd: Comando \"%c\" n�o faz sentido\n"
 
 #, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "Usage: %s [OPTION]... [FILE]...\n"
-#~ msgstr "Utiliza��o: %s [OP��O]... [FICHEIRO]...\n"
+#~ msgstr "Utiliza��o: %s [OP��O]... [FICHEIRO]...\n"
 
 #~ msgid ""
 #~ "\n"
@@ -3160,17 +3251,17 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr ""
 #~ "\n"
 #~ "Principal modo de funcionamento:\n"
-#~ "  -t, --list              invent�rio do arquivo\n"
+#~ "  -t, --list              invent�rio do arquivo\n"
 #~ "  -x, --extract, --get    extrair ficheiros do arquivo\n"
 #~ "  -c, --create            criar um novo arquivo\n"
 #~ "  -d, --diff, --compare   comparar o arquivo com os actuais ficheiros \n"
 #~ "  -r, --append            acrescentar os ficheiros no fim do arquivo\n"
-#~ "  -u, --update            s� acrescentar os ficheiros mais novos do que "
-#~ "as vers�es presentes no arquivo\n"
+#~ "  -u, --update            s� acrescentar os ficheiros mais novos do que "
+#~ "as vers�es presentes no arquivo\n"
 #~ "  -A, --catenate          juntar outros arquivos \"tar\" ao arquivo\n"
 #~ "      --concatenate       o mesmo que \"-A\"\n"
 #~ "      --delete            apagar no arquivo (excepto para fitas "
-#~ "magn�ticas!)\n"
+#~ "magn�ticas!)\n"
 
 #, fuzzy
 #~ msgid ""
@@ -3199,18 +3290,18 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "escrever\n"
 #~ "      --remove-files         apagar os ficheiros depois de serem "
 #~ "guardados no arquivo\n"
-#~ "  -k, --keep-old-files       na extrac��o, n�o destruir nenhum ficheiro\n"
+#~ "  -k, --keep-old-files       na extrac��o, n�o destruir nenhum ficheiro\n"
 #~ "  -U, --unlink-first         remove cada ficheiro antes de extrair para "
 #~ "cima dele\n"
-#~ "\t\t\t     (aparecendo duas vezes, at� apaga directorias completas\n"
+#~ "\t\t\t     (aparecendo duas vezes, at� apaga directorias completas\n"
 #~ "  -S, --sparse               tratar eficientemente ficheiros dispersos \n"
-#~ "                             (os que t�m buracos) \n"
+#~ "                             (os que t�m buracos) \n"
 #~ "  -O, --to-stdout            extrair os ficheiros para o \"stdout\" \n"
 #~ "  -G, --incremental          tratar um arquivo no velho formato "
 #~ "incremental GNU\n"
 #~ "  -g, --listed-incremental   tratar arquivo no novo formato incremental "
 #~ "GNU\n"
-#~ "      --ignore-failed-read   ignorar os ficheiros que n�o se consegue "
+#~ "      --ignore-failed-read   ignorar os ficheiros que n�o se consegue "
 #~ "ler.\n"
 #~ "\n"
 
@@ -3235,16 +3326,16 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr ""
 #~ "\n"
 #~ "Tratamento dos atributos dos ficheiros:\n"
-#~ "      --atime-preserve         n�o alterar as datas de acesso dos "
+#~ "      --atime-preserve         n�o alterar as datas de acesso dos "
 #~ "ficheiros\n"
-#~ "  -m, --modification-time      n�o extrair a data de modifica��o dos "
+#~ "  -m, --modification-time      n�o extrair a data de modifica��o dos "
 #~ "ficheiros\n"
 #~ "      --same-owner             extrair os ficheiros tentando manter o "
 #~ "mesmo \n"
 #~ "                               dono (owner)\n"
-#~ "      --numeric-owner          usar sempre n�meros para os nomes de \n"
+#~ "      --numeric-owner          usar sempre n�meros para os nomes de \n"
 #~ "                               utilizador/grupo \n"
-#~ "  -p, --same-permissions       na extrac��o, manter as protec��es do "
+#~ "  -p, --same-permissions       na extrac��o, manter as protec��es do "
 #~ "ficheiros\n"
 #~ "      --preserve-permissions   o mesmo que -p\n"
 #~ "  -s, --same-order             ordernar os nomes a extrair segundo a sua "
@@ -3272,18 +3363,18 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "      --volno-file=FILE          use/update the volume number in FILE\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Escolha do perif�rico e mudan�as de fita magn�tica:\n"
-#~ "  -f, --file=ARQ                tratar o arquivo, ou perif�rico ARQ\n"
-#~ "      --force-local             o arquivo � local, mesmo que tenha \":\"\n"
+#~ "Escolha do perif�rico e mudan�as de fita magn�tica:\n"
+#~ "  -f, --file=ARQ                tratar o arquivo, ou perif�rico ARQ\n"
+#~ "      --force-local             o arquivo � local, mesmo que tenha \":\"\n"
 #~ "      --rsh-command=COM         usar o comando remoto COM, em vez de \"rsh"
 #~ "\"\n"
-#~ "  -[0-7][lmh]                   escolher o perif�rico e a densidade\n"
+#~ "  -[0-7][lmh]                   escolher o perif�rico e a densidade\n"
 #~ "  -M, --multi-volume            tratar arquivos multi-volume\n"
 #~ "  -L, --tape-length=NUM         tratar NUM x 1024 \"bytes\" por fita "
-#~ "magn�tica\n"
-#~ "  -F, --info-script=FICH        executar FICH nas mudan�as de fita "
-#~ "magn�tica\n"
-#~ "                                    (for�a a escolha de \"-M\")\n"
+#~ "magn�tica\n"
+#~ "  -F, --info-script=FICH        executar FICH nas mudan�as de fita "
+#~ "magn�tica\n"
+#~ "                                    (for�a a escolha de \"-M\")\n"
 #~ "      --new-volume-script=FICH  o mesmo que \"-F FICH\"\n"
 
 #~ msgid ""
@@ -3296,10 +3387,10 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "  -B, --read-full-records        reblock as we read (for 4.2BSD pipes)\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Caracter�sticas dos blocos no perif�rico (device):\n"
+#~ "Caracter�sticas dos blocos no perif�rico (device):\n"
 #~ "  -b, --blocking-factor=BLOCOS   BLOCOS x 512 \"bytes\" por registo\n"
-#~ "      --record-size=DIM          DIM bytes por registo, m�ltiplo de 512\n"
-#~ "  -i, --ignore-zeros             ignorar os blocos constitu�dos por "
+#~ "      --record-size=DIM          DIM bytes por registo, m�ltiplo de 512\n"
+#~ "  -i, --ignore-zeros             ignorar os blocos constitu�dos por "
 #~ "zeros\n"
 #~ "                                 (implicam  fim-de-ficheiro)\n"
 #~ "  -B, --read-full-records        dividir a leitura em blocos \n"
@@ -3321,20 +3412,20 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "d)\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Selec��o do formato do arquivo:\n"
+#~ "Selec��o do formato do arquivo:\n"
 #~ "  -V, --label=NOME                   cria um aruivo com volume de nome "
 #~ "NOME\n"
-#~ "              REGEXP                 ao extrair/listar, o nome � uma "
-#~ "express�o\n"
+#~ "              REGEXP                 ao extrair/listar, o nome � uma "
+#~ "express�o\n"
 #~ "                                     regular\n"
 #~ "  -o, --old-archive, --portability   escreve um arquivo no formato V7\n"
 #~ "      --posix                        escreve um arquivo conforme com "
 #~ "POSIX\n"
-#~ "  -z, --gzip, --ungzip               filtra o arquivo atrav�s de \"gzip"
+#~ "  -z, --gzip, --ungzip               filtra o arquivo atrav�s de \"gzip"
 #~ "\"\n"
-#~ "  -Z, --compress, --uncompress       filtra o arquivo atrav�s de "
+#~ "  -Z, --compress, --uncompress       filtra o arquivo atrav�s de "
 #~ "\"compress\"\n"
-#~ "      --use-compress-program=PROG    filtra o arquivo atrav�s de PROG \n"
+#~ "      --use-compress-program=PROG    filtra o arquivo atrav�s de PROG \n"
 #~ "\t\t\t\t     (este tem que aceitar -d)\n"
 
 #, fuzzy
@@ -3358,28 +3449,28 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "  -K, --starting-file=NAME     begin at file NAME in the archive\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Selec��o local de ficheiros:\n"
+#~ "Selec��o local de ficheiros:\n"
 #~ "  -C, --directory DIR        mudar para a directoria DIR\n"
 #~ "  -T, --files-from=NOME      obter do ficheiro NOME  a lista de ficheiros "
 #~ "a \n"
 #~ "                             criar ou extrair\n"
 #~ "      --null                 faz com que \"-T\" leia nomes terminados por "
 #~ "NULO,\n"
-#~ "                             tamb�m inibe \"-C\"\n"
-#~ "      --exclude=PADR�O       excluir os ficheiros descritos pelo PADR�O\n"
-#~ "  -X, --exclude-from=FICH    excluir ficheiros, segundo os padr�es "
+#~ "                             tamb�m inibe \"-C\"\n"
+#~ "      --exclude=PADR�O       excluir os ficheiros descritos pelo PADR�O\n"
+#~ "  -X, --exclude-from=FICH    excluir ficheiros, segundo os padr�es "
 #~ "guardados em\n"
 #~ "\t\t\t     FICH\n"
 #~ "  -P, --absolute-names       preservar os \"\\\" iniciais nos nomes dos "
 #~ "ficheiros\n"
-#~ "  -h, --dereference          usar os pr�prios ficheiros, em lugar das "
-#~ "liga��es\n"
-#~ "                             simb�licas (symlinks) que os referenciam\n"
-#~ "      --no-recurse           n�o descer pela �rvore de directorias\n"
-#~ "  -l, --one-file-system      n�o sair do sistema local de ficheiros, ao "
+#~ "  -h, --dereference          usar os pr�prios ficheiros, em lugar das "
+#~ "liga��es\n"
+#~ "                             simb�licas (symlinks) que os referenciam\n"
+#~ "      --no-recurse           n�o descer pela �rvore de directorias\n"
+#~ "  -l, --one-file-system      n�o sair do sistema local de ficheiros, ao "
 #~ "criar o\n"
 #~ "                             arquivo\n"
-#~ "  -K, --starting-file=NOME   come�ar pelo ficheiro NOME, no arquivo\n"
+#~ "  -K, --starting-file=NOME   come�ar pelo ficheiro NOME, no arquivo\n"
 
 #, fuzzy
 #~ msgid ""
@@ -3388,9 +3479,9 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "only\n"
 #~ "      --after-date=DATE        same as -N\n"
 #~ msgstr ""
-#~ "  -N, --newer=DATA           s� guardar ficheiros mais recentes do que "
+#~ "  -N, --newer=DATA           s� guardar ficheiros mais recentes do que "
 #~ "DATA\n"
-#~ "      --newer-mtime          s� comparar data e hora quando os dados "
+#~ "      --newer-mtime          s� comparar data e hora quando os dados "
 #~ "mudarem\n"
 #~ "      --after-date=DATA      o mesmo que \"-N\"\n"
 #~ "),"
@@ -3409,18 +3500,18 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "      --confirmation    same as -w\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Presta��o de informa��es:\n"
+#~ "Presta��o de informa��es:\n"
 #~ "      --help            mostrar esta mensagem de ajuda e terminar\n"
-#~ "      --version         indicar a vers�o do programa \"tar\" e terminar\n"
+#~ "      --version         indicar a vers�o do programa \"tar\" e terminar\n"
 #~ "  -v, --verbose         escrever a lista dos ficheiros tratados\n"
 #~ "      --checkpoint      indicar os nomes das directorias durante a "
 #~ "leitura\n"
-#~ "      --totals          indicar o n�mero de \"bytes\" escritos durante a "
-#~ "cria��o\n"
+#~ "      --totals          indicar o n�mero de \"bytes\" escritos durante a "
+#~ "cria��o\n"
 #~ "                        do arquivo\n"
-#~ "  -R, --block-number    escrever o n�mero de bloco, dentro do arquivo, \n"
+#~ "  -R, --block-number    escrever o n�mero de bloco, dentro do arquivo, \n"
 #~ "                        em cada mensagem\n"
-#~ "  -w, --interactive     pedir confirma��o para todas as ac��es\n"
+#~ "  -w, --interactive     pedir confirma��o para todas as ac��es\n"
 #~ "      --confirmation    o mesmo que \"-w\"\n"
 #~ "\n"
 
@@ -3434,45 +3525,45 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "or a device.  *This* `tar' defaults to `-f%s -b%d'.\n"
 #~ msgstr ""
 #~ "\n"
-#~ "O programa tar GNU anterior � vers�o 1.12 n�o consegue ler arquivos \"--"
+#~ "O programa tar GNU anterior � vers�o 1.12 n�o consegue ler arquivos \"--"
 #~ "posix\".\n"
-#~ "Se a vari�vel POSIXLY_CORRECT estiver definida no ambiente, as extens�es "
+#~ "Se a vari�vel POSIXLY_CORRECT estiver definida no ambiente, as extens�es "
 #~ "GNU\n"
-#~ "s�o inibidas com \"--posix\". O suporte para POSIX est� apenas "
+#~ "s�o inibidas com \"--posix\". O suporte para POSIX est� apenas "
 #~ "parcialmente \n"
-#~ "implementado, pelo que n�o se fiem muito nele, por agora.\n"
+#~ "implementado, pelo que n�o se fiem muito nele, por agora.\n"
 #~ "ARQUIVO pode ser FICHEIRO, HOST:FICHEIRO ou UTILIZADOR@HOST:FICHEIRO; e \n"
-#~ "FICHEIRO pode ser um ficheiro ou um perif�rico.\n"
+#~ "FICHEIRO pode ser um ficheiro ou um perif�rico.\n"
 #~ "*Este* tar assume, por defeito, \"-f%s -b %d\".\n"
 
 #~ msgid "Obsolete option, now implied by --blocking-factor"
-#~ msgstr "Op��o obsoleta, � agora \"-blocking-factor\" implica-a"
+#~ msgstr "Op��o obsoleta, � agora \"-blocking-factor\" implica-a"
 
 #~ msgid "Obsolete option name replaced by --blocking-factor"
-#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--blocking-factor\""
+#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--blocking-factor\""
 
 #~ msgid "Obsolete option name replaced by --read-full-records"
-#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--read-full-records\""
+#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--read-full-records\""
 
 #~ msgid "Obsolete option name replaced by --touch"
-#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--touch\""
+#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--touch\""
 
 #~ msgid "Conflicting archive format options"
-#~ msgstr "H� conflitos entre as op��es de formato do arquivo"
+#~ msgstr "H� conflitos entre as op��es de formato do arquivo"
 
 #~ msgid "Obsolete option name replaced by --absolute-names"
-#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--absolute-names\""
+#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--absolute-names\""
 
 #~ msgid "Obsolete option name replaced by --block-number"
-#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--block-number\""
+#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--block-number\""
 
 #, fuzzy
 #~ msgid "Obsolete option name replaced by --backup"
-#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--touch\""
+#~ msgstr "Nome de op��o obsoleto, foi substitu�do por \"--touch\""
 
 #, fuzzy
 #~ msgid "Error exit delayed from previous errors"
-#~ msgstr "Erro s� assinalado no fim da execu��o"
+#~ msgstr "Erro s� assinalado no fim da execu��o"
 
 #, fuzzy
 #~ msgid ""
@@ -3484,11 +3575,11 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ "      --help                 display this help and exit\n"
 #~ "      --version              output version information and exit\n"
 #~ msgstr ""
-#~ "Os argumentos obrigat�rios para as op��es longas tamb�m o s�o para as "
+#~ "Os argumentos obrigat�rios para as op��es longas tamb�m o s�o para as "
 #~ "curtas.\n"
 #~ "\n"
-#~ "      --help            mostra esta informa��o e termina\n"
-#~ "      --version         identifica a vers�o e termina\n"
+#~ "      --help            mostra esta informa��o e termina\n"
+#~ "      --version         identifica a vers�o e termina\n"
 
 #~ msgid "EOF?  What does that mean?"
 #~ msgstr "Fim-de-ficheiro?  Que significa isto?"
@@ -3506,13 +3597,13 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "Tamanho"
 
 #~ msgid "Missing filename after -C"
-#~ msgstr "Falta um nome de ficheiro ap�s \"-C\""
+#~ msgstr "Falta um nome de ficheiro ap�s \"-C\""
 
 #~ msgid "Invalid date format in `-N %s'"
-#~ msgstr "Formato inv�lido para data em \"-N %s\""
+#~ msgstr "Formato inv�lido para data em \"-N %s\""
 
 #~ msgid "Bad regular expression: %s"
-#~ msgstr "Express�o regular errada: %s"
+#~ msgstr "Express�o regular errada: %s"
 
 #~ msgid "File %s\n"
 #~ msgstr "Ficheiro %s\n"
@@ -3530,13 +3621,13 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "Fora do primeiro ciclo\n"
 
 #~ msgid "Saved %d blocks, need %d more\n"
-#~ msgstr "Guardaram-se %d blocos, ainda s�o precisos %d\n"
+#~ msgstr "Guardaram-se %d blocos, ainda s�o precisos %d\n"
 
 #~ msgid "New record\n"
 #~ msgstr "Novo registo\n"
 
 #~ msgid "Header type %d\n"
-#~ msgstr "Tipo de cabe�alho %d\n"
+#~ msgstr "Tipo de cabe�alho %d\n"
 
 #~ msgid "File %s "
 #~ msgstr "Ficheiro %s"
@@ -3568,7 +3659,7 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgid "Now new %d  need %d  keep %d  keep_in %d block %d/%d\n"
 #~ msgstr ""
 #~ "Novos agora %d precisa %d mantem %d mantem dentro %d bloco %d/%d\n"
-#~ "(N.T. Isto tamb�m � incompreens�vel em Ingl�s)\n"
+#~ "(N.T. Isto tamb�m � incompreens�vel em Ingl�s)\n"
 
 #, fuzzy
 #~ msgid "Fore to %x\n"
@@ -3578,68 +3669,68 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ msgstr "Escreve-se  o bloco\n"
 
 #~ msgid "Could not make %s"
-#~ msgstr "N�o se conseguiu fazer %s"
+#~ msgstr "N�o se conseguiu fazer %s"
 
 #~ msgid "Options [0-7][lmh] not supported by *this* tar"
-#~ msgstr "As op��es [0-7][lmh] n�o funcionam neste \"tar\""
+#~ msgstr "As op��es [0-7][lmh] n�o funcionam neste \"tar\""
 
 #~ msgid "Cannot allocate %d bytes for restore"
-#~ msgstr "N�o se consegue reservar %d bytes para a recupera��o"
+#~ msgstr "N�o se consegue reservar %d bytes para a recupera��o"
 
 #~ msgid "Saved %d recs, need %d more\n"
-#~ msgstr "Guardaram-se %d registos, ainda s�o precisos %d\n"
+#~ msgstr "Guardaram-se %d registos, ainda s�o precisos %d\n"
 
 #~ msgid "Could not link %s to %s"
-#~ msgstr "N�o se conseguiu ligar  %s a %s"
+#~ msgstr "N�o se conseguiu ligar  %s a %s"
 
 #~ msgid "%c: Argument missing"
 #~ msgstr "%c: Falta argumento"
 
 #~ msgid "Could not create directory %s"
-#~ msgstr "N�o se conseguiu criar a directoria %s"
+#~ msgstr "N�o se conseguiu criar a directoria %s"
 
 #~ msgid "Cannot change to directory %d"
-#~ msgstr "N�o se pode mudar para a directoria %d"
+#~ msgstr "N�o se pode mudar para a directoria %d"
 
 #~ msgid "rec %10ld: "
 #~ msgstr "reg %10ld: "
 
 #~ msgid "Flushing %d recs from %s\n"
-#~ msgstr "Est�o-se a esvaziar %d registos de um total de %s\n"
+#~ msgstr "Est�o-se a esvaziar %d registos de um total de %s\n"
 
 #~ msgid "Multiple archive files requires --multi-volume"
-#~ msgstr "M�ltiplos ficheiros de arquivo exigem \"--multi-volume\""
+#~ msgstr "M�ltiplos ficheiros de arquivo exigem \"--multi-volume\""
 
 #~ msgid "Cannot change directory to %d"
-#~ msgstr "N�o se pode mudar de directoria para %d"
+#~ msgstr "N�o se pode mudar de directoria para %d"
 
 #~ msgid "[child] Pipe to stdin"
 #~ msgstr "[filho] \"Pipe\" para o stdin"
 
 #~ msgid "Cannot change owner of %s to uid %d gid %d"
-#~ msgstr "N�o se pode mudar o dono de %s para  \"uid\" %d \"gid\" %d"
+#~ msgstr "N�o se pode mudar o dono de %s para  \"uid\" %d \"gid\" %d"
 
 #~ msgid "Cannot change mode of file %s to %lo"
-#~ msgstr "N�o se pode mudar o modo do ficheiro %s para %lo"
+#~ msgstr "N�o se pode mudar o modo do ficheiro %s para %lo"
 
 #~ msgid "[child] Pipe to stdout"
 #~ msgstr "[filho] \"Pipe\" para o stdout"
 
 #~ msgid "Could not write to file %s"
-#~ msgstr "N�o se conseguiu escrever no ficheiro %s"
+#~ msgstr "N�o se conseguiu escrever no ficheiro %s"
 
 #~ msgid "Blocksize = %d records"
 #~ msgstr "Tamanho do bloco = %d registos"
 
 #~ msgid "%s: %s: Cannot link to %s, copying instead\n"
 #~ msgstr ""
-#~ "%s: %s: N�o � poss�vel fazer liga��o para %s, em vez disso, copia-se\n"
+#~ "%s: %s: N�o � poss�vel fazer liga��o para %s, em vez disso, copia-se\n"
 
 #~ msgid "Cannot close a file #%d"
-#~ msgstr "N�o se consegue fechar  o ficheiro de descritor %d"
+#~ msgstr "N�o se consegue fechar  o ficheiro de descritor %d"
 
 #~ msgid "Could not create symlink to %s"
-#~ msgstr "N�o se conseguiu criar uma liga��o (\"link\") simb�lica para  %s"
+#~ msgstr "N�o se conseguiu criar uma liga��o (\"link\") simb�lica para  %s"
 
 #~ msgid "Now new %d  need %d  keep %d  keep_in %d rec %d/%d\n"
 #~ msgstr ""
@@ -3647,29 +3738,29 @@ msgstr "--Nomes de ficheiros truncados--\n"
 #~ " (FIXME)"
 
 #~ msgid "Too many args with -T option"
-#~ msgstr "Argumentos demais para a op��o \"-T\""
+#~ msgstr "Argumentos demais para a op��o \"-T\""
 
 #~ msgid "New block\n"
 #~ msgstr "Novo bloco\n"
 
 #~ msgid "Invalid value for blocksize"
-#~ msgstr "Valor inv�lido para o tamanho do bloco"
+#~ msgstr "Valor inv�lido para o tamanho do bloco"
 
 #~ msgid "Cannot chown file %s to uid %d gid %d"
-#~ msgstr "N�o se pode mudar o dono de %s para \"uid\" %d \"gid\" %d"
+#~ msgstr "N�o se pode mudar o dono de %s para \"uid\" %d \"gid\" %d"
 
 #~ msgid "Cannot open a pipe"
-#~ msgstr "N�o se consegue abrir  um \"pipe\""
+#~ msgstr "N�o se consegue abrir  um \"pipe\""
 
 #~ msgid "Could only write %d of %d bytes to file %s"
 #~ msgstr ""
-#~ "S� se conseguiu escrever %d \"bytes\" de um total de  %d, no ficheiro %s"
+#~ "S� se conseguiu escrever %d \"bytes\" de um total de  %d, no ficheiro %s"
 
 #~ msgid "Could not create file %s"
-#~ msgstr "N�o se conseguiu criar o ficheiro %s"
+#~ msgstr "N�o se conseguiu criar o ficheiro %s"
 
 #~ msgid "Cannot keep old files on this system"
-#~ msgstr "N�o se consegue manter os ficheiros antigos neste sistema"
+#~ msgstr "N�o se consegue manter os ficheiros antigos neste sistema"
 
 #~ msgid ""
 #~ "Skip %ld\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 3ac45e370e3535c459cb6c443195161497134c75..3cede3eafe22be12af4a60a0dbd2b754aa81f616 100644
GIT binary patch
delta 14810
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%0AbJqvQG>Q41Q39;~5zk)R-6;1dy`ZE=I^w
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
S6+5NH3Mr`|@y#6<B9s7(I^{h8

delta 12815
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
UwR!2O0N%+8H)d~sd?P{$0By1^x&QzG

diff --git a/po/pt_BR.po b/po/pt_BR.po
index b4bb8610..8ed0f2f4 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -12,15 +12,15 @@
 # based on the translation to Portuguese (pt) by
 # António José Coutinho <ajc@di.uminho.pt>, 1996.
 # Marcus Moreira de Souza <marcusms@frb.br>
-# Rafael Fontenelle <rffontenelle@gmail.com>, 2017.
-#: src/create.c:1599
+# Rafael Fontenelle <rafaelff@gnome.org>, 2017.
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2017-01-25 16:29-0200\n"
-"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-18 10:19-0200\n"
+"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
 "net>\n"
 "Language: pt_BR\n"
@@ -108,7 +108,7 @@ msgid "give a short usage message"
 msgstr "fornece uma mensagem de uso curta"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOME"
 
@@ -146,29 +146,29 @@ msgid "write error"
 msgstr "erro de escrita"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: a opção \"%s\" é ambígua\n"
+msgstr "%s: a opção \"%s%s\" é ambígua\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: a opção \"%s\" é ambígua; possibilidades:"
+msgstr "%s: a opção \"%s%s\" é ambígua; possibilidades:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: opção desconhecida \"%c%s\"\n"
+msgstr "%s: opção desconhecida \"%s%s\"\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: a opção \"%c%s\" não permite um argumento\n"
+msgstr "%s: a opção \"%s%s\" não permite um argumento\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: a opção \"--%s\" exige um argumento\n"
+msgstr "%s: a opção \"%s%s\" exige um argumento\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -243,12 +243,12 @@ msgstr "^[+1SsyY]"
 msgid "^[nN]"
 msgstr "^[-0nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Empacotado por %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Empacotado por %s\n"
@@ -256,12 +256,11 @@ msgstr "Empacotado 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -271,7 +270,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl."
+"Licença GPLv3+: GNU GPL versão 3 ou posterior <https://gnu.org/licenses/gpl."
 "html>\n"
 "Este é um software livre: você é livre para alterá-lo e redistribuí-lo.\n"
 "NÃO HÁ QUALQUER GARANTIA, na máxima extensão permitida em lei.\n"
@@ -411,14 +410,13 @@ msgid "%s home page: <%s>\n"
 msgstr "Página do %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Página do %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Página do %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr "Ajuda para uso de softwares GNU: <http://www.gnu.org/gethelp/>\n"
+msgstr "Ajuda para uso de softwares GNU: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -537,195 +535,195 @@ msgstr "Não foi possível redirecionar arquivos para o shell remoto"
 msgid "Cannot execute remote shell"
 msgstr "Não foi possível executar um shell remoto"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Direção de salto fora da faixa"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Direção de salto inválido"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Deslocamento de salto inválido"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Deslocamento de salto fora da faixa"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Contagem de byte inválida"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Contagem de byte fora de faixa"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Fim de arquivo (eof) prematuro"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Código de operação inválido"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Sem suporte à operação"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Argumentos inesperados"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Manipula uma unidade de fita, aceitando comandos de um processo remoto"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUMERO"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "define nível de depuração"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "ARQUIVO"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "define nome do arquivo de saída do depuração"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "não foi possível abrir %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "número excessivo de argumentos"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Comando sem sentido"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Este não parece ser um arquivo-tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Total de bytes lidos"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Total de bytes escritos"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Total de bytes apagados"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Recusando a ler conteúdo do arquivo-tar a partir do terminal (faltando a "
 "opção -f ?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Recusando a escrever conteúdo do arquivo-tar para o terminal (faltando a "
 "opção -f ?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Valor inválido para \"record_size\""
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Nome de arquivo-tar não informado"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 "Não foi possível verificar arquivos-tar de entrada/saída padrão (stdin/"
 "stdout)"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "O arquivo-tar está compactado. Use a opção %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Não foi possível atualizar arquivos-tar compactados"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "No início da fita, encerrando agora"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Muitos erros, encerrando"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Tamanho de registro = %lu bloco"
 msgstr[1] "Tamanho de registro = %lu blocos"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Bloco desalinhado (%lu byte) no arquivo-tar"
 msgstr[1] "Bloco desalinhado (%lu bytes) no arquivo-tar"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Não foi possível recuar no arquivo-tar; pode estar ilegível sem -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek não está parado numa fronteira de registro"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contém um número de volume inválido"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Sobrecarga de número de volumes"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare o volume #%d para %s e tecle Enter: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Fim de arquivo onde era esperado resposta do usuário"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "AVISO: O arquivo-tar está incompleto"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -737,67 +735,67 @@ msgstr ""
 " q                Aborta tar\n"
 " y ou nova linha  Continua operação\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !                Cria um subshell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?                Mostra esta lista\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Nenhum volume novo; encerrando.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Nome de arquivo não foi especificado. Tente novamente.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Entrada inválida. Digite ? para ajuda.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "comando %s falhou"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s não é continuado neste volume"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s possivelmente é continuado neste volume: o cabeçalho contém o nome "
 "truncado"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s é o tamanho errado (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volume está fora de sequência (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arquivo-tar não rotulado para casar com %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "O volume %s não casa com %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -805,214 +803,214 @@ msgstr ""
 "%s: nome de arquivo muito longo para ser armazenado num cabeçalho GNU "
 "multivolume, truncado"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "escrita não acabou numa fronteira de bloco"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Só foi possível ler %lu de %lu byte"
 msgstr[1] "Só foi possível ler %lu de %lu bytes"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "O conteúdo é diferente"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Fim de arquivo inesperado no arquivo-tar"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "O tipo de arquivo é diferente"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Os modos são diferentes"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Os uid são diferentes"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Os gid são diferentes"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Os horários de modificação são diferentes"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Os tamanhos são diferentes"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Sem link para %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "O link simbólico é diferente"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "O número de dispositivo é diferente"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verificar "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: Tipo de arquivo \"%c\" desconhecido, comparado como um arquivo normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "O arquivo-tar contém nomes de arquivos com os prefixos removidos."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "O arquivo-tar contém nomes de arquivos transformados."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "A verificação pode falhar em localizar os arquivos originais."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "ERRO DE VERIFICAÇÃO: detectado %d cabeçalho inválido"
 msgstr[1] "ERRO DE VERIFICAÇÃO: detectados %d cabeçalhos inválidos"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Bloco de zero isolado em %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: contém um rótulo %s de diretório cache; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "valor %s fora da faixa %s: %s..%s; substituindo %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valor %s fora da faixa %s: %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Gerando cabeçalhos octais negativos"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: nome de arquivo é grande demais (máximo de %d); não será arquivado"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 "%s: nome de arquivo é grande demais (não pode ser dividido); não será "
 "arquivado"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: nome de link grande demais; não será arquivado"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: O arquivo diminuiu %s byte; completando com zeros"
 msgstr[1] "%s: O arquivo diminuiu %s bytes; completando com zeros"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: arquivo está em outro sistema de arquivos; não será arquivado"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "conteúdos não despejado"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipo de arquivo desconhecido; arquivo ignorado"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Faltando links para %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: arquivo sem alterações; não será arquivado"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "diretório não arquivado"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: arquivo alterado enquanto estava sendo lido"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soquete ignorado"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: porta ignorada"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Pulando para o próximo cabeçalho"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Removendo um não-cabeçalho do arquivo-tar"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: carimbo de data/hora implausivelmente velho %s"
 
 # O "s" solitário refere-se a segundos. Não remover -- Rafael
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: o carimbo de data/hora %s está %s s no futuro"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsistência inesperada ao criar diretório"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: ignorando arquivo existente"
@@ -1036,7 +1034,7 @@ msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr ""
 "%s: Não foi possível extrair -- arquivo é a continuação de outro volume"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Nome longo de cabeçalho inesperado"
 
@@ -1051,9 +1049,9 @@ msgid "Current %s is newer or same age"
 msgstr "%s atual é mais novo ou tem a mesma idade"
 
 #: src/extract.c:1664
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Member name contains '..'"
-msgstr "%s: O nome do membro contém `..'"
+msgstr "%s: O nome do membro contém \"..\""
 
 #: src/extract.c:1696
 #, c-format
@@ -1065,22 +1063,22 @@ msgstr "%s: Não foi possível fazer backup deste arquivo"
 msgid "Cannot rename %s to %s"
 msgstr "Não foi possível renomear %s para %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: O diretório foi renomeado de %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: O diretório é novo"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: O diretório está em outro sistema de arquivos; não será arquivado"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: O diretório foi renomeado"
@@ -1208,35 +1206,35 @@ msgstr "%s: Removendo %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Não foi possível remover"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Omitindo"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloco %s: ** Bloco de NULOs **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloco %s: ** Fim de arquivo **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "bloco %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Espaço em branco no cabeçalho onde valor numérico %s era esperado"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1244,160 +1242,160 @@ msgstr ""
 "complemento de dois"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "O valor octal do arquivo-tar %.*s está fora de faixa %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "O arquivo-tar contém cabeçalhos base-64 obsoletos"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "A string base-64 assinada do arquivo-tar %s está fora de faixa %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "O valor base-256 de arquivo-tar está fora da faixa %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "O arquivo-tar contém %.*s onde valor numérico %s era esperado"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "O valor do arquivo-tar %s está fora da faixa %s: %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " link para %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo de arquivo \"%s\" desconhecido\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Link Longo--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nome Longo--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabeçalho de volume--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua no byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Criando de diretório:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Renomeando %s para %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Não foi possível renomear para %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Renomeando %s de volta para %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Arquivo removido antes de ser lido"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "processo filho"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "canal interprocesso"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Seleção de nome de arquivo local:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "adiciona ARQUIVO dado ao arquivo-tar (útil se seu nome se inicia com um "
 "traço)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "muda para o diretório DIR"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "obtém nomes para extrair ou criar a partir de ARQUIVO"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T lê nomes de terminação nula, implica em --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "desabilita o efeito da opção --null anterior"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "remove citação de nomes de membros ou arquivos de entrada (padrão)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "não remove citação de nomes de membros ou arquivos de entrada"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T lê nomes de arquivos literalmente (sem tratamento de opção)"
+msgstr ""
+"-T lê nomes de arquivos literalmente (sem escape ou tratamento de opção)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T trata nomes de arquivos iniciando com traço como opções (padrão)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PADRÃO"
 
 # espaço adicionado para corrigir alinhamento da descrição da opção -- Rafael
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr " exclui arquivos, dados como um PADRÃO"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "exclui padrões listados em ARQUIVO"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1405,24 +1403,24 @@ msgstr ""
 "exclui conteúdos de diretórios contendo CACHEDIR.TAG, exceto pela própria "
 "etiqueta de arquivo"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "exclui tudo sob diretórios contendo CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "exclui diretórios contendo CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "exclui conteúdo dos diretórios contendo ARQUIVO, exceto o próprio ARQUIVO"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "lê padrões de exclusão para cada diretório de ARQUIVO, se ele existir"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1430,118 +1428,122 @@ msgstr ""
 "lê padrões de exclusão para cada diretório e seus subdiretórios de ARQUIVO, "
 "se ele existir"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "exclui tudo sob diretórios contendo ARQUIVO"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "exclui diretórios contendo ARQUIVO"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "exclui diretórios de sistema de controle de versão"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "lê padrões de exclusão de arquivos \"ignore\" de VCS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "exclui arquivos de backup e de trava"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "age recursivamente na árvore de diretórios (padrão)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "não desce pela árvore de diretórios"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Opções de correspondência de nome de arquivo (afeta ambos padrões de "
 "exclusão e inclusão):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "padrões combinam com início do nome do arquivo"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "padrões combinam depois de qualquer \"/\" (padrão para exclusão)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "ignora maiúsculas/minúsculas"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "diferencia maiúsculas/minúsculas (padrão)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "usam coringas (padrão para exclusão)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "casa com o conteúdo exato da string"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "coringas combinam com \"/\" (padrão para exclusão)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "coringas não combinam com \"/\""
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"As seguintes opções foram usadas após qualquer argumento não opcional no "
+"modo de criação ou atualização de arquivo. Essas opções são posicionais e "
+"afetam apenas os argumentos que os seguem. Por favor, reorganize-os "
+"adequadamente."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s possui nenhum efeito"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s possui nenhum efeito"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s possui nenhum efeito"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "linha de comando"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: a lista de arquivos requisitada de %s já foi lida de %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "não foi possível dividir a string \"%s\": %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: nome de arquivo lido contém caractere nulo"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Padrão correspondente a caracteres usados em nomes de arquivos"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1549,47 +1551,47 @@ msgstr ""
 "Use --wildcards para habilitar casamento de padrão, ou --no-wildcards para "
 "suprimir este aviso"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Não foi encontrado no arquivo-tar"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Ocorrência pedida não foi encontrada no arquivo-tar"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arquivo-tar não rotulado para casar"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Usar a opção -C dentro de lista de arquivos não é permitido com --listed-"
 "incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Somente uma opção -C é permitida com --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Ambas as opções \"%s\" e \"%s\" exigem a entrada padrão"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Formato de arquivo inválido"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Desejadas características GNU num arquivo-tar com formato incompatível"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1813,7 +1815,7 @@ msgstr "Seleção de fluxo de saída:"
 msgid "extract files to standard output"
 msgstr "extrai arquivos para a saída padrão"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "COMANDO"
 
@@ -1849,7 +1851,7 @@ msgstr "usa ARQUIVO para mapear UIDs e nomes de donos de arquivos"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "usa ARQUIVO para mapear GIDs e nomes de donos de arquivos"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATA-OU-ARQUIVO"
 
@@ -2069,7 +2071,7 @@ msgstr "refaz blocos na medida em que os lê (para redirecionamentos de 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Seleção do formato de arquivo-tar:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMATO"
 
@@ -2155,63 +2157,63 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtra através de PROG (deve aceitar -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Seleção de arquivo local:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr ""
 "permanece no sistema de arquivos local durante a criação de arquivo-tar"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "preserva \"/\"s iniciais nos nomes dos arquivos"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "segue links simbólicos; arquiva e despeja os arquivos aos quais eles apontam"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "segue links absolutos; arquiva e despeja os arquivos aos quais eles fazem "
 "referência"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NOME-MEMBRO"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "inicia em NOME-MEMBRO membro ao ler o arquivo-tar"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "armazena apenas arquivos mais novos que DATA-OU-ARQUIVO"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "compara data e hora apenas quando os dados mudarem"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTROLE"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "efetua backup antes da remoção, escolhe versão CONTROLE"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2219,60 +2221,60 @@ msgstr ""
 "cria backup antes da remoção, sobrescreve sufixo usual (\"~\" a menos que "
 "sobrescrito pela variável de ambiente SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Transformações de nome de arquivo:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "remove NUMERO no início de componentes de nomes de arquivos na extração"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "EXPRESSÃO"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "usa a substituição sed EXPRESSÃO para transformar nomes de arquivos"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Saída informativa:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "lista verbosamente os arquivos processados"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "PALAVRA-CHAVE"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "controle de aviso"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "exibe mensagens de progresso a cada NUMERO-ésima gravação (padrão 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "AÇÃO"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "executa AÇÃO em cada ponto de verificação"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "exibe uma mensagem se nem todos links forem arquivados"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SINAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2284,35 +2286,35 @@ msgstr ""
 "SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2; os nomes sem o prefixo SIG também são "
 "aceitos"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "exibe tempos de modificação de arquivo em UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "exibe tempo do arquivo em sua resolução máxima"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "envia saída verbosa para ARQUIVO"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "mostra número de bloco dentro de arquivo-tar com cada mensagem"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "solicita confirmação para cada ação"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "mostra padrões do tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "mostra intervalos válidos para campos de arquivo instantâneo"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2320,55 +2322,55 @@ msgstr ""
 "ao listar ou extrair, lista cada diretório que não casa com os critérios de "
 "pesquisa"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "mostra nomes de arquivo ou arquivo-tar após transformação"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "ESTILO"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "define o estilo de citação de nome; veja abaixo por valores válidos para "
 "ESTILO"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "adicionalmente, cita caracteres de STRING"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "desabilita citação para caracteres de STRING"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Opções de compatibilidade:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 "ao criar, mesmo que --old-archive; ao extrair, mesmo que --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Outras opções:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "desabilita o uso de algumas opções potencialmente nocivas"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "\"%s\" não pode ser usada com \"%s\""
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2376,40 +2378,40 @@ msgstr ""
 "Você não pode especificar mais do que uma das opções \"-Acdtrux\", \"--delete"
 "\" ou \"--test-label\""
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Opções de compressão conflitantes"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nome de sinal desconhecido: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Arquivo de datas não localizado"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Substituindo %s pelo formato de data desconhecido %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Opção %s: Tratando data \"%s\" como %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtra o arquivo-tar por meio de %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Argumentos válidos para a opção --quoting-style são:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2417,165 +2419,165 @@ msgstr ""
 "\n"
 "*Esse* tar utiliza como padrão:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "ID de dono ou grupo inválido"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Fator de blocagem inválido"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Tamanho da fita inválido"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Valor inválido de nível de incrementação"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Mais do que uma data limite"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Valor inválido de versão esparsa"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "Sem suporte a --atime-preserve=\"system\" nesta plataforma"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "Valor de --checkpoint não é um inteiro"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Modo inválido dado na opção"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Número inválido"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Tamanho de registro inválido"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "O tamanho dos registros tem que ser múltiplo de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Número de elementos inválido"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Somente uma opção --to-command permitida"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argumento de densidade malformado: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densidade desconhecida: \"%c\""
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Sem suporte às opções \"-[0-7][lmh]\" por *este* tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: localização do erro"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "erro ao analisar \"%s\""
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[ARQUIVO]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "argumentos de não-opção em %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "não foi possível dividir TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "A opção antiga \"%c\" exige um argumento."
 
 # "--occurrence" é opção de linha de comando -- Rafael
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence não tem sentido sem uma lista de arquivos"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Múltiplos arquivos-tar exigem a opção \"-M\""
 
 # "--level" e "--listed-incremental" são opções de linha de comando -- Rafael
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level não tem sentido sem --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: O rótulo do volume é longo demais (o limite é %lu byte)"
 msgstr[1] "%s: O rótulo do volume é longo demais (o limite é %lu bytes)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Não foi possível verificar arquivos-tar multivolume"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Não foi possível verificar arquivos-tar compactados"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Não foi possível usar arquivos-tar multivolume compactados"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Não foi possível concatenar arquivos-tar compactados"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime precisa que uma data seja especificada usando --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option pode ser usada apenas em arquivos-tar POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls pode ser usada apenas em arquivos-tar POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux pode ser usada apenas em arquivos-tar POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs pode ser usada apenas em arquivos-tar POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2583,129 +2585,138 @@ msgstr ""
 "Não foi possível deduzir nome de arquivo topo de nível; por favor defina-o "
 "explicitamente com --one-top-level=DIR"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Tamanho do volume não pode ser menor que o tamanho do registro"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Recusando a criar um arquivo-tar vazio"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "As opções \"-Aru\" são incompatíveis com \"-f -\""
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Você deve especificar uma das opções \"-Acdtrux\", \"--delete\" ou \"--test-"
 "label\""
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Saindo com status de falha em razão de erros anteriores"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: O arquivo encolheu %s byte"
 msgstr[1] "%s: O arquivo encolheu %s bytes"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Palavra-chave %s não é conhecida ou ainda não está implementada"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Carimbo de data/hora fora da faixa permitida"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "O padrão %s não pode ser usado"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "A palavra-chave %s não pode ser sobrescrita"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Cabeçalho estendido malformado: falta o tamanho"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "O tamanho do cabeçalho estendido %*s está fora da faixa"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Cabeçalho estendido malformado: falta espaço após o tamanho"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Cabeçalho estendido malformado: falta sinal de igual"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Cabeçalho estendido malformado: falta nova-linha"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignorando chave \"%s\" desconhecida do cabeçalho estendido"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Par de chave/valor gerado é muito longo (chave=%s, tamanho=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Cabeçalho estendido %s=%s está fora da faixa %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Cabeçalho estendido malformado: %s=%s inválido"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Cabeçalho estendido malformado: excesso %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Cabeçalho estendido malformado: %s inválido: delimitador %c inesperado"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Cabeçalho estendido malformado: %s inválido: número ímpar de valores"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: não é um limite de tempo válido"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: ação do ponto de verificação desconhecida"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "escreva"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "leia"
 
@@ -2713,7 +2724,7 @@ msgstr "leia"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Ponto de verificação de escrita %u"
@@ -2722,13 +2733,13 @@ msgstr "Ponto de verificação de escrita %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Ponto de verificação de leitura %u"
 
 # genfile é o nome do programa; não traduzir -- Rafael
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2737,96 +2748,100 @@ msgstr ""
 "GNU.\n"
 "OPÇÕES são:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Opções de criação do arquivo:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "TAM"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Cria arquivo com tamanho TAM"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Escreve no arquivo NOME ao invés da saída padrão"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Lê nomes de arquivos a partir de ARQUIVO"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T lê nomes com terminação nula"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Preenche o arquivo com o PADRÃO dado. PADRÃO é \"default\" ou \"zeros\""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Tamanho de um bloco para arquivo esparso"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Gera arquivo esparso. O resto da linha de comando dá o mapa de arquivos."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "POSIÇÃO"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Procura pela posição dada antes de escrever os dados"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Suprime mensagens diagnóstico não-fatais"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Opções de estatísticas do arquivo:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Exibe conteúdos de estado de estrutura para cada arquivo dado. FORMATO "
 "padrão é: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Opções de execução síncrona:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPÇÃO"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Executa ARGS. Útil com --checkpoint e um entre --cut, --append, --touch e --"
 "unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Executa a ação dada (ver abaixo) ao atingir o ponto de verificação NUMERO"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Define a data para a próxima opção --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Exibe pontos de verificação executados e status de saída de COMANDO"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2834,7 +2849,7 @@ msgstr ""
 "Ações síncronas de execução. Estas são executadas quando o número de ponto "
 "de verificação informado pela opção --checkpoint é atingido."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2842,125 +2857,125 @@ msgstr ""
 "Trunca ARQUIVO para o tamanho especificado pela opção --length anterior (ou "
 "0, se não for informado)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Adiciona TAM bytes ao arquivo ARQUIVO. O TAM é informado pela opção --length "
 "anterior."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Atualiza os tempos de modificação e de acesso do ARQUIVO"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Executa COMANDO"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Exclui ARQUIVO"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Tamanho inválido: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Número fora do alcance permitido: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Tamanho negativo: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) falhou"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "tamanho de arquivo requisitado %lu, de fato %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "o arquivo criado não é esparso"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Erro ao analisar o número próximo a \"%s\""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Formato de data desconhecido"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "não foi possível abrir \"%s\""
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "não foi possível saltar"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "o nome de arquivo contém caractere nulo"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "não foi possível gerar arquivos esparsos na saída padrão, use a opção --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "máscara incorreta (próximo a \"%s\")"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Campo \"%s\" desconhecido"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "não foi possível definir tempo em \"%s\""
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "não foi possível truncar \"%s\""
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "o comando falhou: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "não foi possível truncar \"%s\""
+msgstr "não foi possível obter status de \"%s\""
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "não foi possível definir tempo em \"%s\""
+msgstr "não foi possível remover diretório \"%s\""
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "não foi possível desfazer link simbólico \"%s\""
@@ -3000,6 +3015,9 @@ msgstr "Comando terminado\n"
 msgid "--stat requires file names"
 msgstr "--stat exige nomes de arquivos"
 
+#~ msgid "OPTION"
+#~ msgstr "OPÇÃO"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: O parâmetro ARGP_HELP_FMT deve ser positivo"
 
diff --git a/po/ro.gmo b/po/ro.gmo
index 27894dff70dc75ecc09b2936bd4b82271444744e..03dab73323f29ba4757e328a2d0d932897520108 100644
GIT binary patch
delta 28
jcmaF7iSh9!#tkwiyq3BKM!H7E3Wg?DrskV9O{`P_jEM*?

delta 28
jcmaF7iSh9!#tkwiyym)wM!JUP3Wi2j#)g|UO{`P_j8q6F

diff --git a/po/ro.po b/po/ro.po
index d54b7363..7f0ee385 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -3,12 +3,12 @@
 # Laurentiu Buzdugan <lbuz@rolix.org>>, 2005.
 #
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.15.1\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2005-07-15 12:00-0500\n"
 "Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -99,7 +99,7 @@ msgid "give a short usage message"
 msgstr "Afi�eaz� un scurt mesaj despre folosire"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NUME"
 
@@ -235,12 +235,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -248,11 +248,11 @@ msgstr ""
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -500,54 +500,54 @@ msgstr "Nu pot executa shell remote"
 msgid "Cannot execute remote shell"
 msgstr "Nu pot executa shell remote"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Direc�ie c�utare (seek direction) �n afara domeniului"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 #, fuzzy
 msgid "Invalid seek direction"
 msgstr "Mod invalid furnizat ca op�iune"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 #, fuzzy
 msgid "Invalid seek offset"
 msgstr "�nregistrare timp invalid�"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Decalaj c�utare (seek offset) �n afara domeniului"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 #, fuzzy
 msgid "Invalid byte count"
 msgstr "Lungime de band� invalid�"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 #, fuzzy
 msgid "Byte count out of range"
 msgstr "Decalaj c�utare (seek offset) �n afara domeniului"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 #, fuzzy
 msgid "Premature eof"
 msgstr "rmtd: eof prematur\n"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 #, fuzzy
 msgid "Invalid operation code"
 msgstr "Mod de operare principal:"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr ""
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 #, fuzzy
 msgid "Unexpected arguments"
 msgstr "EOF nea�teptat �n numele amestecate"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 #, fuzzy
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
@@ -557,147 +557,147 @@ msgstr ""
 "  --version   Afi�eaz� informa�ii versiune.\n"
 "  --help      Afi�eaz� acest mesaj.\n"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUM�R"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FI�IER"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr ""
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr ""
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Comand� gunoi"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Aceasta nu pare a fi o arhiv� tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Num�r total octe�i scri�i: %s (%s, %s/s)\n"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr ""
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Valoare invalid� pentru record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Nume arhiv� nu a fost furnizat"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nu pot verifica arhive atdin/stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiva este compresat�. Folosi�i op�iunea %s."
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Nu pot actualiza arhive comprimate"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "La �nceputul benzii, ie�im acum"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Prea multe erori, ie�im"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Dimensiune �nregistrare = %lu bloc"
 msgstr[1] "Dimensiune �nregistrare = %lu blocuri"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Bloc ne-aliniat (%lu octet) �n arhiv�"
 msgstr[1] "Bloc ne-aliniat (%lu octe�i) �n arhiv�"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Nu pot backspace fi�ierul arhiv�; acesta ar putea fi de necitit f�r� -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek nu s-a oprit la limita unei �nregistr�ri"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: con�ine num�r volum invalid"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Dep�ire domeniu num�r volum"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepar� volum #%d pentru %s �i apas� tasta return: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "EOF unde era a�teptat r�spunsul utilizatorului"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "AVERTISMENT: Arhiva este incomplet�"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -709,279 +709,279 @@ msgstr ""
 " !          Lanseaz� un subshell\n"
 " ?          Afi�eaz� aceast� list� de op�iuni\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Nici un volum nou; termin�m.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "`%s' comanda a e�uat"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nu este continuat pe acest volum"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s nu este continuat pe acest volum"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s este de dimensiune gre�it� (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Acest volum este �n afara secven�ei"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiva nu este etichetat� s� se potriveasc� cu %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volumul %s nu se potrive�te cu %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, fuzzy, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 "%s: nume fi�ier prea lung pentru a fi storat �ntr-un antet GNU multivolum"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 #, fuzzy
 msgid "write did not end on a block boundary"
 msgstr "rmtlseek nu s-a oprit la limita unei �nregistr�ri"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Am putut citi doar %lu din %lu octet"
 msgstr[1] "Am putut citi doar %lu din %lu octe�i"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Con�inuturile difer�"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "EOF nea�teptat �n arhiv�"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Tipul fi�ierelor difer�"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Modurile difer�"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid difer�"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid difer�"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Timp modificare difer�"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Dimensiunea difer�"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Nu este link-at c�tre %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symlink difer�"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Num�r dispozitiv difer�"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verific� "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: Tip de fi�ier necunoscut '%c', folosesc diff ca pentru un fi�ier normal"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arhiva con�ine nume de fi�iere cu prefixele �ndep�rtate."
 
-#: src/compare.c:541
+#: src/compare.c:540
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Arhiva con�ine antete �n baza-64 dep�ite"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Verificare ar putea e�ua s� g�seasc� fi�ierele originale."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "VERIFIC� E�EC: detectat %d antet invalid"
 msgstr[1] "VERIFIC� E�EC: detectat %d antete invalide"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Un bloc zero singuratic la %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, fuzzy, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: con�ine o etichet� de director cache; nimic generat"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "valoarea %s �n afara %s intervalului %s..%s; �nlocuiesc %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "valoarea %s �n afara %s intervalului %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Generez antete octale negative"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: numele fi�ierul este prea lung (maxim %d); nimic generat"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: numele fi�ierul este prea lung (nu poate fi spart); nimic generat"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: numele link-ului este prea lung; nimic generat"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Fi�ier scurtat cu %s octet; completat cu zerouri"
 msgstr[1] "%s: Fi�ier scurtat cu %s octe�i; completat cu zerouri"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fi�ierul este pe un sistem de fi�iere diferit; nimic generat"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tip de fi�ier necunoscut; fi�ier ignorat"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr "Link lips� c�tre '%s'.\n"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: fi�ierul este neschimbat; nimic generat"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: fi�ierul este �n arhiv�; nimic generat"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: con�ine o etichet� de director cache; nimic generat"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fi�ier schimbat �n timp ce �l citeam"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket ignorat"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: u�� ignorat�"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "S�rim la urm�torul antet"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "�tergem non-antet din arhiv�"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: �nregistrare de timp neverosimil� %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, fuzzy, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: �nregistrare timp %s este %lu sec �n viitor"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Inconsisten�� nea�teptat� c�nd cream directorul"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
@@ -1004,7 +1004,7 @@ msgstr "
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Nu pot extrage -- fi�ierul este continuat din alt� arhiv�"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "EOF nea�teptat �n numele amestecate"
@@ -1034,22 +1034,22 @@ msgstr "%s: Nu am putut arhiva (backup) acest fi
 msgid "Cannot rename %s to %s"
 msgstr "%s: Nu pot redenumi ca %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Directorul a fost redenumit"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Directorul este nou"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, fuzzy, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: fi�ierul este pe un sistem de fi�iere diferit; nimic generat"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Directorul a fost redenumit"
@@ -1177,35 +1177,35 @@ msgstr "%s: 
 msgid "%s: Cannot remove"
 msgstr "%s: Nu pot �terge"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Omis"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "bloc %s: ** Bloc de NUL-uri **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s: ** Sf�r�it de fi�ier **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Spa�ii libere �n antet unde valoare %s numeric� a�teptat�"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1213,354 +1213,354 @@ msgstr ""
 "lui doi"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Valoare octal� arhiv� %.*s este �n afara %s intervalului"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiva con�ine antete �n baza-64 dep�ite"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "�ir �n baza-64 (semn�tura arhivei) %s este �n afara %s intervalului"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Valoare baza-256 a arhivei este �n afara %s intervalului"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arhiva con�ine %.*s unde valoare %s numeric� a�teptat�"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, fuzzy, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Valoare arhiv� %s este �n afara %s intervalului %s.%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " link c�tre %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tip fi�ier necunoscut %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Link Lung--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nume Lung--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Antet Volum--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continuat la octet %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Creez director:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Redenumesc %s ca %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Nu pot redenumi ca %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Redenumesc %s �napoi ca %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fi�ier �ters �nainte de a-l putea citi"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "proces copil"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "canal �ntre-procese"
 
-#: src/names.c:69
+#: src/names.c:68
 #, fuzzy
 msgid "Local file name selection:"
 msgstr "Selec�ie fi�ier local:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "schimb� �n directorul DIR"
 
-#: src/names.c:76
+#: src/names.c:75
 #, fuzzy
 msgid "get names to extract or create from FILE"
 msgstr "ob�ine numele de extras sau creat din fi�ierul NUME"
 
-#: src/names.c:78
+#: src/names.c:77
 #, fuzzy
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T cite�te nume terminate cu null, deactiveaz� cu -C"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATTERN"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "exclude fi�iere, date ca un PATTERN"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "pattern-urile de excludere sunt listate �n FI�IER"
 
-#: src/names.c:96
+#: src/names.c:95
 #, fuzzy
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "exclude directoarele ce con�in o etichet� cache"
 
-#: src/names.c:99
+#: src/names.c:98
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "exclude directoarele ce con�in o etichet� cache"
 
-#: src/names.c:102
+#: src/names.c:101
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "exclude directoarele ce con�in o etichet� cache"
 
-#: src/names.c:104
+#: src/names.c:103
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "exclude directoarele ce con�in o etichet� cache"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "exclude directoarele ce con�in o etichet� cache"
 
-#: src/names.c:115
+#: src/names.c:114
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "exclude directoarele ce con�in o etichet� cache"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/names.c:119
+#: src/names.c:118
 #, fuzzy
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "pattern-urile de excludere sunt �iruri simple"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr ""
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "coboar� recursiv �n directoare (implicit)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "evit� cobor�rea automat� �n directoare"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/names.c:133
+#: src/names.c:132
 #, fuzzy
 msgid "patterns match file name start"
 msgstr "pattern-urile de excludere potrivesc �nceputul numelor de fi�iere"
 
-#: src/names.c:135
+#: src/names.c:134
 #, fuzzy
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "pattern-urile de excludere potrivesc dup� orice / (implicit)"
 
-#: src/names.c:137
+#: src/names.c:136
 #, fuzzy
 msgid "ignore case"
 msgstr "�n excluderi ignor� cazul caracterelor (minuscule/majuscule)"
 
-#: src/names.c:139
+#: src/names.c:138
 #, fuzzy
 msgid "case sensitive matching (default)"
 msgstr "excluderea depinde de caz (minuscule/majuscule) (implicit)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/names.c:145
+#: src/names.c:144
 #, fuzzy
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "wildcard-urile din pattern-urile de excludere potrivesc '/' (implicit)"
 
-#: src/names.c:147
+#: src/names.c:146
 #, fuzzy
 msgid "wildcards do not match '/'"
 msgstr "wildcard-urile �n pattern-urile de excludere nu potrivesc '/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 #, fuzzy
 msgid "command line"
 msgstr "`%s' comanda a e�uat"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nu a fost g�sit �n arhiv�"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Lucrul cerut nu a fost g�sit �n arhiv�"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Arhiva nu este etichetat� s� se potriveasc� cu %s"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Op�iunile `-%s' �i `-%s' vor am�ndou� intrarea standard"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Format arhiv� invalid"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Capabilit��i GNU cerute pentru un format de arhiv� incompatibil"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1800,7 +1800,7 @@ msgstr ""
 msgid "extract files to standard output"
 msgstr "extrage fi�ierele la ie�irea standard"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "COMAND�"
 
@@ -1837,7 +1837,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATA-FI�IERULUI"
 
@@ -2042,7 +2042,7 @@ msgstr "redimensioneaz
 msgid "Archive format selection:"
 msgstr "Selec�ie format arhiv�:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2131,61 +2131,61 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtreaz� prin PROG (trebuie s� accepte -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Selec�ie fi�ier local:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "stai �n sistemul de fi�ire local la creare arhivei"
 
-#: src/tar.c:693
+#: src/tar.c:694
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "nu elimina primul `/' din numele fi�ierelor"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NUME-MEMBRU"
 
-#: src/tar.c:699
+#: src/tar.c:700
 #, fuzzy
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "�ncepe la membrul NUME-MEMBRU �n arhiv�"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "stocheaz� numai fi�iere mai noi dec�t DATA-FI�IERULUI"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "compar� data �i timpul numai c�nd a fost schimbat� data"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "f� backup �nainte de �tergere, alege CONTROL pentru versiuni"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "�IR"
 
-#: src/tar.c:708
+#: src/tar.c:709
 #, fuzzy
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
@@ -2194,61 +2194,61 @@ msgstr ""
 "f� backup �nainte de �tergere, �nlocuie�te prefixul normal ('~' �n afar� de "
 "cazul c�nd este determinat de variabila de mediu SIMPLE_BACKUP_SUFFIX"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:715
+#: src/tar.c:716
 #, fuzzy
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "elimin� NUM�R componente de la �nceputul numelor fi�ierelor"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Ie�ire informativ�:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "listeaz� cu am�nunte fi�ierele procesate"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:731
+#: src/tar.c:732
 #, fuzzy
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "afi�eaz� mesaje despre progres la fiecare al 10-a �nregistrare"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "afi�eaz� un mesaj dac� nu toate link-urile sunt prelucrate"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2256,37 +2256,37 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:744
+#: src/tar.c:745
 #, fuzzy
 msgid "print file modification times in UTC"
 msgstr "afi�eaz� datele de modificare a fi�ierelor �n UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "trimite ie�ire detaliat� �n FI�IER"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "arat� num�rul blocului din arhiv� pentru fiecare mesaj"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "cere confirmare pentru fiecare ac�iune"
 
-#: src/tar.c:755
+#: src/tar.c:756
 #, fuzzy
 msgid "show tar defaults"
 msgstr "Arat� valorire implicite folosite de tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 #, fuzzy
 msgid ""
 "when listing or extracting, list each directory that does not match search "
@@ -2295,94 +2295,94 @@ msgstr ""
 "La listare sau extragere, listeaz� fiecare director care nu se potrive�te cu "
 "criteriile de c�utare"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Op�iuni compatibilitate:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 #, fuzzy
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "la creare, ca �i --old-archive.  La extragere, ca �i --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Alte op�iuni:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, fuzzy, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s: Nu pot c�uta (seek) c�tre %s"
 
-#: src/tar.c:933
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Nu pute�i specifica mai mult de una dintre op�iunile `-Acdtrux'"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Op�iunile de compresie sunt �n conflict"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " tip fi�ier necunoscut %s\n"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Fi�ier date nu a fost g�sit"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "�nlocuim %s pentru format de dat� necunoscut %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, fuzzy, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Tratez data `%s' ca %s + %ld nanosecund�"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, fuzzy, c-format
 msgid "filter the archive through %s"
 msgstr "filtreaz� arhiva prin gzip"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2390,302 +2390,311 @@ msgstr ""
 "\n"
 "*Acest* tar folose�te implicit:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Proprietar invalid"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Factor blocuri invalid"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Lungime de band� invalid�"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Mai mult de o singur� dat� limit�"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Mod invalid furnizat ca op�iune"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Num�r invalid"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Dimensiune �nregistrare invalid�"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Dimensiune �nregistrare trebuie s� fie un multiplu de %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Num�r invalid de elemente"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, fuzzy, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argument densitate malformat: '%s'"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Densitate necunoscut�: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Op�iunile `-[0-7][lmh]' nu sunt suportate de *acest* tar"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr ""
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FI�IER]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "argument invalid %s pentru %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr ""
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Vechea op�iune `%c' necesit� un argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence n-are sens f�r� o list� de fi�iere"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Fi�iere de arhiv� multiple necesit� op�iunea `-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 #, fuzzy
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--occurrence n-are sens f�r� o list� de fi�iere"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Eticheta volumului este prea lung� (limita este %lu octet)"
 msgstr[1] "%s: Eticheta volumului este prea lung� (limita este %lu octe�i)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Nu pot verifica arhive pe volume multiple"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Nu pot verifica arhive comprimate"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nu pot folosi arhive comprimate pe volume multiple"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Nu pot actualiza arhive comprimate"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 #, fuzzy
 msgid "--acls can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 #, fuzzy
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 #, fuzzy
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Refuz categoric s� creez o arhiv� goal�"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Op�iunile `-Aru' sunt incompatibile cu `-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Trebuie s� specifica�i una din op�iunile `-Acdtrux'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Fi�ier scurtat cu %s octet"
 msgstr[1] "%s: Fi�ier scurtat cu %s octe�i"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, fuzzy, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Cuv�nt_cheie %s necunoscut sau �nc� neimplementat"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 #, fuzzy
 msgid "Time stamp is out of allowed range"
 msgstr "�nregistrare timp �n afara domeniului"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Pattern-ul %s nu poate fi folosit"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Cuv�nt_cheie %s nu poate fi �nlocuit (overridden)"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 #, fuzzy
 msgid "Malformed extended header: missing length"
 msgstr "Antet extins malformat: lipse�te semnul egal"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "�ir �n baza-64 (semn�tura arhivei) %s este �n afara %s intervalului"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 #, fuzzy
 msgid "Malformed extended header: missing blank after length"
 msgstr "Antet extins malformat: lipse�te spa�iu liber dup� lungime"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Antet extins malformat: lipse�te semnul egal"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 #, fuzzy
 msgid "Malformed extended header: missing newline"
 msgstr "Antet extins malformat: lipse�te semnul egal"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Valoare arhiv� %s este �n afara %s intervalului %s.%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Antet extins malformat: lipse�te semnul egal"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, fuzzy, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Antet extins malformat: lipse�te semnul egal"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Antet extins malformat: lipse�te semnul egal"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Antet extins malformat: lipse�te semnul egal"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, fuzzy, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: Grup invalid"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr ""
 
@@ -2693,7 +2702,7 @@ msgstr ""
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, fuzzy, c-format
 msgid "Write checkpoint %u"
 msgstr "Scrie punct de verificare %d"
@@ -2702,236 +2711,235 @@ msgstr "Scrie punct de verificare %d"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, fuzzy, c-format
 msgid "Read checkpoint %u"
 msgstr "Cite�te punct de verificare %d"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 #, fuzzy
 msgid "File creation options:"
 msgstr "Alte op�iuni:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 #, fuzzy
 msgid "Create file of the given SIZE"
 msgstr "creaz� arhiva de formatul dat."
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "extrage fi�ierele la ie�irea standard"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 #, fuzzy
 msgid "Read file names from FILE"
 msgstr "Am citit %s octe�i de la %s"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 #, fuzzy
 msgid "-T reads null-terminated names"
 msgstr "-T cite�te nume terminate cu null, deactiveaz� cu -C"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 #, fuzzy
 msgid "Seek to the given offset before writing data"
 msgstr "�ncearc� s� verifici arhiva dup� scrierea sa"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:168
-#, fuzzy
-msgid "OPTION"
-msgstr " [OP�IUNE...]"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 #, fuzzy
 msgid "Execute COMMAND"
 msgstr "COMAND�"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "�nregistrare timp invalid�"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Num�r inode �n afara intervalului"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Eroare sistem necunoscut�"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s: Nu pot c�uta (seek) c�tre %s"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " tip fi�ier necunoscut %s\n"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Nu pot c�uta (seek) c�tre %s"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s: Nu pot redenumi ca %s"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "`%s' comanda a e�uat"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, c-format
 msgid "cannot stat `%s'"
 msgstr ""
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "Nu pot salva directorul �n care lucrez"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "%s: Nu pot crea symlink c�tre %s"
@@ -2971,6 +2979,10 @@ msgstr ""
 msgid "--stat requires file names"
 msgstr "--Amestecat numele fi�ierelor--\n"
 
+#, fuzzy
+#~ msgid "OPTION"
+#~ msgstr " [OP�IUNE...]"
+
 #~ msgid "%s: option `--%s' doesn't allow an argument\n"
 #~ msgstr "%s: op�iunea `--%s' nu permite un argument\n"
 
diff --git a/po/ru.gmo b/po/ru.gmo
index 6651453cb8ae93b76ad1fa95a23a13f05eec44fd..a3da05c0719dead703b8ffa175094d7e46ec9851 100644
GIT binary patch
delta 15167
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
VmJ7Qt_D|1XWR%$+!N@3T4FJ<cTAu&_

delta 12969
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
H6tM;XQC?}=

diff --git a/po/ru.po b/po/ru.po
index a9a7ff7f..7d235e41 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,15 +4,15 @@
 #
 # Const Kaplinsky <const@ce.cctpu.edu.ru>, 1998, 1999.
 # Pavel Maryanov <acid_jack@ukr.net>, 2004, 2006, 2008.
-# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2013, 2014, 2016.
+# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2013, 2014, 2016, 2018.
 # Pavel Maryanov <acid@jack.kiev.ua>, 2010, 2014.
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-18 19:02+0300\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-03-11 08:35+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
 "Language: ru\n"
@@ -22,7 +22,7 @@ msgstr ""
 "X-Bugs: Report translation errors to the Language-Team address.\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: Lokalize 1.5\n"
+"X-Generator: Lokalize 2.0\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -104,7 +104,7 @@ msgid "give a short usage message"
 msgstr "вывод короткого сообщения об использовании"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "ИМЯ"
 
@@ -142,29 +142,29 @@ msgid "write error"
 msgstr "ошибка записи"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: двусмысленный параметр «%s»\n"
+msgstr "%s: двусмысленный параметр «%s%s»\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: двусмысленный параметр «%s»; возможные варианты:"
+msgstr "%s: двусмысленный параметр «%s%s»; возможные варианты:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: нераспознанный параметр «%c%s»\n"
+msgstr "%s: нераспознанный параметр «%s%s»\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: с параметром «%c%s» нельзя использовать аргумент\n"
+msgstr "%s: для параметра «%s%s» нельзя использовать аргумент\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: для параметра «--%s» требуется аргумент\n"
+msgstr "%s: для параметра «%s%s» требуется аргумент\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -239,12 +239,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Упакован %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Упакован %s\n"
@@ -252,12 +252,11 @@ msgstr "Упакован %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -267,9 +266,9 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Лицензия GPLv3+: GNU GPL версии 3 или новее <http://gnu.org/licenses/gpl."
+"Лицензия GPLv3+: GNU GPL версии 3 или новее <https://gnu.org/licenses/gpl."
 "html>\n"
-"Это свободное ПО: вы можете продавать и распространять его.\n"
+"Это свободное ПО: вы можете изменять и распространять его.\n"
 "Нет НИКАКИХ ГАРАНТИЙ до степени, разрешённой законом.\n"
 "\n"
 
@@ -405,14 +404,13 @@ msgid "%s home page: <%s>\n"
 msgstr "Домашняя страница %s: %s\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Домашняя страница %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Домашняя страница %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr "Справка по работе с ПО GNU: <http://www.gnu.org/gethelp/>\n"
+msgstr "Справка по работе с программами GNU: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -534,147 +532,147 @@ msgstr "Не удалось перенаправить файлы для уда
 msgid "Cannot execute remote shell"
 msgstr "Не удаётся запустить удалённый командный процессор"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Направление поиска за пределами диапазона"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Недопустимое направление поиска"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Недопустимое смещение поиска"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Смещение поиска за пределами диапазона"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Недопустимое число байт"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Число байт за пределами диапазона"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Неожиданный конец файла"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Недопустимый код операции"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Операция не поддерживается"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Неожиданные аргументы"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 "Работа с накопителем на магнитной ленте с приёмом команд от удалённого "
 "процесса"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "N"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "задайте уровень отладки"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "задайте имя выходного файла отладки"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "не удаётся открыть %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "слишком много аргументов"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Неверная команда"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Это не похоже на tar-архив"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Всего прочитано байт"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Всего записано байт"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Всего удалено байт"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Отказ чтения содержимого архива с терминала (пропущен параметр -f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Отказ записи содержимого архива в терминал (пропущен параметр -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Недопустимое значение для record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Не указано имя архива"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Не удаётся проверить архив на stdin/stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архив сжат. Используйте параметр %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Не удаётся обновить сжатые архивы"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Начало ленты, завершение работы"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Слишком много ошибок, завершение работы"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -682,7 +680,7 @@ msgstr[0] "Размер записи = %lu блок"
 msgstr[1] "Размер записи = %lu блока"
 msgstr[2] "Размер записи = %lu блоков"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -690,39 +688,39 @@ msgstr[0] "Невыровненный блок (%lu байт) в архиве"
 msgstr[1] "Невыровненный блок (%lu байта) в архиве"
 msgstr[2] "Невыровненный блок (%lu байт) в архиве"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Невозможно вернуться назад на один архивный файл; он может быть нечитаемым "
 "без -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek не остановился на границе записи"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: содержит неверный номер тома"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Переполнение номера тома"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Приготовьте том Номер %d для %s и нажмите Enter: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Конец файла вместо ожидаемого ответа пользователя"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: Архив не полный"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -734,66 +732,66 @@ msgstr ""
 " q             Выход из tar\n"
 " y или [нов.строка] Продолжение операции\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Порождение подпроцесса командного процессора\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Вывод этого списка\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Нет нового тома, завершение работы.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Не указано имя имя файла. Попробуйте ещё раз.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Неверные входные данные. Наберите ? для получения справки.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "Сбой команды %s"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s не продолжается на этом томе"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s, возможно, продолжается на этом томе - в заголовке находится усечённое имя"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s является неверным размером (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Этот том вне последовательности (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Метка архива не соответствует %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Том %s не соответствует %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -801,11 +799,11 @@ msgstr ""
 "%s: слишком длинное имя файла для сохранения в многотомном заголовке GNU; "
 "обрезано"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "запись не остановилась на границе блока"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
@@ -813,75 +811,75 @@ msgstr[0] "Можно было прочитать только %lu байт из
 msgstr[1] "Можно было прочитать только %lu байта из %lu"
 msgstr[2] "Можно было прочитать только %lu байт из %lu"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Содержимое различно"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Неожиданный конец файла в архиве"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Типы файлов отличаются"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Права доступа отличаются"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid отличаются"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid отличаются"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Время изменения отличается"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Размеры отличаются"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Не ссылается на %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Символические ссылки отличаются"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Номера устройств отличаются"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Проверка "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Неизвестный тип файла «%c», сравнён как обычный файл"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Архив содержит файлы с именами, из которых удалены префиксы."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Архив содержит преобразованные имена файлов."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "При проверке оригинальные файлы могут быть не найдены."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -889,46 +887,46 @@ msgstr[0] "СБОЙ ПРОВЕРКИ: обнаружен %d неверный з
 msgstr[1] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовка"
 msgstr[2] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовков"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Нулевой блок в %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: содержит каталог с кэшем тегов %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "значение %s за пределами %s диапазона %s..%s; заменяется на %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "значение %s за пределами %s диапазона %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Создаются отрицательные восьмеричные заголовки"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: имя файла слишком длинное (максимум %d); не сброшено"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: имя файла слишком длинное (не может быть разделено); не сброшено"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: имя ссылки слишком длинное; не сброшено"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -936,78 +934,78 @@ msgstr[0] "%s: Файл урезан на %s байт; дополнен нуля
 msgstr[1] "%s: Файл урезан на %s байта; дополнен нулями"
 msgstr[2] "%s: Файл урезан на %s байт; дополнен нулями"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл находится на другой файловой системе; не сброшен"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "содержимое не сброшено"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Неизвестный тип файла; файл проигнорирован"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Отсутствуют ссылки на %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: файл не изменён; не сброшен"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: файл является архивом; не сброшен"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "каталог не сброшен"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: файл изменился во время чтения"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: сокет проигнорирован"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door проигнорирован"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Пропускается до следующего заголовка"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Удаляется не-заголовок из архива"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: невероятно старая временная метка %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: временная метка %s - %s с в будущем "
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Неожиданная противоречивость при создании каталога"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: пропускается существующий файл"
@@ -1030,7 +1028,7 @@ msgstr "Выполняется попытка извлечь символиче
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Невозможно извлечь -- файл продолжается с другого тома"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Непредвиденный длинный заголовок имени"
 
@@ -1047,7 +1045,7 @@ msgstr "Текущий %s более новый или такого же воз
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: в имени содержится «..»"
 
 #: src/extract.c:1696
 #, c-format
@@ -1059,22 +1057,22 @@ msgstr "%s: Невозможно было выполнить резервное
 msgid "Cannot rename %s to %s"
 msgstr "Невозможно переименовать %s в %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Каталог был переименован из %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Каталог новый"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: каталог находится на другой файловой системе; не сброшен"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Каталог был переименован"
@@ -1200,35 +1198,35 @@ msgstr "%s: Удаляется %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Невозможно удалить"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Пропускается"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** Блок нулей **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Конец файла **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "В заголовке пустое поле вместо ожидаемого числового значения %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1236,160 +1234,160 @@ msgstr ""
 "дополнение до двух"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Восьмеричное значение архива %.*s за пределами диапазона %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архив содержит устаревающие заголовки base-64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Архив подписан строкой base-64 %s за пределами диапазона %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Значение base-256 архива за пределами диапазона %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Заголовок содержит %.*s вместо ожидаемого числового значения %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Значение архива %s за пределами %s диапазона %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " ссылка на %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " неизвестный тип файла %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Длинная ссылка--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Длинное имя--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Заголовок тома--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Продолжение с позиции %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Создание каталога:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s переименован в %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Невозможно переименовать в %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "%s переименовывается назад в %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Файла удален до его считывания"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "дочерний процесс"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "межпроцессорный канал"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Имя выбранного локального файла:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "добавить указанный ФАЙЛ в архив (полезно, если имя начинается с дефиса)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "КАТАЛОГ"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "перейти в КАТАЛОГ"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "загрузить из ФАЙЛА имена для извлечения или создания"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 "-T читает строки, оканчивающиеся null; подразумевается --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "выключить воздействие предыдущей опции --null"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "убрать кавычки в имени входного файла или членов (по умолчанию)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "не убирать кавычки в имени входного файла или членов (по умолчанию)"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T читает имена файлов буквально (не считаются параметрами)"
+msgstr ""
+"-T читает имена файлов буквально (не экранируются или считаются параметрами)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T считает имена файлов, начинающихся с переноса, параметрами (по умолчанию)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ШАБЛОН"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "исключать файлы, определённые ШАБЛОНОМ"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "исключать шаблоны, перечисленных в ФАЙЛЕ"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1397,24 +1395,24 @@ msgstr ""
 "исключать содержимое каталогов с файлом CACHEDIR.TAG за исключением самого "
 "файла с тегами"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "исключать всё содержимое каталогов, содержащих файл CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "исключать каталоги, содержащие файл CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "исключать каталоги, содержащие ФАЙЛ, за исключением самого ФАЙЛА"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 "читать шаблоны исключения для каждого каталога из ФАЙЛА, если он существует"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1422,118 +1420,121 @@ msgstr ""
 "читать шаблоны исключения для каждого каталога и его подкаталогов из ФАЙЛА, "
 "если он существует"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "исключать всё содержимое каталогов, содержащих ФАЙЛ"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "исключать каталоги с ФАЙЛОМ"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "исключать каталоги CVS"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "читать шаблоны исключения из файлов игнорирования VCS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "исключать резервные файлы и файлы блокировки"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "рекурсивный спуск по каталогам (по умолчанию)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "отключить автоматический спуск в каталоги"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Опции шаблонов подстановки для имён файлов (влияют на шаблоны включения и "
 "исключения):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "шаблоны начала имени файла"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "шаблоны совпадают после любого «/» (по умолчанию для исключаемых)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "игнорировать регистр"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "с учётом регистра (по умолчанию)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "использовать маски (по умолчанию для исключаемых)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "точное соответствие строке"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "маски соответствуют «/» (по умолчанию для исключаемых)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "маски не соответствуют «/»"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Следующие параметры используются после обязательных аргументов в режиме "
+"создания или обновления архива. Эти параметры зависят от места и влияют "
+"только на аргументы, после которых указываются. Размещайте их правильно."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s не учитывается"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s не учитывается"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s не учитывается"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "командная строка"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: список файлов, запрошенный из %s, уже прочитан из %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "невозможно разделить строку «%s»: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: в прочитанном имени файла присутствует пустой символ"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "В именах файлов используются символы подстановки"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1541,48 +1542,48 @@ msgstr ""
 "Используйте --wildcards, чтобы задействовать эти символы, или --no-"
 "wildcards, чтобы убрать это предупреждение"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Не найден в архиве"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Требуемое вхождение не найдено в архиве"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Несоответствие метки архива"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Параметра -C в списке файлов нельзя Использовать с параметром --listed-"
 "incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 "С параметром --listed-incremental можно использовать только параметр -C"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Для обоих параметров «%s» и «%s» требуется стандартный ввод"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Неверный формат архива"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Запрошены расширения GNU для несовместимого формата архива"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1804,7 +1805,7 @@ msgstr "Выбор выходного потока:"
 msgid "extract files to standard output"
 msgstr "извлекать файлы на стандартный вывод"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
@@ -1842,7 +1843,7 @@ msgstr "использовать ФАЙЛ для сопоставления UID
 msgid "use FILE to map file owner GIDs and names"
 msgstr "использовать ФАЙЛ для сопоставления GID владельцев файла и имён"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-ИЛИ-ФАЙЛ"
 
@@ -2056,7 +2057,7 @@ msgstr "заново разбивать на блоки при чтении (д
 msgid "Archive format selection:"
 msgstr "Формата архива:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
@@ -2140,61 +2141,61 @@ msgstr "ПРОГ"
 msgid "filter through PROG (must accept -d)"
 msgstr "пропустить архив через ПРОГ (должна поддерживать -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Выбор локальных файлов:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "оставаться в локальной файловой системе при создании архива"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "не удалять начальные «/» из имён файлов"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "следовать по символьным ссылкам и сохранять файлы, на которые они указывают"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "следовать по жёстким ссылкам и сохранять файлы, на которые они указывают"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "ИМЯ-ЧЛЕНА"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "начинать с члена ИМЯ-ЧЛЕНА при чтении архива"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "сохранять только те файлы, которые новее ДАТЫ-ИЛИ-ФАЙЛА"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "сравнивать дату и время, только если изменены данные"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "УПРАВЛЕНИЕ"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "делать копию перед удалением, УПРАВЛЕНИЕ выбора версий"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "СТРОКА"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2202,63 +2203,63 @@ msgstr ""
 "делать копию перед удалением, переопределяет обычный суффикс ('~', если "
 "только он не переопределён переменной окружения SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Преобразование имён файлов:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "удалять указанное ЧИСЛО начальных компонентов из имён файлов перед "
 "извлечением"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "РАСШИРЕНИЕ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "использовать замену РАСШИРЕНИЯ sed'ом для преобразования имён файлов"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Вывод информации:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "подробный листинг обрабатываемых файлов"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "КЛЮЧЕВОЕ СЛОВО"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "управление предупреждением"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "вывод сообщений о ходе выполнения через каждые ЧИСЛО записей (по умолчанию "
 "10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ДЕЙСТВИЕ"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "выполнять ДЕЙСТВИЕ на каждой контрольной точке"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "вывод сообщений, если сохранены не все ссылки"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2270,35 +2271,35 @@ msgstr ""
 "SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2. Также разрешается использовать имена без "
 "префикса SIG"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "вывод времени изменения файла в формате UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "вывод имени файла и его полного разрешения"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "отправить подробный вывод данных в FILE"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "выводить номера блоков архива в каждом сообщении"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "запрашивать подтверждение для каждого действия"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "показать значения tar по умолчанию"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "показать допустимые диапазоны для полей snapshot-файла"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2306,31 +2307,31 @@ msgstr ""
 "при выводе листинга или извлечении показывать все каталоги, не "
 "соответствующем условию поиска"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "показывать имена файлов или архивов после преобразования"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "установить стиль цитирования имён. Значения для СТИЛЯ см. ниже"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "дополнительно цитировать символы из СТРОКИ"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "отключить цитирование символов из СТРОКИ"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Опции совместимости:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2338,22 +2339,22 @@ msgstr ""
 "при создании, эквивалент --old-archive; при извлечении, эквивалент --no-same-"
 "owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Другие опции:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "отключить использование некоторых потенциально опасных опций"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "«%s» не может быть использован с «%s»"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2361,40 +2362,40 @@ msgstr ""
 "Указать можно только один из параметров «-Acdtrux», «--delete» или «--test-"
 "label»"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Конфликт опций сжатия"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Неизвестное название сигнала: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Файл с образцом даты не найден"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s заменяется на неизвестный формат даты %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Опция %s: дата «%s» рассматривается как %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "пропустить архив через %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Допустимые аргументы для параметра --quoting-style:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2402,120 +2403,120 @@ msgstr ""
 "\n"
 "Значения по умолчанию *этого* tar:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Неверный владелец или группа"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Неверный размер ёмкости блока"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Неверная длина ленты"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Недопустимое значение добавочного уровня"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Больше одной пороговой даты"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Неверное значение версии разрежения"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' не поддерживается на этой платформе"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "значение --checkpoint не является целым числом"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "В опции указан неверный режим доступа"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Неверное число"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Неверный размер записи"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Размер записи должен быть кратен %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Неверное число элементов"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Разрешается использовать только одну опцию --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Неверно сформирован аргумент плотности: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Неизвестная плотность: «%c»"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Опции «-[0-7][lmh]» не поддерживаются *этим* tar-ом"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: место ошибки"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "ошибка разбора %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]…"
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "аргументы, не являющиеся параметрами, в %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "невозможно разделить TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Для старой опции «%c» нужно указать аргумент."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence бесполезна без списка файлов"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Для нескольких файлов архивов требуется опция «-M»"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "параметр --level не имеет смыла без --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2523,43 +2524,43 @@ msgstr[0] "%s: Метка тома слишком длинная (максиму
 msgstr[1] "%s: Метка тома слишком длинная (максимум %lu байта)"
 msgstr[2] "%s: Метка тома слишком длинная (максимум %lu байт)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Невозможно проверить многотомные архивы"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Невозможно проверить сжатые архивы"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Невозможно использовать многотомные сжатые архивы"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Невозможно объединить сжатые архивы"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime требуется дата, задаваемая через --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option может быть использована только с архивами POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls может быть использована только с архивами POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux может быть использована только с архивами POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs может быть использована только с архивами POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2567,86 +2568,95 @@ msgstr ""
 "Невозможно определить имя каталога верхнего уровня; укажите его явно с "
 "помощью --one-top-level=КАТАЛОГ"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Размер тома не может быть меньше размера записи"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Робкий отказ от создания пустого архива"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Параметры «-Aru» не совместимы с «-f -»"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Необходимо указать один из параметров «-Acdtrux», «--delete» или «--test-"
 "label»"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Завершение работы с состоянием неисправности из-за возникших ошибок"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Файл урезан на %s байт"
 msgstr[1] "%s: Файл урезан на %s байта"
-msgstr[2] "%s: Файл урезан на %s байтов"
+msgstr[2] "%s: Файл урезан на %s байт"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Неизвестное или ещё не реализованное ключевое слово %s"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Метка времени за пределами допустимого диапазона"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Шаблон %s не может быть использован"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ключевое слово %s не может быть перекрыто"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Неверно сформирован расширенный заголовок: отсутствует длина"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Длина расширенного заголовка %*s за пределами допустимого диапазона"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Неверно сформирован расширенный заголовок: после длины отсутствует пробел"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
-msgstr "Неверно сформирован расширенный заголовок: отсутствует знак равенства "
+msgstr "Неверно сформирован расширенный заголовок: отсутствует знак равенства"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr ""
 "Неверно сформирован расширенный заголовок: отсутствует знак новой строки"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Игнорируется неизвестное ключевое слово расширенного заголовка «%s»"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2655,50 +2665,50 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Расширенный заголовок %s=%s за пределами диапазона %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Неверно сформирован расширенный заголовок: неверный %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Неверно сформирован расширенный заголовок: превышен %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Неверно сформирован расширенный заголовок: неверный %s: непредвиденный "
 "разделитель %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 "Неверно сформирован расширенный заголовок: неверный %s: нечётное число "
 "значений"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: недопустимое время ожидания"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: неизвестное действие контрольной точки"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "запись"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "чтение"
 
@@ -2706,7 +2716,7 @@ msgstr "чтение"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Контрольная точка записи %u"
@@ -2715,12 +2725,12 @@ msgstr "Контрольная точка записи %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Контрольная точка чтения %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2729,96 +2739,100 @@ msgstr ""
 "от GNU.\n"
 "ОПЦИИ:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Опции создания файла:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "РАЗМЕР"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Создание файла указанного РАЗМЕРА"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Запись в файл с ИМЕНЕМ, а не на стандартный вывод"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Чтение имён файла из ФАЙЛА"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T читает строки, оканчивающиеся нулём"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Заполнение файла заданным ШАБЛОНОМ. ШАБЛОН - это 'default' или 'zeros'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Размер блока для разрежённого файла"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Создание разрежённого файла. Остальная часть команды определяет карту файла."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "СМЕЩЕНИЕ"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Искать до указанного смещения перед записью данных"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Подавлять некритичные диагностические сообщения"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Параметры статистики по файлам:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Вывод содержимого структуры stat для всех указанных файлов. ФОРМАТ по "
 "умолчанию:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Параметры синхронного выполнения:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "ПАРАМЕТР"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Выполнение АРГУМЕНТОВ. Полезно с параметром --checkpoint и одним из --cut, --"
 "append или --touch"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Выполнение указанного действия (см. ниже) до достижения контрольной точки с "
 "заданным НОМЕРОМ"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Указание даты для следующего параметра --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Показать выполненные контрольные точки и статус выхода КОМАНДЫ"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2826,7 +2840,7 @@ msgstr ""
 "Синхронное выполнение действий. Они выполняются при достижении контрольной "
 "точки с номером, определённым опцией --checkpoint."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2834,125 +2848,125 @@ msgstr ""
 "Усечь ФАЙЛ до размера, определённого предыдущей опцией --length (или 0, если "
 "не указан)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Добавить РАЗМЕР байт к ФАЙЛУ. РАЗМЕР определяется предыдущей опцией --length."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Обновить время последнего доступа и изменения ФАЙЛА."
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Выполнить КОМАНДУ"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Удалить ФАЙЛ"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Недопустимый размер: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Число за пределами допустимого диапазона: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Отрицательный размер: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "Сбой stat(%s)"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "запрошенная длина файла %lu, реальная %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "созданный файл не является разреженным"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
-msgstr "Ошибка разбора числа возле `%s'"
+msgstr "Ошибка разбора числа возле «%s»"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Неизвестный формат даты"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
-msgstr "[АРГУМЕНТЫ...]"
+msgstr "[АРГУМЕНТЫ…]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
-msgstr "невозможно открыть `%s'"
+msgstr "невозможно открыть «%s»"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "невозможно найти"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "в имени файла присутствует пустой символ"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "невозможно вывести разрежённые файлы на стандартный вывод; используйте опцию "
 "--file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "неверная маска (возле `%s')"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
-msgstr "Неизвестное поле `%s'"
+msgstr "Неизвестное поле «%s»"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "невозможно установить время в `%s'"
+msgstr "невозможно установить время в «%s»"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "не удалось обрезать «%s»"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "сбой команды: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "не удалось обрезать «%s»"
+msgstr "не удалось выполнить stat для «%s»"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "невозможно установить время в `%s'"
+msgstr "не удалось удалить каталог «%s»"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "не удалось удалить «%s»"
@@ -2992,6 +3006,9 @@ msgstr "Команда завершена\n"
 msgid "--stat requires file names"
 msgstr "для опции --stat нужны имена файлов"
 
+#~ msgid "OPTION"
+#~ msgstr "ПАРАМЕТР"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: Параметра ARGP_HELP_FMT должен быть положительным"
 
diff --git a/po/sk.gmo b/po/sk.gmo
index c9ab16b21445567a36d2cde1fd3216de37f90227..8182d63011a0d743e29bca37b249a4c3a5ac1544 100644
GIT binary patch
delta 26
hcmdlVus>kK260|XT>~RsBVz?a6Dw2m&3nb01OR%22tfb<

delta 26
hcmdlVus>kK260|<T|*;XLvsZ~BP(OW&3nb01OR$Y2sr=%

diff --git a/po/sk.po b/po/sk.po
index bd17e34d..6e5ba755 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -2,12 +2,12 @@
 # Copyright (C) 1997 Free Software Foundation, Inc.
 # Martin Lacko <lacko@host.sk>, 2001.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar- \n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2002-02-10 12:00CEST\n"
 "Last-Translator: Martin Lacko <lacko@host.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -100,7 +100,7 @@ msgid "give a short usage message"
 msgstr ""
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
 
@@ -235,12 +235,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -248,11 +248,11 @@ msgstr ""
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -505,54 +505,54 @@ msgstr "Vzdialen
 msgid "Cannot execute remote shell"
 msgstr "Vzdialen� shell nie je mo�n� spusti�"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Smer posunu v s�bore je mimo rozsah"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 #, fuzzy
 msgid "Invalid seek direction"
 msgstr "Zad�n� chybn� pr�va"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 #, fuzzy
 msgid "Invalid seek offset"
 msgstr "Neplatn� �as s�boru"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Ve�kos� poz�cie v s�bore je mimo rozsah"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 #, fuzzy
 msgid "Invalid byte count"
 msgstr "Neplatn� d�ka p�sky"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 #, fuzzy
 msgid "Byte count out of range"
 msgstr "Ve�kos� poz�cie v s�bore je mimo rozsah"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 #, fuzzy
 msgid "Premature eof"
 msgstr "rmtd: Pred�asn� koniec s�boru\n"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 #, fuzzy
 msgid "Invalid operation code"
 msgstr "%s: nezn�my prep�na� -- %c\n"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr ""
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 #, fuzzy
 msgid "Unexpected arguments"
 msgstr "Neo�ak�van� koniec v rozsekanom mene"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 #, fuzzy
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
@@ -562,146 +562,146 @@ msgstr ""
 "  --version     Vyp��e ozna�enie verzie\n"
 "  --help        Vyp��e t�to n�povedu\n"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr ""
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr ""
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr ""
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, fuzzy, c-format
 msgid "cannot open %s"
 msgstr "Ned� sa zatvori�"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Nezn�my pr�kaz"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Toto pravdepodobne nie je tar archiv"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Celkom zap�san� bajtov: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr ""
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(r�ra)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Chybn� hodnota pre ve�kos� z�znamu"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Meno arch�vu nebolo zadan�"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Stdin/Stdout arch�v nie je mo�n� otvori�"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Komprimovan� arch�v nie je mo�n� aktualizova�"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "P�ska na za�iatku, kon��m"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Pr�li� mnoho ch�b, kon��m"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Ve�kos� z�znamu = %lu blokov"
 msgstr[1] "Ve�kos� z�znamu = %lu blokov"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, fuzzy, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Nezarovnan� blok (%lu bajtov) v arch�ve"
 msgstr[1] "Nezarovnan� blok (%lu bajtov) v arch�ve"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "V arch�ve sa nie je mo�n� vr�ti�, bez -i m��e by� ne�itate�n�"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: vracia chybn� ��slo zv�zku"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "��slo zv�zku prete�en�"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Pripravte zv�zok #%d pre arch�v %s a stla�te return:"
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Namiesto u��vate�skej odpovede bol zadan� koniec s�boru"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROVANIE: Archiv je nekompletn�"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -713,275 +713,275 @@ msgstr ""
 " !          Vytvorenie podshellu\n"
 " ?          Vyp�sanie tejto n�povedy\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Nie je nov� zv�zok; kon��m.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "'%s' pr�kaz zlyhal"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nepokra�uje na tomto zv�zku"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s nepokra�uje na tomto zv�zku"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je chybnej d�ky (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, fuzzy, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tento zv�zok nie je n�sledn�kem predch�dzaj�ceho"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Pre vyhodnotenie vzorky `%s' mus� by� arch�v pomenovan�"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Zv�zok %s nezodpoved� vzorke %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr ""
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "D� sa ��ta� iba %lu z %lu bajtov"
 msgstr[1] "D� sa ��ta� iba %lu z %lu bajtov"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Obsah sa l��i"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Neo�ek�van� koniec arch�vu"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Typ s�boru sa l��i"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Pr�va sa l��ia"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid sa l��i"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid sa l��i"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "�as poslednej �pravy sa l��i"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Ve�kos� sa l��i"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Nie je odkazom na %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symbolick� odkaz sa l��i"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "��slo zariadenia sa l��i"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Overujem "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Nezn�my typ s�boru '%c', porovn�van� ako norm�lny s�bor"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:541
+#: src/compare.c:540
 #, fuzzy
 msgid "Archive contains transformed file names."
 msgstr "Arch�v obsahuje zastaral� base-64 hlavi�ky"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, fuzzy, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "CHYBN� OVERENIE: n�jden�ch chybn�ch hlavi�iek: %d"
 msgstr[1] "CHYBN� OVERENIE: n�jden�ch chybn�ch hlavi�iek: %d"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "hodnota %s typu %s je mimo rozsah %s..%s; nahradzujem za %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "hodnota %s typu %s je mimo rozsah %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Generujem z�porn� osmi�kov� hlavi�ky"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, fuzzy, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: s�bor nie je zmenen�; neaktualizovan�"
 
-#: src/create.c:616
+#: src/create.c:615
 #, fuzzy, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: s�bor nie je zmenen�; neaktualizovan�"
 
-#: src/create.c:643
+#: src/create.c:642
 #, fuzzy, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: s�bor nie je zmenen�; neaktualizovan�"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: S�bor je krat�� o : %s bajtov; Dopl�ujem nulami."
 msgstr[1] "%s: S�bor je krat�� o : %s bajtov; Dopl�ujem nulami."
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: s�bor je na inom s�borovom syst�me; nearchivovan�"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Nezn�my typ s�boru; s�bor ignorovan�"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, fuzzy, c-format
 msgid "Missing links to %s."
 msgstr " odkaz na %s\n"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: s�bor nie je zmenen�; neaktualizovan�"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: s�bor je archiv; nearchivovan�"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: s�bor bol po�as ��tania zmenen�"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket ignorovan�"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: dvere ignorovan�"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Preskakujem na �al�iu hlavi�ku"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Z arch�vu je mazan� to, �o nie je hlavi�ka"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr ""
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, fuzzy, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: �asov� n�lepka %s je %lu z d�tumu bud�cnosti"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Neo�ak�van� nekonzistencia, pri vytv�ren� adres�ra"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
@@ -1005,7 +1005,7 @@ msgstr "Sk
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Ned� sa rozbali� -- s�bor je pokra�ovan�m in�ho zv�zku"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Neo�ak�van� koniec v rozsekanom mene"
@@ -1035,22 +1035,22 @@ msgstr "%s: Tento s
 msgid "Cannot rename %s to %s"
 msgstr "%s: nie je mo�n� premenova� na %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Adres�r bol premenovan�"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Adres�r je nov�"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, fuzzy, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: s�bor je na inom s�borovom syst�me; nearchivovan�"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Adres�r bol premenovan�"
@@ -1176,35 +1176,35 @@ msgstr "%s: Ma
 msgid "%s: Cannot remove"
 msgstr "%s: Ned� sa zmaza�"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Vynech�vam"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok NUL **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec s�boru **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Medzery v hlavi�ke na mieste, kde je o�ak�van� ��seln� hodnota typu %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1212,340 +1212,340 @@ msgstr ""
 "complement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Osmi�kov� hodnota %.*s typu %s je mimo rozsah"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arch�v obsahuje zastaral� base-64 hlavi�ky"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Hodnota base-64 typu %s je mimo %s rozsah"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Hodnota base-256 typu %s je mimo rozsah"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arch�v obsahuje %.*s tam, kde je o�akav�n� ��saln� hodnota typu %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Hodnota %s typu %s je mimo rozsah %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " odkaz na %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nezn�my typ s�boru %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Hlavi�ka zv�zku--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Pokra�ovan� od %s bajtu--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Vytv�ram adres�r:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Premenov�vam %s na %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: nie je mo�n� premenova� na %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Premenov�v�m %s sp� na %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: S�bor zmazan� sk�r ako mohl by� ��tan�"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "potomok"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "meziprocesov� kan�l"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr ""
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr ""
 
-#: src/names.c:74
+#: src/names.c:73
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Pracovn� adres�r nie je mo�n� zmeni�"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr ""
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr ""
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:147
+#: src/names.c:146
 #, fuzzy
 msgid "wildcards do not match '/'"
 msgstr "Zv�zok %s nezodpoved� vzorke %s"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 #, fuzzy
 msgid "command line"
 msgstr "'%s' pr�kaz zlyhal"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: V arch�ve nen�jden�"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: V arch�ve nen�jden�"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, fuzzy, c-format
 msgid "Archive label mismatch"
 msgstr "Pre vyhodnotenie vzorky `%s' mus� by� arch�v pomenovan�"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, fuzzy, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Prep�na�e `-%s' a `-%s' vy�aduj� �tandardn� vstup"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, fuzzy, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Chybn� skupina"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU roz��renia po�adovan� na nekompatibilnom form�te arch�vu"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1762,7 +1762,7 @@ msgstr ""
 msgid "extract files to standard output"
 msgstr "Chyba pri z�pise na �tandardn� v�stup"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr ""
 
@@ -1798,7 +1798,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr ""
 
@@ -1999,7 +1999,7 @@ msgstr ""
 msgid "Archive format selection:"
 msgstr "Odporuj�ce si arch�vne form�ty"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr ""
 
@@ -2082,118 +2082,118 @@ msgstr ""
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:694
 #, fuzzy
 msgid "don't strip leading '/'s from file names"
 msgstr "Odstra�ujem �vodn� `%.*s' z n�zvov s�borov"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2201,423 +2201,432 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, fuzzy, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s: Ned� sa zmeni� poz�cia v s�bore na %s"
 
-#: src/tar.c:933
+#: src/tar.c:934
 #, fuzzy
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Viac ako jeden prep�na� `-Acdtrux' nem��e by� zadan�ch"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Odporuj�ce si kompresn� prep�na�e"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " nezn�my typ s�boru %s\n"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "D�tumov� s�bor nebol n�jden�"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Zamie�am %s za nezn�my d�tumov� form�t %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 #, fuzzy
 msgid "Invalid owner or group ID"
 msgstr "Neplatn� vlastn�k"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Neplatn� po�et bajtov na z�znam"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Neplatn� d�ka p�sky"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Viac ako jeden po�iato�n� d�tum"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Zad�n� chybn� pr�va"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 #, fuzzy
 msgid "Invalid number"
 msgstr "Neplatn� ��slo i-uzlu"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Chybn� ve�kos� z�znamu"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Ve�kos� z�znamu mus� by� n�sobok %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Neplatn� d�ka p�sky"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr ""
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, fuzzy, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Prep�na� `-[0-7][lmh]' nie je podporovan� t�mto tarom"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr ""
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "argument %s je pre %s neplatn�"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr ""
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, fuzzy, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Prep�na� `%c' vy�aduje argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 #, fuzzy
 msgid "Multiple archive files require '-M' option"
 msgstr "Viac archiva�n�ch s�borov vy�aduje prep�na� `-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, fuzzy, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Meno zv�zku je pr�li� dlh� (limit je %lu bajtov)"
 msgstr[1] "%s: Meno zv�zku je pr�li� dlh� (limit je %lu bajtov)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "V�czv�zkov� arch�v nie je mo�n� otvori�"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Komprimovan� arch�v nie je mo�n� otvori�"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Viaczv�zkov� komprimovan� arch�v nie je mo�n� vytvori�"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimovan� arch�v nie je mo�n� aktualizova�"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vytvorenie pr�zdneho arch�vu odmietnut�."
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 #, fuzzy
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Prep�na�e `-Aru' a `--delete' s� nezl��ite�n� s prep�na�om `-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 #, fuzzy
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Mus�te zada� jeden z prep�na�ov `-Acdtrux'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/update.c:87
+#: src/update.c:86
 #, fuzzy, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: S�bor skr�ten� o bajtov: %s"
 msgstr[1] "%s: S�bor skr�ten� o bajtov: %s"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 #, fuzzy
 msgid "Time stamp is out of allowed range"
 msgstr "�as s�boru mimo rozsah"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Hodnota base-64 typu %s je mimo %s rozsah"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Hodnota %s typu %s je mimo rozsah %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, fuzzy, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: Chybn� skupina"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr ""
 
@@ -2625,7 +2634,7 @@ msgstr ""
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, fuzzy, c-format
 msgid "Write checkpoint %u"
 msgstr "Zapisujem testovac� bod %d"
@@ -2634,231 +2643,231 @@ msgstr "Zapisujem testovac
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, fuzzy, c-format
 msgid "Read checkpoint %u"
 msgstr "��tanie testovacieho bodu %d"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 #, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr "Generujem datov� s�bory pre testovanie GNU taru.\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 #, fuzzy
 msgid "File creation options:"
 msgstr "Odporuj�ce si kompresn� prep�na�e"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 #, fuzzy
 msgid "Write to file NAME, instead of standard output"
 msgstr "Chyba pri z�pise na �tandardn� v�stup"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:168
-msgid "OPTION"
+#: tests/genfile.c:163
+msgid "N"
 msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, fuzzy, c-format
 msgid "Invalid size: %s"
 msgstr "Neplatn� �as s�boru"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, fuzzy, c-format
 msgid "Number out of allowed range: %s"
 msgstr "��slo i-uzlu mimo rozsah"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Nezn�ma syst�mov� chyba"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 #, fuzzy
 msgid "cannot seek"
 msgstr "Ned� sa zatvori�"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " nezn�my typ s�boru %s\n"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Ned� sa zmeni� poz�cia v s�bore na %s"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, fuzzy, c-format
 msgid "cannot truncate `%s'"
 msgstr "%s: nie je mo�n� premenova� na %s"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, fuzzy, c-format
 msgid "command failed: %s"
 msgstr "'%s' pr�kaz zlyhal"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, c-format
 msgid "cannot stat `%s'"
 msgstr ""
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "Pracovn� adres�r nie je mo�n� uchova�"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, fuzzy, c-format
 msgid "cannot unlink `%s'"
 msgstr "%s: Odkaz na `%s' nie je mo�n� vytvori�"
diff --git a/po/sl.gmo b/po/sl.gmo
index 91a8e834434889df865baf39e1ae5937114ff72c..34d8c3b0f48dce462de1e9bc5f80cc593ebc528d 100644
GIT binary patch
delta 12063
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

delta 12289
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
YAtATuEt$y2<{9PW8RWQm-==ai02mCzKL7v#

diff --git a/po/sl.po b/po/sl.po
index 2c1aa641..5508e2d8 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -4,12 +4,12 @@
 # Primož Peterlin <primozz.peterlin@gmail.com>, 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2011, 2013, 2014.
 #
 # $Id: tar-1.28.sl.po,v 1.2 2014/11/16 20:25:23 peterlin Exp $
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.28\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2014-11-16 21:24+0100\n"
 "Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -98,7 +98,7 @@ msgid "give a short usage message"
 msgstr "poda kratka navodila za uporabo"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "IME"
 
@@ -233,12 +233,12 @@ msgstr "^[dDjJ]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Priprava paketa: %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Priprava paketa: %s\n"
@@ -246,11 +246,11 @@ msgstr "Priprava paketa: %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 #, fuzzy
 msgid ""
 "\n"
@@ -535,147 +535,147 @@ msgstr "Ni mogoče preusmerjati datotek za nelokalno ukazno lupino"
 msgid "Cannot execute remote shell"
 msgstr "Ni mogoče pognati nelokalne ukazne lupine"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Smer iskanja izven obsega"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Neveljavna smer iskanja"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Neveljaven odmik pri seek"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Odmik pri seek izven obsega"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Neveljaven števec bajtov"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Prekoračitev števca bajtov"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Predčasen znak za konec datoteke"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Neveljavna koda operacije"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operacija ni podprta"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Nepričakovani argumenti"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Nadzor tračne enote, ki bere ukaze iz drugega procesa"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "N"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "nastavi raven iskanja napak"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "DATOTEKA"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "določi datoteko za izpis iskanja napak"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "ni mogoče odpreti %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "preveč argumentov"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Neveljaven ukaz"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "To ne deluje kot arhiv ,tar'"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Skupno prebranih bajtov"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Skupno zapisanih bajtov"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Skupno izbrisanih bajtov"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(cev)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Zavrnjena zahteva za branje arhivske vsebine s terminala (manjkajoči f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Zavrnjena zahteva za pisanje arhivske vsebine na terminal (manjkajoči -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Neveljavna vrednost za dolžino zapisa (record_size)"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Ime arhiva ni podano"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Arhivov na stdin/stdout ni mogoče preveriti"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiv je stisnjen. Uporabite izbiro %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče ažurirati"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Na začetku traku, končujem"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Preveč napak, končujem"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -684,7 +684,7 @@ msgstr[1] "Dolžina zapisa = %lu blok"
 msgstr[2] "Dolžina zapisa = %lu bloka"
 msgstr[3] "Dolžina zapisa = %lu bloki"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -693,37 +693,37 @@ msgstr[1] "Neporavnan blok (%lu bajt) v arhivu"
 msgstr[2] "Neporavnan blok (%lu bajta) v arhivu"
 msgstr[3] "Neporavnan blok (%lu bajti) v arhivu"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Nazaj po arhivu ne gre, morda ni berljiv brez izbire -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek se ni ustavil na meji zapisa"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: vsebuje neveljavno številko dela"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Prekoračitev številke dela"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Pripravite del #%d za %s in pritisnite Return: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Znak EOF na mestu, kjer se pričakuje odgovor uporabnika"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "POZOR: Arhiv nepopoln"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -734,65 +734,65 @@ msgstr ""
 " q             Končamo tar\n"
 " y, newline    Nadaljujemo z delovanjem\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Poženemo ukazno podlupino\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Ta seznam uzazov\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Novega dela ni, konec.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Ime datoteke ni določeno. Poskusite znova.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Neveljaven vnos. Vtipkajte ? za pomoč.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "ukaz %s neuspešen"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s se ne nadaljuje v tem delu"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s se morda nadaljuje v tem delu: zaglavje vsebuje porezano ime"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je napačne velikosti (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ta del ne sodi v zaporedje (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiv ni označen skladno z %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Del %s ne ustreza %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -800,11 +800,11 @@ msgstr ""
 "%s: ime datoteke je predolgo za zapis v zaglavje GNU večdelnega arhiva; "
 "porezano"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "pisanje se ni končalo s koncem bloka"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
@@ -813,75 +813,75 @@ msgstr[1] "Prebrati je bilo moč samo %lu od %lu bajta"
 msgstr[2] "Prebrati je bilo moč samo %lu od %lu bajtov"
 msgstr[3] "Prebrati je bilo moč samo %lu od %lu bajtov"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Vsebina se razlikuje"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Nepričakovan znak za konec datoteke v arhivu"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Zvrst datoteke se razlikuje"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Način se razlikuje"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Številka uporabnika (UID) se razlikuje"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Številka skupine (GID) se razlikuje"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Čas zadnje spremembe se razlikuje"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Velikost se razlikuje"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Ni povezana z %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Simbolna povezava se razlikuje"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Številka enote se razlikuje"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Preverjanje "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Neznana vrsta datoteke »%c«, diff kot na navadni datoteki"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arhiv vsebuje imena datotek z odstranjenimi vodilnimi predponami."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arhiv vsebuje transformirana imena datotek."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Verifikacija morda ne bo uspela locirati izvornih datotek."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -890,46 +890,46 @@ msgstr[1] "NAPAKA PRI PREVERJANJU: najdena %d neveljavna glava"
 msgstr[2] "NAPAKA PRI PREVERJANJU: najdeni %d neveljavni glavi"
 msgstr[3] "NAPAKA PRI PREVERJANJU: najdene %d neveljavne glave"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Osamljeni ničelni blok pri %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: vsebuje značko medpomnilniškega imenika %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "vrednost %s od %s obseg %s..%s; zamenjano %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "vrednost %s od %s obseg %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Ustvarjanje negativnih osmiških glav"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: ime datoteke je predolgo (največ %d); brez iznosa"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: ime datoteke je predolgo (ni mogoče deliti); brez iznosa"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: ime povezave je predolgo; brez iznosa"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -938,79 +938,79 @@ msgstr[1] "%s: Datoteka skrčena za %s bajt; dopolnjeno z ničlami"
 msgstr[2] "%s: Datoteka skrčena za %s bajta; dopolnjeno z ničlami"
 msgstr[3] "%s: Datoteka skrčena za %s bajte; dopolnjeno z ničlami"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: datoteka je na drugem datotečnem sistemu; brez iznosa"
 
 # POZOR Imamo za to kak izraz?
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "vsebina ni iznešena"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Neznan tip datoteke; datoteka ignorirana"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Manjkajo povezave na %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: datoteka je nespremenjena; brez iznosa"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: datoteka je arhiv; brez iznosa"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "imenik ni iznešen"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: Datoteka je bila spremenjena med branjem"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: vtičnica ignorirana"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: vrata ignorirana"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Preskok na naslednjo glavo"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Brisanje ne-glave iz arhiva"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: neverjetno stara časovna oznaka %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: oznaka časa %s je %s s v prihodnosti"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Nepričakovana neskladnost pri ustvarjanju imenika"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: obstoječa datoteka se preskoči"
@@ -1036,7 +1036,7 @@ msgstr "Simbolne povezave poskusimo dearhivirati kot trde"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Dearhivacija ni mogoča - datoteka se nadaljuje iz prejšnjega dela"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Nepričakovano zaglavje z dolgim imenom"
 
@@ -1065,22 +1065,22 @@ msgstr "%s: Varnostne kopije te datoteke ni moč napraviti"
 msgid "Cannot rename %s to %s"
 msgstr "Preimenovanje %s v %s ni mogoče"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Imenik je bil preimenovan z %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Imenik je nov"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: imenik je na drugem datotečnem sistemu; brez iznosa"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Imenik je bil preimenovan"
@@ -1210,219 +1210,219 @@ msgstr "%s: Brisanje %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Odstranitev ni mogoča"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Izpuščeno"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** Blok znakov NUL **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec datoteke **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr ""
 "Na mestu v glavi, kjer se pričakuje številčno vrednost %s, so presledki"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
 "Osmiška vrednost arhiva %.*s izven obsega %s; privzema se dvojiški komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Osmiška vrednost arhiva %.*s izven obsega %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiv vsebuje zastarele glave oblike base-64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Podpis %s oblike base-64 v arhivu je izven obsega %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Vrednost base-256 v arhivu izven obsega %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arhiv vsebuje %.*s na mestu, kjer se pričakuje številčno vrednost %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Vrednost arhiva %s je izven obsega %s: %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " povezava na %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " neznan tip datoteke %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Dolga povezava--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Dolgo ime--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Glava dela--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Nadaljevanje pri bajtu %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Ustvarja se imenik:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Preimenovanje %s v %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Preimenovanje v %s ni mogoče"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Preimenovanje %s nazaj v %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Datoteka je bila odstranjena, preden jo je bilo mogoče prebrati"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "proces naslednik"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "medprocesni kanal"
 
-#: src/names.c:69
+#: src/names.c:68
 #, fuzzy
 msgid "Local file name selection:"
 msgstr "Izbira lokalne datoteke:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "dodaj navedeno DATOTEKO v arhiv (za imena datotek, ki se začnejo z »-«)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "IMENIK"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "pomik v navedeni IMENIK"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "preberi seznam datotek z navedene DATOTEKE"
 
-#: src/names.c:78
+#: src/names.c:77
 #, fuzzy
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T prebere z \\000 terminirana imena; onemogoči -C"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "prekliči učinek prejšnje izbire --null"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "odstrani narekovaje iz imen elementov (privzeto)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "ne odstrani narekovajev iz imen elementov"
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "VZOREC"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "brez datotek, ki jih opisuje VZOREC"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "brez datotek, ustrezajočim vzorcem, prebranih z DATOTEKE"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 "brez vsebine imenikov, ki vsebujejo značko CACHEDIR.TAG, razen značke same"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 "brez imenikov, ki vsebujejo značko CACHEDIR.TAG, in vseh njihovih podimenikov"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "brez imenikov, ki vsebujejo značko CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "brez vsebine imenikov, ki vsebujejo DATOTEKO, razen DATOTEKE same"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "preberi izključitvene vzorce za vsak imenik iz DATOTEKE, če ta obstaja"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1430,119 +1430,119 @@ msgstr ""
 "preberi izključitvene vzorce za vsak imenik in njegove podimenike iz "
 "DATOTEKE, če ta obstaja"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "brez imenikov, ki vsebujejo DATOTEKO, in vseh njihovih podimenikov"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "brez imenikov, ki vsebujejo DATOTEKO"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "brez imenikov sistema za nadzor različic"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "preberi izključitvene vzorce iz izključitvenih datotek VCS"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "brez varnostnih kopij in zaklepnih datotek"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "rekurzivno vključi vse podimenike"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "podimenikov se ne vključuje samodejno"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Izbire ujemanja imen datotek (vpliva tako na vključitvene kot na "
 "izključitvene vzorce):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "vzorci se ujemajo z začetkom imena datoteke"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "vzorci se ujemajo od kateregakoli znaka »/« dalje (privzeto pri izključitvi)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "brez razlike med malimi in velikimi črkami"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "pri ujemanje se razlikuje med malimi in velikimi črkami (privzeto)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "uporabi nadomestne znake (privzeto za izključitvi)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "dobesedno ujemanje nizov"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "nadomestni znaki se ujemajo z »/« (privzeto pri izključitvi)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "nadomestni znaki se ne ujemajo z »/«"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "ukazna vrstica"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: seznam datotek, ki ga zahteva %s, je že prebran iz %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "ni mogoče razcepiti niza »%s«: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: prebrano ime datoteke vsebuje znak \\0"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Z vzorcem ujemajoči se znaki, uporabljeni v imenih datotek"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1550,46 +1550,46 @@ msgstr ""
 "Uporabite --wildcards, da bi omogočili ujemanje vzorcev, ali --no-wildcards, "
 "da izklopite to opozorilo"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ni najdeno v arhivu"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Zahtevane pojavitve ni moč najti v arhivu"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Neskladje v oznaki arhiva"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Izbira -C znotraj seznama datotek pri --listed-incremential ni dovoljena"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Samo ena izbira -C je dovoljena pri --listed-incremential"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Izbiri »%s« in »%s« obe zahtevata standardni vhod"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Neveljavna oblika arhiva"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Razširitve GNU izbrane na nezdružljivem formatu arhiva"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1815,7 +1815,7 @@ msgstr "Izbira izhodnega toka:"
 msgid "extract files to standard output"
 msgstr "datoteke restavriraj na standardni izhod"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "UKAZ"
 
@@ -1851,7 +1851,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ČAS"
 
@@ -2064,7 +2064,7 @@ msgstr "razdeli na bloke ob branju (cevovodi 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Izbira oblike arhiva:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "OBLIKA"
 
@@ -2148,60 +2148,60 @@ msgstr "PROGRAM"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtriraj skozi PROGRAM (sprejemati mora izbiro -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Izbira lokalne datoteke:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "pri arhiviranju izpusti datoteke na nelokalnih datotečnih sistemih"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "ne odstrani vodilnih »/« iz imen datotek"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "sledi simbolnim povezavam; arhiviraj/iznesi ciljne datoteke"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "sledi trdim povezavam; arhiviraj/iznesi ciljne datoteke"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "IME"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "začni z navedenim IMENOM ob branju arhiva"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "shrani le datoteke, novejše od DATUM-ČAS"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "primerjaj datum in uro le, kadar se podatki spremenijo"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "TIP"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 "varnostna kopija pred brisanjem, z možnostjo izbire TIPA varnostne kopije"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "NIZ"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2209,59 +2209,59 @@ msgstr ""
 "varnostna kopija pred brisanjem; prekličemo običajno PRIPONO (»~«, razen če "
 "lupinska spremenljivka SIMPLE_BACKUP_SUFFIX določa drugače)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Pretvorbe imen datotek:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "pri restavriranju poreži ŠTEVILO vodilnih komponent iz imen datotek"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "IZRAZ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "uporabi nadomestitveni IZRAZ programa sed za pretvorbo imen datotek"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informativni izpisi:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "z izčrpnim izpisom obdelanih datotek"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "KLJUČ"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "nadzor opozorila"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "izpiši poročilo o napredku pri vsakem N-tem zapisu (privzeto 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "DEJANJE"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "na vsaki kontrolni točki izvedi DEJANJE"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "izpiši sporočilo, če niso zapisane vse povezave"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2273,35 +2273,35 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 in SIGUSR2, prepoznana so tudi imena "
 "signalov brez predpone SIG-"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "izpiši čase sprememb datotek v UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "izpiši čas datoteke v polni ločljivosti"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "zapiši izčrpno poročilo v DATOTEKO"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "z izpisom zaporednega bloka v arhivu ob vsakem sporočilu"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "vprašaj za potrditev pri vsakem koraku"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "prikaži privzete nastavitve"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "prikaži veljavne razpone za polja snapshot-file"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2309,31 +2309,31 @@ msgstr ""
 "pri izpisu seznama ali restavriranju izpiši vsak imenik, ki ne ustreza "
 "iskalnim pogojem"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "prikaži imena datotek ali arhivov po pretvorbi"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "SLOG"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "nastavi slog navajanja imen; glej spodaj za veljavne SLOGE"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "dodatno navedi znake iz NIZA"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "onemogoči navajanje znakov iz NIZA"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Združljivostne izbire:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2341,61 +2341,61 @@ msgstr ""
 "ob ustvarjanju arhiva isto kot --old-archive; ob restavriranju isto kot --no-"
 "same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Druge izbire:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "onemogoči rabo nekaterih potencialno škodljivih izbir"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "»%s« ni mogoče uporabiti obenem z »%s«"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "Podate lahko največ eno od izbir »-Acdtrux« ali »--test-label«"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Nasprotujoče si izbire glede stiskanja arhiva"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Neznano ime signala: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Datoteke z vzorcem datuma ni najti"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Nadomešča se %s za neznan format datuma %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Izbira %s: Datum »%s« se obravnava kot %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtriraj arhiv skozi %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Veljavni argumenti pri izbiri --quoting-style so:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2403,120 +2403,120 @@ msgstr ""
 "\n"
 "Privzete vrednosti *tega* programa tar:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Neveljaven ID lastnika ali skupine"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Neveljaven faktor blokiranja"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Neveljavna dolžina traku"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Okvarjena vrednost inkrementalne ravni"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Več kot en pražni podatek"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Neveljavna vrednost razpršene različice"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "izbira --atime-preserve='system' na tem sistemu ni podprta"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "vrednost --checkpoint ni celo število"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Podana zaščita ni veljavna"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Neveljavno število"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Neveljavna dolžina zapisa"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Dolžina zapisa mora biti večkratnik %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Neveljavno število elementov"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Dovoljena je le ena izbira --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Okvarjen argument gostote: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Neznana gostota: »%c«"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "*Ta* izvedba tar ne podpira izbir »-[0-7][lmh]«"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, fuzzy, c-format
 msgid "error parsing %s"
 msgstr "Napaka pri razčlembi števila pri »%s«"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[DATOTEKA]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, fuzzy, c-format
 msgid "non-option arguments in %s"
 msgstr "neveljaven argument %s za %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, fuzzy, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "ni mogoče razcepiti niza »%s«: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Stara izbira »%c« zahteva argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence nima pomena brez seznama datotek"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Več arhivskih datotek zahteva izbiro »-M«"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Izbira --level je brez pomena brez izbire --listed-incremential"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2525,43 +2525,43 @@ msgstr[1] "%s: Oznaka dela je predolga (omejitev je %lu bajt)"
 msgstr[2] "%s: Oznaka dela je predolga (omejitev je %lu bajta)"
 msgstr[3] "%s: Oznaka dela je predolga (omejitev je %lu bajti)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Arhivov v več delih ni mogoče preveriti"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče preveriti"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Stisnjeni arhivi v več delih niso mogoči"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče združevati"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "izbira --pax-option je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "izbira --acls je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "izbira --selinux je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "izbira --xattrs je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2569,29 +2569,29 @@ msgstr ""
 "Vrhnjega imenika ni mogoče ugotoviti; prosimo nastavite ga izrecno z --one-"
 "top-level=IMENIK"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Dolžina dela ne more biti manjša od velikosti zapisa"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Zahteva po odprtju praznega arhiva bojazljivo zavrnjena"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Izbire »-Aru« so nezdružljive z »-f -«"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "Ena od izbir »-Acdtrux«, »--delete« ali »--test-label« je obvezna"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Zaradi predhodnih napak zaključujemo s statusom napake"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
@@ -2600,99 +2600,108 @@ msgstr[1] "%s: Datoteka skrčena za %s bajt"
 msgstr[2] "%s: Datoteka skrčena za %s bajta"
 msgstr[3] "%s: Datoteka skrčena za %s bajte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Ključ %s je bodisi neznan, bodisi še ni izveden"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Oznaka časa izven obsega"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Vzorca %s ni mogoče uporabiti"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ključa %s ni mogoče preklicati"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Poškodovana razširjena glava: manjka dolžina"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Dolžina razširjene glave %*s je izven dovoljenega obsega"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Poškodovana razširjena glava: za dolžino manjka presledek"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Poškodovana razširjena glava: manjka enačaj"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Poškodovana razširjena glava: manjka znak za novo vrstico"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ne upošteva se neznanega ključa razširjene glave »%s«"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Ustvarjeni par ključ/vrednost je predolg (ključ=%s, dolžina=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Par %s=%s v razširjeni glavi je izven obsega %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Poškodovana razširjena glava: neveljavni %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Poškodovana razširjena glava: odvečni %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Poškodovana razširjena glava: neveljavni %s: nepričakovani razmejilnik %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Poškodovana razširjena glava: neveljavni %s: liho število vrednosti"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: neveljaven čas preteka"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: neznano dejanje za kontrolno točko"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "zapiši"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "preberi"
 
@@ -2701,7 +2710,7 @@ msgstr "preberi"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Oznaka pisanja %u"
@@ -2711,12 +2720,12 @@ msgstr "Oznaka pisanja %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Oznaka branja %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2724,94 +2733,98 @@ msgstr ""
 "genfile pripravi datoteke za testno zbirko GNU paxutils.\n"
 "IZBIRE so:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Izbire ustvarjenja datotek:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "VELIKOST"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Ustvari arhiv z navedeno VELIKOSTJO"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Zapiši na podano DATOTEKO namesto na standardni izhod"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Preberi imena datotek iz podane DATOTEKE"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T prebere z \\000 terminirana imena"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Zapiše v datoteko dani VZOREC. VZOREC je lahko 'default' ali 'zeros'"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Velikost bloka za razpršeno datoteko"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Ustvari razpršeno datoteko. Preostanek ukazne vrstice podaja preslikavo "
 "datoteke."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "ODMIK"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "pomakni se na dani odmik pred pisanjem podatkov"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Izbire statistike datotek:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Izpiši vsebino strukture stat za vsako od datotek. Privzeti FORMAT je: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Izbire za sinhrono izvajanje:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "IZBIRA"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Izvedi ARGUMENTE. Uporabno z izbiro --checkpoint in eno od naslednjih izbir: "
 "--cut, --append, --touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Ob dosegu kontrolne točke N izvedi dano dejanje (glejte spodaj)"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Nastavi datum za naslednjo izbiro --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Izpiši izvedene kontrolne točke in izhodni status UKAZA"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2819,7 +2832,7 @@ msgstr ""
 "Dejanja sinhronega izvajanja. Izvedejo se, ko je dosežena ena od kontrolnih "
 "točk, podana z izbiro --checkpoint."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2827,126 +2840,126 @@ msgstr ""
 "Skrajšaj DATOTEKO na dolžino, določeno s prejšnjo izbiro --length (ali 0, če "
 "ta ni podana)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Dodaj VELIKOST bajtov DATOTEKI. VELIKOST je podana s prejšnjo izbiro --"
 "length."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Posodobi čas dostopa in spremembe za DATOTEKO"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Izvedi UKAZ"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Neveljavna velikost: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Številka izven dovoljenega obsega: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativna velikost: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "klic stat(%s) ni uspel"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "zahtevana dolžina datoteke %lu, dejanska %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "ustvarjena datoteka ni razpršena"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Napaka pri razčlembi števila pri »%s«"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Neznana format datuma"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENT...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "ni mogoče odpreti »%s«"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "klic seek() ni mogoč"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "datoteka vsebuje znak NUL"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "razpršenih datotek ni mogoče ustvariti na standardnem izhodu, uporabite "
 "izbiro --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "nepravilna maska (pri »%s«)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Neznano polje »%s«"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ni mogoče nastaviti časa za »%s«"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "ni mogoče okrajšati »%s«"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "ukaz neuspešen: %s"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "ni mogoče okrajšati »%s«"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "Ni mogoče odpreti imenika %s"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "ni mogoče odstraniti »%s«"
@@ -2987,6 +3000,9 @@ msgstr "Ukaz je bil prekinjen\n"
 msgid "--stat requires file names"
 msgstr "--stat zahteva imena datotek"
 
+#~ msgid "OPTION"
+#~ msgstr "IZBIRA"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: vrednost parametra ARGP_HELP_FMT mora biti pozitivna"
 
diff --git a/po/sr.gmo b/po/sr.gmo
index 6380c513765c231334154b054c627056e969ee30..1fa3994c4caa8c875d4ca7fb236a02f6d7f93465 100644
GIT binary patch
delta 12232
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
Bt7rfK

delta 12498
zcmZpC%d+x4OZ`0|mZ^*k3=DQm3=9Sg3=9fF3=E9S3=9G)3=AM~5d#P<W5B?m08+rf
zz~E!Rz#z%Mz~F1Zz#ziFz>sdhz`(}9z)%BH!@$7MY{0-E&%nU2#DIZ;hk=3N2$a5P
zz`)SXz`$_NfPq1bfq@~-kfEMIkAZ=q){ucgm4Sg_jUfYrAOi!#B|`=VVFm_<Cx#3R
zN(>APKMWZd+!+`cq>UIDR2Uc-l8qP`co`TNI*b??WEdD2rWr9X=rb@dY&L>e{Md+r
z!J2`Af!UaWL5hKa!QL2RZj><tgE#{NLyj>6gD3+7LyK`e1A_nq1H&w11_n6>28Pwf
z3=C=v3=F4?AwK(P%)ns9z`(#}0&$3=2?K)}0|P^f2?IkM0|Ucs6Nm-BOc)p>7#J8t
zO&J(885kJ!Od&pxFlAs!VPIfLHDzGX0hwzGalm&|1_mPr1_u6mGX@4j1_lNvGX@3|
z1_p)_GX@4_1_p+eW(*8T3=9ls%^*Q#U=DGhyEy|x87Sz?8NeZP*PMaDj)8%J!GeK-
zALLUD1_lKN1_pl%1_mJp28IF)h(*m73=A3!3=G>WAP&550nuO2Y01D~%)r2)V+rwD
zf+ZwGrdvWRTww`u;BiZc!+u&aFeoxGFvwa#9BgmJz+et?xD^99D%V&+EVymOz~IHe
zz`$w^Q6FH<z#z@Qz))ljiRwOUa7ffMY_W#8?2I)eD8E`mTrOb4z@W~+z@Tiyz#z-O
zz~Bv~Gi@LVvK`9rv|(UiW?*1gZUgbrY8!~d&e=c`C9^Fgv2ximFz_)jFsMLjV_T3t
z^$ZM7wh$MG+Cmady)7h>?Y4yk-2+=l2npLk5}7-cF1Lfk>2f=W!>`yeFlaL{Fub>e
zgq*ZJ1A{FC1A~=41A`3%14D&9*vAZ8?I8|3YtO*IUeCb5aK#>C!5w=B23H0K1_1|%
zgTfpb7)%)$7#bWPiEx_(#KMmbkPwq|g!s(e5#r!PM@U*}bA;rAxsDJA?R8{eaARO#
zc<BhS$H0k!K?{_KofsJELD{R{31ZPECy2{lI6;E^y%QwPc%30-gQhdY2T{%p4D6t|
zgwj<|y2%-m7`vPyx#*-b#9<$tAr_0eFfc?iFfe$!K+Ik2!cY&+Zu?yzE`R0%Ni2U|
zATF18h48&yA&D>76%xl2T_M?Xiz_7mpLB%;`7>9D!&%)R<%hBxBsZA5LClYEgXqh5
zgM?6vTRkM(EOBFCaA06y*y08W;;(KHgOuDM206GxG=#V_FtC79yE`O*SGq$IUz<B5
z4RpCfEL`di$wkN9AqCBKsQ$O^5RdSBKpbpX?*S1A@PK9`4~UP~crY+<F)%Qk^MLsH
zrU%49f1rFRPly4wo(v2j3=9l0o)C|0^n@hZgPstNeDQ?DwW1e<@8bpWK&2NXs_W~#
zAU<pLf&|f0FGyn9;{}O3W^ahkG`t}toU=EiD2?%kB-T7{28KjN28J!(5R1ipArAHQ
zh4?((7viv5Ur1E-`Z6#$F)%Q!@&$)@J;PgH25^C*=f}Xn&A`AA;0GxnV*DT)n*10T
zbQu^J=KDdS;;bJe5kB+-<zEJdpMDUFc>EzAQSyhxv6DX}D#HCC=2ZAYa?4bINV&4!
zA5<RHGca8DhxqWBKO_Vg10V_|0w5L|1wh2zp#0bXNZb|%Kn!kziq8*#IB0VKBm|BH
zKyt~G0Eolh1VEyIClF$vWgr8CC@BAj1VU=FtUyTIR0KjoqBal`N1cHXA592^#QD-d
zNSq!CgoNCCC@mNSi85m-9T5a6uxf)KMf=(yh|iw{K?*vaU<QVIQ03tf3@K3BgCXU>
zhG0mLKMRHwL?R&&3++M}7>XGf7&1c`7#tZG819BZ93~$M2{DsUNXYnwLUKoZC?te(
zLLvG)Lm?jA5(@Fy&QOMWaFKZ+6q2akghJx-UnnH8iG)E6)D43Kp<Nh6V;q!D4P#(n
z1=Z(akTg>i1_^-~VUXOkHw@yyuVIih!xaw6ZA#&g%E~Rg9#YVhhC^z(h2fw?!N71i
z91@q0!Xa_^H5`(d{)R)MKrRB}6Wa(#>UN5NSQHci35oOwhy{%i;8f1AAp#P`A0r?k
z@jn8R%e3kvAr=)zLNvBSLW<gXkq{r9k7QtQVPIhR8p*)m4600`Ac?3h3KEyAqaZ%J
z90f7wbrdAA{)>VnUeRcXLp7rzA*ToBn?m{ZR?(0kbc}|S$?nmRpihp5SX2`YiISDk
zkPz4(4T;+a(U2&48x3&)Zw$m|sxgod4Tyo%0X0y1aSSA+PQ@@V6f!U{+=>B*WIcmV
zEX0M`P`V(NfgzfafuS@O5&{?FAVK*(4pI`T#X~~MGall@<akILDTneq;u#pC7#JAl
z#6wd3_jpKd(o0}q@BxKj0z`j%0>}gP3=9hsAaQpv0TKe&5+DYDN`UyBEfEs5GKmZf
z9t;c&`iT%9S0qC8O-O`9+0sNv5MN7VU<d={jzk6qPX-1ClOzbgE(xOkY7(S2e3it&
zpbyIba><ZH=9dg{Kv*&)`xPZa;&MSUIH(x5Cqo=|Eg2Fbub}dhDUkeZkODC{Ck2x4
z7o<R<;z9}}t^7%Wq<)oDkk1(yJW?4L>OpO?j8sV6w4^dH1Tio$Oi6_V)$>#a22PL<
z(jc^58YHcFKxw};NK-5%4N@0`r9sMzIcX3JkEKEK|GP9uRC1?7JYty6z>okc>eCtO
z!Oh~0>5w43mk#maw{(aGt_+Az4Kg4h5)Y+&Ga!j*cLt=br<)0>Et4`K7UX6^EbhsK
z6lg0mA(hVkOi1=t%7UaB!>oEp;&94>IKVFpqA?9hH)lcOY(W+z4Q$PV6uBp|AP#y3
z)hCe+DG?2_A^E&08=}4;8<JZlXG3z+f^3Kf&t^l+eOM1=e9MN!A$JZWmAmIKFk~?>
zFl6OGisq|1kV@lU4g*6f0|SF(E+lU2b0G$;&V|JJfm}$c|BwsGj_P@k#2J(ak#Ej}
zG)6b)L7HmyAMzkB)6a**T}(biqAeei-;d@);`SMo)+vAlWl;gdVOt9zCFi{Yhy?<L
zkf3!agw%q8g$xYg3=9nUg^(`X@j{5h`HR4bv7W)Y2;!pnB1l}$DS`y?#Ue;5{agg`
ziEuH5Z&wVFk1K}ww4oSc(e`49gRd4t9Qdsm5=E9J5cTOL5Otj;kUC;{2`FUh85qu#
zK!W~n2?K*A0|SF)DMVv&DcFS!3!(JUQb>M&SqkyFaTz2^V#*+KT3!Yb?}pM_${-HD
zTL!W4Zy6-5DV0MUqF2tqpbg6ZKIIUDD#{^oIT^}dQ4aC>;c|#U@5&(#;H!WHaYO|~
zUuFfQ_H3zuMCG&!1_o~i28P2G5C`#BLTHOhNL`Xx2?^<Cl?)8^pkD9oN=SbFRms4x
zo`HcusR|Mjm#QFXf~Oi1XJ*w9pCna7%J%kZNC~;Fnt|adsGncWz#ziNz_6+YQl#&%
zg~a`lT1YJ@QwK>Sv2~E_-CM^{5AMZou7kMzS{)?lnd>164C^5dfK}6t^^g*AZ9OE&
zk3h5Uje1DQ`2^aWXJ~+gj6eg#;o1%04l+Y{10;keG(dV(OB?DTt=0z(5SIxzLW0t{
z5fb#FjSS$Cjs_@y7L-2P2q`f?G(z+-G(k#6gC<BFVAcfb``I=@^j9}QLTqXiq+Hn3
z1S#0g*EcaR#4<22{A+?(7}E?1iS}lQ&$mG7d(Dt?fujY|ve9mVL`8B7Bz1SRKs>Ul
z1rl<1q4LbFkhG)G3QFw^3?8kJ>b<fRQc~7WYK8b@V=DuL9|Hr!!Bz%_U{EKt4HASY
zZIB?WZ-e-7bsNNjjct(Be7%i<!GVc^;c*)zh*dfv9*OOQ6v-W(5Q`^wLL7di6A}V{
zI>8R9XW;K*V7SP@z@X6uNp!!uAeE0vHzWufyCG>}e>cRSx80EJD%Zon(8|ET5Y+?G
z_n-$-`$_de3NXK3NIRgnmw_RWfq~&gF9Sm^sQ&MR<f0XQAdl2DFnsER7$DIPDanHR
zAwF;EhxllIKLdj=0|Ud2en>V_o4~*@5j4ay0n(d&IDvs-Hv<EM^+W~+Aw~v<?-L;o
z<(dqMLhH$p+Aei6B=H`b%)lVa$iQ%SG6RDrDF6SS0x{TiDg#3S0|P_eR0f7}1_p-v
zP&#}XWU%S{GzJD9Mg|7G>5!t-dIqFuZl1xw5Xs2EaB>Eup`kpBfnh!a14Gp;NG_3@
z4T%!H*$@Xr&W1#B!E6SGdeF$kk=c-XpK%VPx(u1az!1v7z|b`Z;-Cj}APx+i3$d_j
zE~IigFc%U<+Vda|%ACi*kj=oruyGy(Lq2GXXg)Lw=0nPX7xNhyrZO-vI4pqJcWnVf
zJ$M*Qb0H+oVirOY$?Sy?gD)?H<Ws>#kP^#h5u~@<xCoL4t}TM3ZlT4HZn)86NI_$^
zn1O+bfq|iXF{GJYwU~h+29&rLL+XFIC6HXEyQChR3K^o7K<MHnkZjho1d=V+FM;@g
zcPXTj%2)~snWal1KK{Lwfx(}Ffx&qh14A+c1H<HHkhuQ743efImNPKKGcYhrS`N|w
zX*mN!9;gkuf`Or$fq`LO{R&9Fm0AhOF1{-v4Tgx75RIuT85pK9Ffbfl$-oc*>gTV5
z7_fE~149V|1B1+JNaCCbrSGo>rD_HS-8B&P!D}D|)RHxjsJpTTl4zyYLZYI+WGw?j
zIs*d(*E)z#iq=7*;Lth-hC~JihF|L-K^C(flD)FmLxO((dWb`AuZN^|uMH4&)lj-?
z10<i%+`zz42O8Sl00|N8jgY8F-N?XD#lTR{aA+f>(y`qHiSxIcATHG23`rBMn;|`)
zBby;X&#?ufE^Z40xH&#&3nZ$ZZh>Ss=dF-LoVyj078Y-1V6X>`C2xg<jLJ5ML%g<u
zO3-=+hL&xRvU%k;NPfSt4U*b9w=*ytW?*12+72l|zHNtS^w<HBZ`uJVs8;WQMBR@a
zkhH_R6H*7L?Sxdfx;r6>w`eD%$X&h@5+%oWGBB8d^8dG;khsy^1xX~uyCD1xyC6~X
zZ5IPW1Oo#@+-`_P+jm1k<j`(N?qJ&k;XCeu@LTsVFwA3MU^uV`k~`w}LK0>DUPu%_
z*b50sgMADP^`Ly-whz*vxU&yp!P|Y1lJLhqh)cEhLrT1;{g49Y&3;HoI3Iunb?pI2
z+Sq&mqVD+t28IkK28POmkX-TTFeHt*9f3qq`4LD+EIh(c4<401aD)L=Wiz}y!oW}g
zYV{t4G^ZaQg(y@#1{q9tIR>$?{}=;94k%X~g9N$Jafr`Dk3*tn!f{Cc-gz97O`jcy
zRAPE3AR!fX0+NR2ov4Q>ymJB)<eVoVZ8QIq5Etj3gcP0gPC_g=c@mOcSx!OX)ch1g
zJm(a|XUk7PEWCIMVy@(Ah&s2^ki=Sj8d4-5ISnb8Zq%QKl<o3oAPVcwK$>Ek&p_ht
z_8CZ&{5}I|YO$S#@MX?I8mH=KArACD3n{3|&O(aXi)SJ82b$*~C1wwlet3?7A%lT|
z!R$Pwj;Wu29+Ha1FF*uRE`Ty61H+vQ4B&P^%tZ!<Oa=yq4HqE}mAV8ea4IiB3Yg=U
z7#MCaFfd45hD6=R%Mb@;U4eLL>J>;DI&}pSRllI(vRA>4)Ov=Xs}LW}yUM`80h;-^
z3duH`u0lfMJCv5c28j~)Ymj_gaSc*F%)16Dc<x?<l$>v%{GZn#X^7)G*dhk6>yQF%
z+I2`j;m37o{+GM~i8H$!knGWR1ETTT4M>Yf;wGd$kbV;qr%g8@7OlStX_)M}2}xY9
zZbBR)b_>!NRlNnV$nh2=u_fJtgye!-3=EB+68AO(g9a%7_uPiW(bn4x3|%0JJCH;*
z^$w&wxNwJoVG08S1Mgjkx<z*(>b~D)VCZCEU}(Ar$sIiRA&EHrJ|uh2y$^Bl_4|-i
z&+-70J3Jmh99sB*fuSBWKiBX8lK*=jK%?RTG%6lI9I)vDq)YYw0i+-?dI*V{$qykG
z?|uj|nC%fH>hvE$vT4a9h=W%>f<(dpM-X$oA43vp-(!Y)@C?VZ$B?2{<_W~*51v3A
zBJ~tPt3G95SP7b-d<rr6)^kYTPv8Y4F}lBiB(kY5AkFHdFCb~<%L_;dsJ>)iSir!*
z5cHCPA)0}K;qyyKx#It-o`GQ>sLAyTl9+T~L$XoMYe;@R{u&Z@A74X!sQ(5M*AZ_(
ziHCuq<qZQvFDTKzfmm$*7DA`Jh2);8Zz27Omv0#uRx>a#{C*2jzx*8ogE}JvgK7PH
zh()m<AeBt}2T1jJ^8=(=ZuSvkpxZ}C_AC7e@zIr!kjjej6C|xzeS$c=^b;h}UHAlP
z<$nAG@qqPbNXS-xhJ@he&yXU%{^e&#Dwh5Nafs&^NcJlJ0%;M=`~oQtHhqB%xfp$g
zjFc?-3Mr8Ge1-H2E<x!VUm;DgdtVtCY8V(89({$h7vjG`>W<mpAW`?}8`uN&44U5|
z1x3<#28MME3=Gr1Lqfpq2gJpTe?a8#{(v-0gnmMN=JgZOh@A2hQvW~y$-wZ4fq}vG
z7bGM#enW<0s(wQfUB_>TM^FET6nH;>Gce3ysAphs`vWPl9z$uqzmTHU@-HN4WB)=d
zp79srpbLK?>bd?wqQdkaq=Aw24^mz%`Ui3F$A6GEp4xv%7j4mhNE$lwA5uQN{m;OV
z2+IGQ42<Aja5e)YI5+e``9~NS8EP3A7@jjQf+w9*85zMooWsZn?$OjUF@h%;FETMQ
zECEd>Gc$tcg0?U-GJqzVIawINV?|~xj0{Df5m6RK@GLq%D<in87tYGaP!DRgE@Nc`
zw??_x7{TrKHa3Vs-`F4qc(XHtTd^D28Nst;f*gzt-JtBm!N|}In$PE81ea(@oQ&W>
z>L;9x;7Ue=ixJ##naITmo^X7{#RwjP73F3GXU8ON#(IVx&^$d4BY4Pk0uRLE=R6Pt
zY<L+N(ij*RmhwVe&cnwDp2-a1V}wk<^D%;lY<}@U<W2Y?9;o4G1kb9!;b#Pop34b9
z9GEP?2p$`LD!>SygmMt9X9Q0!H48F=o7Wo!AueVTVgz@^qJ<bityG3HLX6<fqq{I8
zcr<IPFeA9z&MU&maE5__AzK6@ZXwDDZfs5vg+%2AQATi2icJh6A0x&Hp5omi#t3e_
z{;C&a1TVXA7Kg-Ti8v(4H;F?GkdR;m&yM*?FoGwM3nU;8Tq^;IV>U@f@Nl}ZBqO*b
zwN#Q3+@m@t$p~J8!6?NDZr&?OF)~bMU|{H!f|xHW4GD?*W@$!-eo!1rGlKhWc`}eF
zxCN#4Wf>V185tN_WEsJ0H<rmkLP}4b5j?+N52a7ZGlEw-h$=9G*8x;1Ff#NqGBB)E
zU}QMK$iQH(#0Xvs!l1&)uohIAsW5`dhkAzHDvaR1nT0ANxWO@16%vFmRT;s9(VA+E
z;9>L{HAZmReN2rJ+~rbIhxnvOoe{iF;D$OQcx?!S1|xV)h^hu8*EnfFLZngy;;}Uv
zjNk?hqb4ImJt+TYYeItZwI(FHNoX;Gdp^^&AU^t`1&N|qZAg&yX+zS?ODJDl2NESk
zI*>$oS_hI_gmoFg3m1xYAyF|=ml50(+NjG2p7b)%V`Oj#<^LExM(~=CC3=kD>G2bK
zjNkzUC4GpC@99J1*Z`7`mqKX?Lr92q8$uj*-w@&eD<eoYY%+rQ^q3JOu^AXc%&Rnp
zr2ccpj12Xl)hU7|kT@$dVFb_XEj58S=(!0b^>dptGOS@>U}!UigoLpf#K$RSkT~6I
z21(VY%oxF=Wdi1m;I%`bfi2M56cDy!WMFs*nkQypVEDqoz+lD5z~BLj0V5^`hM$ZK
z49`IMoPmKM6twCHw8Djff#Eu6#R?+>!)A~P3=9mhj0_C(q4Ij54n6||!+OwA3RE6M
zf!6y>Vq{>@XJlY-U}RuWhN=U}fp7sMq<#P|-(duWKLZ0p0@P5@8XnLj5eFj!!%nCe
zsCNv~7{mx^4e>z@1dZXaLDl>PDL}%Y1u5oGIRi!phF^>f;1Uxw(ACNaX>)91WMFtw
z&j@M3fb?cEGBD^eGBC^n`4Y4~18TrgMo0%0q~;m}1H)Ai0|_TFGBCVlgfuF@A&HkV
zGB8|cWB`}-JWxj~LCw6)z`$U`#K53?9x4D@ZUtKD1e#6-nE{&9S72md$Y*3=*acPd
zdGbM3@%l@Q3=CON5zz7!kZLn1pNolsp_`F`fs2uW;R<LhosoedgOP#3gpq+kn2CWw
z3lt#?3=HCo3=Gp485klM85pubLsuZ@FfuSK19fv585sV7)?zR+FuY=5U{Gg*41s(H
zwU?L}j2ON$KpNm6i(?oeZQwbe<OEuJ#>l|1AL^JE1_lN#CI$wJ$q)5~Cx6gq;S^$G
zV0gsHz;FO0Qtu8bmKYcqG#Md11JDYx5Jm=u>5L2vr$K`{3=9nYjF5g5$gbH83=9()
zA@eWqK?0yYHX{SW14af0&>A`mMg|5=CP+63G(f1v#K7<a>K0Jhn+ICK28{=KCWd+j
zDJBMnOQ7X%py5wO$gqbrBLjmmBLjmrR3XToxlltu9k)Cvn+ZvNDO8M^iGjfcDn5^q
zfng6wGZY_VWB@l3#6TmJj0_BtjG*ac1_p+AP|aHz85mxJS{sZE3>QHTfNIoZWMHTT
zrAh`!x9ATj`WYA)4lyt=h)n*gu3WFm$iOfOsv5LBK$ZzI{*cTF85o61fhkaaQ-C@V
zG;jtIe89lKa16u%4LdV2Fr-3V)W8Vok{$)Eg8@02iGg7mC^0cGFq~juVDMvPV0Z&+
zoq{IFLBjz*L6OGDz_5Z5GXLPi$iTqJ1Ze<+%>Tm30B#6@*q=a6MMegOI;drPq4XWl
zP%$V&F)%PZ1kF=}G9pL=17wm`l#zi!iHU)s7^>bLw4iW1XwnpvQJ@O@7#SE2gVWew
zsIr$(8mfTd6a!?i_yuTa4AgxFMGsVsE)xTTJtG6dAJ7;uBLl-HMg|5MMh1p;jF2%u
zkQvVy85oW*FfcSSLYmp2@u6Fwf(9hX02y)<1f?<1`VP?2$*rIXA*cl#ptJ-NWVRF3
zf&mR6>oYMh1TaE+D4?#mC=&z2La2c`j0_BdjF65fXqF5lY{A69pu)t!zz#JJRIjTr
zGB89jLdFEvfvQ(fw+Ez{1sdxhHfVZWhmip^YXaheF*hS*#1q7M1)4+xB~+*$b|waf
zYDNYI0Z>uF$iNWB$iOfI)Kdnn`(tEan90b%z{bSDU<!2z$cz=B7BR?$phc^o8A#Cj
zE|3HW3quuxRx-LVGBCVnWMHsmWMJ3;8YpC7VAwSIua<HwCldn$FB1cUDiZ_4IR*xX
za7G3OIVJ{%PEfms5i<U<6SQ`c3DPBzf|^>z$iR@!2x;YmmM(#8Jje*?{e#$`HL&rM
zYqiDe?}O?dkPrg{!*)hUe*(na0V;wRArl;&j0_BEP?HydDmze_$-uyH8I(yGAro3H
zj0_C?j0_Ct86X{7kQp%S&j{&IfjYn-F(*(Aff%5y16nJ(l7WHY8zW>ustjroNFKCO
z7DP8OGBETpFfhDfWMI&M#>h611gLz4($AsvZAJ!$3s5saD|;6(f`@s*vLaBu{}~w=
zUV^5CLCv5J1_p-543NPtZm0r~>OiO=GE58%XF=<eC-2n}uRjhIoeatfj0_BgjF815
zs~92Ua(h9M4l1@87#J>qi~(gcDE$vqCqeatX1GAYVoVGS6F@1Ofq~&8RL+cv0o-B*
z$%8Ox6{|TD1H*Svc!312F)}b52Q`Nn85k-V85piIGBC^qNq|}-pr$k<1H(rK1_nbW
z1_nk(1_lFA>IF?8F)}b%GBGgR1I^zvK!!#@+A0|s7+ymymxt187#SFDGC+n^#hDlw
zc7POuvXe0r0|PUt1;NO`AjZhRz{?2f_NsxJNuX@N09mU68c6!h$N=tM$w3V*g3_Rc
zz##K{85tP7pkj*|A@g}>7#SEQFfcH<FfuUw2Pp!jG*DIqwb|;K7#PYK85mYGGB9v3
zF)(z2N+D211InAAs+tip5e(JG@EJ4-1gc{|0!$1H`xzJ*)-p0MctR~Tgwm{x4B$=%
zXlw?g6tosxnGw`KXJE)>WMFvA2pJ!qd_hmbm5Gso!I6=H;Ve}1Q&3PbGBBKCWMBve
zr3nTGh7X_$ijjfg4pa@uP|%dPEi{GkP1e<yuLt!{K=V-tL6HfXw}Pr>g{o=?@fjHy
zIv61X<}*O`3L^u<Z;%a)3=BUQ7#J3VA{t~os8PZQ8ESxPXXpV{fFLs%7#KheJ&-cc
zvUNpJxyr~O#PF4ofx#P8f`gJTBLhRl<h%OPN?PWO3@Qc;3>F3q3`XXR;05I%tss;B
z|Ns9##(cAsftI9?V~~5Wo<eAGYFcTILV0FMhJvncaz<)$c0qn-UWr0tUW!6~UaCTV
z8c4jfL`OkaH?g1~H7^CkD#<TR&Hyn=^KvrtvNv0MZsTDM2=Vmy+x$NCq5-eDuAz~x
zp}B&gk(IIG=Cf^`ru7ppEVwZF!r}{aE=;{J_rjtJQ}q-s%(}4eV#9?U7aK3^y|7Q=
zV)KRV3XdA*A-m&I!yJVRJ0MaQXI$8NVatWR7n>C>?7Of9s<gD^QNtV^2nXUo1Rv~7
i2$u_FF4VOSdnQS8&$}@H!m<l9E_7U&u=&E(jR^p9WEY75

diff --git a/po/sr.po b/po/sr.po
index 8d23713b..a515bfa1 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Мирослав Николић <miroslavnikolic@rocketmail.com>, 2014—2016.
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar-1.29\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2016-06-02 05:18+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -97,7 +97,7 @@ msgid "give a short usage message"
 msgstr "приказује кратку поруку коришћења"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "НАЗИВ"
 
@@ -232,12 +232,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Запаковао је %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Запаковао је %s\n"
@@ -245,11 +245,11 @@ msgstr "Запаковао је %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 #, fuzzy
 msgid ""
 "\n"
@@ -528,147 +528,147 @@ msgstr "Не могу да преусмерим датотеке за удаље
 msgid "Cannot execute remote shell"
 msgstr "Не могу да извршим удаљену шкољку"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Смер премотавања је изван опсега"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Неисправан смер премотавања"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Неисправан померај премотавања"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Померај премотавања је изван опсега"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Неисправан број бајта"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Број бајта је изван опсега"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Прерани крај датотеке"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Неисправна шифра радње"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Радња није подржана"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Неочекивани аргументи"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Управља уређајем траке, прихватајући наредбе од удаљеног процеса"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "БРОЈ"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "поставља ниво прочишћавања"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "ДАТОТЕКА"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "поставља назив излазне датотеке прочишћавања"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "не могу да отворим „%s“"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "превише аргумената"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Наредба за ђубре"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Ово не изгледа као тар архива"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Укупно прочитаних бајтова"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Укупно уписаних бајтова"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Укупно обрисаних бајтова"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(спојка)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Одбијам да читам садржаје архиве из терминала (да ли недостаје опција „-f“?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 " Одбијам да пишем садржаје архиве на терминал (да ли недостаје опција „-f“?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Неисправна вредност за величину_снимка"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Није дат назив архиве"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Не могу да проверим архиву стандарног улаза/излаза"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архива је запакована. Користите опцију „%s“"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Не могу да освежим запаковане архиве"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "На почетку сам траке, прекидам"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Превише грешака, прекидам"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -676,7 +676,7 @@ msgstr[0] "Величина снимања = %lu блок"
 msgstr[1] "Величина снимања = %lu блока"
 msgstr[2] "Величина снимања = %lu блокова"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -684,37 +684,37 @@ msgstr[0] "Непоравнат блок (%lu бајт) у архиви"
 msgstr[1] "Непоравнат блок (%lu бајта) у архиви"
 msgstr[2] "Непоравнат блок (%lu бајтова) у архиви"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Не могу да померим уназад датотеку архиве; може бити нечитка без „-i“"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "„rmtlseek“ није заустављен на граници снимања"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: садржи погрешан број диска"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Прекорачење броја диска"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Припремите диск #%d за „%s“ и притисните врати: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "крај датотеке где се очекивао одговор корисника"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "УПОЗОРЕЊЕ: Архива није потпуна"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -726,66 +726,66 @@ msgstr ""
 " y или newline  Наставља радњу\n"
 
 # проверити и питати
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !              Израђа подшкољку\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?              Испсиује овај списак\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Нема новог диска; излазим.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Нисте навели назив датотеке. Покушајте поново.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Неисправан улаз. Укуцајте ? за помоћ.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "Није успела наредба „%s“"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "„%s“ није наставио на овом диску"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "„%s“ је вероватно наставио на овом диску: заглавље садржи скраћени назив"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s је погрешне величине (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Овај диск је ван низа (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Архива није обележена да поклопи „%s“"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Диск „%s“ не поклапа „%s“"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -793,11 +793,11 @@ msgstr ""
 "%s: назив датотеке је предуг да би се сачувао у заглављу Гнуовог вишедика, "
 "скраћено"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "писање није завршило на граници блока"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
@@ -805,75 +805,75 @@ msgstr[0] "Могу да прочитам само %lu од %lu бајта"
 msgstr[1] "Могу да прочитам само %lu од %lu бајта"
 msgstr[2] "Могу да прочитам само %lu од %lu бајтова"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Садржаји се разликују"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Неочекиван крај датотеке у архиви"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Врста датотеке се разликује"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Режим се разликује"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Јиб се разликује"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Гиб се разликује"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Време калупа се разликује"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Величина се разликује"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Није повезан са „%s“"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Симболичка веза се разликује"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Број уређаја се разликује"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Провери "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Непозната врста датотеке „%c“, другачија је од обичне датотеке"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Архива садржи називе датотека са уклоњеним водећим префиксима."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Архива садржи преиначене називе датотека."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Провера можда не успе да пронађе изворне датотеке."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -881,46 +881,46 @@ msgstr[0] "НЕУСПЕЛА ПРОВЕРА: откривено је %d неис
 msgstr[1] "НЕУСПЕЛА ПРОВЕРА: откривена су %d неисправна заглавља"
 msgstr[2] "НЕУСПЕЛА ПРОВЕРА: откривено је %d неисправних заглавља"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Усамљени нулти блок на „%s“"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: садржи ознаку директоријума оставе „%s“; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "вредност „%s“ је ван „%s“ опсега %s..%s; замењујем са „%s“"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "вредност „%s“ је ван „%s“ опсега %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Стварам негативна октална заглавља"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: назив датотеке је предуг (највише %d); није изнет"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: назив датотеке је предуг (не могу да га поделим); није изнет"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: назив везе је предуг; није изнет"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -928,78 +928,78 @@ msgstr[0] "%s: Датотека је смањена за %s бајт, допуњ
 msgstr[1] "%s: Датотека је смањена за %s бајта, допуњена нулама"
 msgstr[2] "%s: Датотека је смањена за %s бајтова, допуњена нулама"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: датотека је на другачијем систему датотека; није изнета"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "садржај није изнет"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Непозната врста датотеке; датотека је занемарена"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Недостаје веза на „%s“."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: датотека је непромењена; није изнета"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: датотека је архива; није изнета"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "директоријум није изнет"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: датотека је промењена у току читања"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: прикључница је занемарена"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: врата су занемарена"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Прелазим на следеће заглавље"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Бришем не-заглавља из архиве"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: неприхватљива стара временска ознака „%s“"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: временска ознака „%s“ је %s сек. у будућности"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Неочекивана недоследност приликом прављења директоријума"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: прескачем постојећу датотеку"
@@ -1024,7 +1024,7 @@ msgstr "Покушавам да извучем симболичке везе к
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Не могу да извучем — датотека је наставак са другог диска"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Неочекивано дуго заглавље назива"
 
@@ -1053,22 +1053,22 @@ msgstr "%s: Нисам могао да направим резерву ове д
 msgid "Cannot rename %s to %s"
 msgstr "Не могу да преименујем „%s“ у „%s“"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Директоријуму је промењен назив са „%s“"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Директоријум је нов"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: директоријум је на другачијем систему датотека; није изнет"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Директоријум је преименован"
@@ -1194,35 +1194,35 @@ msgstr "%s: Бришем „%s“\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Не могу да уклоним"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Пропуштам"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** Блок НИШТАВНИХ вредности **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Крај датотеке **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Празнине у заглављу где је очекивана бројевна „%s“ вредност"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1230,157 +1230,157 @@ msgstr ""
 "двојке"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Октална вредност архиве „%.*s“ је ван „%s“ опсега"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архива садржи застарела заглавља основе-64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Архивом потписана ниска основе-64 „%s“ је ван „%s“ опсега"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Вредност основе-256 архиве је ван „%s“ опсега"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Архива садржи „%.*s“ где је очекивана бројевна „%s“ вредност"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Вредност архиве „%s“ је ван „%s“ опсега %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " веза до „%s“\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " непозната врста датотеке „%s“\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "—Дуга веза—\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "—Дуг назив—\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "—Заглавље диска—\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "—Настављен на бајту %s—\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Стварам директоријум:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Преименујем „%s“ у „%s“\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Не могу да преименујем у „%s“"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Преименујем „%s“ назад на „%s“\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Датотека је уклоњена пре него што је прочитана"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "проистекли процес"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "канал међупроцеса"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Избор назива месне датотеке:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "додаје дату ДАТОТЕКУ у архиву (корисно ако њен назив почиње цртицом)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "ДИР"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "   прелази у директоријум ДИР"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "добавља називе да извуче или створи из ДАТОТЕКЕ"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "„-T“ чита нулом завршене називе; подразумева „--verbatim-files-from“"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "искључује дејство претходне опције „--null“"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "уклања наводнике улазне датотеке или назива чланова (основно)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "не уклања наводнике улазне датотеке или назива чланова"
 
-#: src/names.c:87
+#: src/names.c:86
 #, fuzzy
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr "„-T“ чита дословност назива датотека (без рада са опцијама)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "„-T“ називе датотека који почињу цртицом сматра за опције (основно)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ШАБЛОН"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "      искључује датотеке, дате као ШАБЛОН"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "искључује шаблоне исписане у ДАТОТЕЦИ"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1388,24 +1388,24 @@ msgstr ""
 "искључује садржај директоријума који садрже „CACHEDIR.TAG“, осим за саму ту "
 "ознаку датотеке"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "искључује све под директоријумима који садрже „CACHEDIR.TAG“"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "искључује директоријуме који садрже „CACHEDIR.TAG“"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "искључује садржај директоријума који садрже ДАТОТЕКУ, осим за саму ДАТОТЕКУ"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "чита шаблоне изузећа за сваки директоријум из ДАТОТЕКЕ, ако постоје"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1413,118 +1413,118 @@ msgstr ""
 "чита шаблоне изузећа за сваки директоријум и њихове поддиректоријуме из "
 "ДАТОТЕКЕ, ако постоје"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "искључује све испод директоријума који садрже ДАТОТЕКУ"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "искључује директоријуме који садрже ДАТОТЕКУ"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "искључује директоријуме система управљања издањем"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "чита шаблоне изузећа из ВЦС датотека занемаривања"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "искључује датотеке резерве и закључавања"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "дубачи у директоријумима (основно)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "избегава опадање самостално у директоријима"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Опције поклапања назива датотека (утиче и на шаблоне укључивања и "
 "искључивања):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "шаблон се поклапа са почетком назива датотеке"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "шаблони се поклапају након сваке / (основно за искључивања)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "занемарује величину слова"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "поклапање величине слова (основно)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "користи џокере (основно за искључивања)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "дословно поклапање ниске"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "џокери се поклапају са / (основно за искључивања)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "џокери се не поклапају са /"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "линија наредби"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: списак датотека затражен са „%s“ већ је прочитан са „%s“"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "не могу да поделим ниску „%s“: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: прочитан назив датотеке садржи ништаван знак"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Знаци поклапања шаблона су коришћени у називима датотека"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1532,47 +1532,47 @@ msgstr ""
 "Користите „--wildcards“ да укључите поклапање шаблона, или „--no-wildcards“ "
 "да потиснете ово упозорење"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Нисам нашао у архиви"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Нисам нашао у архиви захтевану појаву"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Натпис архиве не одговара"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Употреба опције „-C“ унутар списка датотека није допуштена са „--listed-"
 "incremental“"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Само једна опција „-C“ је допуштена са „--listed-incremental“"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Обе опције „%s“ и „%s“ желе стандардни улаз"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Неисправан запис архиве"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Гнуове функције се траже на несагласном запису архиве"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1793,7 +1793,7 @@ msgstr "Бирање излазног тока:"
 msgid "extract files to standard output"
 msgstr "извлачи датотеке на стандардни излаз"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "НАРЕДБА"
 
@@ -1829,7 +1829,7 @@ msgstr "     користи ДАТОТЕКА да мапира УИД-е вла
 msgid "use FILE to map file owner GIDs and names"
 msgstr "     користи ДАТОТЕКА да мапира ГИД-е власника датотека и називе"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "ДАТУМ-ИЛИ-ДАТОТЕКА"
 
@@ -2039,7 +2039,7 @@ msgstr "уређује блокове током читања (за 4.2БСД с
 msgid "Archive format selection:"
 msgstr "Избор записа архиве:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "ЗАПИС"
 
@@ -2123,59 +2123,59 @@ msgstr "ПРОГРАМ"
 msgid "filter through PROG (must accept -d)"
 msgstr "издваја кроз ПРОГРАМ (мора да прихвати „-d“)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Избор месне датотеке:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "остаје у месном датотека систему када ствара архиву"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "не уклања водеће / из назива датотека"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "прати симболичке везе; архивира и износи датотеке на које показују"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "прати чврсте везе; архивира и износи датотеке на које упућују"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "НАЗИВ-ЧЛАНА"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "почиње од члана НАЗИВ-ЧЛАНА када чита архиву"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "чува само датотеке које су новије од ДАТУМ-ИЛИ-ДАТОТЕКА"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "ДАТУМ"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr " упоређује датум и време када се промени само податак"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "УПРАВЉАЊЕ"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "прави резерву пре уклањања, бира УПРАВЉАЊЕ издањем"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "НИСКА"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2183,59 +2183,59 @@ msgstr ""
 "     прави резерву пре уклањања, преписује уобичајени суфикс („~“ уколико "
 "није преписан променљивом окружења „SIMPLE_BACKUP_SUFFIX“)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Преображавање назива датотеке:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "одсеца БРОЈ водећих састојака из назива датотека приликом извлачења"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "ИЗРАЗ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "користи седов ИЗРАЗ замене за преображај назива датотека"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Обавештајни излаз:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "опширно исписује обрађене датотеке"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "КЉУЧНА РЕЧ"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "управља упозорењем"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr " приказује поруке напредовања сваког снимања бр. БРОЈ (основно је 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "РАДЊА"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "извршава РАДЊУ на свакој тачки провере"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "исписује поруку ако све везе нису изнете"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2247,35 +2247,35 @@ msgstr ""
 "SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2“; називи без префикса „SIG“ се такође "
 "прихватају"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "исписује времена измена датотеке у КУВ-у"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "исписује време датотеке у његовом потпуном простирању"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "шаље опширан излаз у ДАТОТЕКУ"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "приказује број блока унутар архиве са сваком поруком"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "пита за потврду за сваку радњу"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "приказује основности тара"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "показује исправне опсеге за поља датотеке снимка"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2283,31 +2283,31 @@ msgstr ""
 "када исписује или извлачи, исписује сваки директоријум који се не поклапа са "
 "условом претраге"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "показује називе датотека или архива након преображаја"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "СТИЛ"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "поставља стил цитирања назива; видите испод исправне вредности СТИЛА"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr " додатно цитира знакове из НИСКЕ"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "искључује цитирање за знакове из НИСКЕ"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Опције сагласности:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2315,22 +2315,22 @@ msgstr ""
 "када ствара, исто као „--old-archive“; када извлачи, исто као „--no-same-"
 "owner“"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Остале опције:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "искључује употребу неких потенцијално штетних опција"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "„%s“ не може бити коришћена са „%s“"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2338,40 +2338,40 @@ msgstr ""
 "Не можете навести више од једне опције „-Acdtrux“, „--delete“ или „--test-"
 "label“"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Сукобљавајуће опције сажимања"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Непознат назив сигнала: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Нисам нашао датотеку примерка датума"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Замењујем „%s“ за непознати запис датума „%s“"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Опција „%s“: Сматрам датум „%s“ за „%s“"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "издваја архиву кроз „%s“"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Исправни аргументи за опцију „--quoting-style“ су:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2379,120 +2379,120 @@ msgstr ""
 "\n"
 "*Овај* тар подразумева опције:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Неисправан власник или ИБ групе"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Неисправан блокирајући чинилац"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Неисправна дужина траке"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Неисправна увећавајућа вредност нивоа"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Више од једног датума помака"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Неисправна вредност разређеног издања"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "„--atime-preserve='system'“ није подржана на овој платформи"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "вредност „--checkpoint“ није цео број"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Неисправан режим је дат на опцији"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Неисправан број"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Неисправна величина записа"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Величина снимања мора да буде вишеструка од %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Неисправан број елемената"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Дозвољена је само једна опција „--to-command“"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Лош аргумент густине: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Непозната густина: „%c“"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Опције „-[0-7][lmh]“ нису подржане *овим* таром"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: место грешке"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "грешка обрађивања „%s“"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[ДАТОТЕКА]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "не-опциони аргументи у „%s“"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "не могу да поделим „TAR_OPTIONS“: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Стара опција „%c“ захтева аргумент."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "„--occurrence“ нема значење без списка датотека"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Више датотека архиве захтева опцију „-M“"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "„--level“ нема значења без „--listed-incremental“"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2500,43 +2500,43 @@ msgstr[0] "%s: Натпис диска је предуг (ограничење 
 msgstr[1] "%s: Натпис диска је предуг (ограничење је %lu бајта)"
 msgstr[2] "%s: Натпис диска је предуг (ограничење је %lu бајтова)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Не могу да проверим архиве више дискова"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Не могу да проверим сажете архиве"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Не могу да користим сажете архиве више дискова"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Не могу да спојим сажете архиве"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "„--clamp-mtime“ треба датум наведен опцијом „--mtime“"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "„--pax-option“ може бити коришћена само на ПОСИКС архивама"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "„--acls“ може бити коришћена само на ПОСИКС архивама"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "„--selinux“ може бити коришћена само на ПОСИКС архивама"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "„--xattrs“ може бити коришћена само на ПОСИКС архивама"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2544,30 +2544,30 @@ msgstr ""
 "Не могу да докучим назив директоријума највишег нивоа; поставите га изричито "
 "са „--one-top-level=ДИР“"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Величина диска не може бити мања од величине снимка"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Кукавички одбијам да направим празну архиву"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Опције „-Aru“ су несагласне са „-f -“"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Можете навести једну од опција „-Acdtrux“, „--delete“ или „--test-label“"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Излазим са стањем неуспеха услед претходних грешака"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
@@ -2575,98 +2575,107 @@ msgstr[0] "%s: Датотека је скупљена за %s бајт"
 msgstr[1] "%s: Датотека је скупљена за %s бајта"
 msgstr[2] "%s: Датотека је скупљена за %s бајтова"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Кључна реч „%s“ је непозната или још није примењена"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Временска ознака је ван допуштеног опсега"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Шаблон „%s“ не може бити коришћен"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Кључна реч „%s“ не може бити преписана"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Лоше проширено заглавље: недостаје дужина"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Дужина проширеног заглавља „%*s“ је ван опсега"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Лоше проширено заглавље: недостаје празнина након дужине"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Лоше проширено заглавље: недостаје знак једнакости"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Лоше проширено заглавље: недостаје нови ред"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Занемарујем непознату кључну реч „%s“ проширеног заглавља"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Створени пар кључна реч/вредност је предуг (кључна реч=%s, дужина=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Проширено заглавље „%s=%s“ је ван опсега %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Лоше проширено заглавље: неисправно је „%s=%s“"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Лоше проширено заглавље: премашује „%s=%s“"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Лоше проширено заглавље: неисправно „%s“: неочекивани разделник „%c“"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Лоше проширено заглавље: неисправно „%s“: непаран број вредности"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: није исправан истек времена"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: непозната радња тачке провере"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "писање"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "читање"
 
@@ -2674,7 +2683,7 @@ msgstr "читање"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Тачка провере радње писања „%u“"
@@ -2683,12 +2692,12 @@ msgstr "Тачка провере радње писања „%u“"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Тачка провере радње читања „%u“"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2697,94 +2706,98 @@ msgstr ""
 "Гнуовог помагала пакета (GNU paxutils).\n"
 "Опције су:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Опције стварања датотеке:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "ВЕЛИЧИНА"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Прави датотеку задате ВЕЛИЧИНЕ"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Пише у НАЗИВ датотеке, уместо на стандардни излаз"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Чита називе датотека из ДАТОТЕКЕ"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "„-T“ чита нулом заврешене називе"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Испуњава датотеку задатим ШАБЛОНОМ. ШАБЛОН је „default“ (основно) или "
 "„zeros“ (нуле)"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Величина блока за проређену датотеку"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Ствара проређену датотеку. Остатак линије наредби даје мапу датотеке."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "ПОМЕРАЈ"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Премотава на задати померај пре записивања података"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Потискује дијагностичке поруке које нису кобне"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Опције статистичке датотеке:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Исписује садржаје стања структуре за сваку дату датотеку. Основни ЗАПИС је:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Опције усаглашеног извршавања:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "ОПЦИЈА"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Извршава АРГУМЕНТЕ. Корисно уз „--checkpoint“ и уз једну од „--cut“, „--"
 "append“, „--touch“, „--unlink“"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Обавља задату радњу (видите испод) након достизања БРОЈА тачке провере"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Поставља датум за следећу опцију „--touch“"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Приказује извршене тачке провере и износи стање НАРЕДБЕ"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2792,7 +2805,7 @@ msgstr ""
 "Радње усаглашеног извршавања. Извршавају се када је достигнут број тачке "
 "провере задат опцијом „--checkpoint“."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2800,126 +2813,126 @@ msgstr ""
 "Скраћује ДАТОТЕКУ на величину наведену претходном опцијом „--length“ (или 0, "
 "ако није дата)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Придодаје ВЕЛИЧИНА бајтова ДАТОТЕЦИ. ВЕЛИЧИНА је дата претходном опцијом „--"
 "length“"
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Освежава времена приступа и промена ДАТОТЕКЕ"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Извршава НАРЕДБУ"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Неисправна величина: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Број је изван дозвољеног опсега: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Негативна величина: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "није успело добављање података за „%s“"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "затражена величина датотеке је %lu, а тренутна је %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "створена датотека није проређена"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Грешка анализе броја близу „%s“"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Непознат запис датума"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТИ...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "не могу да отворим „%s“"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "не могу да премотам"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "назив датотеке садржи ништаван знак"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "не могу да створим проређену датотеку на стандардном излазу, користите "
 "опцију „--file“"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "неисправна маска (близу „%s“)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Непознато поље „%s“"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "не могу да подесим време на „%s“"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "не могу да скратим „%s“"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "наредба није успела: %s"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "не могу да скратим „%s“"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "не могу да подесим време на „%s“"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "не могу да развежем „%s“"
@@ -2959,6 +2972,9 @@ msgstr "Наредба је окончана\n"
 msgid "--stat requires file names"
 msgstr "„--stat“ захтева називе датотека"
 
+#~ msgid "OPTION"
+#~ msgstr "ОПЦИЈА"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: „ARGP_HELP_FMT“ параметар мора бити позитиван"
 
diff --git a/po/sv.gmo b/po/sv.gmo
index babcb8257702edf2079b21530e2d25a9d6b5e1f6..ccbb889dd295cc89141692a1e749c335be14c19a 100644
GIT binary patch
delta 14844
zcmZ2+mHFjU=K6a=EK?a77#Mt+7#Iu~7#L;<F)#=-GcYiyGBAL|eGDOVh#><*gdqbM
zv=}llNHQ=mv>GxnoMvEPm~Y6yAi}`FkZr`kz{bG9&|t*CpuoVu&~C)QAkV<Su)>Ie
zfro*C;RKYvYQ(_M&cML%$cUkyL5zWcA<LM7L63ofq0ty@FT)071_nU}28L_K3=F~y
z3=A)f85lrz|1oA@P-0+U&@*9RaA#m(2sB|}P+?$Tm}$bmz{|kEu+M~nL56{W;fx6b
zgFXWT!%Gv010+ou7_1o>7%WX07^D~&7)nhc=1(xKXJ8O#U|?8e%D^DXz`(G}lz~Bj
zfq~(IDFcHX0|UcDQw9b#ke|&UK2$ejV6b9fV6ZWRIHcT+fx(P{fnk;z14A4G1H(l#
zhy@1b3=Fai3=H1p3=9$s3=Em(3=EnK3=B=?kdRno&cKkuz`(Gx-kgC!hk=1X&H~~P
zZwm$nBL)VBWDAIor&%yCn1F)Lf`LJqfq~(#1p`A80|SGiB?CC*S}Y+Boo&g$PzLgV
zCB$KdRtyYw3=9k*RtyaM3=9mDtsqgd*ouKch=GCOh!w=1`s-E<3>pj!3|!U_7aChb
z42ZR6U@!*7r8UHdTdW}=^V%9>;U8;=1Ep;s4)e8PU{GXWU?{YKIC!!R1A{pO1H%a$
zNYpaeLd@5<Wnl1PU|@)}1*@-TSYpe-AkDzQaLg7G_m6BLA;Dn>2^j@DNF4gwK@7^Z
zV_;BcU|^VI2XXijJ4lefwS)MK!yY0pZ4Ze8XM2eLL@2+}9+IHvgZcFg3=8cU7(fYr
zzdgj~hwULgcxDet&C(8#w4vkxvB1IslKQ<J7#R2%7#LEabO}_x*#Y9yX%3J?cfbLX
zNdGuMf?UxN60#wV3=I193=9k%AO-^i!wyG?k6$=Kd?f0`z@W{*z+m76$ptY^5CaRG
zAW^W!i2)R<45ytK7;G3A7&x6FA?M}{ad@0F0|PtAfzA*MbDbF&Tp1V`7CJ*5_}rO+
zq282%fkDs(lB(TZAP#79fduV(7l==9xIldH$pw<=#9bjls^<!Epr0!PgBt?_LzOGU
zqJyps3|b5f3}0O#A*$fUzyPwx*$v{bN;gQ<G`KO;gX4al8>H~r<p%M=Yd46?ncX2Y
zH<T83hoow0cSyF3a)&sq(H&y(GIs`sNCpOmTkeoFW#R!*7vKSLc)15S(J}OSKpeio
zqaGq~#{-gz|9L=MtmFyF@2;MZ0wu~566EEc5SLH$gha^}Pe`^p;R&(eB~%|MiGxZ$
zQ7=gLGxcI%aA06yaP@+OaGMvzoXz!K5Q8pyL4x$D7Xt$e0|NuAH>9B8@`fZ%ac@YP
zkoIO^;AUW8F!P33?Bor}mdW0bL|WnvF{jHL;-OXE5Qm?G^51$xvZbI8#N+jzJ`4<8
zpt9Qs;`1^eh|6X|`P+RU2Hf(2_~fS#Bo%Y|LVRN53yJGYD1VAC!~+L?A#r`o7vi9^
zzK{@l>kCOMEPmjqt7q``gZQk#4^mWi`$5X)C4P|9y3LP)A(4@R;g280;<x~a11APR
ze7rsY;;^Fukf^#E014_(0SpXI3=9m$fe?OKAjHSp10f-JGZ0kX)H5(V4TNaq4q{-?
zWnf^?2!cdOSP&#JW(7g=eNzy`!l^+JAFU38q><A>kf?YN1Tlv(7?Nw`f*}QwMKGkC
zNC<{_G(Q*;5?vs5p!~lu7-HdWsKj|F|5-33Zhr+s4CW4jsM836ILIah5)%F)kX(`*
z0&!Sr2qbEzhCnPl6asPh-4IAE`8fm<MU0^g4E3PI#1;yPE1^(`k0e7Oajq8%iCf=L
zNYGV4=~<!RxMSD@r5}bus#~@&NL^tT2Jv}r7^J|O8V1R>7sDXsia<D|Jg^LBs0Rmm
zemJB=ni~$W@OU@_Loovb!>4ct21f=4hO`KX!&XE<f_85NBxJ5fKyt~82uKKhjezJE
ziiG&kHWK17r$|VC_l$(3t<p$Hh_px6LlWKGNQi;kA|XL|9IEkoBm)C00|UdmNKj&7
zVE7UV@wrqKBpcaBK^#^d1xYJCQIKr6Bnnblorr>1{5=X%TPjCG(n4r7BnngNqakru
z9t}xEAU>$!u^<}agZ<Hv)O{oxV$qdoNC>=)hFHKH14-RRF_5?|j)8<gV+<slt%-qH
z^f?Bik1ZBb(kjG4JX9YT%fR5mz`#%*%fR5wz`(F47Ls^C%^6TNs~ZRLS!f)@pxih}
z>TQUFB*y7+5Qnagg9P;kD1SSYzb6h7f`{WEMe@lwNQgg;1KU&2@GlM$7uxZV5O9o#
z#A#AIBr5XbAr9z|hxlxHJS0dj#Y4*We^6RA0TNO^2@DK{3=9l036Mm5E&<}ew@~_1
z0s})dBLl<t1O|q44D}2Q!AX#yP)ddbsYf!TBrH#c1lg=)h)=g9L(<3zDF0?M149%8
z1H;>7NUHZpffOwDDGUrg3=9n2DG>cPQXn4rlmdxDp;SmnsHZY82!ry!b1EbR!c(C^
zoXWu90cv`sLVSKQ6{7KBDkSc{r9y&QJ&l1O4AdG<V_@(EHOHa+^Jx(EYUz+#(K;QH
zJ@eBcX>EQw!~x6G85rt8CEnq5NSuC5hXff%2E@ne8ITaM&Va~gWkB+CV+O?Fy%`XL
zKW0FpL@^VR?|m~Nxu7%?;`5oA5DRx^LZawuCIdqd0|Ud;Oon=JP+4R#FmQr=0Hyo0
zAc<xsl%AgjX|pZOg47AivmoWg+boEM;@Ob=Z=Vf`%9w13N1C!37!p7&o@{VpV_?dG
zgs6TF#DnfR^$-owIS`*V=0NIz4N&@C4kR)0<U-nnb-9q*a&s=kf_=FVi|^(_O0-|O
zkV?lO50cM|^B`%aDG#D<avmg&Y{-K+WKTU*;tG`h2-U!s4~awhd`Oxw$%hod?)eZ0
zX68c-n4S+QA=l?a^8ZJu`v3WmTqINg@wt2f#K%4b5OWitbbV<7Bu={uAgTUX0Rux8
zsOwY!DXT*YA(cpNAp=7ysDD@piR*ub5QDUeAZft92$Bo(iy+x_SrH_$UWCds6+;@S
zM#Yf2Aio&wuzH4d#gMqX4V7Rmfs_L-C6KsIh0?1_AVK@F1mZB0Qb>^+TMBVNe<>uW
z_m@Iy#S5hj4B?=nyA;w_bSr~6ysr$BICqtS98}N1aIXv!x6<X1APy*pq}rl#h)*U#
z`Fo-AcgrC@{a+5T$gBe5;E)Q414}C)QM981V&1a~h&ql+NZp}U2?-hRN(KgNQ2wu}
zWMHrawf`$28b4J+T&Pe5p<SvV`8%Tu;`2>akSMub1&PydP;stmh`ez%!~-$a5DROn
zA&G8bHN+unt05tAx|)HZ9@HKFUJZ#$p&E$6>NOCbJJmo8%B_JoptlAR#MhzfUerLU
zQ|4N5Tr!B(GB9{EFfcgPLLAZurMK5Y>X-+$kdRibgXEs5I)-|1U#_x_fnhx;pVmP_
zBCsBkCc5h(F5OxW@yWw_NSV*pzyR*9>ozbjJY`^DaBg5=5Mg9s&}@X1^>$5=xOZ-X
z)Q+>8AZg@I6C}IyG(!@*QFA@S<)O`xpl@o1DA>>palo}^hyxf}ASIwq3na*$TOdIi
z-U2Dvl3O4pTYU>81p8Yc`c}0tFj#;FGFl)Z%-;&>X{oeA8nf~Btq_+@YJ~*lp;k!H
zUulI@9{-_y$u@|%OB=+Z{5FWb`Zh>OxxNijCv0tl^a=O0LG=G>gM^q!JER=3Zif_f
ze(eklu?!3h^|kE~gKxJ(LV~RW;&Wpt9oqp3s`d^@i)U2_Bq|<tKvFk*C&VY3osf`=
z>4eBPbwbk4@=i!<Ki&zc_kVOk;$E-|?2&o~gDwUJKL!Q{hb{(&U<L+;{w_!mKJJ19
z;lD1354E}>78rCxf<CO9f#Cxq14B|bB$ovDGBCUbHDr1j7;-=(D1DGR<w74s->p7~
zM;Q7cC8Kgb$N}{X3<muS3_TzR^g~>DwjYwepY=n0B0B-%6Q>D~G>|j_B40TH5&|10
zKs<110>lEvi4fXlA|w~2PlN>dgo%)l-aiqNC|^xvU{C|)f9*+-#1S+J5;W<PAQrbx
zf@HVVlOTy~4^;dHRQ=ycklZ3P8RA2q$&jMFXfgvsHUk60y2%g^Nlk&6XFLVMkC*~U
z?1fVp80tYI81tt<62rPFkhtWT3Q0WnQz3~gaw^2fol_yH`M^|&4}VT&V8~@)V33&x
ziK?z?5QDc(V_?W<U|@JM4dUaF>5xQOKOGe03=DgxL-e1W&QK2?jruShl1P|mK!VC-
z2E@SR84#EE&wyCGWd_8DZ)ZTFLUSfWox@B>;>?)|aln$95Q{I(gm~!hOi)?Rz+f;7
z;*s205c`(Qs%Kz`XJBBsIt!ABOlL#lI&wC|pvu{h{JwlP#K7INAr5*r8)5+W97wLQ
znFCRuIR{b~OrHa(o_9dSFU*0Ym49;}MX<tLNL1L>&xQ2w!{<T_jGoKDz{J47&@&ej
zME!Fi7H^sh$=`RO8lTLClz@NdLK+sr^B`%(07^T~g9LTZJV<s<ng>ZMJ@X)m^4L5`
zQC$Ci9;6yonGXs2u=$WUZ=DbE+1B}xpnfzT64XDTeANXE3<02#&;^htSnmQz9kF!*
zq`LjT0Fr3k7cww#fU@I4NH)${2x%!5Eo5K-^*<R_EM#D?XJBCXw-7QgXtxLw$DNBH
zadmVN#0P&CL83x!F~lKOiy^5#Z85~bJ&Pf6yk{|_9QnBz(u($70x@se5=hisS^_D8
zKQ93}sGfmAZz&|Tn=FL{k>65?K^;pW79U*-Y4g2b3h~J=D9yYK(qrOT1_{!DWe^8f
zE`vC5!!k(!;Lb8g6qzrFm>04fk{0TgL-YTF<&dC14iaEsVEDEik{D%IK!VnB1;l}w
zD<I`V^9qPTi&j7kI<o>&e!N=&Nu10pA&F08B_xeFtc3VH49YKG328I-u4G`SS7l&e
zIKL8N(ASlaL?gZm;vn@^pdeyk2wMdak68ujK;*1~7+kUnQWSTsf<(nMsJcC?AZg~z
zDu}}$uY!2w?<z>{Qe6%4fa_|8dhob>{%VK;t5-uTxCrInTn))C|5rl{kX-|*&0N<&
zYRjB8kX%!@2GSu}zXlR@kJmu*y~0{Z?h0ND$vxp~AyE;x7UHn#we<`P5ey6rQ`bTq
z@D3^=vJO%S>8*oQo1W_+aUHXcfgyyEfnmWqNGkri9^ydl4Up9Cxd9SVsT&~rOE*C3
zh6x)WL4JP&q>ZS!5#sQa`i+ow`_zq){JwZ2#AU}eLbBh3jgYwI-2_SfN>JKt6C?_}
zHbD|!0#v+n6T~BPH$g(|@Fqw>^BT%$*$i=@&Sppy)!RTB!J8pI$=VFDsADt4;yF<9
zjZpsi&5*?TWHTgWIJQ6%rSuj^+*)mcRJ&17e##a|(cQ8IV(#88&?w#l_IN$R%`K2@
z^?VDY?e<{{B+-4{0x8jcLoMLh3d!f%TOmG<-U`WPEn6XpX#<qLwH1;EShhi`S;uXV
z60~U>#35_9LFAup1Er;U1_tHrkht;M4k^QXwu2-X7<O%k1m(l+3=9nn3=Hf$AO%&&
z4oF;|*Z~QlCp#b^_j3m%sKs|eg4SRsBnsVkLOfQo6OsrkcS6i<*a_|bFWU+6>8_oS
zM00v4#NcO8g}-+~LP&8JB<QquK@2w91&QPMT@atO?}9k&0F=J73ld^Kc0m%I#%@TN
zpS>H>1zWHiTL0hQ4bk{+H^d^YJ&*!Jcn>6QP4+;15WENC(1<;d#Fq(`uipcSig|k=
zA$e*KB(8b(LV{XhF9Sm~0|P_sUWj=+_d-JG#$JYc@I2l7y^uJP-v`NNUQoJkAEd0l
zv=5S>dG|vSpTmAgNTuv&U?>8$V)sK@JfHSM@_XC?NKhvofP`2klrB5~@kr$Xh<$Yj
z>LCTk$^(!fy?X%Sa;}4r)GT)p;#0eW5Dg&*At6<N5K?Q-J_yOjXQA@{4noY+JOn9d
zVh=%DNL7a*A^PGF!~vX#Ar9rMKg__el#zi!=r9ArBTygk2qf{%J_>2k96AaK+FwT@
z<$~HVNZN2X1}OnUk3q6w`Z377VAU~5EqeDDID0W@9ESwG*>OmSO*#%K>en8J=&L_}
z98&N+f(o#nfLJ7P0^)O{6Oa<p1Ik}`0+I%{pMZqGi4&0K^sf^P3<aQEauU)Gs5l83
zM>up6Vvg=9NEAAsf_SX#6u9oFXIOU%k{x!Pf~3v|rywpBJq?L#gVT_x2ssT&%_XNH
ziD$`aNOisYG{oSqry-S=#u-Rdg`a_hWYZal2UnhfB)&6eAm+b511bsY85r2kLOP3L
zXCcFBd1oO(cl0bIH(WjoDUj}*g(Rj&XCZO->MUfO@7-BQ{<l5{NehwZApEX#5C^O{
z2MMY3=O7`(cpl==qVo(4lA!kg!t;<g-F+TXl3h3tNsPbFL+W$&3y>z2&jkjC84L^z
zQ!YUAz3xRw!zA<~L|wu~NCDJ(5mGtLy9gNrzH$)~*V30D@_LsbA?tpLfuSBW{hoaZ
zk~*6%L0rE05+ukDUV;SulS_~wW4R1T8}gSSL2e19b1p*+o_`q<_d70w<CcNx3Pe5M
z6$oGB3M3><u0YI7yTVWpo_=q<0ttbcS0HV+bypw``hJChA%lT|LE<W;%x}C3v1rv*
z28Id-28P2|A&JT68YE4WTw?&wh<0Ctlp`mvL9!w5bx4qFU5A8B<aGuHe^6iZdObwL
zeW--&4M^e%z5%H`>TW<1=l&azpnQ4*VzACl2wiX!qJGOwNZarJO-TM1y9IHO*DZ*{
z6K^pv#4s>0blrkv&*!%wX~n4iHY6^SZ$o_2eH#))hi^mT^y_Vi1yXk)LGF47l13`-
zK=duT0~ty^bq5l4vUedNXMGpa@QAq!v1m0^{LWoSl>EI5aag_hJxI_v+=IA0{~p94
zi|;`+-o6J>$a5cJvFUwC9LL{>WXF~FAwhieJ|v%iyAP>ccpgAP(E9<zBRvlw1=+?2
z5C`6U08V4|4F4WLf==-vB!5Ocgp_RM4<QD3K7{yu*+WR8x%m*1M!r0RBr4lSkVNYF
z2%<0Z5yWBDk07~b^&?2N{`nCkS1CS*#J%5RkVonn80I~ONW6Fq@ww;|28P|B6){gB
zam@J?k_LRALPDtcDWnKp{uJy3hLcYrb;g^g3=DTcYek+hFz_=nFx-0vDeK=ohZMn|
zpF_;^e*qaKoBV=-K?9Wk@4tXV0mn;7kek1R1bN0why@d&{4Fmb!)SM3LUMu9D@c%A
zzk(E4fv+HGBK{Sm{onoy64&!zL84^mD@gVH;}xVluzJnFP!Ae<@qG>P*__u9hg^6K
zDIos8h6KIx8;F5nZy+I+2c>7ffrP|~H;|I<)f-5Z2)>2TvTq?Jq~=>l)Rw)4cx>uh
zNOs@%mZ2UzM|=4#WciHPJBUH0?;vSn&O3+$E<<Uy_mB{=d=Kf<#k_|&bOw~(^B&Sf
zd+;8T&lNsE<ikEd5?|E^NPA-02S{#t_yIbg`2Pc>R#W>3$xh}UA-&tKkC4=Q`y-^B
z`16qgJRfNF36d=xK0)e;>`#yh3P(mrrSz2nQkQ^6L(hYj<$#v#FhIKYpyfLzObiSQ
z7#SF{>KPdrzJU@A6x)N=T!B`%FfcIaGcquoU}RvJ$H2fK&&a?~3YBwYVqjPWWnX1r
zU?_sJL8INT85tN}fyNI&OK}(&7^<Oipj8nw7#SEgF)}ceFfcImfy@K7oIs0)K=Xf4
z`x$~5A=%~%BLf4-aUk)Vj0_Bm7#Tn#XAJ)s85oq97#O@kqZAAb3|@>34C@&g7>t-0
z7)~-khH-B(LZ)3fnHU%jLLG3Fk%1wNk%3_*0|SFB69YpN$Y2JBdWJ;|3=E!33=Df1
z7#QN9irttP7`{LhfXnF^sQ6R{1_o`Y#USagP;o9O-OI?punHsr#d{e+b9@X8C5#LV
zW}qy|$iUzMRSQzGl(C+H0kr&W4<iG^G>`}b1H)PdNFo7oSs57^SU^68YGPu7Hq)Sd
z(4sU@|M3YUWOf9!l4=%I4m5Gy3Ni##fkDOcq4Y*Z28MD528PR^{0~x710q0^hEVz)
z17rfJijjfAn~{M*g^7V75he#U1hiZaBm`O)X3fOF5DppvXJTL|XN1(6Ai4XD3=9()
zA=%dfst+U{3uV`D2Q9l}gtTbpfu=>F5};l#Xn+``_y!{bgD?{V!)g$Rfq`K$l&)f6
zV0gyBz_5*xf#DJZ14A2B?+Qjpk-P#l@(ooBqE<38Fq~v$U`Pgy2Qe}*)PmyQnUR4Z
z7^+c*k%7UPiGg7fln>IR%E-W=$Ox%6H#0IY2r@A+crih;r!ga>Xf|bn^aDWZe={&J
z+=1!`E#<oiT1~^mz!1U6!0-hs&cXz#jzRV_SV0BFnIL%_wA>D4&>aTIC?;s#PAVg0
zg(PUU6tt*BiV@P~%7p3#sRv<D`7g%Az`)1E!0?ihfgy*Hfnf<F1H)5L2s1G-Yyl~P
z;;oDf3?Z=ie*;<p2bBPgYJ(OPg1DeHd?4C_iGjh6k%8eh0|SE)BLhPK)Zz>%ZOO>M
zzyq=nq?mz$L5c~|0|Ie(f<l#nfng#81A{pe1H*C9l1)%Fg0eVB0SJQ@kbPocVDN()
z7|+PSpvJ_&Ab^zJb}>Sh;^cxtgMooz2?GPe6$S<dUZ|e$AcGhf82lL-7(|#D7?wf#
zpcRzaj0_AKObiUJQ1fmwFfeE_f#%<#0*Xuw3_47ZsuHS?;UJ6wTJglhz@QDaXc7Yh
z!yiUSEvUxGz~Bl>`B1rOP}%@$?gNlos5#7xkb0&Js>YrP8veFWffo#rx*W8c^$7z5
z!&cB5O;EQCv<Q_E(xlqW$iUDJRSz|n;W(5JS}_S)TmTaX(H}qr0|Uc#1_p*7P<5ci
zsUYEHpdz*!G>6Z`z_1cDoXP}g<4Z$b4^p(2k%3_gBLl;KP~1bsUotQ-oMU8QkYr+D
zxWEW$8HF-3FkEM3VCZLr^b0_GL91v$%P<#!I1CI7&5R5Ta!d>ijG(#zRQ~IM%4G%y
zhB~OrY8WAPJZO<9CnE!c9ViVjGBB7!<v|k*ptXD|jF48&env=Z3ABy~WCv)?h$*PN
zU}RuuVq{=A%fP@8#mK<$k%58X5Y!Bix<`x*3=<d`>KSSo85nvPAww*m85kHoLlqqW
zsbXMYNN0dFBG?!i81kTUASuuS<A<Q)nSp^p2P(b+N<V<os?g8^t)?($VqmxrO8JZo
z41A0X4C-Jt^$ZLgP(`41J|Ke)nIMf0&}7sv1_p+?V1*0}YoIhp4QR1(F(U&*1tS9k
z6C(oyBNGF|dj<xEH&8W_j0_C7Kng*r925$S3=FcM1j__zH$bHzrPypn28Pv8jUb65
zp!j2gG`F3YAPo|bI0#Q?WMKFKVlY4k7C_7ipm+t1po3OKPkyK>Tn`#>2d&;VWCRbg
zGaO-HU^oRTI~f@mE;2GObb%s-k%6HNG)u$)X;amKjADSa7~Mc64M-gWWO@W7^%%6&
z1yryzF)$P`LfYoM(4gyNU|^UHT7e3h3<70pPeulYO3;KZs5QaFz#t8x85tO?85tNl
z85tNN85tN-7#SF@LA`wsH2=oLz_6SFGLd^3RONweWq>s3&M-1C{D!Ip33D?tFsx&Q
zv{reTAR`S1pfF}&U|0^S)Io|sE6Cr2B8h>4;Xfk-LpPEE`xrs3e@Lqkq&A(Af#D|u
zq?4D&z`$U_$iTqH#K16zk%8ebsBC6rU{GdaV6b9>G-dl37#Nfp85sV8G=uUHlm=6v
zLS-+Q1tEN(!Nd-wr!z1x9EC`MNnIw$H1=~w28K+~Y!o8{Lk9z-i3?g`#1GZ?80vw)
zpmr2U4I=|X7$XD28qkt=(DHUB28Mm0Ri;0o3R@W&7&sUi7@R;2G^p4sM#wM**k&jJ
zS``dp9$;i(n9RVyupczaFqzRnc(Q;23uuapp%4_Ipw<%;1A{22x@Tly*a+%@GcqvT
zU|?Vng*p+ml3Rg^fx(4|fuVtsfnhVqSWxN%Ev#f@V9;e`U}%B5L<}lt!^ps}kb!|g
zor!^ADO603k%6I?fq}sml$!2>oCPX%85kHW7#SD>p^6SMFfcr4fK2-)K@9~-xgfE9
zq3lMG1Zb{<k%2)U>R8aicppXvhFJ^@3<{t&D=1Zh#;_O}7=A(Z6@aQJ(AEHuer_fP
zhPMn13}TE74BHqO7`8(dodzv*2Q`MEe305HpjH<n1H%T;j1E*Bv<cz@Xk8<ee;O1T
zAjMGpkO9)2DEY*|5M#)|P+-WwP$T*YQWSvHfb{+U|NsB8Pm`?-^y+;wlT-7GQx)6;
ze9DZqtrXn-LP2bWvecsD%=|nBV}<-8g`C8a)FK6&jFOUqVk>?9^t@8N{GxRI9Ejdx
z{q%wyy^NCF96LR(kc`Y?h0J1ww4&5hh2s3QlJdl&R4awb{8EL)qEv`*NxnjIMq*xi
zszRbyUW!6dYD#8tNl|7}X-TR=W(mlQ)S^_7A%6Y};f_H;j(#DLItnHE3MCn-3aJ$(
zsd*&|1*t{3nI$EuDGEuI3OR}8dR&`R4W=>bWaQ_jDikE9r&=N0TV7tS2XiybN&2eA
z`kTKRsxV9XrsgK47AfQ<=B6qn=jW9qX66+usO#yeZx%5<%vP_iTC7^Eu8@+STAZg|
zqL7%AlV7fon5U3flwO*fnpeWbpjvFDkY7*&3N5JO%wmPa+@#F(()`k5Lh{xM1^LCr
znMs*BnI)O2#a3v>F{u_$ZU_@&<eGfidZCO$X<kuka(;SVW>snms-;|$Gi;WqsTM1!
z7As^V7AxfCE2O5Sr6!j!=<1>iZRWHUX7Y2!qBKOIC^a#qSRpMlClwqd#h{dslvt9P
ztDpfgvN$=hAQhA*pgzt>%uC71%uCnYEM-4|gDq9T&C|zq^Ah(1jGK3QerLAIQOHQm
zDNraa&df^(CoWh7;E12})Dn;eeLJqrD}DEJY|af!<ET$nNXrL>JID-(y~PUUpfpli
zoSLGLm<CFniFuU@dHH#|5c$L$cmx$IWP)NVIU}<yRUx@3HL(Qj{?dXJ5Gyx7B~?#B
zAtWQUI29V8#o&}$kYAh$iqpg#1>eLxkS(CVRLIZEsYEimBqOl|>Nrs9%+*s+2*^oI
zEKbz{1!PeXIF*-Vq~<CV6y+DB7UfjxZN3m!$t_Tnnwwvis*sXdl$u<UUsO5SCM%n>
zxFoSeAwjiRee?XRI2k5mgUSEfY<Vqp4UBY+j1>$`tW3=(d$vmpnCluE=^9!p7+P2v
znra&uZZ2t$WMnncGte`ge5FGjnyEqg7)PE?&B;kEQYcQ%1LaAg^0iB9Nl7Be6X`{X
zxeAAu6e*+?Wy1JniA9Ne3JNZz3fYNy3c0!YDVb@RsYQtj`N<gyu*?nOr=;fTak-?H
zD5PcP<$)rmBvrxhaI3q&pF*&|uY!lGPjHBWyCW#ad+I2ZWai{3q@?C4q!%ToC=}=C
zD&!=lr{;mh4=*iAEz;xSV&Iy5en-yc^v;!xrs1hcNyV8di3(|lw-qUXvL)PWxQYNf
zz0G{xoy-cpsVO<Bxy5;jxp@kid3mWBhnIqb=uyL5J-tT_b2m@wD`2mG)G$}IShe_3
z!(4@u#3F^vy!6x(cw&HL^t7DB^z_6$1tg`Qz$z(AEvZb&Oeac_jzVHiNorAEVo7Eh
zq&$F_%7bj|WX5Ttj9inyPTeh~ke_{cNnVNqL=}?NT$9&KTd4yp6Ce)G0~ZU~@L~Z~
zbaT*j5vDX~$$%=wpc|r)b9hN{Y7wY(0Ebk5QA%QZQDR<+f(9ro@)R->^GZ^SK-o00
zOd&fzucRnHC#N_yy9`vv6e&QG9oU)qMVga)W@>EinR$bgQz0q8s037UY))K!opJNT
zr7A3bjyXBGhnM6jB<7WYJeOFMk#%@UP5~rt-Tgv!3yShVX%Uq62$dyzT${J7^x@ph
zzPXR9-tF+VoUFvWlvGG~<rl%MNG(=K1s5fGhnJ@3mnh^X<z%KOmgE;@7H1=(Ss@b?
z3hAj3hZJWg7J$uyc&)SmT&loAAh9SrvrJFHCAGLX5oTLGIP<_tm*S+<qWn~lV?bG@
z;PBG2)S~RfB8Akvl*Hl^h<noD4u;h^dJ2w^qNONNAtg0eAyc8~@RE`eh5VwFyv)3G
zJqAz~%K)W2P;6!9m82?^mVh%*YRTpedrNshwTkX3Wx<j}NYG~|mL%rnr>EvkzIaM_
qa=@u7jzk4eVN_Z?x$u<u=98!Nm^c48yGUU3?0YdRn}0mozzzU@W9RMw

delta 12876
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
U0*rc_?>>uRVbt4f`FaC80I)PSY5)KL

diff --git a/po/sv.po b/po/sv.po
index 605fced1..0e8b6aa7 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,16 +1,16 @@
 # Swedish messages for tar
-# Copyright © 1996, 2001, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2016 Free Software Foundation, Inc.
+# Copyright © 1996, 2001, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2017 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Jan Djärv <jan.h.d@swipnet.se>, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014
-# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2016
+# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2016, 2017
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-16 21:45+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-19 18:15+0100\n"
 "Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -19,7 +19,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.8.7.1\n"
+"X-Generator: Poedit 2.0.5\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -101,7 +101,7 @@ msgid "give a short usage message"
 msgstr "ge ett kort hjälpmeddelande"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAMN"
 
@@ -139,29 +139,29 @@ msgid "write error"
 msgstr "skrivfel"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: flaggan ”%s” är tvetydig\n"
+msgstr "%s: flaggan ”%s%s” är tvetydig\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: flaggan ”%s” är tvetydig, alternativ:"
+msgstr "%s: flaggan ”%s%s” är tvetydig, alternativ:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: okänd flagga ”%c%s”\n"
+msgstr "%s: okänd flagga ”%s%s”\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: flaggan ”%c%s” tar inget argument\n"
+msgstr "%s: flaggan ”%s%s” tar inget argument\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: flaggan ”--%s” kräver ett argument\n"
+msgstr "%s: flaggan ”%s%s” kräver ett argument\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -236,12 +236,12 @@ msgstr "^[yYjJ]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Paketerad av %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Paketerad av %s\n"
@@ -249,12 +249,11 @@ msgstr "Paketerad av %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -264,7 +263,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl."
+"Licens GPLv3+: GNU GPL version 3 eller senare <https://gnu.org/licenses/gpl."
 "html>.\n"
 "Detta program är fri programvara.  Du kan modifiera och distribuera den.\n"
 "Det finns inte NÅGON SOM HELST GARANTI, till den grad som lagen tillåter.\n"
@@ -407,15 +406,14 @@ msgid "%s home page: <%s>\n"
 msgstr "hemsida för %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "%s hemsida: <http://www.gnu.org/software/%s/>.\n"
+msgstr "Webbsida för %s: <https://www.gnu.org/software/%s/>.\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Allmän användarhjälp för GNU-programvara: <http://www.gnu.org/gethelp/>.\n"
+"Allmän användarhjälp för GNU-programvara: <https://www.gnu.org/gethelp/>.\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -534,189 +532,189 @@ msgstr "Kan inte omdirigera filer för fjärrskal"
 msgid "Cannot execute remote shell"
 msgstr "Kan inte exekvera fjärrskal"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Positioneringsriktning har ogiltigt värde"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Ogiltig sökriktning"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Ogiltigt positioneringsvärde"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Positioneringsvärde är utanför giltigt intervall"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Ogiltigt byte-antal"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Byte-antal är utanför giltigt intervall"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "För tidigt filslut"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Felaktig operationskod"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Operationsläge stöds inte"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Oväntade argument"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Styr en bandstation, acceptera kommandon från en fjärrprocess"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUMMER"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "sätt felsökningsnivå"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FIL"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "sätt felsökningsfilnamn"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
-msgstr "kan inte öppna ”%s”"
+msgstr "kan inte öppna %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "för många argument"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Okänt kommando"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Det här ser inte ut som ett tar-arkiv"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Summa lästa byte"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Summa skrivna byte"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Summa borttagna byte"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(rör)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Vägrar att läsa arkivinnehåll från terminal (saknad -f-flagga?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Vägrar att skriva arkivinnehåll till terminal (saknad -f-flagga?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Ogiltigt värde på record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Arkivnamn saknas"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan inte verifiera standard in/ut-arkiv"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkivet är komprimerat. Använd flaggan %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Komprimerade arkiv kan inte uppdateras"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Vid bandets början, avslutar nu"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "För många fel, avslutar"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Poststorlek = %lu block"
 msgstr[1] "Poststorlek = %lu block"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Block ej vid blockgräns (%lu byte) i arkivet"
 msgstr[1] "Block ej vid blockgräns (%lu byte) i arkivet"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Kunde inte söka bakåt i arkivfilen, den kan vara oläsbar utan -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek stannade inte på en postgräns"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: innehåller ogiltigt volymnummer"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Volymnummer flödade över"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Gör i ordning volym nummer %d för %s och tryck vagnretur: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Filslut vid förväntat användarsvar"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "VARNING: Arkivet är ofullständigt"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -727,66 +725,66 @@ msgstr ""
 " q              Avsluta programmet\n"
 " y eller nyrad  Fortsätt\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !              Starta ett underskal\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?              Skriv denna lista\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Ingen ny volym; avslutar.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Filnamn inte angivet, försök igen.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ogiltig indata. Skriv ? för hjälp.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "kommandot ”%s” misslyckades"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s fortsätter inte i denna volym"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s fortsätter möjligen i denna volym: huvudet innehåller ett trunkerat namn"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s har fel storlek (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Denna volym kommer inte i rätt ordning (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkivet är inte märkt för att stämma med %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volym %s överensstämmer inte med %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -794,210 +792,210 @@ msgstr ""
 "%s: filnamnet är för långt för att lagras i huvudet för ett GNU "
 "flervolymsarkiv, trunkerat"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "skrivning stannade inte på en blockgräns"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Kunde bara läsa %lu av %lu byte"
 msgstr[1] "Kunde bara läsa %lu av %lu byte"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Innehållet är olika"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Oväntat filslut i arkivet"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Filtyper är olika"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Rättigheterna är olika"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid är olika"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid är olika"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Modifieringstiderna är olika"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Storlekarna är olika"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Inte länkad till %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Symboliska länkar är olika"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Enhetsnummer är olika"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Verifierar "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: Okänd filtyp ”%c” jämförd som en normal fil"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arkivet innehåller filnamn med inledande prefix borttaget."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arkivet innehåller konverterade filnamn."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Verifiering kan misslyckas med att hitta originalfiler."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "VERIFIKATIONSFEL: %d felaktigt arkivhuvud upptäckt"
 msgstr[1] "VERIFIKATIONSFEL: %d felaktiga arkivhuvuden upptäckta"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Ett ensamt nollblock vid %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: innehåller en cachekatalog-tagg %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "%s är utanför intervallet för %s: %s..%s, byter till %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "%s är utanför intervallet för %s: %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Genererar negativa oktala värden i arkivhuvudet"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: filnamnet är för långt (max %d); inte arkiverad"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: filnamnet är för långt (kan ej delas); inte arkiverad"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: länknamn är för långt; inte arkiverad"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Fil krympte med %s byte, fyller ut med nolltecken"
 msgstr[1] "%s: Fil krympte med %s byte, fyller ut med nolltecken"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: filen finns på ett annat filsystem; inte arkiverad"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "innehållet inte arkiverat"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Okänd filtyp; filen ignorerad"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Det fattas länkar till %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: filen är oförändrad; inte arkiverad"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: filen är själva arkivet; inte arkiverad"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "katalog inte arkiverad"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: fil ändrades under tiden vi läste den"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socketfil ignorerad"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: door-fil ignorerad"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Hoppar till nästa filhuvud"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Tar bort icke-huvuddata från arkivet"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: orimligt gammal tidsstämpel %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: tidsvärde %s är %s sekunder i framtiden"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Oväntad inkonsistens när katalog skapades"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: hoppar över existerande fil"
@@ -1020,7 +1018,7 @@ msgstr "Försöker extrahera symboliska länkar som hårda länkar"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Kan inte extrahera -- filen fortsätter från en annan volym"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Oväntat huvud för långt filnamn"
 
@@ -1037,7 +1035,7 @@ msgstr "Nuvarande ”%s” är nyare eller lika gammal"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: Medlemsnamn innehåller ”..”"
 
 #: src/extract.c:1696
 #, c-format
@@ -1049,22 +1047,22 @@ msgstr "%s: Kunde inte säkerhetskopiera denna fil"
 msgid "Cannot rename %s to %s"
 msgstr "Kan inte byta namn på %s till %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Katalogen har bytt namn från %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Katalogen är ny"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: katalogen finns på ett annat filsystem; inte arkiverad"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Katalogen har bytt namn"
@@ -1191,35 +1189,35 @@ msgstr "%s: Tar bort %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Kan inte ta bort"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Utelämnad"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "block %s: ** Block av nolltecken **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "block %s: ** Filslut **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "block %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Blanka i huvud där numeriskt värde av typ %s förväntades"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1227,159 +1225,160 @@ msgstr ""
 "komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Arkivets oktala värde %.*s är utanför intervallet för %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkivet innehåller föråldrade ”base-64”-huvuden"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Arkivets ”base-64”-sträng ”%s” är utanför intervallet för %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Arkivets ”base-256”-värde är utanför intervallet för %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arkivet innehåller %.*s där ett numeriskt värde av typ %s förväntades"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Arkivets värde %s är utanför intervallet för %s: %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " länk till %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " okänd filtyp ”%s”\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lång länk--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Långt namn--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volymhuvud--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Fortsätter vid byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Skapar katalog:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Byter namn på %s till %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Kan inte byta namn till %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Byter namn på %s tillbaka till %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Fil borttagen innan vi läste den"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "barnprocess"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "interprocesskanal"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Lokalt filnamnsval:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "lägg till angiven FIL till arkivet (användbart om FIL börjar med ”-”)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "KATALOG"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "byt katalog till KATALOG"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "hämta namn att extrahera eller skapa från FIL"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 "-T läser namn åtskilda med nolltecken; implicerar --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "ta bort effekten av föregående --null-flagga"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "avcitera infil eller namnen i arkivet (standardvärde)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "avcitera inte infil eller namnen i arkivet"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T läser filnamn ordagrant (ingen flagghantering)"
+msgstr ""
+"-T läser filnamn ordagrant (ingen hantering av kontrollsekvenser eller "
+"flaggor)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T behandlar filnamn som startar med bindestreck som flaggor (standard)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MÖNSTER"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "utelämna filer som matchar MÖNSTER"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "utelämna filer som matchar mönster i FIL"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1387,23 +1386,23 @@ msgstr ""
 "utelämna innehållet i kataloger som innehåller CACHEDIR.TAG, förutom "
 "CACHEDIR.TAG själv"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "utelämna allt i kataloger som innehåller CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "utelämna kataloger som innehåller CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "utelämna innehållet i kataloger som innehåller FIL, förutom FIL själv"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "läs exkluderingsmönster för varje katalog från FIL om den finns"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1411,118 +1410,121 @@ msgstr ""
 "läs exkluderingsmönster för varje katalog och dess underkataloger från FIL "
 "om den finns"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "utelämna allting i kataloger som innehåller FIL"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "utelämna kataloger som innehåller FIL"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "utelämna kataloger från versionshanteringssystem"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "läs exkluderingsmönster från versionkontrollsystemets ”ignore”-filer"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "utelämna säkerhetskopior och låsfiler"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "gå rekursivt ned i kataloger (standardvärde)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "gå inte automatiskt ned i kataloger"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Flaggor för filnamnsmatchning (påverkar både uteslutnings- och "
 "inkluderingsmönster):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "mönster måste matcha i början på filnamn"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "mönster matchas efter ”/” i filnamn (standardvärde vid uteslutning)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "matcha gemener och versaler lika"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "matcha gemener och versaler olika (standardvärde)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "använd jokertecken (standardvärde för uteslutning)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "ordagrann strängjämförelse"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "jokertecken matchar ”/” (standardvärde för uteslutning)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "jokertecken matchar inte ”/”"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Följande flaggor användes efter något obligatoriskt argument i läge för "
+"skapande eller uppdatering av arkiv. Dessa flaggor är positionsberoende och "
+"påverkar endast efterföljande argument. Arrangera dem i rätt ordning."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s har ingen effekt"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s har ingen effekt"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s har ingen effekt"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "kommandorad"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: fillista begärd från %s redan läst från %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "kan inte dela sträng ”%s”: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: filnamnet som lästes innehåller nolltecken"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Mönstermatchningstecken används i filnamn"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1530,45 +1532,45 @@ msgstr ""
 "Använd --wildcards för att slå på mönstermatchning, eller --no-wildcards för "
 "att undertrycka denna varning"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Fanns inte i arkivet"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Nödvändig förekomst hittades inte i arkivet"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arkivmärkning stämmer inte överens"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr "Att används -C i en fillista är inte tillåtet med --listed-incremental"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Bara en -C-flagga är tillåtet med --listed-incremental"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Flaggorna ”%s” och ”%s” vill båda läsa från standard in"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Ogiltigt arkivformat"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU-tillägg önskade i ett inkompatibelt arkivformat"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1786,7 +1788,7 @@ msgstr "Välj utdataström:"
 msgid "extract files to standard output"
 msgstr "extrahera filer till standard ut"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "KOMMANDO"
 
@@ -1822,7 +1824,7 @@ msgstr "använd FIL för att mappa filägares UID och namn"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "använd FIL för att mappa filägares GID och namn"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ELLER-FIL"
 
@@ -1902,7 +1904,7 @@ msgid ""
 "until the end of extraction"
 msgstr ""
 "fördröj sättandet av modifikationstider och rättigheter på extraherade "
-"kataloger till slutet på arkivextraheringen."
+"kataloger till slutet på arkivextraheringen"
 
 #: src/tar.c:548
 msgid "cancel the effect of --delay-directory-restore option"
@@ -2032,7 +2034,7 @@ msgstr "omblocka vid läsning (för 4.2BSD-rör)"
 msgid "Archive format selection:"
 msgstr "Val av arkivformat:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -2116,59 +2118,59 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "filtrera genom PROG (måste förstå -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Filval:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "byt inte filsystem när arkivet skapas"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "tag inte bort inledande ”/” från namn"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "följ symboliska länkar, arkivera filerna de pekar på"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "följ hårda länkar, arkivera filerna de pekar på"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "NAMN"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "börja med fil NAMN när arkivet läses"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "arkivera bara filer nyare än DATUM-ELLER-FIL"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "jämför datum och tid endast för dataändringar"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "KONTROLL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "gör säkerhetskopior före borttagning, välj typ av versionshantering"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRÄNG"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2177,61 +2179,61 @@ msgstr ""
 "säkerhetskopieändelsen (”~” om inte ändrad med miljövariabeln "
 "SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Filnamnstransformationer:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "ta bort NUMMER stycken inledande komponenter från filnamn före extrahering"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "UTTRYCK"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "använd seds ersättnings-UTTRYCK för att transformera filnamn"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Informativ utskrift:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "visa namn på alla filer som behandlas"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "NYCKELORD"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "varningskontroll"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "visa förloppsmeddelande efter varje grupp om NUMMER poster (standardvärde 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ÅTGÄRD"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "utför ÅTGÄRD vid varje kontrollpunkt"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "visa ett meddelande om inte alla länkar arkiverats"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2240,37 +2242,37 @@ msgid ""
 msgstr ""
 "skriv totalt antal byte efter arkivet hanterats. Med ett argument skrivs "
 "totalt antal byte när SIGNAL levereras. Tillåta signaler är: SIGHUP, "
-"SIGQUIT, SIGINT, SIGUSR1 och SIGUSR2. Namn utan SIG-prefix accepteras också."
+"SIGQUIT, SIGINT, SIGUSR1 och SIGUSR2. Namn utan SIG-prefix accepteras också"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "visa filers modifieringstid i UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "visa full upplösning på filtider"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "skicka informativa meddelanden till FIL"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "visa blocknummer inom arkivet för varje meddelande"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "fråga efter bekräftelse för varje steg"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "visa standardvärden för ”tar”"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "visa giltiga intervall för fält i ögonblicksfil"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2278,31 +2280,31 @@ msgstr ""
 "vid visning eller extrahering, visa varje katalog som inte matchar "
 "sökkriterium"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "visa fil- eller arkivnamn efter transformering"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
-msgstr "sätt citatstil för namn. Se nedan för giltiga värden på STIL."
+msgstr "sätt citatstil för namn. Se nedan för giltiga värden på STIL"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "citera även tecken i STRÄNG"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "citera inte tecken i STRÄNG"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Kompatibilitetsflaggor:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2310,62 +2312,62 @@ msgstr ""
 "vid skapande, samma som --old-archive.  Vid extrahering, samma som --no-same-"
 "owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Andra flaggor:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "begränsa användningen av eventuellt farliga flaggor"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "flaggan ”%s” kan inte användas med ”%s”"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
 "Du kan endast ange en av flaggorna ”-Acdtrux, ”--delete” eller ”--test-label”"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Motstridiga komprimeringsflaggor"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Okänt signalnamn: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Tidsfil hittades inte"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Använder %s istället för okänt datumformat %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Flagga %s: Tolkar tidsangivelse ”%s” som %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "filtrera arkivet genom %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Giltiga argument till flaggan --quoting-style är:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2373,163 +2375,163 @@ msgstr ""
 "\n"
 "*Denna* tar har standardvärdena:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Ogiltig ägare eller grupp-id"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Ogiltig blockfaktor"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Ogiltig bandlängd"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Felaktigt värde för inkrementell nivå"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Mer än en datumgräns"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Ogiltig version för filer med hål"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve=\"system\" stöds inte på denna plattform"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint-värdet är inte ett heltal"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Ogiltiga rättigheter givna för flagga"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Ogiltigt nummer"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Ogiltig poststorlek"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Poststorlek måste vara en multipel av %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Ogiltigt antal element"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Endast en --to-command flagga tillåten"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Ogiltig densitetsangivelse: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Okänd densitet: ”%c”"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Flaggorna ”-[0-7][lmh]” stöds inte av *detta* tar-program"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: plats för felet"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "fel vid parsning av %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FIL]…"
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "argument som ej är flagga i %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "kan inte dela TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Gammal flagga ”%c” kräver ett argument."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence är meningslöst utan en fillista"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Multipla arkivfiler kräver ”-M” flaggan"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level är meningslös utan --listed-incremental"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Volymnamn är för långt (maxlängd är %lu byte)"
 msgstr[1] "%s: Volymnamn är för långt (maxlängd är %lu byte)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Flervolymsarkiv kan inte verifieras"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Komprimerade arkiv kan inte verifieras"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan inte använda komprimerade flervolymsarkiv"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimerade arkiv kan inte slås samman"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime behöver ett datum angivet med --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2537,128 +2539,137 @@ msgstr ""
 "Kan inte lista ut namnet på toppkatalogen, sätt det explicit med --one-top-"
 "level=KATALOG"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Volymlängden kan inte vara mindre än poststorleken"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vägrar fegt att skapa ett tomt arkiv"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Flaggorna ”-Aru” är inkompatibla med ”-f -”"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Du måste ange en av flaggorna ”-Acdtrux”, ”--delete” eller ”--test-label”"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Avslutar med felstatus på grund av tidigare fel"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Filen krympte med %s byte"
 msgstr[1] "%s: Filen krympte med %s byte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Nyckelordet %s är okänt eller inte ännu implementerat"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Tidsstämpel är utanför giltigt intervall"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Mönster %s kan inte användas"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Nyckelord %s kan inte ersättas"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Felaktigt utökat huvud: längd saknas"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Längd %.*s på utökat huvud är utanför giltigt intervall"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Felaktigt utökat huvud: blanktecken efter längdangivelse saknas"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Felaktigt utökat huvud: likamedtecken saknas"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Felaktigt utökat huvud: nyrad saknas"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ignorerar nyckelord ”%s” i utökat huvud"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Genererat nyckel/värde-par är för långt (nyckel=%s, längd=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Utökat huvud %s=%s är utanför intervallet %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Felaktigt utökat huvud: ogiltig %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Felaktigt utökat huvud: för många %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Felaktigt utökat huvud: ogiltigt %s: oväntad avskiljare %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Felaktigt utökat huvud: ogiltigt %s: udda antal värden"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: ogiltig timeout"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: okänd kontrollpunktsåtgärd"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "skriv"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "läs"
 
@@ -2666,7 +2677,7 @@ msgstr "läs"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Kontrollpunkt för skrivning %u"
@@ -2675,12 +2686,12 @@ msgstr "Kontrollpunkt för skrivning %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Kontrollpunkt för läsning %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2688,93 +2699,97 @@ msgstr ""
 "genfile bearbetar datafiler i testsviten för GNU paxutils.\n"
 "FLAGGOR är:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Flaggor för filskapande:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "STORLEK"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Skapa ett arkiv med given STORLEK"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Skriv till NAMN istället för till standard ut"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Läs filnamn från FIL"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T läser namn åtskilda med nolltecken"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "Fyll filen med givet MÖNSTER. MÖNSTER är \"default\" eller \"zeros\""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Storlek för ett block för filer med hål"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Generera fil med hål. Resten av kommandoraden ger filmappningen."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "POSITION"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Flytta till given position innan data skrivs"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Undertryck icke-ödesdigra diagnostiska meddelanden"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Flaggor för filstatistik:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Skriv innehållet i ”struct stat” för varje given fil. Standardvärde på "
 "FORMAT är: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Flaggor för synkron exekvering:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "FLAGGA"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Kör ARGUMENT. Användbart med --checkpoint och en av --cut, --append, --"
 "touch, --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Utför angiven åtgärd (se nedan) när kontrollpunkt NUMMER nås"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Sätt datum för nästa --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Visa exekverade kontrollpunkter och slutstatus på KOMMANDO"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2782,7 +2797,7 @@ msgstr ""
 "Synkront exekverade åtgärder. Dessa exekveras när kontrollpunktsnumret givet "
 "av flaggan --checkpoint nås."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2790,124 +2805,124 @@ msgstr ""
 "Trunkera FIL till storleken given av föregående flaggan --length (eller 0 om "
 "den inte är given)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Lägg till STORLEK byte till FIL.  STORLEK är given av föregående flagga --"
 "length."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Uppdatera access- och modifikationstider för FIL"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Exekvera KOMMANDO"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Ta bort FIL"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Ogiltigt storlek: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Nummer utanför giltigt intervall: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negativ storlek: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "status (stat) kunde ej tas på %s"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "begärd fillängd %lu, verklig %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "skapad fil har inte hål"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fel vid parsning av tal nära ”%s”"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Okänt datumformat"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGUMENT…]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "kan inte öppna ”%s”"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "kan inte flytta (seek)"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "filnamnet innehåller nolltecken"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "kan inte skapa filer med hål till standard ut, använd flaggan --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "felaktig mask (nära ”%s”)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Okänt fält ”%s”"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "kan inte sätta tid på ”%s”"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "kan inte trunkera ”%s”"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "kommando misslyckades: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "kan inte trunkera ”%s”"
+msgstr "kan inte ta status på ”%s”"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "kan inte sätta tid på ”%s”"
+msgstr "kan inte ta bort katalogen ”%s”"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "kan inte ta bort ”%s”"
@@ -2947,6 +2962,9 @@ msgstr "Kommandot avslutade\n"
 msgid "--stat requires file names"
 msgstr "--stat kräver filnamn"
 
+#~ msgid "OPTION"
+#~ msgstr "FLAGGA"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: Parameter från ARGP_HELP_FMT måste vara positiv"
 
diff --git a/po/tar.pot b/po/tar.pot
index 1201c8e1..25d2a369 100644
--- a/po/tar.pot
+++ b/po/tar.pot
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the GNU tar package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.30\n"
+"Project-Id-Version: GNU tar 1.32\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\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"
@@ -94,7 +94,7 @@ msgid "give a short usage message"
 msgstr ""
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
 
@@ -229,12 +229,12 @@ msgstr ""
 msgid "^[nN]"
 msgstr ""
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr ""
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr ""
@@ -242,11 +242,11 @@ msgstr ""
 #. 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr ""
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -494,189 +494,189 @@ msgstr ""
 msgid "Cannot execute remote shell"
 msgstr ""
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr ""
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr ""
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr ""
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr ""
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr ""
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr ""
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr ""
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr ""
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr ""
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr ""
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr ""
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr ""
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr ""
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr ""
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr ""
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr ""
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr ""
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr ""
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr ""
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr ""
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr ""
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr ""
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr ""
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr ""
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr ""
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr ""
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr ""
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr ""
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr ""
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr ""
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr ""
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr ""
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -684,274 +684,274 @@ msgid ""
 " y or newline  Continue operation\n"
 msgstr ""
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr ""
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr ""
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr ""
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr ""
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr ""
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr ""
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr ""
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr ""
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr ""
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr ""
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr ""
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr ""
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr ""
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr ""
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr ""
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr ""
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr ""
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr ""
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr ""
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr ""
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr ""
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr ""
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr ""
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr ""
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr ""
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr ""
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr ""
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr ""
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr ""
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr ""
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr ""
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr ""
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr ""
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr ""
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr ""
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr ""
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr ""
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr ""
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr ""
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr ""
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr ""
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr ""
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr ""
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr ""
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr ""
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr ""
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr ""
@@ -974,7 +974,7 @@ msgstr ""
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr ""
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr ""
 
@@ -1003,22 +1003,22 @@ msgstr ""
 msgid "Cannot rename %s to %s"
 msgstr ""
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr ""
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr ""
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr ""
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr ""
@@ -1142,371 +1142,371 @@ msgstr ""
 msgid "%s: Cannot remove"
 msgstr ""
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr ""
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr ""
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr ""
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr ""
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr ""
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr ""
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr ""
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr ""
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr ""
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr ""
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr ""
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr ""
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr ""
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr ""
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr ""
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr ""
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr ""
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr ""
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr ""
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr ""
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr ""
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr ""
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr ""
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr ""
 
-#: src/names.c:87
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr ""
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr ""
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr ""
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr ""
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr ""
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr ""
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr ""
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr ""
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr ""
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr ""
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr ""
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr ""
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr ""
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr ""
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr ""
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr ""
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1699,7 +1699,7 @@ msgstr ""
 msgid "extract files to standard output"
 msgstr ""
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr ""
 
@@ -1735,7 +1735,7 @@ msgstr ""
 msgid "use FILE to map file owner GIDs and names"
 msgstr ""
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr ""
 
@@ -1934,7 +1934,7 @@ msgstr ""
 msgid "Archive format selection:"
 msgstr ""
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr ""
 
@@ -2016,117 +2016,117 @@ msgstr ""
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr ""
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr ""
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2134,413 +2134,422 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr ""
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr ""
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr ""
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr ""
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr ""
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr ""
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr ""
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr ""
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr ""
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr ""
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr ""
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr ""
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr ""
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr ""
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr ""
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr ""
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr ""
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr ""
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr ""
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr ""
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr ""
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr ""
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr ""
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr ""
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr ""
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr ""
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr ""
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr ""
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr ""
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr ""
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr ""
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr ""
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr ""
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr ""
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr ""
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr ""
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr ""
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr ""
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr ""
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr ""
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr ""
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr ""
 
@@ -2548,7 +2557,7 @@ msgstr ""
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr ""
@@ -2557,227 +2566,227 @@ msgstr ""
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr ""
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr ""
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr ""
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr ""
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr ""
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr ""
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr ""
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr ""
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr ""
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr ""
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr ""
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr ""
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr ""
 
-#: tests/genfile.c:168
-msgid "OPTION"
+#: tests/genfile.c:163
+msgid "N"
 msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr ""
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr ""
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr ""
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr ""
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr ""
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr ""
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr ""
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr ""
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr ""
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr ""
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr ""
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, c-format
 msgid "cannot stat `%s'"
 msgstr ""
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, c-format
 msgid "cannot remove directory `%s'"
 msgstr ""
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr ""
diff --git a/po/tr.gmo b/po/tr.gmo
index c6be36e356fc8ea409a555d23d0e4a23b25e8aca..7caf2e82b5d9dde18e2e4375b6d90471f8b803e9 100644
GIT binary patch
delta 12232
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

delta 12488
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
avax8h$TEFCcGtu0u70lGn;p08wgLbKW&_y(

diff --git a/po/tr.po b/po/tr.po
index 020d7755..b7eb5539 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -3,12 +3,12 @@
 # This file is distributed under the same license as the tar package.
 # Nilgün Belma Bugüner <nilgun@buguner.name.tr>, 2001,..., 2007.
 # Volkan Gezer <vlkngzr@gmail.com>, 2013, 2017.
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.29\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
 "PO-Revision-Date: 2017-04-28 15:25+0100\n"
 "Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -99,7 +99,7 @@ msgid "give a short usage message"
 msgstr "kısa bir kullanım iletisi gösterilir"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "İSİM"
 
@@ -234,12 +234,12 @@ msgstr "^[eEyY]"
 msgid "^[nN]"
 msgstr "^[hHnN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "%s (%s) tarafından paketlenmiş\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "%s tarafından paketlenmiş\n"
@@ -247,11 +247,11 @@ 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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
+#: gnu/version-etc.c:85
 #, fuzzy
 msgid ""
 "\n"
@@ -529,189 +529,189 @@ msgstr "Uzak kabuk için dosyalar yönlendirilemiyor"
 msgid "Cannot execute remote shell"
 msgstr "Uzak kabuk çalıştırılamıyor"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Arama yönü kapsamdışı"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Geçersiz arama yönü"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Geçersiz arama başlangıcı"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Arama başlangıcı kapsamdışı"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Geçersiz bayt sayısı"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Bayt aralığı aralık dışında"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Erken dosya sonu"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Geçersiz işlem kodu"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "İşlem desteklenmiyor"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Beklenmeyen argümanlar"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Uzak bir işlem komutları kabul eden, bir kaset sürücüsü değiştir"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "SAYI"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "hata ayıklama seviyesini ayarla"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "DOSYA"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "hata ayıklama çıktı dosyasının adını ayarla"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "%s açılamıyor"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "argüman sayısı çok fazla"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Bozuk komut"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Bu bir tar arşivi gibi görünmüyor"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Okunan toplam bayt"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Yazılan toplam bayt"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Silinen toplam bayt"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(boru)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Uçbirimden arşiv içeriğini okuma reddediliyor (-f seçeneği eksik?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Uçbirime arşiv içeriğini yazma reddediliyor (-f seçeneği eksik?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "record_size için geçersiz değer"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Arşiv ismi verilmemiş"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "stdG/stdÇ arşivi doğrulanamaz"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Aeşiv sıkıştırılmış. %s seçeneğini kullanın"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Sıkıştırılmış arşivler güncellenemez"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Bandın başlangıcında, şimdilik çıkıyor"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Çok hata var, çıkıyor"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Kayıt uzunluğu = %lu blok"
 msgstr[1] "Kayıt uzunluğu = %lu blok"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Arşivde hizalanmamış blok (%lu bayt)"
 msgstr[1] "Arşivde hizalanmamış blok (%lu bayt)"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Arşiv dosyası geri alınamaz; -i olmaksızın okunamayabilir"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek bir kaydın sınırında durmadı"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: geçersiz bölüm numarası içeriyor"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Bölüm numarası kapsamdışı"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "#%d. bölümü %s için hazırlamak istiyorsanız return tuşuna basınız: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Kullanıcı cevabı beklenirken dosya sonuna gelindi"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "UYARI: Arşiv eksik"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -722,276 +722,276 @@ msgstr ""
 " q                   Uygulama sonlandırılır\n"
 " y veya <enter>      İşlem sürdürülür\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !                   bir alt kabuk açılır\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?                    Bu listeyi basar\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Yeni bölüm yok; çıkıyor.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Dosya ismi belirtilmemiş. Tekrar deneyin.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Girdi geçersiz, Yardım için ? yazın.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s komutu başarısız"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s bu bölümde devam etmiyor"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s belki de bu bölümde devam ediyor: başlıktaki isim kırpılmış"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s yanlış uzunluk (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Bu hacim sıranın dışında (% s -% s =% s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arşiv etiketi %s ile eşleşmiyor"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s bölümü %s ile eşleşmiyor"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 "%s: dosya ismi GNU çoklu bölüm başlığında saklanamayacak kadar uzun, kırpıldı"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "yazma bir blok sınırında bitmiyor"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Sadece %2$lu baytın %1$lu baytı okunabildi"
 msgstr[1] "Sadece %2$lu baytın %1$lu baytı okunabildi"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "İçerikler farklı"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Arşivde beklenmeyen dosya sonu"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Dosya türleri farklı"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Kipleri farklı"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Kullanıcı-kimlikler farklı"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Grup-kimlikler farklı"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Değişiklik zamanları farklı"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Uzunlukları farklı"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "%s'e bağlı değil"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Sembolik bağlar farklı"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Aygıt numaraları farklı"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Doğrulama "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: '%c' dosya türü bilinmiyor, normal dosya olarak karşılaştırıldı"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Arşivdeki dosya isimleri dosya yolu içermiyor."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Arşiv dönüştürülmüş dosya adları içeriyor."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Doğrulama, özgün dosyaların konumlanmasında başarısız olabilir."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "DOĞRULAMA BAŞARISIZ: %d geçersiz başlık saptandı"
 msgstr[1] "DOĞRULAMA BAŞARISIZ: %d geçersiz başlık saptandı"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "%s de tek başına sıfır bloğu"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: %s arabellekleme dizini yaftasını içeriyor; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr ""
 "%1$s değeri, %3$s..%4$s aralığının %2$s dışında; yerine %5$s kullanılıyor"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "%1$s değeri, %3$s..%4$s aralığının %2$s dışında"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Negatif sekizlik başlık üretiliyor"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: dosya ismi çok uzun (en çok %d olabilir); dökümlenmedi"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: dosya ismi çok uzun (parçalanamıyor); dökümlenmedi"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: bağ ismi çok uzun; dökümlenmedi"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor"
 msgstr[1] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: dosya farklı bir dosya sisteminde; dökümlenmedi"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "içerik dökümlenmedi"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Bilinmeyen dosya türü; dosya yoksayıldı"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "%s için bağlar kayıp."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: dosya değişmedi; dökümlenmedi"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: dosya arşivdir; dökümlenmedi"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "dizin dökümlenmedi"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: dosya okundu olarak imlendi"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: soket yoksayıldı"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: kapı yoksayıldı"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Sonraki başlığa atlanıyor"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Arşivden başlık-olmayan siliniyor"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: makul olmayan eski tarih damgası %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: zaman damgası %s %s s gelecekte"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Dizin oluşturulurken anlaşılamayan uyumsuzluk"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: varolan dosya atlanıyor"
@@ -1014,7 +1014,7 @@ msgstr "Sembolik bağlar, sabit bağlar olarak çıkarılmaya çalışılıyor"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Dosya çıkarılamaz -- dosyanın başı diğer bölümde"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Umulmadık uzun isim başlığı"
 
@@ -1043,22 +1043,22 @@ msgstr "%s: Bu dosyayı yedeklemek mümkün olmadı"
 msgid "Cannot rename %s to %s"
 msgstr "%s ismi %s olarak değiştirilemez"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Dizinin eski adı %s idi"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Dizin yeni"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: dizin farklı bir dosya sisteminde; dökümlenmedi"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Dizin adı değiştirilmişti"
@@ -1184,35 +1184,35 @@ msgstr "%s: %s siliniyor\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Kaldırılamaz"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Geçiliyor"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "blok %s: ** NUL bloku **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Dosya Sonu **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Sayısal %s değeri beklenirken başlıkta boşluklar bulundu"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1220,303 +1220,303 @@ msgstr ""
 "ediliyor"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Arşiv sekizlik değeri %.*s aralığın %s dışında"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arşiv atıl base-64 başlıklar içeriyor"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Arşiv imzalı base-64 dizge %s, %s aralığının dışında"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Arşiv base-256 değeri %s aralığının dışında"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arşiv %.*s içeriyor, halbuki orada sayısal %s değeri bekleniyor"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Arşiv değeri %s %s türünün %s..%s aralığının dışında"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " bağı -> %s \n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " bilinmeyen dosya türü %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Uzun  Bağ--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Uzun İsim--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Bölüm Başlığı--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Devamı bayt %s de--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Oluşturulan dizin:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "%s %s olarak değiştiriliyor\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: İsmi %s olarak değiştirilemez"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Gerisin geriye %s %s olarak değiştiriliyor\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Dosya okunamadan kaldırıldı"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "alt süreç"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "süreçlerarası kanal"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Yerel dosya adı seçimi:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "belirtilen DOSYA arşive eklenir (isim bir tire ile başlıyorsa kullanışlıdır)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DİZİN"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "DİZİN dizinine geçilir"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "çıkarılacak ya da oluşturulacak isimler DOSYAdan alınır"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 "-T boş karakter sonlandırmalı isimleri okur, --verbatim-files-from anlamına "
 "gelir"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "önceki --null seçeneği etkisini devre dışı bırak"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "girdi dosyası veya üye adlarında tırnakları kaldır (varsayılan)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "girdi dosyası veya üye adlarında tırnakları kaldırma"
 
-#: src/names.c:87
+#: src/names.c:86
 #, fuzzy
 msgid "-T reads file names verbatim (no escape or option handling)"
 msgstr "-T dosya adlarını harfiyen okur (seçenek işleme yok)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T çizgi ile başlayan dosya adlarını seçenek olarak kabul eder (varsayılan)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ŞABLON"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "belirtilen ŞABLONa uyan dosyalar hariç tutulur"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "DOSYAdaki şablonlara uyan isimler hariç tutulur"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "yafta dosyası hariç, CACHEDIR.TAG içeren dizinler dışlanır"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG içeren dizinlerin altındaki herşey hariç tutulur"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG içeren dizinler hariç tutulur"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "DOSYA'nın kendisi hariç, DOSYA içeren dizinlerin içerikleri hariç tutulur"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "mevcutsa, DOSYAdan her dizin için dışta tutulma kalıbını oku"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr ""
 "mevcutsa, DOSYAdan her dizin ve alt dizini için dışta tutulma kalıbını oku"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "DOSYA içeren dizinlerin altındaki herşey hariç tutulur"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "DOSYA içeren dizinler hariç tutulur"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "sürüm denetimi sistem dizinlerini hariç tut"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "VCS yoksayma dosyalarından dışta tutma kalıplarını oku"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "yedek ve kilit dosyalarını hariç tut"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "dizinlerin alt dizinlerine inilir (öntanımlı)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "dizinlerde özdevinimli olarak azalan sıralamadan kaçınılır"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Dosya ismi eşleştirme seçenekleri\n"
 "(içerme ve dışlama kalıplarının her ikisi de etkili):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "dosya isminin başlangıcına uyan kalıplar"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr ""
 "bir '/' işaretinden sonra şablonla eşleşen kalıplar (dışlama için öntanımlı)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "harf büyüklükleri önemsenmez"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "harf büyüklüklerine duyarlı eşleşme (öntanımlı)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "genelleme kalıpları kullanılır (dışlama için öntanımlı)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "birebir dizge eşleme"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "'/' ile eşleşen genelleme kalıpları (dışlama için öntanımlı)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "'/' ile eşleşmeyen genelleme kalıpları"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr ""
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr ""
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr ""
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "komut satırı"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: %s dosyasından istenen dosya listesi zaten %s dosyasından okundu"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "'%s' dizgesi ayrılamıyor: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: okunan dosya ismi boş karakter içeriyor"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Kalıp eşleme karakterleri dosya isimlerinde kullanılmış"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1524,48 +1524,48 @@ msgstr ""
 "Lütfen ya kalıp eşlemeyi etkin kılmak için --wildcards ya da bu uyarıyı "
 "yoksaymak için --no-wildcards kullanın."
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Arşivde yok"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Arşivde bulunması gerekirken yok"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Arşiv etiketi uyumsuzluğu"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Bir dosya listesi içerisinde --listed-incremental ile -C seçeneği kullanmaya "
 "izin verilmiyor"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 "--listed-incremental seçeneği ile sadece bir -C seçeneği kullanılabilir"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "'-%s' ve '-%s' seçeneklerinin ikisi de standart girdi istiyor"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Geçersiz arşiv biçimi"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "GNU özellikleri ile uyumsuz arşiv biçimi"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1782,7 +1782,7 @@ msgstr "Çıktı akımını seçiniz:"
 msgid "extract files to standard output"
 msgstr "dosyalar standart çıktıya çıkarılır"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "KOMUT"
 
@@ -1818,7 +1818,7 @@ msgstr "sahip kullanıcı kimliği ve adlarını eşlemek için DOSYA kullan"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "sahip grup kimliği ve adlarını eşlemek için DOSYA kullan"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DOSYA-TARİHİ"
 
@@ -2030,7 +2030,7 @@ msgstr "okunmuş olarak yeniden bloklanır (4.2 BSD boruları için)"
 msgid "Archive format selection:"
 msgstr "Arşiv biçimi seçimi:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "BİÇİM"
 
@@ -2114,62 +2114,62 @@ msgstr "UYG"
 msgid "filter through PROG (must accept -d)"
 msgstr "arşivi UYG üzerinden geçirir (UYG -d kabul etmeli)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Yerel dosya seçimi:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "arşiv oluşturulurken yerel dosya sisteminde kalınır"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "dosya isimlerinin başındaki '/' işaretlerini ayıklama"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "sembolik bağlar izlenir; hedeflerindeki dosyalar arşivlenir ve dökümlenir"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "sembolik bağları izle; hedeflerindeki dosyaları arşivle ve şuraya atıfta "
 "bulunan dosyaları dökümle"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "ÜYE-İSMİ"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "arşivi okurken üye MEMBER-NAME ile başla"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "sadece DOSYA-TARİHİnden daha yeni dosyalar saklanır"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "TARİH"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "sadece veri değişecekse tarih ve saat karşılaştırılır"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "DENETİM"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "kaldırılmadan önce DENETİM sürümü seçilerek yedeklenir"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "DİZGE"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2177,59 +2177,59 @@ msgstr ""
 "kaldırmadan önce uygun sonekle yedekleme yapılır (SIMPLE_BACKUP_SUFFIX ortam "
 "değişkeni ile belirlenmemişse sonek olarak '~' kullanılır"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Dosya ismi dönüşümleri:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "çıkarılırken dosya isimlerinden baştaki SAYI bileşen ayrılır"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "İFADE"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "dosya isimleri dönüştürülürken sed değiştirme İFADEsi kullanılır"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Bilgilendirme çıktısı:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "işlenen dosyalar ayrıntılı listelenir"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "ANAHTAR SÖZCÜK"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "uyarı denetimi"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "her SAYIncı kayıtta gelişim iletisi gösterilir (öntanımlı: 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "İŞLEM"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "her kontrol noktasında İŞLEM çalıştır"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "tüm bağlar dökümlenmezse bir ileti basılır"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SiNYAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2240,87 +2240,87 @@ msgstr ""
 "alındığında bayt toplamını basar; İzin verilen sinyaller: SIGHUP, SIGQUIT, "
 "SIGINT, SIGUSR1 ve SIGUSR2; SIG ile başlamayanları da kabul edilir"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "dosya değişiklik zamanlarını UTC'ye göre bas"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "tüm çözünürlüğü kullanarak dosya zamanını bas"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "ayrıntılı çıktı DOSYAya gönderilir"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "her iletide arşiv içindeki blok sayısı gösterilir"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "her eylemden önce doğrulama istenir"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "tar öntanımlıları gösterilir"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "Anlık görüntü dosyası alanları için geçerli aralıkları göster"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 "listeleme ya da çıkarma sırasında arama koşuluna uymayan dizinler listelenir"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "dönüşümden sonra dosya ve arşiv isimlerini gösterir"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "ŞEKİL"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "sarmalama şeklinin ismi; geçerli ŞEKİL değerleri için aşağıya bakınız"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "DİZGEdeki sarmalama karakterlerine ek olarak"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "DİZGEdeki karakterler için sarmalamayı iptal eder"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Uyumluluk seçenekleri:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "oluştururken --old-archive ile, çıkarırken --no-same-owner ile aynı"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Diğer seçenekler:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "bozuculuk olasılığı olan bazı seçeneklerin kullanımı iptal edilir"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s', '%s' ile kullanılamaz"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2328,40 +2328,40 @@ msgstr ""
 "Birden fazla '-Acdtrux', '--delete' veya '--test-label' seçeneği "
 "belirtemezsiniz"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Sıkıştırma seçenekleri çelişiyor"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Bilinmeyen  sinyal ismi: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Tarih örnekleri dosyası bulunamadı"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Bilinmeyen tarih biçemi %2$s yerine %1$s kullanılıyor"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Seçenek %s: '%s' tarihi %s olarak ele alınıyor"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "arşivi %s üzerinden filtrele"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style seçeneği için geçerli argümanlar:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2369,163 +2369,163 @@ msgstr ""
 "\n"
 "*Bu* tar için öntanımlılar:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Geçersiz kullanıcı veya grup kimliği"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Bloklama çarpanı geçersiz"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Kayıt ortamının uzunluğu geçersiz"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Geçersiz arttırımlı seviye değeri"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Birden fazla eşik tarihi"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Seyrek sürüm değeri geçersiz"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' seçeneği bu platformda desteklenmiyor"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint değeri bir tamsayı değil"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Seçenekte verilen kip geçersiz"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Sayı geçersiz"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Kayıt uzunluğu geçersiz"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Kayıt uzunluğu %d nin katları olmalı"
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Elemen sayısı geçersiz"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Sadece tek bir --to-command seçeneği kullanılabilir"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Hatalı yoğunluk argümanı: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Bilinmeyen yoğunluk: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "'-[0-7][lmh]' seçeneği *bu* tar ile desteklenmiyor"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: dosya konum hatası"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "%s ayrıştırılırken hata oluştu"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[DOSYA]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "%s içinde seçenek olmayan argümanlar"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "TAR_OPTIONS parçalanamıyor: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Eski seçenek '%c' bir argümanla kullanılır."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence bir dosya listesi olmaksızın anlamlı değil"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Çok sayıda arşiv dosyası '-M' seçeneği gerektirir"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--listed-incremental olmadan --level anlamsızdır"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Bölüm etiketi çok uzun (sınır: %lu bayt)"
 msgstr[1] "%s: Bölüm etiketi çok uzun (sınır: %lu bayt)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Çok sayıda bölüm içeren arşivler doğrulanamaz"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Sıkıştırılmış arşivler doğrulanamaz"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Çok sayıda bölüm içeren sıkıştırılmış arşivler kullanılamıyor"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Sıkıştırılmış arşivler birleştirilemez"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime, --mtime ile belirtilmiş bir tarihe ihtiyaç duyuyor"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2533,129 +2533,138 @@ msgstr ""
 "Üst düzey dizin adı çıkarılamıyor; lütfen açıkça --one-top-level=DİZİN ile "
 "ayarlayın"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Hacim uzunluğu kayıt boyutundan daha az olamaz"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Bir boş arşivin oluşturulması ister istemez reddediliyor"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "'-Aru' seçenekleri '-f -' ile uyumsuz"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Aynı anda '-Acdtrux', '--delete' veya '--test-label' seçeneklerinin sadece "
 "birini kullanmalısınız"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Önceki hatalar nedeniyle başarısız durumla çıkılıyor"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Dosya %s baytta kırpılmış"
 msgstr[1] "%s: Dosya %s baytta kırpılmış"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "%s anahtar sözcüğü ya bilinmiyor ya da henüz gerçeklenmemiş"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Zaman damgası izin verilen aralığın dışında"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "%s şablonu kullanılamıyor"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "%s anahtar sözcüğü çakıştırılamaz"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Ek başlık bozuk: uzunluk eksik"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Ek başlık uzunluğu %*s aralık dışında"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Ek başlık bozuk: uzunluktan sonra boşluk yok"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Ek başlık bozuk: eşit işareti eksik"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Ek başlık bozuk: satırsonu eksik"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Bilinmeyen ek başlık anahtar sözcüğü '%s' yoksayılıyor"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Üretilen isim/değer çifti çok uzun (isim=%s, uzunluk=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Ek başlık %s=%s, %s..%s aralığının dışında"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Ek başlık bozuk: %s=%s geçersiz"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Ek başlık bozuk: %s=%s aşırıya kaçmış"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Ek başlık bozuk: %s geçersiz: umulmadık %c ayracı"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Ek başlık bozuk: %s geçersiz: değerler tek sayıda"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: geçerli bir zaman çıktısı değil"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: bilinmeyen kontrol noktası işlemi"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "yazma"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "okuma"
 
@@ -2663,7 +2672,7 @@ msgstr "okuma"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Yazma sınama yeri %u"
@@ -2672,12 +2681,12 @@ msgstr "Yazma sınama yeri %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Okuma sınaması yeri %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2685,94 +2694,98 @@ msgstr ""
 "genfile, GNU paxutils deneme araçları için veri dosyalarını işleme sokar.\n"
 "SEÇENEKLER:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Dosya oluşturma seçenekleri:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "BOYUT"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Dosya belirtilen BOYUTta oluşturulur"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Dosyalar standart çıktı yerine İSİM dosyasına yazılır"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Dosya isimleri DOSYAdan okunur"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T boş karakter sonlandırmalı isimleri okur"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Dosyayı belirtilen ŞABLON ile doldurur. ŞABLON 'default' veya 'zeros' "
 "olabilir"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Seyrek dosyalar için blok boyu"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Seyrek dosya üretilir. Komut satırının kalanı dosya eşlemini verir."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "KONUM"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Veriyi yazmadan önce belirtilen konuma gider"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Ölümcül olmayan tanı mesajlarını gizle"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Dosya istatistikleri seçenekleri:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "Belirtilen her dosya için stat yapısının içeriğini basar. Öntanımlı BİÇİM: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "İcra eşzamanlama seçenekleri:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "SEÇENEK"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Belirtilen ARGları çalıştır. --checkpoint ile ve --cut, --append, --touch "
 "seçeneklerinden biri ile birlikte kullanışlıdır"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Sınama SAYIsı aşıldığında belirtilen eylem uygulanır (aşağıya bakınız)"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Sonraki --touch seçeneği için tarih ayarlanır"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "İcra edilen sınamalar ve KOMUTun çıkış durumu gösterilir"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2780,131 +2793,131 @@ msgstr ""
 "Çalıştırma eylemlerini eşzamanlar. Bunlar --checkpoint seçeneği ile "
 "belirtilen sayı aşıldığında çalıştırılırlar."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
 "DOSYA --length seçeneği ile belirtilen boyutta kırpılır (belirtilmemişse 0)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "DOSYAya BOYUT bayt eklenir. BOYUT evvelce --length seçeneği ile belirtilir."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "DOSYAnın değişiklik ve erişim zamanları güncellenir"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "KOMUT çalıştırılır"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr ""
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Geçersiz boyut: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Numara izin verilen aralığın dışında: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Negatif boyut: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) başarısız"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "istenen dosya uzunluğu %lu, asıl %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "oluşturulan dosya seyrek değil"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Sayı çözümlenirken `%s' civarında hata"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Bilinmeyen tarih biçimi"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGÜMANLAR...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' açılamıyor"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "konumlanamıyor"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "dosya ismi boş karakter içeriyor"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "seyrek dosyalar standart çıktıda üretilemez, --file seçeneğini kullanın"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "kalıp yanlış (`%s' yakınında)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Bilinmeyen alan `%s'"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "zaman `%s' olarak ayarlanamaz"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "`%s' parçalanamıyor"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "komut başarısız: %s"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, fuzzy, c-format
 msgid "cannot stat `%s'"
 msgstr "`%s' parçalanamıyor"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, fuzzy, c-format
 msgid "cannot remove directory `%s'"
 msgstr "zaman `%s' olarak ayarlanamaz"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "`%s' bağlantısı kesilemiyor"
@@ -2944,6 +2957,9 @@ msgstr "Komut sonlandı\n"
 msgid "--stat requires file names"
 msgstr "--stat seçeneği dosya isimleri gerektirir"
 
+#~ msgid "OPTION"
+#~ msgstr "SEÇENEK"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT parametresi pozitif olmalı"
 
diff --git a/po/uk.gmo b/po/uk.gmo
index 64e388892776d0d5c8f23f7e37bdc0dfb6a53235..6a1bdb7114aea643159ae4599451cac6388cc594 100644
GIT binary patch
delta 14350
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
S5FniQznpXu-t2xiBpm>>UZ=AF

delta 13019
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
X!h#DEF3h<w^}?bH3pRT{jz|Xpib5oV

diff --git a/po/uk.po b/po/uk.po
index fcd998d7..0a16fce7 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -2,15 +2,15 @@
 # This file is distributed under the same license as the tar package.
 # Copyright (C) 2017 Free Software Foundation, Inc.
 #
-# Sergey Poznyakoff <gray@gnu.org>, 2005-2010, 2016, 2017
-# Yuri Chornoivan <yurchor@ukr.net>, 2014.
-#: src/create.c:1599
+# Sergey Poznyakoff <gray@gnu.org>, 2005-2010, 2016, 2017.
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2018.
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2017-12-17 13:06+0200\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-06-26 08:31+0200\n"
 "Last-Translator: Sergey Poznyakoff <gray@gnu.org>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -20,6 +20,7 @@ msgstr ""
 "X-Bugs: Report translation errors to the Language-Team address.\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: Lokalize 2.0\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -97,7 +98,7 @@ msgid "give a short usage message"
 msgstr "вивести коротке повідомлення про використання"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "НАЗВА"
 
@@ -135,29 +136,29 @@ msgid "write error"
 msgstr "помилка запису"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: неоднозначна опція «%s%s»\n"
+msgstr "%s: неоднозначний параметр «%s%s»\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: неоднозначна опція «%s%s»; можливі варіанти:"
+msgstr "%s: неоднозначний параметр «%s%s»; можливі варіанти:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: невідома опція «%s%s»\n"
+msgstr "%s: невідомий параметр «%s%s»\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: опція «%s%s» не може мати аргументу\n"
+msgstr "%s: параметр «%s%s» не може мати аргументу\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: опція «%s%s» вимагає аргументу\n"
+msgstr "%s: параметр «%s%s» вимагає аргументу\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -232,12 +233,12 @@ msgstr "^[yYтТ]"
 msgid "^[nN]"
 msgstr "^[nNнН]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Запаковано %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Запаковано %s\n"
@@ -245,12 +246,11 @@ msgstr "Запаковано %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -260,12 +260,12 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Ліцензія GPLv3+: GNU GPL версії 3 або пізнішої <http://gnu.org/licenses/gpl."
-"html>\n"
-"Це вільне програмне забезпечення: ви можете змінювати та розповсюджувати "
+"Умови ліцензування викладено у GPLv3+: GNU GPL версії 3 або новішій, "
+"<https://gnu.org/licenses/gpl.html>\n"
+"Це вільне програмне забезпечення: ви можете вільно змінювати і поширювати "
 "його.\n"
-"Не надається ЖОДНИХ ГАРАНТІЙ в межах дозволених правом.\n"
-"\n"
+"Вам не надається ЖОДНИХ ГАРАНТІЙ, окрім гарантій передбачених "
+"законодавством.\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: gnu/version-etc.c:102
@@ -400,15 +400,14 @@ msgid "%s home page: <%s>\n"
 msgstr "домашня сторінка %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "домашня сторінка %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "домашня сторінка %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr ""
-"Загальна допомога щодо використання ПЗ GNU: <http://www.gnu.org/gethelp/>\n"
+"Загальна допомога щодо використання ПЗ GNU: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -530,147 +529,147 @@ msgstr "Переспрямовування файлів для віддален
 msgid "Cannot execute remote shell"
 msgstr "Не вдалося запустити віддалену оболонку"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Напрямок зміщення за межами діапазону"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Помилковий напрям пошуку"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Помилковий зсув у файлі"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Зміщення за межами діапазону"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Помилкова кількість байтів"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Кількість байтів за межами діапазону"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Передчасне закінчення файла"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Некоректний код операції"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Операція не підтримується"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Неочікувані аргументи"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Керує стрічковим пристроєм, отримуючи команди від віддаленого процесу"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "ЧИСЛО"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "встановити рівень налагоджування"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "встановити назву файла для виходу налагоджування"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "не вдалося відкрити %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "забагато аргументів"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Хибна команда"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Це не схоже на архів tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Прочитано байтів загалом"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Записано загалом"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Загальна кількість вилучених байтів"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr ""
 "Відмовляємося читати вміст архіву з термінала (не вказано параметр -f?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr ""
 "Відмовляємося записувати вміст архіву до термінала (пропущено параметр -f?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Недійсне значення record_size"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Не вказано назви архіву"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Неможливо перевіряти архів, записаний до stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архів стиснено. Використовуйте параметр %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Не можна оновлювати стиснені архіви"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "На початку стрічки, закінчуємо"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Надто багато помилок, виконання перервано"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -678,7 +677,7 @@ msgstr[0] "Розмір запису = %lu блок"
 msgstr[1] "Розмір запису = %lu блоки"
 msgstr[2] "Розмір запису = %lu блоків"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
@@ -686,39 +685,39 @@ msgstr[0] "Невірне вирівнювання блоку (%lu байт) в
 msgstr[1] "Невірне вирівнювання блоку (%lu байти) в архіві"
 msgstr[2] "Невірне вирівнювання блоку (%lu байтів) в архіві"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Не вдалося переміститись назад у архіві; можливо архів не можна прочитати "
 "без параметра -i"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek не зупинився на межі запису"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: містить некоректний номер тому"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Переповнення номера тому"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Підготуйте том #%d архіву %s ї натисніть Enter: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Кінець файла, замість очікуваної відповіді"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "ПОПЕРЕДЖЕННЯ: незавершений архів"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -729,66 +728,66 @@ msgstr ""
 " q          Перервати роботу\n"
 " у або новий рядок  Продовжувати\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !          Викликати оболонку\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?          Вивести цю довідку\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Новий том відсутній. Завершення.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Не вказано назви файла. Спробуйте ще раз.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Недійсні вхідні дані. Наберіть ? щоб отримати підказку.\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "збій виконання команди «%s»"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s не продовжується у цьому томі"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s можливо продовжується у цьому томі: заголовок містить обрізану назву"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s є неправильним розміром (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Цей том є за межами послідовності (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Назви тому відсутня в архіві. Не можна порівняти з %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Етикетка тому %s не співпадає з %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -796,11 +795,11 @@ msgstr ""
 "%s: назва файла надто довга щоб зберегти її у заголовку тому GNU; назву "
 "обрізано"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "запис не закінчився на межі блоку"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
@@ -808,76 +807,76 @@ msgstr[0] "Вдалося прочитати тільки %lu з %lu байта"
 msgstr[1] "Вдалося прочитати тільки %lu з %lu байтів"
 msgstr[2] "Вдалося прочитати тільки %lu з %lu байтів"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Різниця у змісті"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Неочікуваний кінець файла в архіві"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Різниця у типі файла"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Різниця у правах доступу"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Різниця у значенні UID"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Різниця у значенні GID"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Різниця у часі модифікації"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Різниця у розмірі"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Не є посиланням до %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Різниця у символічному посиланні"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Різниця у номері пристрою"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Перевірка "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s: невідомий тип файла «%c», порівняно як звичайний файл"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Архів містить назви файлів з вилученими початковими префіксами."
 
 # FIXME: base=64?
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "У архіві містяться перетворені назви файлів."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Перевірка може не знайти первинних файлів."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
@@ -885,47 +884,47 @@ msgstr[0] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d некорек
 msgstr[1] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовки"
 msgstr[2] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовків"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Самотній блок нулів, зсув %s"
 
 # Не подобається мені це "кешування"...
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: містить мітку каталогу кешування «%s»; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "Значення %s поза межами діапазону типа %s %s..%s; заміна на %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "значення %s за межами діапазону типа %s %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Створення від'ємних вісімкових заголовків"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: назва файла занадто довга (макс. %d); не архівується"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: назва файла занадто довга (не вдалося розділити); не архівується"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: назва посилання занадто довга; не архівується"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
@@ -933,79 +932,79 @@ msgstr[0] "%s: Файл скоротився на %s байт; заповнен
 msgstr[1] "%s: Файл скоротився на %s байти; заповнення нулями"
 msgstr[2] "%s: Файл скоротився на %s байтів; заповнення нулями"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл знаходиться в іншої файлової системі; не архівується"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "вміст не архівується"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Невідомий тип файла; Файл проігноровано"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Відсутні деякі посилання до %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: файл не змінено; не архівується"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: файл є архівом; не архівується"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "каталог не архівується"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: файл змінився під час читання"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: сокет проігноровано"
 
 # FIXME: door?
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: двері проігноровано"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Перехід до наступного заголовка"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Видалення не-заголовка з архіву"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: неймовірно стара дата %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: мітка часу %s зсунута на %s сек. до майбутнього"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Неочікувана суперечність під час створення каталогу"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: пропускаємо наявний файл"
@@ -1028,7 +1027,7 @@ msgstr "Спроба перетворити символічні посилан
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: не вдалося витягнути -- файл починається в іншому томі"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Неочікуваний кінець файла у заголовку довгої назви"
 
@@ -1058,22 +1057,22 @@ msgstr "%s: Не вдалося створити резервну копію ц
 msgid "Cannot rename %s to %s"
 msgstr "не вдалося перейменувати %s на %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Каталог перейменовано з %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Новий каталог"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: каталог перебуває у іншій файловій системі; дамп не створено"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: каталог перейменовано"
@@ -1201,35 +1200,35 @@ msgstr "%s: вилучаємо %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: не вдалося вилучити"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: пропускаємо"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "блок %s: ** Містить нулі **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Кінець файла **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Пробіли у заголовку замість очікуваного числового значення типу %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1237,17 +1236,17 @@ msgstr ""
 "вважається, що це є двійкове доповнення"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Вісімкове значення %.*s знаходиться поза межами діапазону типу %s"
 
 # FIXME: base=64?
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архів містить застарілі заголовки з основою 64"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
@@ -1255,146 +1254,145 @@ msgstr ""
 "типу %s"
 
 # FIXME: base-256
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Значення з основою 256 поза допустимими межами типу %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Знайдено %.*s замість числового значення типу %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Значення %s поза допустимими межами типу %s %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr "посилання до %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr "невідомий тип файла %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Довге посилання--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Довга назва--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Заголовок тому--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Продовжується з байту %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Створення каталогу:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Перейменовано %s у %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: не вдалося перейменувати на %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Перейменовано %s назад у %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Файл було вилучено перед тим як tar встиг його прочитати"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "процес-нащадок"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "канал між процесами"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Вибір локальних файлів:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "КАТАЛОГ"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "перейти до вказаного каталогу"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "читати назви файлів для додання/видобування з вказаного файла"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr ""
 "файл, вказаний з параметром -T, містить назви, відокремлені нульовими "
 "символами; вмикає --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "відмінити дію попередньої параметра --null"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "усувати лапки з назв вхідних файлів або файлів в архіві (типово)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "не усувати лапки з назв вхідних файлів або файлів в архіві"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T вичитує назви файлів буквально (без аналізу опцій)"
+msgstr "-T вичитує назви файлів буквально (без екранування або аналізу опцій)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr ""
 "-T вважає слова що починаються з риски опціями (поведінка за замовчуванням)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ШАБЛОН"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "не обробляти файли, назви яких відповідають вказаному шаблону"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "виключити назви що відповідають шаблонам, вказаним у файлі"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1402,26 +1400,26 @@ msgstr ""
 "не архівувати файли в каталогах, що містять CACHEDIR.TAG, з винятком самого "
 "файла"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "не архівувати каталоги, що містять CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "не архівувати файли в каталогах, що містять ФАЙЛ, з винятком самого файла"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr ""
 "прочитати взірці виключення для кожного з каталогів із файла ФАЙЛ, якщо "
 "такий існує"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1429,74 +1427,74 @@ msgstr ""
 "прочитати взірці виключення для кожного з каталогів і його підкаталогів із "
 "файла ФАЙЛ, якщо такий існує"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "не архівувати жодні файли в каталогах, що містять ФАЙЛ"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "не архівувати каталоги, що містять ФАЙЛ"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "не архівувати каталоги систем керування версіями"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr ""
 "прочитати взірці виключення із файлів ігнорування системи керування версіями"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "не архівувати резерві файли та файли блокування"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "рекурсивно проходити каталоги (типово)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "не заходити автоматично у каталоги"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Керування порівнюванням назв (впливає на взірці як вилучення, так і "
 "долучення):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "порівнювати шаблони з назвами файлів починаючи від початку назви"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "відповідність взірцям після усіх '/' (типово для виключення)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "шаблони ігнорують відмінності у регістрі символів"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "шаблони враховують регістр (типово)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "користатися шаблонами (типово для вилучення)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "порівнювати назви буквально"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "шаблони стосуються '/' (типово для виключення)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "шаблони не стосуються до '/'"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
@@ -1507,45 +1505,45 @@ msgstr ""
 "впливають лише на аргументи що розташовані після них. Їх використання "
 "наприкінці рядка немає сенсу. Будь ласка, розташуйте ці опції належним чином."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
 msgstr "-C %s не має дії"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
 msgstr "--%s %s не має дії"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
 msgstr "--%s не має дії"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "рядок команди"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: список файлів, запит щодо якого надіслано з %s, вже прочитано з %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "не вдалося розділити рядок '%s': %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: прочитана назва файла містить нульовий символ"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Назви файлів містять символи-шаблони"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1553,48 +1551,48 @@ msgstr ""
 "Користайтеся параметром --wildcards аби увімкнути шаблони, або параметром --"
 "no-wildcards, щоб позбутися цього повідомлення"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Не знайдено в архіві"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Потрібну копію у архіві не знайдено"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Незгідність назви тому"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Використання параметра -C у переліку файлів разом з параметром --listed-"
 "incremental не дозволяється"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr ""
 "Разом з --listed-incremental можна використовувати лише один параметр -C"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Обидва параметри, «%s» і «%s», вимагають доступу до стандартного входу"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: некоректний формат архіву"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Формат архіву є несумісним з розширеними властивостями GNU"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1818,7 +1816,7 @@ msgstr "Вибір вихідного потоку:"
 msgid "extract files to standard output"
 msgstr "видобувати файли у стандартний вивід"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
@@ -1854,7 +1852,7 @@ msgstr "читати мапу трансляції імен користувач
 msgid "use FILE to map file owner GIDs and names"
 msgstr "читати мапу трансляції імен груп та значень GID з ФАЙЛА"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-АБО-ФАЙЛ"
 
@@ -2069,7 +2067,7 @@ msgstr "розбивати на блоки під час читання (для
 msgid "Archive format selection:"
 msgstr "Вибір формату архіву:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
@@ -2153,59 +2151,59 @@ msgstr "ПРОГРАМА"
 msgid "filter through PROG (must accept -d)"
 msgstr "використовувати ПРОГРАМУ для стиснення/розтискання архіву"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Вибір файлів:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "залишатися у локальної файлової системі під час створення архіву"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "не вилучати початкову похилу риску, '/', з назв файлів"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "Йти за символьними посиланнями: долучати файли, на яки вони вказують"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "Йти за жорсткими посиланнями: долучати файли, на яки вони вказують"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "НАЗВА-ФАЙЛУ"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "починати читання архіву з вказаного файла"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "долучати тільки такі файли, що є новіші за вказану дату або файл"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "порівнювати тільки дату і час зміни даних"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "РЕЖИМ"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "перед вилученням створювати резервні файли у вказаному режимі"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "РЯДОК"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2213,59 +2211,59 @@ msgstr ""
 "перед вилученням створювати резервні файли з указаним суфіксом (типово '~', "
 "якщо не перевизначено змінною середовища SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Перетворювання назв файлів:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "вилучяти вказане ЧИСЛО компонентів з початку назв файлів"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "ВИРАЗ"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "перетворювати назви файлів за допомогою вказаного виразу заміни"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Інформативний вивід:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "виводити докладну інформацію про оброблені файли"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "КЛ.-СЛОВО"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "керування попередженнями"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "виводити контрольне повідомлення кожне ЧИСЛО записів (типово 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ДІЯ"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "виконати вказану дію у контрольному пункті"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "виводити повідомлення якщо до архіву було додано не всі посилання"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2276,35 +2274,35 @@ msgstr ""
 "- друкувати статистику по отриманню цього сигналу; дозволеними сигналами є "
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 і SIGUSR2, а також ці назви без префікса SIG"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "друкувати час модифікації файлів у UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "друкувати час модифікації файлів у повній вирізняльної здатності"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "виводити детальну інформацію у ФАЙЛ"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "попереджувати кожне повідомлення номером блоку в архіві"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "Запитувати підтвердження кожної дії"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "вивести типові налаштування"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "вивести коректні діапазони для полів файлів-знімків"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2312,31 +2310,31 @@ msgstr ""
 "під час виведення змісту або видобування файлів друкувати назви каталогів що "
 "не відповідають критеріям пошуку"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "показувати перетворені назви файлів"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "встановити стиль цитування; дозволені стилі див. нижче"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "цитувати також вказані символи"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "вимкнути цитування вказаних символів"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Параметри сумісності:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2344,22 +2342,22 @@ msgstr ""
 "під час створення архіву, те ж саме, що і --old-archive. Під час "
 "видобування, те ж саме, що --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Інші параметри:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "заборонити користування деякими потенційно небезпечними параметрами"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "'%s' не можна використовувати разом з '%s'"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
@@ -2367,40 +2365,40 @@ msgstr ""
 "Не можна вказувати більш одного параметра з набору '-Acdtrux', '--delete' "
 "та  '--test-label'"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Конфлікт параметрів стискання"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Невідомий тип файла %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Не знайдено файл-зразок дати"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Використовується %s замість невідомого формату дати %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Параметр %s: дату «%s» сприйнято як %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "фільтрувати архів через %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Допустимими аргументами параметра --quoting-style є:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2408,120 +2406,120 @@ msgstr ""
 "\n"
 "Типові налаштування *цієї* копії програми:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "Некоректний ідентифікатор власника або групи"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Неправильний фактор блокування"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Неправильна довжина стрічки"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Недійсне значення для рівня архівації"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Більш ніж одна гранична дата"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Недійсна версія формату розсіяних файлів"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "параметр --atime-preserve='system' не підтримується на цій платформі"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "аргумент --checkpoint мусить бути цілим числом"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Некоректний формат прав доступу"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Невірне число"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Некоректний розмір запису"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Розмір запису має ділитися на %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Некоректна кількість елементів"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Дозволяється лише одна параметр --to-command"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Некоректний аргумент вказання густини: «%s»"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Невідома густина: '%c'"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "Підтримки параметрів '-[0-7][lmh]' у *цій* версії tar не передбачено"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: місце помилки"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "помилка розбору %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "неопціональний аргумент для %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "не вдалося розділити значення TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Параметр старого стилю «%c» потребує аргументу."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "вказання --occurrence не має сенсу без вказання переліку файлів"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Для визначення декількох файлів архівів слід використати параметр '-M'"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Використання --level разом з --listed-incremental не має сенсу"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
@@ -2529,46 +2527,46 @@ msgstr[0] "%s: Мітка тому є надто довга (обмеження
 msgstr[1] "%s: Мітка тому є надто довга (обмеження в %lu байти)"
 msgstr[2] "%s: Мітка тому є надто довга (обмеження в %lu байтів)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Не можна перевіряти багатотомні архіви"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Не можна перевіряти стиснені архіви"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Не можна використовувати стиснення багатотомних архівів"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Не можна з'єднувати стиснені архіви"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime вимагає подання дати з опцією --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 "Параметр --pax-option використовується тільки з архівами у форматі POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "Параметр --acls можна використовувати лише для архівів у форматі POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr ""
 "Параметр --selinux можна використовувати лише для архівів у форматі POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr ""
 "Параметр --xattr можна використовувати лише для архівів у форматі POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2576,30 +2574,30 @@ msgstr ""
 "Не вдалося визначити назву каталогу верхнього рівня. Будь ласка, вкажіть її "
 "явним чином за допомогою параметра --one-top-level=КАТАЛОГ"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Розмір тому не може бути більшим від розміру запису"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Полохливо відмовляюся створювати пустий архів"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Параметри '-Aru' несумісні з '-f -'"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Слід вказати один з параметрів, '-Acdtrux', '--delete' або '--test-label'"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Невдачне завершення внаслідок попередніх помилок"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
@@ -2607,103 +2605,112 @@ msgstr[0] "%s: Файл скоротився на %s байт"
 msgstr[1] "%s: Файл скоротився на %s байти"
 msgstr[2] "%s: Файл скоротився на %s байтів"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Ключове слово %s не є відоме або ще не реалізоване"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Значення позначки часу поза допустимими межами"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Шаблон %s забороняється уживати"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Не можна перевизначити ключове слово %s"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Невірно сформований розширений заголовок: бракує довжини"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Довжина розширеного заголовку %*s перебуває за межами діапазону"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Невірно сформований розширений заголовок: відсутній пробіл після довжини"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Невірно сформований розширений заголовок: відсутній знак рівності"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Невірно сформований розширений заголовок: відсутній знак нового рядка"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Ігноруємо невідоме ключове слово розширеного заголовка, «%s»"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Створена пара ключове слово/значення є задовгою (ключ=%s, довжина=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 "Значення розширеного заголовку %s=%s лежить поза допустимими межами типу %s.."
 "%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Невірно сформований розширений заголовок: некоректна змінна %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Невірно сформований розширений заголовок: зайвий %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Невірно сформований розширений заголовок: змінна %s: неочікуваний розділювач "
 "%c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Невірно сформований розширений заголовок %s: непарна кількість значень"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: некоректне обмеження часу очікування"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: незнана дія"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "запис"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "читання"
 
@@ -2711,7 +2718,7 @@ msgstr "читання"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Контрольна відмітка запису %u"
@@ -2720,12 +2727,12 @@ msgstr "Контрольна відмітка запису %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Контрольна відмітка читання %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2734,95 +2741,99 @@ msgstr ""
 "paxutils\n"
 "Перелік параметрів:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Параметри створювання файлів:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "РОЗМІР"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Створити файл заданого розміру"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Писати у вказаний файл, замість стандартного виводу"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Читати назви файлів з вказаного файла"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr ""
 "файл, вказаний з параметром -T, містить назви, відокремлені нульовими "
 "символами"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Взірець заповнення файла: 'default' (типовий) або 'zeros' (заповнення нулями)"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Розмір блока розсіяного файла"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "Створити розсіяний файл. Решта аргументів дає мапу файла."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "ЗСУВ"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Перед записом даних перейти до вказаного зсуву в файлі"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Не видавати повідомлення про не фатальні помилки"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Статистика файлів:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "Виводити вміст структури stat для кожного файла. Типовий формат: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Синхронне виконання:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "ПАРАМЕТР"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Виконати вказану команду. Для використання з параметрами --cut, --append, --"
 "touch або --unlink"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr ""
 "Виконати вказану операцію (див. нижче) по досягненню контрольної відмітки"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Встановлює дати для наступної параметра --touch"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Друкувати виконані операції і код завершення команди"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2830,7 +2841,7 @@ msgstr ""
 "Операції синхронного виконання. Виконуються по досягненню контрольної "
 "відмітки, вказаної параметром --checkpoint. "
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2838,125 +2849,125 @@ msgstr ""
 "Обрізати файл до розміру, вказаного попередньою параметром --length (до 0, "
 "якщо її не було вказано)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Додати до файла кількість байтів, вказану попередньою параметром --length."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Поновити час доступу та модифікації файла"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Виконати КОМАНДУ"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
 msgstr "Вилучити ФАЙЛ"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Некоректний розмір: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Число поза допустимими межами: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Від'ємний розмір: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "збій виконання stat(%s)"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "замовлений розмір файла %lu, справжній -- %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "створений файл не є розсіяним"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Помилка розбору числа біля «%s»"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Невідомий формат дати"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТИ...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "не вдалося відкрити «%s»"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "не вдалося виконати lseek"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "назва файла містить нульовий символ"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "неможливо створювати розсіяні файли на стандартному виводі; користайтеся "
 "параметром --file"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "некоректна маска (біля «%s»)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Невідоме поле «%s»"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "не вдалося встановити часову позначку файла «%s»"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "не вдалося обрізати «%s»"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "помилка команди: %s"
 
-#: tests/genfile.c:781
+#: tests/genfile.c:772
 #, c-format
 msgid "cannot stat `%s'"
 msgstr "не вдається виконати stat «%s»"
 
-#: tests/genfile.c:785
+#: tests/genfile.c:776
 #, c-format
 msgid "cannot remove directory `%s'"
 msgstr "не вдалося видалити каталог «%s»"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "не вдалося вилучити «%s»"
@@ -2996,6 +3007,9 @@ msgstr "Команда завершилася\n"
 msgid "--stat requires file names"
 msgstr "параметр --stat вимагає назв файлів"
 
+#~ msgid "OPTION"
+#~ msgstr "ПАРАМЕТР"
+
 #, fuzzy
 #~| msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
diff --git a/po/vi.gmo b/po/vi.gmo
index 7ff4e49a8843a48dcf379ec632635cfe3cf2fd93..777f9411252129ed0ee0fbb5abf8eba62205bd72 100644
GIT binary patch
delta 15036
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

delta 12956
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
V9p25+SGMv`wtljGv(!_5EdWZhc!~f3

diff --git a/po/vi.po b/po/vi.po
index 01fba53e..14ee6840 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -4,15 +4,15 @@
 # This file is distributed under the same license as the tar package.
 # Phan Vinh Thinh <teppi82@gmail.com>, 2005.
 # Clytie Siddall <clytie@riverland.net.au>, 2007-2010.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014, 2016.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014, 2016, 2017.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-17 07:14+0700\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2017-12-21 13:40+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"
@@ -105,7 +105,7 @@ msgid "give a short usage message"
 msgstr "hiển thị cách sử dụng dạng ngắn gọn"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "TÊN"
 
@@ -143,29 +143,29 @@ msgid "write error"
 msgstr "lỗi ghi"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: tùy chọn “%s” chưa rõ ràng\n"
+msgstr "%s: tùy chọn “%s%s” chưa rõ ràng\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: tùy chọn “%s” chưa rõ ràng; khả năng là:"
+msgstr "%s: tùy chọn “%s%s” chưa rõ ràng; khả năng là:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%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 “%s%s”\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%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 “%s%s” không không cho phép một đối số\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%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%s” cần một đối số\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -240,12 +240,12 @@ msgstr "^[cCyY]"
 msgid "^[nN]"
 msgstr "^[kKnN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "Đóng gói bởi %s (%s)\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "Đóng gói bởi %s\n"
@@ -253,12 +253,11 @@ msgstr "Đóng gói bởi %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -268,10 +267,10 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Giấy phép GPLv3+: Giấy phép Công cộng GNU phiên bản 3 hay mới hơn:\n"
-"<http://gnu.org/licenses/gpl.html>\n"
-"Đây là phần mềm tự do: bạn có quyền thay đổ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"
+"Giấy phép GPL pb3+ : Giấy phép Công cộng GNU phiên bản 3 hay sau <https://"
+"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"
 "\n"
 
 #. TRANSLATORS: %s denotes an author name.
@@ -409,15 +408,14 @@ msgid "%s home page: <%s>\n"
 msgstr "Trang chủ %s: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "Trang chủ %s: <http://www.gnu.org/software/%s/>\n"
+msgstr "Trang chủ %s: <https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://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"
+"Trợ giúp chung về cách sử dụng phần mềm GNU: <https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -533,189 +531,189 @@ msgstr "Không thể chuyển hướng kết xuất các tập tin cho hệ vỏ
 msgid "Cannot execute remote shell"
 msgstr "Không thể chạy hệ vỏ ở xa"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "Hướng tìm kiếm vượt quá vùng cho phép"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "Hướng di chuyển vị trí đọc không hợp lệ"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "Khoảng bù di chuyển vị trí đọc không hợp lệ"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "Khoảng bù di chuyển vị trí đọc vượt quá phạm vi cho phép"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "Sai số lượng byte"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "Số lượng byte nằm ngoài phạm vi"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "Gặp kết thúc tập tin sớm"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "Mã thao tác sai"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "Thao tác không được hỗ trợ"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "Gặp đối số bất thường"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "Thao tác một ổ băng từ, chấp nhận lệnh từ một tiến trình ở xa"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "SỐ"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "đặt cấp gỡ rối"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "TẬP-TIN"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "đặt tên tập tin kết xuất gỡ rối"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "không thể mở %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "quá nhiều đối số"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "Câu lệnh rác"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "Đây có vẻ không phải là một kho lưu tar"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "Tổng số byte đã đọc"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "Tổng số byte đã ghi"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "Tổng số byte đã xóa"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(đường ống)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "Từ chối đọc nội dung kho lưu từ thiết bị cuối (thiếu tùy chọn -f ?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "Từ chối ghi nội dung kho lưu vào thiết bị cuối (thiếu tùy chọn -f ?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "Giá trị cho “record_size” không đúng"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "Không đưa ra tên kho lưu"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Không kiểm tra được kho lưu stdin/stdout"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Kho lưu được nén. Hãy sử dụng tùy chọn %s"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "Không cập nhật được kho lưu đã nén"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "Tại đầu băng từ, thoát ra bây giờ"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "Quá nhiều lỗi, đang thoát"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Kích cỡ mục ghi = %lu khối"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "Khối chưa sắp hàng (%lu byte) trong kho lưu"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Không thể \"tua\" lại tập tin kho lưu; nó có thể không đọc được khi không có "
 "“-i”"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek không dừng lại tại một ranh giới bản ghi"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: chứa số thứ tự khối không đúng"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "Số thứ tự khối thừa ra"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Chuẩn bị khối #%d cho %s và nhấn Enter: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "Kết thúc tập tin (EOF) bất ngờ khi cần trả lời của người dùng"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "CẢNH BÁO: Kho lưu không hoàn thành"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -727,65 +725,65 @@ msgstr ""
 " q             Dừng tar\n"
 " y hay dòng mới Tiếp tục lại chạy tiến trình\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Sản sinh một hệ vỏ con\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             In ra danh sách này\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "Không có khối mới; đang thoát.\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "Chưa ghi rõ tên tập tin. Hãy thử lại.\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Gõ sai. (Gõ ? để xem trợ giúp.)\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "Câu lệnh %s không thành công"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s không tiếp tục trên khối này"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s có thể tiếp tục trên khối tin này: phần đầu chứa tên bị cắt ngắn"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s là kích thước sai (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Khối tin này vượt quá dãy cho phép (%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Kho lưu không có nhãn tương ứng với %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Khối %s không tương ứng %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -793,208 +791,208 @@ msgstr ""
 "%s: tên tập tin quá dài để chứa trong một phần đầu đa khối GNU nên bị cắt "
 "ngắn"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "tiến trình ghi (write) không dừng lại tại một ranh giới khối"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "Chỉ đọc được %lu từ %lu byte"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "Diff nội dung"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "Kết thúc tập tin bất ngờ trong kho lưu"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "Diff dạng tập tin"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "Diff chế độ"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Khác biệt Uid"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Khác biệt Gid"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "Khác biệt thời gian sửa đổi"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "Khác biệt kích thước"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "Không liên kết tới %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "Khác biệt liên kết mềm"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "Diff số thứ tự của thiết bị"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "Kiểm tra "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr ""
 "%s: Không rõ kiểu tập tin “%c” nên khác biệt (diff) như tập tin thông thường"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "Kho lưu chứa tên tập tin không có tiền tố ở đầu."
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "Tài liệu được nén có chứa tên tệp tin chuyển đổi."
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "Sự kiểm tra có thể không định vị được các tập tin gốc."
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "LỖI KIỂM TRA: tìm thấy %d phần đầu không đúng"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "Một khối không đơn lẻ tại %s"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: chứa một thẻ thư mục ghi nhớ tạm %s: %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "giá trị %s vượt quá %s phạm vi %s..%s; đang thay thế %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "giá trị %s vượt quá %s phạm vi %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "Đang tạo phần đầu hệ bát phân âm"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s: tên tập tin quá dài (tối đa là %d); không được dump"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s: tên tập tin quá dài (không chia được); không được dump"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s: tên liên kết quá dài; không được dump"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s: Tập tin được rút ngắn %s byte; độn vào bắng các số không"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: tập tin trên một hệ thống tập tin khác; không được dump"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "chưa đổ nội dung"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Không hiểu kiểu tập tin; tập tin bị lờ đi"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "Thiếu liên kết tới %s."
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: tập tin chưa thay đổi; không được dump"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: tập tin là kho lưu; không được đổ"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "chưa đổ thư mục"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: tập tin đã thay đổi khi chúng ta đọc nó"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: socket bị lờ đi"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: cửa (door) bị lờ đi"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "Nhảy tới phần đầu tiếp theo"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "Xóa không phải phần đầu từ kho lưu"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s: tem thời gian cũ không hợp lý %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s: dấu vết thời gian %s là %s giây trong tương lai"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s: Sự mâu thuẫn bất ngờ khi tạo thư mục"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: bỏ qua tập tin sẵn có"
@@ -1017,7 +1015,7 @@ msgstr "Đang thử rút trích liên kết mềm thành liên kết cứng"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Không rút trích được -- tập tin tiếp tục từ khối khác"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "Gặp phần đầu tên dài bất ngờ"
 
@@ -1035,7 +1033,7 @@ msgstr "%s hiện tại là mới hơn hoặc cùng tuổi"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s: Tên thành viên có chứa “..”"
 
 #: src/extract.c:1696
 #, c-format
@@ -1047,22 +1045,22 @@ msgstr "%s: Không thể sao lưu tập tin này"
 msgid "Cannot rename %s to %s"
 msgstr "Không thể đổi tên %s thành %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Thư mục đã bị đổi tên từ %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Thư mục là mới"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s: thư mục trên một hệ thống tập tin khác; nên không được dump (đổ)"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Thư mục đã bị đổi tên"
@@ -1188,193 +1186,193 @@ msgstr "%s: Đang xóa %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s: Không thể xóa bỏ"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s: Đang bỏ đi"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "khối %s: ** Khối của các số không (NUL) **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "khối %s: ** Kết thúc tập tin **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "khối %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Khoảng trống trong Phần đầu trong khi cần một giá trị số %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
 "Giá trị hệ tám %.*s của kho lưu vượt ra phạm vi %s; coi như phần bù của hai"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Giá trị hệ tám %.*s của kho lưu vượt ra phạm vi %s"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Kho lưu chứa phần đầu base-64 không còn dùng nữa"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Kho lưu ký chuỗi base-64 %s vượt ra ngoài vùng %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Giá trị base-256 của kho lưu vượt ra ngoài vùng %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Kho lưu chứa %.*s nơi mà cần giá trị số %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Giá trị kho lưu %s vượt quá phạm vi %s (%s..%s)"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " liên kết tới %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " kiểu tập tin không rõ %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Liên kết Dài--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Tên Dài--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Phần đầu Khối--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Tiếp tục tại byte %s--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "Đang tạo thư mục:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "Đang đổi tên %s thành %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s: Không thể đổi tên thành %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "Đang đổi tên %s ngược lại thành %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: Tập tin bị xóa trước khi chúng ta đọc nó"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "tiến trình con"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "kênh liên tiến trình"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "Lựa chọn tập tin nội bộ:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "thêm vào kho lưu TẬP-TIN đã cho (có ích nếu tên nó bắt đầu với dấu gạch)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "TMỤC"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "thay đổi tới thư mục THƯ MỤC"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "lấy các tên tập tin cần rút trích hay tạo từ TẬP-TIN"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T đọc tên kết thúc bằng ký hiệu null, ý là --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "tắt hiệu ứng của tùy chọn “--null” trước đây"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "hủy trích dẫn các tên tập tin hay thành viên (mặc định)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "đừng hủy trích dẫn các tên tập tin hay thành viên"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T đọc các tên tập tin nguyên văn (không xử lý tùy chọn)"
+msgstr ""
+"-T đọc các tên tập tin nguyên văn (không thoát chuỗi hay xử lý tùy chọn)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T coi các tên tập tin bắt đầu bằng dấu - là tùy chọn (mặc định)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MẪU"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "loại trừ những tập tin tương ứng với MẪU"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "loại trừ những mẫu liệt kê trong TẬP-TIN"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1382,24 +1380,24 @@ msgstr ""
 "loại trừ nội dung của thư mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG, trừ tập tin "
 "thẻ chính nó"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 "loại trừ mọi thứ đều nằm dưới thư mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "loại trừ thư mục chứa thẻ ghi nhớ tạm CACHEDIR.TAG"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "loại trừ nội dung của thư mục chứa TẬP-TIN, trừ TẬP-TIN chính nó"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "đọc các mẫu loại trừ cho từng thư mục từ TẬP-TIN, nếu có"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
@@ -1407,117 +1405,121 @@ msgstr ""
 "đọc các mẫu loại trừ cho từng thư mục và những thư mục con của nó từ TẬP-"
 "TIN, nếu có"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "loại trừ mọi thứ đều nằm dưới thư mục chứa TẬP-TIN"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "loại trừ thư mục chứa TẬP-TIN"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "loại trừ thư mục của hệ thống điều khiển phiên bản (v.d. “.svn”)"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "đọc các mẫu loại trừ từ tập tin bỏ qua của VSC"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "loại trừ tập tin kiểu sao lưu và khóa"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "đệ quy vào các thư mục (mặc định)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "tránh sự giảm dần một cách tự động trong các thư mục"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Tùy chọn khớp tên tập tin (có tác động mẫu kiểu cả hai loại trừ và bao gồm):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "mẫu tương ứng với bắt đầu tên tập tin"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "mẫu khớp sau bất kỳ “/” nào (mặc định để loại trừ)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "không phân biệt HOA/thường"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "khớp mẫu phân biệt HOA/ thường (mặc định)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "dùng ký tự đại diện (mặc định để loại trừ)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "khớp đúng nguyên văn"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "ký tự đại khớp “/” (mặc định để loại trừ)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "ký tự đại diện không khớp “/”"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"Các tùy chọn sau đây được sử dụng sau một tham số không tùy chọn bất kỳ "
+"trong chế độ tạo hay cập nhật kho nén. Những tùy chọn này có tính vị trí và "
+"chỉ áp dụng với các tham số mà theo sau chúng. Vui lòng thay đổi vị trí của "
+"chúng cho đúng."
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s không có tác dụng"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s không có tác dụng"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s không có tác dụng"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "dòng lệnh"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: danh sách tập tin đã yêu cầu từ %s đã sẵn được đọc từ %s"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "không thể chia tách chuỗi “%s”: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: đọc tên tập tin chứa ký tự vô giá trị"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "Tên tập tin chứa ký tự khớp mẫu"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
@@ -1525,47 +1527,47 @@ msgstr ""
 "Dùng “--wildcards” (ký tự đặi diện) để hiệu lực chức năng khớp mẫu,\n"
 "hoặc “--no-wildcards” để thu hồi cảnh báo này."
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Không tìm thấy trong kho lưu"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Không tìm thấy phần tử yêu cầu trong kho lưu"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "Sai khớp nhãn kho lưu"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr ""
 "Sử dụng tùy chọn “-C” bên trong danh sách tập tin không được phép với “--"
 "listed-incremental”"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "Chỉ cho phép một tùy chọn “-C” với “--listed-incremental”"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "Cả hai tùy chọn “%s” và “%s” đều muốn đầu vào tiêu chuẩn"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s: Định dạng kho lưu không đúng"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "Muốn tính năng GNU trên định dạng kho lưu không tương thích"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1791,7 +1793,7 @@ msgstr "Chọn luồng dữ liệu xuất:"
 msgid "extract files to standard output"
 msgstr "rút trích tập tin ra đầu ra tiêu chuẩn"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "LỆNH"
 
@@ -1827,7 +1829,7 @@ msgstr "sử dụng TẬP TIN để ánh xạ MÃ SỐ chủ sở hữu tập ti
 msgid "use FILE to map file owner GIDs and names"
 msgstr "sử dụng TẬP TIN để ánh xạ MÃ SỐ NHÓM sở hữu tập tin và các tên"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "NGÀY-CỦA-TẬP-TIN"
 
@@ -2040,7 +2042,7 @@ msgstr "đặt khối lại khi chúng ta đọc (cho đường ống 4.2BSD)"
 msgid "Archive format selection:"
 msgstr "Lựa chọn định dạng kho lưu:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "Đ.DẠNG"
 
@@ -2124,59 +2126,59 @@ msgstr "PMỀM"
 msgid "filter through PROG (must accept -d)"
 msgstr "lọc qua chương TRÌNH (phải chấp nhận -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "Lựa chọn tập tin nội bộ:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "nằm trong hệ thống tập tin nội bộ khi tạo kho lưu"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "đừng bỏ “/” ở đầu tên tập tin"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "theo liên kết mềm; kho lưu và đổ tập tin tới đó nó chỉ"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "theo liên kết cứng; kho lưu và đổ tập tin tới đó nó chỉ"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "TÊN-TH.VIÊN"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "bắt đầu tại thành viên TÊN-THÀNH-VIÊN khi đọc kho lưu"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "chỉ chứa những tập tin mới hơn NGÀY-CỦA-TẬP-TIN"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "NGÀY"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "so sánh ngày và thời gian chỉ khi dữ liệu thay đổi"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "Đ.KHIỂN"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "sao lưu trước khi xóa, chọn phiên bản ĐIỀU KHIỂN"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "CHUỖI"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2184,59 +2186,59 @@ msgstr ""
 "sao lưu trước khi xóa, ghi đè hậu tố thông thường (“~” trừ khi ghi đè bằng "
 "biến môi trường SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "Chuyển dạng tên tập tin:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "bỏ đi SỐ thành phần đứng đầu ra tên tập tin khi rút trích"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "BIỂU-THỨC"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "dùng “sed replace BIỂU THỨC” để chuyển dạng tên tập tin"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "Dữ liệu kết quả có tính thông tin:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "liệt kê một cách tỉ mỉ những tập tin được xử lý"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "TỪKHÓA"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "điều khiển cảnh báo"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "hiển thị thông báo về tiến triển sau mỗi bản ghi thứ SỐ (mặc định 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "H.ĐỘNG"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "thực hiện HÀNH_ĐỘNG này ở mỗi điểm kiểm tra"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "in ra một thông báo nếu không phải tất cả các liên kết được dump"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "T.HIỆU"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2247,35 +2249,35 @@ msgstr ""
 "khi nhận được TÍN HIỆU này; tín hiệu được phép: SIGHUP, SIGQUIT, SIGINT, "
 "SIGUSR1, SIGUSR2; cũng chấp nhận tên không có tiền tố “SIG”;"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "in ra giờ sửa đổi tập tin theo UTC"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "in ra giờ tập tin đến độ phân giải đầy đủ"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "gửi kết quả chi tiết tới TẬP-TIN"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "hiển thị số thứ tự khối trong kho lưu với mỗi thông báo"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "hỏi xác nhận trước mỗi hành động"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "hiển thị các giá trị mặc định của tar"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "hiển thị vùng hợp lệ cho trường “snapshot-file”"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2283,94 +2285,94 @@ msgstr ""
 "khi liệt kê hay rút trích, liệt kê mỗi thư mục không tương ứng với tiêu chí "
 "tìm kiếm"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "hiển thị các tên tập tin hay kho lưu sau khi chuyển dạng"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "KDÁNG"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "đặt kiểu dáng trích dẫn tên; xem dưới để tìm các giá trị KIỂU DÁNG hợp lệ"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "cũng trích dẫn các ký tự của CHUỖI"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "tắt trích dẫn các ký tự của CHUỖI"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "Tùy chọn tương thích:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 "khi tạo, giống như “--old-archive” khi rút trích, giống như “--no-same-owner”"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "Những tùy chọn khác:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "tắt sử dụng một số tùy chọn có thể gây tai hại"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "“%s” không được dùng cùng với “%s”"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr ""
 "Chỉ cho phép đưa ra một tùy chọn “-Acdtrux”, “--delete” hoặc “--test-label”"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "Mâu thuẫn giữa các tùy chọn nén"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Không rõ tên tín hiệu: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "Không tìm thấy tập tin mẫu ngày tháng"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Đang thay thế %s cho dạng ngày tháng không rõ %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "Tùy chọn %s: Đang xử lý ngày tháng “%s” như là %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "lọc kho lưu qua %s"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "Các đối số thích hợp với tùy chọn “--quoting-style” là:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2378,162 +2380,162 @@ msgstr ""
 "\n"
 "tar *này* mặc định dùng:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "ID của chủ sở hữu hay nhóm không đúng"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "Nhân tố khối không đúng"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "Chiều dài băng từ không đúng"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "Giá trị mức gia số không hợp lệ"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "Có nhiều hơn một ngưỡng ngày tháng"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "Giá trị phiên bản sparse không hợp lệ"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve=\"system\" không được hỗ trợ trên nền tảng này"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "giá trị “--checkpoint” không phải số nguyên"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "Đưa ra chế độ không đúng trên tùy chọn"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "Số không đúng"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "Kích thước bản ghi không đúng"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Kích thước bản ghi phải là bội số của %d."
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "Số thứ tự của nguyên tố không đúng"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "Cho phép chỉ một tùy chọn “--to-command”"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Tham số mật độ sai dạng: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "Không hiểu mật độ: “%c”"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "tar *này* không hỗ trợ tùy chọn “-[0-7][lmh]”"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: vị trí của lỗi"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "lỗi phân tích cú pháp %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[TẬP_TIN]…"
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "đối số không phải tùy chọn trong %s"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "không thể chia tách CÁC_TÙY_CHỌN_TAR: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "Tùy chọn cũ “%c” yêu cầu một tham số."
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "“--occurrence” không có giá trị khi không đưa ra một danh sách tập tin"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "Tập tin nhiều kho lưu yêu cầu tùy chọn “-M”"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "Tùy chọn “--level” vô ích nếu không có “--listed-incremental”"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: Nhãn khối quá dài (giới hạn là %lu byte)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "Không thể kiểm tra kho lưu nhiều khối"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "Không thể kiểm tra kho lưu đã nén"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Không thể sử dụng kho lưu nhiều khối đã nén"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "Không thể ghép nối các kho nén"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime cần xác định thời gian sử dụng --mtime"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "“--pax-option” chỉ dùng được trên kho lưu POSIX"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "“--acls” chỉ dùng được trên kho lưu POSIX"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "“--selinux” chỉ dùng được trên kho lưu POSIX"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "“--xattrs” chỉ dùng được trên kho lưu POSIX"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
@@ -2541,128 +2543,137 @@ msgstr ""
 "Không thể suy diễn tên thư mục cấp cao nhất; hãy đặt nó rõ ràng bằng tùy "
 "chọn --one-top-level=THƯ-MỤC"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "Chiều dài khối tin không thể nhỏ hơn kích cỡ mục ghi"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Từ chối tạo một kho lưu trống rỗng"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "Các tùy chọn “-Aru” không tương thích với “-f -”"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr ""
 "Bạn phải chỉ ra một trong số các tùy chọn “-Acdtrux”, “--delete” hoặc “--"
 "test-label”"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "Đang thoát với trạng thái thất bại do lỗi xảy ra trước"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Tập tin được rút ngắn %s byte"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Từ khóa %s không rõ hoặc chưa được thực hiện"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "Nhãn thời gian ở ngoại phạm vi cho phép"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Không thể dùng mẫu “%s”"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Không thể ghi chèn lên từ khóa “%s”"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "Phần đầu mở rộng dạng sai: thiếu chiều dài"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Chiều dài phần đầu mở rộng %*s ở ngoại phạm vi được phép"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "Phần đầu mở rộng dạng sai: thiếu khoảng trắng ở sau chiều dài"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "Phần đầu mở rộng bị lỗi: thiếu dấu bằng"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "Phần đầu mở rộng dạng sai: thiếu dòng mới"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "Bỏ qua từ khóa phần đầu mở rộng không rõ “%s”"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "Cặp từ khóa/giá trị đã tạo ra quá dài (từ khóa=%s, chiều dài=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Phần đầu mở rộng %s=%s nằm ngoài phạm vi (%s..%s)"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Phần đầu mở rộng dạng sai: %s=%s không hợp lệ"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Phần đầu mở rộng dạng sai: %s=%s thừa"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Phần đầu mở rộng dạng sai: %s không hợp lệ: không cần dấu phân cách %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Phần đầu mở rộng dạng sai: %s không hợp lệ: số giá trị lẻ"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: không phải thời gian chờ tối đa hợp lệ"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: không rõ hành động điểm kiểm"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "ghi"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "đọc"
 
@@ -2670,7 +2681,7 @@ msgstr "đọc"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "Điểm kiểm tra ghi %u"
@@ -2679,12 +2690,12 @@ msgstr "Điểm kiểm tra ghi %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "Điểm kiểm tra đọc %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2693,80 +2704,84 @@ msgstr ""
 "GNU.\n"
 "TÙY CHỌN:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "Tùy chọn tạo tập tin:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "CỠ"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "Tạo tập tin có KÍCH_CỠ đã cho"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "Ghi vào tập tin TÊN, thay cho đầu ra tiêu chuẩn"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "Đọc các tên tập tin từ TẬP-TIN"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "“-T” đọc tên kết thúc vô hiệu lực"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
 "Điền thêm vào tập tin bằng MẪU đã cho. MẪU là:\n"
 " * default    mặc định\n"
 " * zeros      các số không"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "Kích cỡ của khối cho tập tin spare"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr ""
 "Tạo ra tập tin sparse. Phần còn lại của dòng lệnh đưa ra ánh xạ tập tin."
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "HIỆU_SỐ"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "Di chuyển vị trí đọc tới hiệu số đã cho trước khi ghi dữ liệu"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "Cấm các lời nhắn chuẩn đoán không nghiêm trọng"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "Tùy chọn thống kê tập tin:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr ""
 "In nội dung của cấu trúc stat cho từng tập tin đã cho. ĐỊNH DẠNG mặc định "
 "là: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "Tùy chọn thực hiện đồng thời:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "T.CHỌN"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "Thực hiện các ĐỐI_SỐ đã cho. Có ích với “--checkpoint” (điểm kiểm tra) và "
 "một trong số:\n"
@@ -2775,19 +2790,19 @@ msgstr ""
 " * --touch     chạm vào\n"
 " * --unlink    bỏ liên kết"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "Thực hiện hành động đã cho (xem dưới) khi tới điểm kiểm tra SỐ"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "Đặt ngày tháng cho tùy chọn “-touch” kế tiếp"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "Hiển thị các điểm kiểm tra đã thực hiện và trạng thái thoát của LỆNH"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2795,7 +2810,7 @@ msgstr ""
 "Các hành động thực hiện đồng thời; được thực hiện khi tới điểm kiểm tra có "
 "số được ghi rõ bằng tùy chọn “--checkpoint”."
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
@@ -2803,126 +2818,126 @@ msgstr ""
 "Cắt ngắn TẬP-TIN thành kích cỡ được ghi rõ bằng tùy chọn “--length” trước "
 "(không ghi rõ thì 0)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
 "Phụ thêm KÍCH_CỠ byte vào TẬP-TIN. KÍCH_CỠ được ghi rõ bằng tùy chọn “--"
 "length” trước."
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "Cập nhật các thời gian truy cập và sửa đổi của TẬP-TIN"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "Thực hiện LỆNH"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "Xóa TẬP_TIN"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "Kích cỡ không hợp lệ: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "Số nằm ngoài phạm vi cho phép: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "Kích cỡ bị âm: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) bị lỗi"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "yêu cầu chiều dài tập tin %lu mà có %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "đã tạo tập tin không phải thưa thớt (sparse)"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Lỗi phân tích số gần “%s”"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "Không rõ định dạng ngày tháng"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ĐSỐ…]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "không thể mở “%s”"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "không thể di chuyển vị trí đọc"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "tên tập tin chứa ký tự null"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "không thể tạo ra tập tin sparse trên thiết bị gõ chuẩn: dùng tùy chọn “--"
 "file”"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "mặt nạ không đúng (gần “%s”)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Không rõ trường “%s”"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "không thể đặt thời gian trên “%s”"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "không thể cắt ngắn “%s”"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "Câu lệnh không thành công: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "không thể cắt ngắn “%s”"
+msgstr "không thể lấy thống kê “%s”"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "không thể đặt thời gian trên “%s”"
+msgstr "không thể xóa bỏ thư mục “%s”"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "không thể bỏ liên kết “%s”"
@@ -2962,6 +2977,9 @@ msgstr "Lệnh đã chấm dứt\n"
 msgid "--stat requires file names"
 msgstr "“--stat” cần tên tập tin"
 
+#~ msgid "OPTION"
+#~ msgstr "T.CHỌN"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: tham số ARGP_HELP_FMT phải là số dương"
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 1539d03916a899899265f0a5bdb37a93edd4feb7..ef56b798d54731bf6e6c019d07ee8a0601092e24 100644
GIT binary patch
delta 15165
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
X%}P+;<j>dlP2P0lBw>ZqZgv0wqZ>dA

delta 13211
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
Ya@m7@j8>CP9-fp&D8Mjpvh1S{08nPUT>t<8

diff --git a/po/zh_CN.po b/po/zh_CN.po
index 56078a72..da3341d8 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1,25 +1,27 @@
 # Chinese (simplified) translation for tar.
-# Copyright (C) 2008 Free Software Foundation, Inc. 
+# Copyright (C) 2008 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Wang Li <charles@linux.net.cn>, 2002.
 # Rongjun Mu <rongjunmu+i18n@gmail.com>, 2004.
 # Ji ZhengYu <zhengyuji@gmail.com>, 2016.
+# Boyuan Yang <073plan@gmail.com>, 2018.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-05-20 14:33China Standard Time\n"
-"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-10-21 09:49-0400\n"
+"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.2\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -96,7 +98,7 @@ msgid "give a short usage message"
 msgstr "显示简短的用法说明"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "名称"
 
@@ -134,29 +136,29 @@ msgid "write error"
 msgstr "写错误"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s: 选项“%s”具有歧义\n"
+msgstr "%s: 选项“%s%s”具有歧义\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s: 选项“%s”具有歧义; 可能是:"
+msgstr "%s: 选项“%s%s”具有歧义; 可能是:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s: 无法识别的选项\"%c%s\"\n"
+msgstr "%s: 无法识别的选项\"%s%s\"\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s: 选项\"%c%s\"不需要参数\n"
+msgstr "%s: 选项\"%s%s\"不需要参数\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s: 选项\"%s\"需要带参数\n"
+msgstr "%s: 选项“%s%s”需要带参数\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -231,12 +233,12 @@ msgstr "^[yY]"
 msgid "^[nN]"
 msgstr "^[nN]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "由 %s (%s) 打包\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "由 %s 打包\n"
@@ -244,12 +246,11 @@ msgstr "由 %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "(C)"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -259,9 +260,9 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"许可证 GPLv3+:GNU GPL 第 3 版或更新版本 <https://gnu.org/licenses/gpl."
 "html>\n"
-"这是自由软件:您可以自由地更改并重新发布它。\n"
+"这是自由软件:您可以自由地更改并对其重新发布。\n"
 "在法律所允许的范围内不含任何担保。\n"
 "\n"
 
@@ -384,7 +385,7 @@ msgid ""
 "Report bugs to: %s\n"
 msgstr ""
 "\n"
-"将错误报告发送到: %s。翻译错误报告给 <i18n-zh@googlegroups.com>\n"
+"请将错误报告发送到: %s,翻译错误报告给 <i18n-zh@googlegroups.com>\n"
 
 #: gnu/version-etc.c:247
 #, c-format
@@ -397,14 +398,13 @@ msgid "%s home page: <%s>\n"
 msgstr "%s 主页: <%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
-msgstr "%s 主页: <http://www.gnu.org/software/%s/>\n"
+msgstr "%s 主页:<https://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
-msgstr "GNU 软件的通用帮助: <http://www.gnu.org/gethelp/>\n"
+msgstr "GNU 软件的通用帮助:<https://www.gnu.org/gethelp/>\n"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -513,194 +513,194 @@ msgstr "无法连接至 %s: 解析失败"
 #: lib/rtapelib.c:502
 #, c-format
 msgid "Cannot redirect files for remote shell"
-msgstr "无法为远程 shell重定向文件"
+msgstr "无法为远程 shell 重定向文件"
 
 #: lib/rtapelib.c:516
 #, c-format
 msgid "Cannot execute remote shell"
 msgstr "无法执行远程 shell"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "查寻方向超出范围"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "无效的查寻方向"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "无效的查寻偏移量"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "查寻操作的偏移量超出范围"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "无效的字节数"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "字节数超出范围"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "文件结尾出现过早"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "无效操作模式"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "不支持的操作"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "参数异常"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "接受远程程序的命令操作磁带机"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "NUMBER"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "设定调试级别"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "FILE"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "设定调试输出文件名"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "无法打开 %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "参数过多"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "垃圾命令"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "它似乎不像是一个 tar 归档文件"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "总计读取字节数"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "总计写入字节数"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "总计删除字节数"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(管道)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "无法从终端读取归档内容(缺少 -f 选项?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "无法向终端写入归档内容(缺少 -f 选项?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "record_size 的无效值"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "未给出归档文件名"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "无法验证标准输入/标准输出归档文件"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "归档被压缩。使用 %s 选项"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "无法更新压缩归档文件"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "处于磁带的起点,现在退出"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "错误过多,退出"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "记录大小 = %lu 块"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "归档中未对齐的块 (%lu 字节)s"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "无法倒回归档文件;如果没有 -i 可能无法读入它"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek 未停在记录边界处"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s:包含无效的卷编号"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "卷编号溢出"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "为 %2$s 准备卷 #%1$d 并按回车:"
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "需得到用户应答时文件结束"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "警告:归档文件不完整"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -711,271 +711,271 @@ msgstr ""
 " q\t\t终止 tar\n"
 " y or newline\t继续操作\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             衍生出一个子 shell\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             打印此列表\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "没有新的卷;退出。\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "未指定文件名。重试。\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "无效输入。输入 ? 显示帮助。\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s 命令失败"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s 在本卷中不连续"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s 在本卷可能连续: 头部包含截短的名字"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s 的大小错误 (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "此卷次序有误(%s - %s != %s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "归档未被标记为匹配 %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "卷标 %s 不匹配 %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr "%s: 文件名太长而无法贮存在 GNU 多卷头,已被截短"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "写操作未在记录边界处终止"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "仅能读入 %2$lu 中的 %1$lu 个字节"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "内容不同"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "归档文件中异常的 EOF"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "文件类型不同"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "访问模式不同"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid 不同"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid 不同"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "修改时间不同"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "大小不同"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "没有连接到 %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "符号连接不同"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "设备号不同"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "校验"
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s:未知的文件类型“%c”,与普通文件不同"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "归档包含带有被移除前导字符的文件名。"
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "归档中有文件被改名。"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "位于原始文件中的验证可能失败。"
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "校验失败:检测到 %d 个无效的头"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "在 %s 处一个单独的零块"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s: 包含一个缓存目录标识 %s;%s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "值 %s 超出了 %s 的范围 %s..%s;正在替换 %s"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "值 %s 超出了 %s 的范围 %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "正在生成负八进制头"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s:文件名太长(最长 %d);未输出"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s:文件名太长(不能被分割);未输出"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s:连接名太长;未输出"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s:文件缩小 %s 字节;用零填充"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s:文件在不同的文件系统上;未输出"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "未输出内容"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s:未知的文件类型;忽略文件"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "缺少到 %s 的连接。"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s: 文件未改变;未输出"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s: 文件是归档文件;未输出"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "未输出目录"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s: 在我们读入文件时文件发生了变化"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s: 忽略套接字(socket)"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s: 忽略权限"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "跳转到下一个头"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "从归档文件中删除非头信息"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s:不可信的旧时间戳 %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s:时间戳 %s 是未来的 %s 秒之后"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s:创建目录时出现意外的不一致"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s: 忽略已存在的文件"
@@ -998,7 +998,7 @@ msgstr "正试图将符号连接展开为硬连接"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s:无法展开 -- 文件一直延伸至另一卷中"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "异常的长名字头部"
 
@@ -1015,7 +1015,7 @@ msgstr "当前的“%s”更新或一样新"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s:成员名称包含“..”"
 
 #: src/extract.c:1696
 #, c-format
@@ -1027,22 +1027,22 @@ msgstr "%s:无法备份该文件"
 msgid "Cannot rename %s to %s"
 msgstr "无法将 %s 重命名为 %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s:目录已改名,不再是 %s"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s:目录是新的"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s:目录在不同的文件系统上;未输出"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s:目录已被改名"
@@ -1127,9 +1127,8 @@ msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "错误的 dumpdir: “R”中有空名字"
 
 #: src/incremen.c:1585
-#, fuzzy
 msgid "Malformed dumpdir: 'T' not preceded by 'R'"
-msgstr "错误的 dumpdir: 'T' not preceded by 'R'"
+msgstr "错误的 dumpdir:“T”未以“R”作为前导"
 
 #: src/incremen.c:1591
 msgid "Malformed dumpdir: empty name in 'T'"
@@ -1169,372 +1168,373 @@ msgstr "%s:正在删除 %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s:无法删除"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s:忽略"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "块 %s:** 空块 **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "块 %s:** 文件结束 **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "块 %s:"
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "头中需要数值 %s 处为空白符"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr "归档的八进制值 %.*s 超出范围 %s;假定为其二进制补码"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "归档八进制值 %.*s 超出 %s 的范围"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "归档包含过时的 base-64 头"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "归档签署的 base-64 字符串 %s 超出范围 %s"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "归档的 base-256 值超出范围 %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "归档包含 %.*s 而需要数字值 %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "归档值 %s 超出 %s 的范围 %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " 连接到 %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " 未知的文件类型 %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--长连接--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--长名--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--卷头--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--从 %s 字节继续--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "正在创建目录:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "将 %s 改名为 %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s:无法重命名为 %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "将 %s 的名字改回 %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s:文件在我们读入之前被删除了"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "子进程"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "进程内通道"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "本地文件名选择:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "添加指定的 FILE 至归档(如果名字以 - 开始会很有用的)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "DIR"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "改变至目录 DIR"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "从 FILE 中获取文件名来解压或创建文件"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T 读取以空终止的名字; 隐含 --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "禁用上一次的效果 --null 选项"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "unquote 输入文件或成员名称(默认)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "不要unquote 输入文件或成员名称"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T 逐字读取文件名(不处理选项)"
+msgstr "-T 逐字读取文件名(不处理选项或进行转义)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T 把以‘-’开始的文件作为选项(默认)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATTERN"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "排除以 PATTERN 指定的文件"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "排除 FILE 中列出的模式串"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "除标识文件本身外,排除包含 CACHEDIR.TAG 的目录中的内容"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "排除包含 CACHEDIR.TAG 的目录中所有内容"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "排除包含 CACHEDIR.TAG 的目录"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "除 FILE 自身外,排除包含 FILE 的目录中的内容"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "若存在FILE, 则从其中读取每个目录的例外匹配项"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr "若存在FILE, 则从其中为每个目录及其子目录读取需要排除的例外匹配项"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "排除包含 FILE 的目录中的所有内容"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "排除包含 FILE 的目录"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "排除版本控制系统目录"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "从VCS 忽略文件中读取排除匹配项"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "排除备份和锁文件"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
-msgstr "目录递归(默认)"
+msgstr "目录递归(默认)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "避免目录中的自动降级"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "文件名匹配选项(同时影响排除和包括模式串):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "模式串匹配文件名头部"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
-msgstr "模式串匹配任意‘/’后字符(默认对 exclusion 有效)"
+msgstr "模式串匹配任意‘/’后字符(对 exclusion 为默认值)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "忽略大小写"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "匹配大小写(默认)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
-msgstr "使用通配符(默认对 exclusion )"
+msgstr "使用通配符(对 exclusion 为默认值)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "逐字匹配字符串"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
-msgstr "通配符匹配‘/’(默认对exclusion 有效)"
+msgstr "通配符匹配‘/’(对 exclusion 为默认值)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "通配符不匹配‘/’"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"下列选项在归档创建或更新模式中用在任何非可选参数之后。这些选项是可选的,且仅"
+"影响跟随其后的参数。请在安排参数顺序时谨慎处理。"
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s 无效果"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s 无效果"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s 无效果"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "命令行"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s: 从%s 里读取的文件列表已经从%s 里读取了"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "无法拆分字符串‘%s’: %s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: 读取的文件名含有空字符"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "文件名中所使用的字符匹配模式"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr "使用 --wildcards 打开模式匹配,或是 --no-wildcards 来关闭之"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s:归档中找不到"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s:没有在归档中找到需要的"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "归档卷标不匹配"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr "在文件列表中 -C 选项与 --listed-incremental 选项不许合用"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "仅一个 -C 选项允许与  --listed-incremental 合用"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "选项“%s”和“%s”都需要标准输出"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s:无效的归档格式"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "在不兼容的归档格式上需要 GNU 特征"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1550,7 +1550,7 @@ msgid ""
 "  tar -tvf archive.tar         # List all files in archive.tar verbosely.\n"
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
-" GNU ‘tar’ 将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原"
+"GNU ‘tar’ 将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原"
 "所需文件。\n"
 "\n"
 "示例\n"
@@ -1740,13 +1740,13 @@ msgstr "创建子目录以避免解压松散文件"
 
 #: src/tar.c:491
 msgid "Select output stream:"
-msgstr "选择输出流:"
+msgstr "选择输出流:"
 
 #: src/tar.c:494
 msgid "extract files to standard output"
 msgstr "解压文件至标准输出"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "COMMAND"
 
@@ -1782,7 +1782,7 @@ msgstr "用FILE 映射文件所有者UIDs 和名字"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "用FILE 映射文件所有者GIDs 和名字"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "DATE-OR-FILE"
 
@@ -1897,23 +1897,23 @@ msgstr "为xattr 关键字指定排除匹配项"
 
 #: src/tar.c:571
 msgid "Enable the SELinux context support"
-msgstr "开启SELinux 上下文支持"
+msgstr "开启 SELinux 上下文支持"
 
 #: src/tar.c:573
 msgid "Disable the SELinux context support"
-msgstr "关闭SELinux 上下文支持"
+msgstr "关闭 SELinux 上下文支持"
 
 #: src/tar.c:575
 msgid "Enable the POSIX ACLs support"
-msgstr "开启POSIX ACLs 支持"
+msgstr "开启 POSIX ACLs 支持"
 
 #: src/tar.c:577
 msgid "Disable the POSIX ACLs support"
-msgstr "关闭POSIX ACLs 支持"
+msgstr "关闭 POSIX ACLs 支持"
 
 #: src/tar.c:582
 msgid "Device selection and switching:"
-msgstr "设备选择和切换:"
+msgstr "设备选择和切换:"
 
 #: src/tar.c:584
 msgid "ARCHIVE"
@@ -1983,7 +1983,7 @@ msgstr "读取时重新分块(只对 4.2BSD 管道有效)"
 msgid "Archive format selection:"
 msgstr "选择归档格式:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "FORMAT"
 
@@ -1997,11 +1997,11 @@ msgstr "FORMAT 是以下格式中的一种:"
 
 #: src/tar.c:641
 msgid "old V7 tar format"
-msgstr "old V7 tar 格式"
+msgstr "旧的 V7 tar 格式"
 
 #: src/tar.c:644
 msgid "GNU format as per tar <= 1.12"
-msgstr "GNU 格式 as per tar <= 1.12"
+msgstr "GNU 格式,其中 tar 版本 <= 1.12"
 
 #: src/tar.c:646
 msgid "GNU tar 1.13.x format"
@@ -2065,118 +2065,118 @@ msgstr "PROG"
 msgid "filter through PROG (must accept -d)"
 msgstr "通过 PROG 过滤(必须是能接受 -d 选项的程序)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "本地文件选择:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "创建归档时保存在本地文件系统中"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "不要从文件名中清除引导符‘/’"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "跟踪符号链接;将它们所指向的文件归档并输出"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "跟踪硬链接;将它们所指向的文件归档并输出"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "MEMBER-NAME"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "从归档中的 MEMBER-NAME 成员处开始读取归档"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "只保存比 DATE-OR-FILE 更新的文件"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "DATE"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "当只有数据改变时比较数据和时间"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "在删除前备份,选择 CONTROL 版本"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 "在删除前备份,除非被环境变量 SIMPLE_BACKUP_SUFFIX 覆盖,否则覆盖常用后缀(‘’)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "文件名变换:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "解压时从文件名中清除 NUMBER 个引导部分"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "使用 sed 代替 EXPRESSION 来进行文件名变换"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "提示性输出:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "详细地列出处理的文件"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "KEYWORD"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
-msgstr "警告控制:"
+msgstr "警告控制"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "每隔 NUMBER 个记录显示进度信息(默认为 10 个)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "在每个检查点上执行 ACTION"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "只要不是所有链接都被输出就打印信息"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2187,125 +2187,125 @@ msgstr ""
 "号为: SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和 SIGUSR2;同时也接受不带 SIG 前缀的"
 "信号名称"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "以 UTC 格式打印文件修改时间"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "按文件原本时间格式打印"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "将详细输出发送至 FILE"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "每个信息都显示归档内的块数"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "每次操作都要求确认"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "显示 tar 默认选项"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "显示快照文件区的有效范围"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "列表或解压时,列出每个不匹配查找标准的目录"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "显示变换后的文件名或归档名"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "设置名称引用风格;有效的 STYLE 值请参阅以下说明"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "来自 STRING 的额外的引用字符"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "禁用来自 STRING 的字符引用"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "兼容性选项:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "创建归档时,相当于 --old-archive;展开归档时,相当于 --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "其它选项:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "禁用某些潜在的有危险的选项"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "‘%s’无法与‘%s’一起用"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "您不能指定\"-Acdtrux\", \"--delete\"或是\"--test-label\"外的选项"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "压缩选项冲突"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "未知的信号名称: %s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "找不到数据样板文件"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "把未知的时间格式 %2$s 替换为 %1$s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "选项 %s: 将日期 ‘%s’ 当作 %s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "通过 %s 过滤归档"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "--quoting-style 选项的有效参数为:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2313,288 +2313,296 @@ msgstr ""
 "\n"
 "此 tar 默认为:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "无效的所有者或组ID"
 
-#: src/tar.c:1347
-#, fuzzy
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "无效的块因子"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "无效的磁带长度"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "无效的增量度"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "多于一个时间阈值"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "无效的离散版本值"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr "此平台不支持 --atime-preserve=‘system’ "
+msgstr "此平台不支持 --atime-preserve='system'"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint 值不是个整数"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "选项中给出无效的访问模式"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "无效的数字"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "无效的记录大小"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "记录大小必须是 %d 的倍数。"
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "无效的元素数"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "仅允许使用一个 --to-command 选项"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "错误的压缩参数: %s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "未知的压缩参数: ‘%c’"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "此版本 tar 不支持选项“-[0-7][lmh]”"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu: 错误定位"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "错误解析 %s"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FILE]..."
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "%s 中有非选项参数"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "无法分割 TAR_OPTIONS: %s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "旧选项“%c”需要参数。"
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "没有一个文件列表时 --occurrence 是没有意义的"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "多个归档文件需要使用“-M”选项"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "没有 --listed-incremental 选项的话 --level 选项是无意义的"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s:卷标过长 (限制为 %lu 字节)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "无法检验多卷归档文件"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "无法检验压缩归档文件"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "无法使用多卷压缩归档文件"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "无法联结压缩归档文件"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime 参数需要先用 --mtime 指定日期"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option 只能用于 POSIX 归档中"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls 只能用于 POSIX 归档中"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux 只能用于 POSIX 归档中"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs 只能用于 POSIX 归档中"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr "无法推断顶层目录名; 请用--one-top-level=DIR 明确指定"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "卷长度不可小于记录大小"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "谨慎地拒绝创建空归档文件"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr "选项“-Aru”与“-f -”不兼容"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "您必须从\"-Acdtrux\", \"--delete\"或是\"--test-label\"中指定一个选项"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "由于前次错误,将以上次的错误状态退出"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s:文件缩小 %s 字节"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "关键字 %s 未知或还未实现"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "时间标记超出允许范围"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "不能使用模式 %s"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "不能覆盖关键字 %s"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "错误的扩展头: 缺少 length"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "扩展头长度 %*s 超出范围"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "错误的扩展头: length 后缺少空白符"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "错误的扩展头: 缺少等于符号"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "错误的扩展头: 缺少空行"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "忽略未知的扩展头关键字‘%s’"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "生成的关键字/值对太长了(keyword=%s, length=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "扩展头 %s=%s 超出范围 %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "错误的扩展头: %s=%s 无效"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "错误的扩展头: %s=%s 溢出"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "错误的扩展头: %s 无效: 非预期的分隔符 %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "错误的扩展头: %s 无效: 奇怪的数值"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s: 无效的超时设置"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s: 未知的检查点操作"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "写入"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "读取"
 
@@ -2602,7 +2610,7 @@ msgstr "读取"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "写入操作的检查点 %u"
@@ -2611,12 +2619,12 @@ msgstr "写入操作的检查点 %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "读取操作的检查点 %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2624,90 +2632,94 @@ msgstr ""
 "genfile 为 GNU paxutils 测试软件操作数据文件。\n"
 "选项为:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "文件创建选项:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "SIZE"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "创建指定 SIZE 的文件"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "写入文件 NAME,而不是标准输出"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "从 FILE 读取文件名"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T 读取以 NULL 终止的名字"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "以指定的 PATTERN 填充文件。PATTERN 可以是‘default’或是‘zeros’"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "稀疏文件的块大小"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "生成稀疏文件。命令行其余选项指定 map 文件。"
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "OFFSET"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "在写入数据前定位至指定的偏移位"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "隐藏不重要的诊断信息"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "文件统计选项:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "打印每个给定文件的 stat 结构定义的内容。默认 FORMAT 是: "
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "同步执行选项:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "OPTION"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "执行 ARGS。与 --checkpoint 或 --cut,--append,--touch 中的一个一起使用时有用"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "只要达到 checkpoint NUMBER 指定的数值就执行指定的操作(见下)"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "为下一个 --touch 选项设定日期"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "显示执行的 checkpoints 以及 COMMAND 的退出状态"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2715,128 +2727,128 @@ msgstr ""
 "同步执行操作。当达到由 --checkpoint 选项指定的 checkpoint 数值时会执行这些操"
 "作。"
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr "截短 FILE 至由前面 --length 选项指定的大小(如果未指定的话,默认 0)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "添加 SIZE 字节至 FILE。SIZE 由前面的 --length 选项指定。"
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "更新 FILE 的访问和修改时间"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "执行 COMMAND"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "删除 FILE"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "无效的值: %s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "数值超出所允许的范围: %s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "负值: %s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) 错误"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "需要文件长度为 %lu,实际为 %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "所创建的文件非稀疏文件"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "“%s”附近解析数字错误"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "未知的数据格式"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "无法打开“%s”"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "无法定位"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "文件名包含空字符"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "使用 --file 选项无法在标准输出上生成离散文件"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr "不正确的掩码(“%s”附近)"
+msgstr "不正确的掩码(“%s”附近)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "未知的文件掩码位“%s”"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "无法设定“%s”的时间"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
-msgstr "无法删除“%s”"
+msgstr "无法截断“%s”"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "命令失败: %s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "无法删除“%s”"
+msgstr "无法取得“%s”的状态(stat)"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "无法设定“%s”的时间"
+msgstr "无法删除目录“%s”"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "无法删除 \"%s\""
@@ -2864,7 +2876,7 @@ msgstr "命令由信号 %d 停止了\n"
 #: tests/genfile.c:929
 #, c-format
 msgid "Command dumped core\n"
-msgstr "命令输出 core\n"
+msgstr "命令核心转储\n"
 
 #: tests/genfile.c:932
 #, c-format
@@ -2876,6 +2888,9 @@ msgstr "命令终止\n"
 msgid "--stat requires file names"
 msgstr "--stat 选项需要文件名"
 
+#~ msgid "OPTION"
+#~ msgstr "OPTION"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT 参数值必须为正"
 
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index e29da0f247e3585ed2b9bb57a01eb572c352d1d5..8b39a4266bd094403677afb0ef694561156c570f 100644
GIT binary patch
delta 14756
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
YcQX6IG`{CsH@;ZW0TbGsb}&I20JO<?mjD0&

delta 12876
zcmZ2}lKI$9=K6a=EK?a77#QrB7#Iu~7#I|U7#J9t85jgq7#Kj}A_fpz#(;rA0i=L|
zfx*XsfkBdifx*{+fkA|Ufg#<1fq{*IfuRPZhJk^h*?@sTo`Hd3i2(xx4+8_k5h#7p
zfPtZ%fq~(k0Rw{=0|P^vAwxZb9s>hItsw)0Dgy(<8bbyKK?VkfONI;#!VC-yPYf9t
zlo%Koei$+^xHB*?NE<OQs4y@vBpWd>@G>wkbQm!($S^Q4OfzC&&}U#^*lYx`_^}ZK
zgEa#K1G6y$gA@Y;gS|1t+$duP25|-kh8$xC22lnEh8E*`1_l8J28LP23=DD%3=FG{
z85q<U7#L0&Lwxqpn1R8Hfq{X|1mX}!69xt|1_p){69$Gj1_p-NCJ+mLnJ_R&FfcHP
znldnGGB7acnL>OXVamXe!oa|gYRbT%12WeX;(+g_3=BpL3=I7BW(*953=9lTW(*7_
z3=9k<W(*9<3=9k_%@`Px7#JANnn8lfz#QU0cXI}YGEmT&Gk`<pt~mpP9RmXcg9QTv
zKgg#R3=9ek3=IAj3=BdH3=9Pp5Q~~E7#K7d7#Ox$Kpc4A0;0d3(~^O~n1O*o#}eYR
z1WQPWOt*wsxWW?Rz~hz>hyAo<U{GXWV34(fIN08bfx#T)a4QCIRIagtSa92lfx(M`
zfq~T;qCUWyfkB#qfuYD664iay;E<?i*kTQF*%@m{P=2+BxLm-7fkB;tfkD}ZfkBpm
zfx#O}XWBp#WIL4KX~V$4%)r2~+y>&K)iw}^owI=?N@iO~V&$@BVBlk5U{Hb5#<n1P
z>KPcEY#}ZVwS^>_dRs^$+ieR8x(Bw95E8b7Br<m>U2X@7)8%#$hhMQ{V9;h@V0do_
z2{~zd1_oOO1_mp81_m1j28IfIu#XwG+Cv<6)}DcZy`F)A;fg)Pf;;vM46Y0e3<3@i
z2ZcE>FqkqhFf=$o65%!nh=m^=AR#8_2=SS_BgDapj*zs{<_O6Ja~&ZL+Uv-`;Ksnf
z@X`@tkAV{dgBB<eJ25cSgR)n@6U3rTP7s&9aDoK+dnZVo@j64w22E#(52BnI7}!B^
z38kx`bdxhAF?Kmaa?wd=h{HZOLo60`VPJ@4U|{fcftb74g`pmt-S)dcT>i`jl34z_
zKwK{G3gLUZLK0uDD<qC5x<az&7FS6AKj{hy@@K9PhqJmt$`55XNNzB9gP0%T2GN)A
z1__}Sw|YpnS>ndP;K0DZu*D4$#9!SY1}V8i403RXXb5p<U|<2Ic6Uhru5^bazBYGA
z8t8I|Sh&<3l8cVHLkgPfQ2lS+As*rNfH>H&-UA{K-~r7>9uOa|@nB%!Vqjo6=K=BY
zO%I5J{y_Oso)80UJsB867#J90JRu(0=m|-*2R$Jk`QizQYeg>z-^UB$fl4n(RM*#e
zL44Ng1qq_1UXaAH#|sj7%-#^6X?R0QIA?E2Q5xe7NvwI^3=D~k3=CVmAr_1ILLBPp
z3-NinFT`QBzL2Qu^<`jiVqjoc<qHn+dWN^Y4B!Gq&yRtDn}LBLzz<SD#P~rpH2E<w
z=rS-c%=d#t#aTZ{B7Eov%D)T@Km8yU@%TeLqT~;WV<&$|RD}CO%&G8)<d&)akaA_c
zKd3yYXJEMQ5AoqMe@F;020#=_1VAh_3V?{aLHV%(khm=jfEe5a6`vmfanR-fNC+GY
zfaH=V0T74134lZaPawoT%RmMOQBeL5353*US%HwasR)FGL~S4>jyeM&KAI2+iSwm_
zkT^XO2no6OP+Bku5@p6vIwA;CVATdeiuScZ5T8E@f)sQ-!3+%bpvuD|7*e3L2Sdt%
z4Z)Bge-;cWh(tml7TSd{FcdQ|Fl2@>FgP+WFx(A+I7~hi5@IHykdW~Uh2)O-P)G>n
zghKRphC)2JB^2VZouLf%;3D%tC?rw635CSvzfeeG6A6PDs2c_eLc1`C#yBXQ8pgoD
z3aZb;AZey33=#q}!XUY6Zy3aZU&A12hASMB+myl~m6cm~J*1#14Tscn3&TN)f`Q?3
zI3z9~g+t=-Yd9n^{SAjifm{T{C$<rg)a?`ju_!145)$bV5DOY3z^R;JLj)v>KSn@8
z;(r7rmub~ULM$qbglKGugcP;&A|XCHAIZSr!oa}rHIjkB8C01>K@w426eKQJM?rjc
zISOLV>nKQK{TBsEyrR(%hiXPcLQW6LH-+-+t)d}8=ok$tlii~sL7yBAv8W~*5+y66
zAtA6o8WOh;q9IZ8HX7mp-WZ6_RAV3^8W01i18Si3;uuIsor+;#C}dz@xD^8q$$AE#
zScnU=p>#nk14A?;14C&nBm^$TL4xvo9Hb;vi-&}iXFSA*$?=dhQV!*J#4|8NF)%R9
ziHD^6@9~h_q?f?J-~$T51c?6j1ds>n85kBOK;rIT0we^kB|r@RlmPKLTOuTAWfB<}
zJQx@l^b;XIu1JLFn~(^JvZaZTAikE!zz_z?9f=GKo(v2OCP@%}T@pn7)g(x5_$rBk
zK_8U=<&q(Z%r6<@fUsmp_A5$;#N~oya8NO9Plh<`S~4U=UP0w0Qy}@-AO&J@P6{O7
zFGztz#f20|TKSU#N&PCRAfGcZc%(8g)Pve&8L5!CX-Q>Z2x4Ghn34(!s^_T;44fbz
zq(NxAG)P+UfYN?xkfvBj8l)}=OM{dbbJ8Fd9!rDd|95GSsN_zEc*HQBfgu4@)TcAl
zgPX-0(;-26FCF5;Z|M*XTp19b8e~91BpyolW<V0r?hHs<Pd5`%TP9^fEXd7-Slp8d
zDbQACLMom6nUL(Qlm$sMhFSHH#Nm_$ae!YIL}MD1Zq9<l*@7%c8rYfzDRNI_K^*i7
zs!t*tQX(2;L-Ki1Hbi|xHYB%9&W7Zs1=$b}p3R1s`>-C$_?8WcL+%_%DtFIeV8~)%
zV93gW6wOz2AeF|y90rC|1_lPnTu9v3=RyoxoePQc1G$h?{~;HW9o6$7i8Ck<BHx?`
zX^d{pgEZCZKjcANrk@XqyO?~4L|Z;2zaPzq#O*UEty2IA%Ax{@!?qScO3r%)5DNqf
zAwla<2&n}F3mF)~85kJy3n5*&<Ao51^A~{=V?Bd)5yVCDMUc3hQv?a(i$#!B`nd?=
z6X9YA->w)UA6E?VX+tr@qV2^H2VX6QIPhCBB#JCcAnMagAnH0xAa%s@5>Uw0GccSf
zfdu{E5(WlK1_lPpQi#UlQm_jd7DDNxrI7smvJ~QT<1$E;#FRnew7d)=-VLR<ltCPP
zw+v$8-!e#AQ!0lzM6aBIK^v6+eaayQRg^>Gax#>^q8#G$!{rcz-jzcfz*hkY;)n`}
zzRU_p?b%WRiOOje3=G~33=D@WAP(ZMgwPh1kh&zX5)#tODj68+LA~DFm5}`UtCE3X
zJp%)SQWYd5E>%I&1Wz?2&djPIK1r&El<n=+kP>oTH3P#_P(Qz#fkA|kfnik*q)6Xi
z3yJ$9wUAm+rVf%uV(TE;ySI*^9^8xFTnBOawK_=9GuJ~D7}i4^0IQ}O>meoL+ImQk
zAAx4y8}*Qq^9i&$&(Ht~8G#0f!?hd09b|^^21p1`Xn^#nmNwKwTCEQnATASbgaoB?
zBP8fU8yUbO9Su<aEGT`n5mI7)XoTovXo8fC22GGUz^n<<_p@z+=&x>qgxJ(3NV%}5
z2~x0~uWw>th-F}4_}2unFs2z2679_ppKpQE_nIN)0!Is^Wux5!iHhVFNb2rrfp}z9
z3nb+3LgkrTA!$dW6_nZ;7(7}b)q7<tq@=8$)C%#*##ROfKL!SdgRKk<!JtlP8zcx*
z+8{w#-v;sF>Nbc48`~hM`Fa}z!&OEGhR1CXpYH5{(3d+H7&sUh7~Xb365qEDhzI05
zAtj<yC%7oCXYlW20EHeyTqmRme%J}|`Oi*>50$$h4)o}PL`_5&#N}CCkaDB53u5rG
zF0g?NFS{Vw>qi$PYQ(xB+1RZc5&~IJ{_Jj$dG!no`@10;E_Op4@V*<8s@Z!W;<7!E
zAhzy-B%atFh`~iY5Q7&%<&X71s^1qqkdTw<h0x}`kSGo6g*dRj7gECZ^)fK1f%5;^
zUPz+&0#(S~2dPX<`XKqWtPc_*yZazT?bAMpL&f_cC7ymiq-YK3hd5|PKg1z>`XRaG
zLq8;hSSCPnkNN~i>bIM~z)%kwm8zToNqoyDKn%P%0pi0?6CjC7X(A}77#Kn)LgdpY
zLc}|u{M{2F7T=i&v6x{J#K$I+AP!H2(%q9F?TW3FAi05QGDAIhP)Kt!!~oaH5DPLV
zL*l+`G9(DsPlg2jsmYMUcpoaxJq41Q)uuqY;r3G?X~TI60|OHS14Ggjh&icKARg?R
z0!frxq3ZTcfsX&(odPLR-%Wv7^nVJ(AtF;D4G7bzkaj^fl;1HGQbO*V3W<^*Qz1Um
zng;Pm;50}sD4hlg`u=GUhi#e$DHkqIgCt)5`stAT=`$TtaO6Pg;^`2dR!wJM@MU0N
zST-GE@R#Wj3ngYig4$~a#D{e=AVv7%8IZ(#dIlt$K7{hwXF^Iy*_jY?EoVad6ZNSx
zA#uHOCM1Y%&V(4mG7CcM%z`*9WELbYqh~=3YMlkCL>5B%*P!Y?LFu1Rnqf91v9ZsF
zgn-j*NN!4;4K5ez8JcG^Fa(0eerH1r{x=(9vD6$$$T-b`h$qc~h}X@57_@8-#Gs>4
z`uQA4YUi8_p=IYn(vBgN_L&Q5nx#YerE?h=_!;UM7$$%j3=9kALM+-a7g9o<nF~q9
zH|IhuWSa+}Rp&v1*kv9hO+?Lugi!fBkbw*gbx?laJcxNyq53w?gE-*AJV<uGH;;iq
z0+jzh&V%@bYd%DS&U}bP9`hlIEPXyCY8K9iG{eu#hp4{>RsRF3USt6z&W#r^FvKu0
zFhnkZ6gb-!K=dD707;}D7C_RH_(BGTde9K7^+JdblA(0gLWs`_7eaj6w-C|>T(S_7
zcwRxp#TG&2brwN<<g^G<vV|^UU`S_VV3@K9l6(FvhD3$Y5{P==C6JIxUcyih9?vgc
z0%^0&SOQ5bx0gUtwb)WfwzOUfagfhaNC}p?6e8aM<u6?dF?i2XNO^Dx%6|>zGcJSZ
zlUfF;b`6(7)FmvdhiI%^1_|>1We}IGTLux|w+!O5E6X4jK8K3)EQiP|L1~NSkaELs
zImF;(sCW&Oo&=>=EQdtlzU2@Pov2?9iL<B6Aq58a3P|czT>){3<qAmDc&>mXo&YF6
z4yrD71te%IS3t7ologPIYu^e;T;E>-srA@aLTK}qka8nqC8Qv#pR*E@t!}M^lt@gg
zAW>nz3L@UL3Zh}vDo6<2gVM~aA$*P1kiMMnYDm*<-D*h4+*u6?iBGE`A;`T3lB?v_
zKoYt38nDOf8Qj-Ee3%QROV&UNr0O-0N@w*Nh(UYTK!WVr8i;|P*Fb#AwiXhk>T4n9
z7(!`_wO|Vv?AJn4d+J(9;_O@tNmD1*f<m~Sf#K#_NYK1o3(4<N>mX^teH}zRZ5>D<
z1H*JEy?h<SqV4M-4%i1(e;+FTZyh8pu&#$hsnmK%;xkzf2~qF$5Qh}6XJ8Nl<^N6V
zAwhg}J*2+>xgHXPb{il;6|w<hP{9U>kGeKMa>)iL{dxl=f2(bTL`mRANW-OUBgBDI
zHbV4o-3Uo5=Ql!X%U2s280taucJDSqeDoDc|AErXn;=2YwF%-7<xLQa>^DIim<8oG
zY=Xq?>P?V>X$MsP)+UI9KWu{dTx>H$-flA_gcCM1)PrZK>NhhmlrS(bOxg^wkbMip
zK?+b>eG3D_X+{PHy)6(Q{n`pKP<k80K<8}`eW_5o4oXjl(i^rxIwB{xK}uA`?T|DO
zy&XFKm$MyWz>Mt>pKja^Nn~fC{0G}1KK`>E61PG-AoA)vAhTRnJ0L;Zx&xwa!461N
zY})}zoVRyCTGdZ?Ffasw`j|T*A=y>G6QW`3PDqpLG*sf>PRN*$<}OI$G28_)&|??G
z;@n*j2RH13=%2X@lK<C3#c%F{3^0D$1<B`@yCFTG^4*YXd&6!>;;w(X8<Oh9_CSMj
z4<zxV?tx^#<~@*3=hQurKHU91kaoYqUWm_h_ClIeW>DIGFC=k!?1fb8K6@eAZ{A)=
z(R*kwq+t5E7aY>{3=;bw7MkpX^jd@VL2|>qeGngB+6VFB>wRDi42=6B4wc;xNksPh
zAs&d^4;eA(-VgENxBZYrseJ&_j<A5z5eFbXuQ&k8hV={#D-S^O_X{Zf;{Ze>$3ch#
zL=Qq7sCN(&$36!k>eCNG99Di15;eUCAr9Yk5K@FcI|#Ap*Fi`~X&-`wsOcdH-~A8+
zg8?Z22OfgNY11J{yM8K^zxEKMNIh@};`4Wh7#Io|7#O$?LlRH*VTky$!;tFv5LBGw
z2*iQLM<CU;^AU){@{d45Zt)RFlpH<6z)%mG%Y6w|z<m^Au>DcU&`Q=(hyxZLg=Dw$
zM<E7$Kgz&h4;q9z2B|Y5q4cz45DPCKgVg)~k3q~cJq{^=5{^S0Ty-4MVVQQEp&mTs
za_>0AMG_|<3T#e542U=ZaX=qbe9sAp18$sv#Qm=mkf@P735jF#laL|W@RN|JTW}I$
z-p-Q{hh9Ai(JyogB5rc39^$fqQxG3!or1V{(kY0By-@nsDM+{5{4_*9|1`v5vra>L
z%_pFI@iP#EUC%%qn0N+~+8dzsa;W&ZGZ2Trtv>^aEAF!p4bo>JL1=XrVo=&yh<wvo
zNaCAx7UF=lXCaC2##u;-_U<es4QZT%m}7koQcy*mgQ(9x2Z^#-=OE?8t#c6b>sii2
z5{JThNSue9hXhggc}VJAd!B(|CTPvZd5A$37a;PBFF^Diy#Ohae?rBjE<zk)bCH4J
zK4>ArMFs`|Mg|7`OOPVn;WDHscE1cxwDk=0FGGU*>19YhR=NUlng11th1pPg+7*b)
z4_<*p)$1z|2MS+>goMjgh{aJ?A!EV0S0N!*0TrKo6%sPbu0q-uN3ViHuAYJ6D^!90
zHAo0JU4!_n@*2beYp+3q^2RlY#c!`c3=+K#;hR9|nCp=I-Etk0Hl|&Nlp{x=^u_Ct
zBL3cWh=T=hFfgcq^1u2Gh(ezm5RH*HAWf?F8<3!WaRcHYuA2}8?4WevO^5@Q+=LWB
zXKq45=;KXDr&IbCBp2D;f|yfs3sN0Vy9Lp==N1D)J!o~ylUtCWlfMn|nbB>Cg92|u
z%J8_`;J9Mga2pb&-)=)vwcs5{oLbz0SYUq#qA&3dWL^L?umxJ10>XBT3=9uJ^TZ4c
z3|~OgFpLZg9*hk23`R^03_lqe7@jdOFf3(YU<d`RIs&b5VPIgm&cML1jgf(2Gspx6
z28LKh28Q`ic|A}EpMim4JtG6dU8p>W0<HI%1WIs>3=9s83=GOpbs#wqE?|Uu3bcHO
z5fuIm3=9cSLqThJK$Aoqj0_Arp<?MET?`BiL5z@u$_F)2mXU#h4XWlZR1J&*El4qk
z${8>+F#KX<VCZIGV7SP@z|hLbz_5>jfngIP1H+SgMo9l2q%o6`fkBs%fngTNm!S0-
zPy>!KLV_El<{AS7!&MLi2`4c!FuY}CU}$7uVEBe4UdqV8aGeoSK=D8wtpqjmHUk5L
z4HE-H{duSWXt@<AEr6y|L1uvF^c5Hx81fkz7<NI`e1_5>c^KXZTCT;&z>o!%11(qq
z$(cd<TuclM-HZ$jT#O71S3oTvMh1oqMg|5GMg|69CWd+jEl?aWFffQSGB8YIWMGJ3
zWMIf<WMDW6av>uF!!ia2hB!tBhJT>t8H@}JuNW8@)R`C<rZF%ud}m}}FlAz3_{soD
zcp!^o7#SEkLGyp01O{4+#>l|1AL^JE1_lN#CP+&Nq?Q5H|A#Ojq!1GW!y`rph64~T
z3hB-WsRJ|_85j~l^MDKt3?YmR4AU7I7)~=lhEw_(A<MQv8fP;wFid2GOxL^z2{14)
z9AIQ%c)-ZO09tZq!N|a%S<l44PytfNz`&r!#K7<a>e9&!3=Dao6>rdZlV@UJkYZwB
zxCB})$H2g#!3bGOBhARbV9dzCpbb?AvS%*Tj0}(&P&N~i{8FeGGbsK|pc3;K85s6}
zbVKnmMh1o@43NgBH6sIqBvjKoD7}@Df#Ed+1H*Gh28N3u2SD}dF)}dJf)X(UWDxTY
zC~Yt>FdSll%ng8)Ee8<{;L;YF|DXb(ibj=@0W^LH76C0bkY!?Em<L+($H>628!U<-
zK)My69`J_>KVV>BI0j`4FflNsLLJ<|$iPs}z`$@6w5kT=AtnZfWuW{IT6TAWfq}t~
zk%8e21EdR<!@$7s6BMV63=At6A+s4ij0_BnOpxX@$owyi3=Bme1_J}bCk6%vS4IYg
zI;drPq4XUF28I`)?8(5u@DMcX4a(L~J)jj-qM-b*#Kgc*4AlT?R&57O!Gf|KRAC<@
z1H)k`8=3kG)$<Zc!{kmeFfa%)GBCUVjjAy)Fi3!+5~@a*iGjhMk%8e40|Uc-Mh1rZ
zPmBx<GK>ri>lh(jFpwe77#SFjFfcGQGBPmKFfcGgfLsnL#Xyn_3=DM)3=D!ypyo5A
z9k&%U*#xy<1C*9vf^^r<fCi#K#W52DLjWTKLoWlQzaYxQzyKP50vnmb$iN^78ZZJC
z5MU7o1`8$z1{Ed-26m`{Ye8%G7#SF%7#SFDFfcHzV_;xd4OPnmO#>h<XzE>u5i+L$
z;)5_ZBLhP`h{3?X@Cr0R#lXN|4c1f7z`)MLz);NyX{DTGWMBwmWMG&9YG#8L6*4j~
z%mkJ5ObiUBP=|obSpizR30*M@n%xAg9RrDjurO2|sAcWO$iVQPk%7UMk%3_YXhAEe
z+-G25n9jh!un43Wl!8GtXiX=G1`Wr7Xig>u23{rx22~~ohI0%I4B?Cn4022i44sS&
z3@aHSoyeV_Wt&Wp?wJ(S(ke#C&>Lu4AGB%;WY$4O28K)!g8{PqHXf=LBm}m<6vP50
z2vAK3Wp8JMG{->P9iS49k%6I=fq{XOk%1u%YQQ2;)e9=F85kHYgUSF#NK2`Ok%57q
zk%8en1Ef6xG6RPF86ks{3m^jZ3{Idpg>b+tS64DHFnnW#^j^!L7J;Ne>vlnO6C(pd
z9|Hr!8%72O4R9PXFl+-!fXa3#{Txc)W@KQv05t=&&UgVM149*5P6VvCo`K;%BLl-r
z&<r(bK`{dZ!(#?WXM!870HQh&YKROI1H)P9YH5&6GbmAlW=uf^6axdpaj3e<pxngB
zz);8tS<JGE5z=(q3raT(3=I7Y3=9`Q27tmJv`!bq{s*cep$34a;6P$xObiSYK)Hi~
zf#D-m&WwqH;RKWoQUh9MYtF>L@EycqU|_h$$iQ%%fq|iok%6I-5i&hD7b*vu-o3}j
z!0?fQfx!?|{xdQ%Fc^Sx00RTV4MqkAOC|<}d!W7@sCI*Ds$^hbcn!5s9!jraWMH_-
z0BM+tGchpifT}fSVqjnfwQv|27{nME7<d^O7#@KtH&8PUl#@Vdh=GBji-CdRH>myB
z14<-NLyMp^Xr(g9JYPlz1}~`CVn)co!x=^fh6$iznvsFwKS&WM@qzL)s8Pwpz);S}
zz_6N;fq{dGfuRdjkbx>TQ1%A38yF!I)lh8=pF#CMXmRm7kO&h4!+r(^hP8|g44zO+
z4WTqEBLjmXC@w+j7$D7PWkv>uISdR8xuDrkMh4KFGgOv=As5O5Eiwmn*_jv_7#tZH
z7|ue?dkP9YMh1pcpz=Q$lu#HL7(RfiNk#^SJ5WU+GeGnBw$Oyg2Nee`(E-VU)(V4Y
z5C*Mm?gce0KvTG&xMyHs*a%h63f12Z;xjTZbTBe7gfcKN%m9`DEQ|~czd@EWGBEsL
zU|?7bN*Ev$K}{+~$XGB`KSK|w3I-X%z`y`<I7k_28NMQ@EN5h3_{zw@;0>xXK&hRP
zfuRD_!T~8l!=QQLygLjGDh3SF3>F3q3}ts9Jr|HVkoo`r|Np<>&g3FPz0EmBlNmP~
zn#eJ4&Nbi1Hu=2W)X6RO3pV>Y2rzA4>(s}w+1+~=qmN^dd$68DXmM&<X^uj9W=V#E
zu5NNhYI1f#er8^YLSkNuLVjMVLVg-ZytG6|L031ipdd9b1;i@JFHOz>F-r4tGV`(*
z|L|eiY#F$XgEb(;)8B9N+sF)#%__-d+>^KG#cfv050K#~Ni0$@)HAZ2+|+H$Yp!c(
zq-$udU}$7zY&iK$x3q_uuAzahp@D*tv6Zo<wt<C#0hdo=afxn7QDR<kPGU)Zk(EMt
zYNoDFX`X^}Mq<8#O;S#2YEoi}LvCtrQfiT2T5+0Qeo^{n^&TF^$-ccZo2~n1GHzy`
zaGq)N*GZ9VlV(kxymQu!%`LM(Gj2XR_aFP_8%x(QhCSUg_1V-Nj~kj^Hm-a+q2onI
zJIJ?)P<XO?>C^r$kQjjwP<XPl`^k=mr>z^GPg$|Ke)(hO%}Z9#<Y0T*xZ~x5*3C9s
W4s&c?y;p>L@~so`oBd8kN&^79K^_$V

diff --git a/po/zh_TW.po b/po/zh_TW.po
index 54e7e955..9043f7fc 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -2,15 +2,16 @@
 # Copyright (C) 2005 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 # Wei-Lun Chao <bluebat@member.fsf.org>, 2009, 2013, 2016.
+# pan93412 <pan93412@gmail.com>, 2018.
 #
-#: src/create.c:1599
+#: src/create.c:1598
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.29\n"
+"Project-Id-Version: GNU tar 1.30\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2017-12-17 12:31+0200\n"
-"PO-Revision-Date: 2016-10-10 23:39+0800\n"
-"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
+"POT-Creation-Date: 2019-02-23 14:57+0200\n"
+"PO-Revision-Date: 2018-05-05 19:29+0800\n"
+"Last-Translator: pan93412 <pan93412@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
 "Language: zh_TW\n"
 "MIME-Version: 1.0\n"
@@ -18,6 +19,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.6\n"
 
 #: gnu/argmatch.c:134
 #, c-format
@@ -94,7 +96,7 @@ msgid "give a short usage message"
 msgstr "給出簡短的使用訊息"
 
 #: gnu/argp-parse.c:83 src/tar.c:507 src/tar.c:509 src/tar.c:612
-#: tests/genfile.c:134
+#: tests/genfile.c:129
 msgid "NAME"
 msgstr "名稱"
 
@@ -132,29 +134,29 @@ msgid "write error"
 msgstr "寫入錯誤"
 
 #: gnu/getopt.c:278
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous\n"
-msgstr "%s:選項 %s 是模稜兩可的\n"
+msgstr "%s:選項「%s%s」是模稜兩可的\n"
 
 #: gnu/getopt.c:284
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' is ambiguous; possibilities:"
-msgstr "%s:選項 %s 是模稜兩可的;可能是:"
+msgstr "%s:選項「%s%s」是模稜兩可的;可能是:"
 
 #: gnu/getopt.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unrecognized option '%s%s'\n"
-msgstr "%s:無法辨識的選項 %c%s\n"
+msgstr "%s:無法辨識的選項「%s%s」\n"
 
 #: gnu/getopt.c:345
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' doesn't allow an argument\n"
-msgstr "%s:選項 %c%s 不允許有引數\n"
+msgstr "%s:選項「%s%s」不允許有引數\n"
 
 #: gnu/getopt.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "%s: option '%s%s' requires an argument\n"
-msgstr "%s:選項 --%s 需要一個引數\n"
+msgstr "%s:選項「%s%s」需要一個引數\n"
 
 #: gnu/getopt.c:621
 #, c-format
@@ -229,12 +231,12 @@ msgstr "^[yY是]"
 msgid "^[nN]"
 msgstr "^[nN否]"
 
-#: gnu/version-etc.c:74
+#: gnu/version-etc.c:73
 #, c-format
 msgid "Packaged by %s (%s)\n"
 msgstr "由 %s (%s) 打包套件\n"
 
-#: gnu/version-etc.c:77
+#: gnu/version-etc.c:76
 #, c-format
 msgid "Packaged by %s\n"
 msgstr "由 %s 打包套件\n"
@@ -242,12 +244,11 @@ msgstr "由 %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.
-#: gnu/version-etc.c:84
+#: gnu/version-etc.c:83
 msgid "(C)"
 msgstr "©"
 
-#: gnu/version-etc.c:86
-#, fuzzy
+#: gnu/version-etc.c:85
 msgid ""
 "\n"
 "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
@@ -395,12 +396,11 @@ msgid "%s home page: <%s>\n"
 msgstr "%s 首頁:<%s>\n"
 
 #: gnu/version-etc.c:253
-#, fuzzy, c-format
+#, c-format
 msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
 msgstr "%s 首頁:<http://www.gnu.org/software/%s/>\n"
 
 #: gnu/version-etc.c:256
-#, fuzzy
 msgid "General help using GNU software: <https://www.gnu.org/gethelp/>\n"
 msgstr "使用 GNU 軟體的一般說明:<http://www.gnu.org/gethelp/>\n"
 
@@ -518,187 +518,187 @@ msgstr "無法將檔案重導至遠端命令殼"
 msgid "Cannot execute remote shell"
 msgstr "無法執行遠端命令殼"
 
-#: rmt/rmt.c:432
+#: rmt/rmt.c:436
 msgid "Seek direction out of range"
 msgstr "尋求方向超出範圍"
 
-#: rmt/rmt.c:438
+#: rmt/rmt.c:442
 msgid "Invalid seek direction"
 msgstr "無效的尋求方向"
 
-#: rmt/rmt.c:446
+#: rmt/rmt.c:450
 msgid "Invalid seek offset"
 msgstr "無效的尋求偏移"
 
-#: rmt/rmt.c:452
+#: rmt/rmt.c:456
 msgid "Seek offset out of range"
 msgstr "尋求偏移值超出範圍"
 
-#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+#: rmt/rmt.c:497 rmt/rmt.c:548 rmt/rmt.c:612
 msgid "Invalid byte count"
 msgstr "無效的位元組計數"
 
-#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+#: rmt/rmt.c:503 rmt/rmt.c:554 rmt/rmt.c:618 rmt/rmt.c:629
 msgid "Byte count out of range"
 msgstr "位元組計數超出範圍"
 
-#: rmt/rmt.c:558
+#: rmt/rmt.c:562
 msgid "Premature eof"
 msgstr "過早出現檔尾"
 
-#: rmt/rmt.c:601
+#: rmt/rmt.c:605
 msgid "Invalid operation code"
 msgstr "無效的運算碼"
 
-#: rmt/rmt.c:636 rmt/rmt.c:680
+#: rmt/rmt.c:640 rmt/rmt.c:684
 msgid "Operation not supported"
 msgstr "作業不支援"
 
-#: rmt/rmt.c:664
+#: rmt/rmt.c:668
 msgid "Unexpected arguments"
 msgstr "未預期的引數"
 
-#: rmt/rmt.c:689
+#: rmt/rmt.c:693
 msgid "Manipulate a tape drive, accepting commands from a remote process"
 msgstr "操控磁帶機,從遠端行程接受命令"
 
-#: rmt/rmt.c:696 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
-#: src/tar.c:714 src/tar.c:730 tests/genfile.c:171
+#: rmt/rmt.c:700 src/tar.c:432 src/tar.c:436 src/tar.c:610 src/tar.c:625
+#: src/tar.c:715 src/tar.c:731 tests/genfile.c:166
 msgid "NUMBER"
 msgstr "數目"
 
-#: rmt/rmt.c:697
+#: rmt/rmt.c:701
 msgid "set debug level"
 msgstr "設定除錯等級"
 
-#: rmt/rmt.c:698 src/names.c:71 src/names.c:75 src/names.c:93 src/names.c:103
-#: src/names.c:106 src/names.c:109 src/names.c:112 src/names.c:114
-#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:747
-#: tests/genfile.c:136 tests/genfile.c:185 tests/genfile.c:189
-#: tests/genfile.c:192 tests/genfile.c:198
+#: rmt/rmt.c:702 src/names.c:70 src/names.c:74 src/names.c:92 src/names.c:102
+#: src/names.c:105 src/names.c:108 src/names.c:111 src/names.c:113
+#: src/tar.c:430 src/tar.c:511 src/tar.c:513 src/tar.c:615 src/tar.c:748
+#: tests/genfile.c:131 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
 msgid "FILE"
 msgstr "檔案"
 
-#: rmt/rmt.c:699
+#: rmt/rmt.c:703
 msgid "set debug output file name"
 msgstr "設定除錯輸出檔案名稱"
 
-#: rmt/rmt.c:715 rmt/rmt.c:783
+#: rmt/rmt.c:719 rmt/rmt.c:787
 #, c-format
 msgid "cannot open %s"
 msgstr "無法開啟 %s"
 
-#: rmt/rmt.c:780 tests/genfile.c:977 tests/genfile.c:994
+#: rmt/rmt.c:784 tests/genfile.c:977
 #, c-format
 msgid "too many arguments"
 msgstr "太多引數"
 
-#: rmt/rmt.c:822
+#: rmt/rmt.c:826
 msgid "Garbage command"
 msgstr "無用的命令"
 
-#: src/buffer.c:474 src/buffer.c:479 src/buffer.c:773 src/buffer.c:1415
-#: src/buffer.c:1452 src/buffer.c:1464 src/buffer.c:1493 src/delete.c:211
-#: src/list.c:275 src/update.c:188
+#: src/buffer.c:476 src/buffer.c:481 src/buffer.c:775 src/buffer.c:1417
+#: src/buffer.c:1454 src/buffer.c:1466 src/buffer.c:1495 src/delete.c:210
+#: src/list.c:274 src/update.c:187
 msgid "This does not look like a tar archive"
 msgstr "這個看起來不像 tar 封存"
 
-#: src/buffer.c:590
+#: src/buffer.c:592
 msgid "Total bytes read"
 msgstr "已讀取位元組總數"
 
-#: src/buffer.c:592
+#: src/buffer.c:594
 msgid "Total bytes written"
 msgstr "已寫入位元組總數"
 
-#: src/buffer.c:593
+#: src/buffer.c:595
 msgid "Total bytes deleted"
 msgstr "已刪除位元組總數"
 
-#: src/buffer.c:672
+#: src/buffer.c:674
 msgid "(pipe)"
 msgstr "(管線)"
 
-#: src/buffer.c:696
+#: src/buffer.c:698
 msgid "Refusing to read archive contents from terminal (missing -f option?)"
 msgstr "拒絕從終端機讀取封存內容 (缺少 -f 選項?)"
 
-#: src/buffer.c:698
+#: src/buffer.c:700
 msgid "Refusing to write archive contents to terminal (missing -f option?)"
 msgstr "拒絕寫入封存內容到終端機 (缺少 -f 選項?)"
 
-#: src/buffer.c:711
+#: src/buffer.c:713
 msgid "Invalid value for record_size"
 msgstr "無效的記錄大小"
 
-#: src/buffer.c:714
+#: src/buffer.c:716
 msgid "No archive name given"
 msgstr "沒有指定封存名稱"
 
-#: src/buffer.c:757
+#: src/buffer.c:759
 msgid "Cannot verify stdin/stdout archive"
 msgstr "無法檢驗標準輸出入封存"
 
-#: src/buffer.c:770
+#: src/buffer.c:772
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "封存被壓縮過。使用 %s 選項"
 
-#: src/buffer.c:828 src/tar.c:2455
+#: src/buffer.c:830 src/tar.c:2464
 msgid "Cannot update compressed archives"
 msgstr "無法更新壓縮的封存"
 
-#: src/buffer.c:928
+#: src/buffer.c:930
 msgid "At beginning of tape, quitting now"
 msgstr "位於磁帶起始部分,立刻退出"
 
-#: src/buffer.c:934
+#: src/buffer.c:936
 msgid "Too many errors, quitting"
 msgstr "太多錯誤,離開中"
 
-#: src/buffer.c:967
+#: src/buffer.c:969
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "記錄大小 = %lu 區塊"
 
-#: src/buffer.c:988
+#: src/buffer.c:990
 #, c-format
 msgid "Unaligned block (%lu byte) in archive"
 msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] "封存中未排列的區塊 (%lu 位元組)"
 
-#: src/buffer.c:1075
+#: src/buffer.c:1077
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "無法倒退封存檔案;沒有 -i 也許會無法讀取"
 
-#: src/buffer.c:1107
+#: src/buffer.c:1109
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek 無法在記錄分界處停止"
 
-#: src/buffer.c:1168
+#: src/buffer.c:1170
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s:包含無效的卷冊號碼"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1205
 msgid "Volume number overflow"
 msgstr "卷冊號碼已滿"
 
-#: src/buffer.c:1218
+#: src/buffer.c:1220
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "準備好卷冊 #%d 以完成 %s 並按下 return: "
 
-#: src/buffer.c:1224
+#: src/buffer.c:1226
 msgid "EOF where user reply was expected"
 msgstr "到達期待使用者回答的檔案末端"
 
-#: src/buffer.c:1229 src/buffer.c:1261
+#: src/buffer.c:1231 src/buffer.c:1263
 msgid "WARNING: Archive is incomplete"
 msgstr "警告:封存不完整"
 
-#: src/buffer.c:1243
+#: src/buffer.c:1245
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -709,271 +709,271 @@ msgstr ""
 " q             放棄打包\n"
 " y 或 newline  繼續作業\n"
 
-#: src/buffer.c:1248
+#: src/buffer.c:1250
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             衍生一個子命令殼\n"
 
-#: src/buffer.c:1249
+#: src/buffer.c:1251
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             列印這個清單\n"
 
-#: src/buffer.c:1256
+#: src/buffer.c:1258
 msgid "No new volume; exiting.\n"
 msgstr "沒有新卷冊;離開。\n"
 
-#: src/buffer.c:1289
+#: src/buffer.c:1291
 msgid "File name not specified. Try again.\n"
 msgstr "檔案名稱尚未指定。再次嘗試。\n"
 
-#: src/buffer.c:1301
+#: src/buffer.c:1303
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "無效的輸入。按下 ? 以獲得說明。\n"
 
-#: src/buffer.c:1352
+#: src/buffer.c:1354
 #, c-format
 msgid "%s command failed"
 msgstr "%s 命令失敗"
 
-#: src/buffer.c:1529 src/buffer.c:1545
+#: src/buffer.c:1531 src/buffer.c:1547
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s 在本卷冊中並不連續"
 
-#: src/buffer.c:1541
+#: src/buffer.c:1543
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s 在本卷冊中可能連續:標頭含有截斷的名稱"
 
-#: src/buffer.c:1559
+#: src/buffer.c:1561
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s 的大小有錯 (%s != %s + %s)"
 
-#: src/buffer.c:1574
+#: src/buffer.c:1576
 #, c-format
 msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "本卷冊已超出序列 (%s - %s !=%s)"
 
-#: src/buffer.c:1652 src/buffer.c:1678
+#: src/buffer.c:1654 src/buffer.c:1672
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "封存未標誌為符合 %s"
 
-#: src/buffer.c:1682
+#: src/buffer.c:1676
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "卷冊 %s 不符合 %s"
 
-#: src/buffer.c:1774
+#: src/buffer.c:1769
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr "%s:檔名太長,無法儲存於 GNU 多重卷冊標頭之中,已截斷"
 
-#: src/buffer.c:1965
+#: src/buffer.c:1962
 msgid "write did not end on a block boundary"
 msgstr "並未於區段界限結束寫入"
 
-#: src/compare.c:98
+#: src/compare.c:97
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
 msgstr[0] "只能讀取 %2$lu 位元組中的 %1$lu 個"
 
-#: src/compare.c:108 src/compare.c:398
+#: src/compare.c:107 src/compare.c:397
 msgid "Contents differ"
 msgstr "內容不同"
 
-#: src/compare.c:134 src/extract.c:1204 src/incremen.c:1508 src/list.c:488
-#: src/list.c:1404 src/xheader.c:847
+#: src/compare.c:133 src/extract.c:1204 src/incremen.c:1508 src/list.c:487
+#: src/list.c:1401 src/xheader.c:865
 msgid "Unexpected EOF in archive"
 msgstr "未預期的封存結尾"
 
-#: src/compare.c:182 src/compare.c:198 src/compare.c:317 src/compare.c:422
+#: src/compare.c:181 src/compare.c:197 src/compare.c:316 src/compare.c:421
 msgid "File type differs"
 msgstr "檔案類型不同"
 
-#: src/compare.c:185 src/compare.c:205 src/compare.c:331
+#: src/compare.c:184 src/compare.c:204 src/compare.c:330
 msgid "Mode differs"
 msgstr "模式不同"
 
-#: src/compare.c:208
+#: src/compare.c:207
 msgid "Uid differs"
 msgstr "Uid 號碼不同"
 
-#: src/compare.c:210
+#: src/compare.c:209
 msgid "Gid differs"
 msgstr "Gid 號碼不同"
 
-#: src/compare.c:214
+#: src/compare.c:213
 msgid "Mod time differs"
 msgstr "修改時間不同"
 
-#: src/compare.c:218 src/compare.c:432
+#: src/compare.c:217 src/compare.c:431
 msgid "Size differs"
 msgstr "大小不同"
 
-#: src/compare.c:267
+#: src/compare.c:266
 #, c-format
 msgid "Not linked to %s"
 msgstr "並未鏈結至 %s"
 
-#: src/compare.c:293
+#: src/compare.c:292
 msgid "Symlink differs"
 msgstr "符號連結不同"
 
-#: src/compare.c:325
+#: src/compare.c:324
 msgid "Device number differs"
 msgstr "裝置編號不同"
 
-#: src/compare.c:473
+#: src/compare.c:472
 #, c-format
 msgid "Verify "
 msgstr "驗證 "
 
-#: src/compare.c:480
+#: src/compare.c:479
 #, c-format
 msgid "%s: Unknown file type '%c', diffed as normal file"
 msgstr "%s:不明檔案類型 %c,會以普通檔案的方式作比較"
 
-#: src/compare.c:535
+#: src/compare.c:534
 msgid "Archive contains file names with leading prefixes removed."
 msgstr "封存包含前置文字被移除的檔案名稱。"
 
-#: src/compare.c:541
+#: src/compare.c:540
 msgid "Archive contains transformed file names."
 msgstr "封存含有變換過的檔案名稱。"
 
-#: src/compare.c:546
+#: src/compare.c:545
 msgid "Verification may fail to locate original files."
 msgstr "查核動作可能無法找到原始檔案"
 
-#: src/compare.c:620
+#: src/compare.c:619
 #, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
 msgstr[0] "驗證失敗:%d 偵測到無效的標頭"
 
-#: src/compare.c:638 src/list.c:252
+#: src/compare.c:637 src/list.c:251
 #, c-format
 msgid "A lone zero block at %s"
 msgstr "位於 %s 的孤立零值區塊"
 
-#: src/create.c:74
+#: src/create.c:73
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
 msgstr "%s:包含一個快取目錄標記 %s; %s"
 
-#: src/create.c:263
+#: src/create.c:262
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
 msgstr "數值 %s 已超出 %s 的範圍 %s..%s;以 %s 替代中"
 
-#: src/create.c:269
+#: src/create.c:268
 #, c-format
 msgid "value %s out of %s range %s..%s"
 msgstr "數值 %s 已超出 %s 的範圍 %s..%s"
 
-#: src/create.c:329
+#: src/create.c:328
 msgid "Generating negative octal headers"
 msgstr "正在產生負數的八進位標頭"
 
-#: src/create.c:606 src/create.c:669
+#: src/create.c:605 src/create.c:668
 #, c-format
 msgid "%s: file name is too long (max %d); not dumped"
 msgstr "%s:檔名太長 (最大 %d);未傾印"
 
-#: src/create.c:616
+#: src/create.c:615
 #, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
 msgstr "%s:檔名太長 (無法分割);未傾印"
 
-#: src/create.c:643
+#: src/create.c:642
 #, c-format
 msgid "%s: link name is too long; not dumped"
 msgstr "%s:鏈結名稱太長;未傾印"
 
-#: src/create.c:1106
+#: src/create.c:1105
 #, c-format
 msgid "%s: File shrank by %s byte; padding with zeros"
 msgid_plural "%s: File shrank by %s bytes; padding with zeros"
 msgstr[0] "%s:檔案縮小了 %s 位元組;以零值填補"
 
-#: src/create.c:1204
+#: src/create.c:1203
 #, c-format
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s:檔案位於不同的檔案系統;未傾印"
 
-#: src/create.c:1247 src/create.c:1258 src/incremen.c:610 src/incremen.c:617
+#: src/create.c:1246 src/create.c:1257 src/incremen.c:609 src/incremen.c:616
 msgid "contents not dumped"
 msgstr "內容無法傾印"
 
-#: src/create.c:1464
+#: src/create.c:1463
 #, c-format
 msgid "%s: Unknown file type; file ignored"
 msgstr "%s:不明檔案類型;忽略該檔案"
 
-#: src/create.c:1576
+#: src/create.c:1575
 #, c-format
 msgid "Missing links to %s."
 msgstr "缺少連結到 %s。"
 
-#: src/create.c:1737
+#: src/create.c:1736
 #, c-format
 msgid "%s: file is unchanged; not dumped"
 msgstr "%s:檔案沒有變更;未傾印"
 
-#: src/create.c:1746
+#: src/create.c:1745
 #, c-format
 msgid "%s: file is the archive; not dumped"
 msgstr "%s:檔案是封存;未傾印"
 
-#: src/create.c:1774 src/incremen.c:603
+#: src/create.c:1773 src/incremen.c:602
 msgid "directory not dumped"
 msgstr "目錄未傾印"
 
-#: src/create.c:1846
+#: src/create.c:1845
 #, c-format
 msgid "%s: file changed as we read it"
 msgstr "%s:檔案在讀取時已變更"
 
-#: src/create.c:1922
+#: src/create.c:1921
 #, c-format
 msgid "%s: socket ignored"
 msgstr "%s:忽略通訊端"
 
-#: src/create.c:1928
+#: src/create.c:1927
 #, c-format
 msgid "%s: door ignored"
 msgstr "%s:忽略匣門"
 
-#: src/delete.c:216 src/list.c:288 src/update.c:192
+#: src/delete.c:215 src/list.c:287 src/update.c:191
 msgid "Skipping to next header"
 msgstr "跳至下一個標頭"
 
-#: src/delete.c:281
+#: src/delete.c:280
 msgid "Deleting non-header from archive"
 msgstr "從封存中刪除無標頭者"
 
-#: src/extract.c:302
+#: src/extract.c:301
 #, c-format
 msgid "%s: implausibly old time stamp %s"
 msgstr "%s:難以確信的舊時間戳記 %s"
 
-#: src/extract.c:320
+#: src/extract.c:319
 #, c-format
 msgid "%s: time stamp %s is %s s in the future"
 msgstr "%s:時間戳記 %s 代表未來的 %s 秒"
 
-#: src/extract.c:553
+#: src/extract.c:552
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
 msgstr "%s:產生目錄時有未預期的不一致"
 
-#: src/extract.c:771
+#: src/extract.c:770
 #, c-format
 msgid "%s: skipping existing file"
 msgstr "%s:跳過既有的檔案"
@@ -996,7 +996,7 @@ msgstr "嘗試解開符號連結為硬式連結"
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s:無法解開 -- 檔案延續自其他卷冊"
 
-#: src/extract.c:1603 src/list.c:1167
+#: src/extract.c:1603 src/list.c:1164
 msgid "Unexpected long name header"
 msgstr "未預期的長名稱標頭"
 
@@ -1013,7 +1013,7 @@ msgstr "目前的 %s 較新或相同"
 #: src/extract.c:1664
 #, c-format
 msgid "%s: Member name contains '..'"
-msgstr ""
+msgstr "%s:會員名稱包含了「..」"
 
 #: src/extract.c:1696
 #, c-format
@@ -1025,22 +1025,22 @@ msgstr "%s:之前無法備份這個檔案"
 msgid "Cannot rename %s to %s"
 msgstr "無法將 %s 重新命名為 %s"
 
-#: src/incremen.c:494 src/incremen.c:536
+#: src/incremen.c:493 src/incremen.c:535
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s:目錄已從 %s 重新命名"
 
-#: src/incremen.c:549
+#: src/incremen.c:548
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s:目錄是新的"
 
-#: src/incremen.c:566
+#: src/incremen.c:565
 #, c-format
 msgid "%s: directory is on a different filesystem; not dumped"
 msgstr "%s:目錄位於不同的檔案系統;未傾印"
 
-#: src/incremen.c:587
+#: src/incremen.c:586
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s:目錄已被重新命名"
@@ -1166,372 +1166,373 @@ msgstr "%s:正在刪除 %s\n"
 msgid "%s: Cannot remove"
 msgstr "%s:無法移除"
 
-#: src/list.c:219
+#: src/list.c:218
 #, c-format
 msgid "%s: Omitting"
 msgstr "%s:省略中"
 
-#: src/list.c:237
+#: src/list.c:236
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
 msgstr "區塊 %s:** 空值區塊 **\n"
 
-#: src/list.c:263
+#: src/list.c:262
 #, c-format
 msgid "block %s: ** End of File **\n"
 msgstr "區塊 %s:** 檔案結尾 **\n"
 
-#: src/list.c:285 src/list.c:1136 src/list.c:1372
+#: src/list.c:284 src/list.c:1133 src/list.c:1369
 #, c-format
 msgid "block %s: "
 msgstr "區塊 %s:"
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t,
 #. etc.)
-#: src/list.c:751
+#: src/list.c:752
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "空白出現在標頭中預期為數值 %s 的地方"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:806
+#: src/list.c:807
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr "封存八進位數值 %.*s 超出 %s 範圍;假定為二的補數"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:817
+#: src/list.c:818
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "封存八進位數值 %.*s 超出 %s 範圍"
 
-#: src/list.c:838
+#: src/list.c:839
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "封存含有過時的 base-64 標頭"
 
-#: src/list.c:852
+#: src/list.c:853
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "封存有號 base-64 字串 %s 超出 %s 範圍"
 
-#: src/list.c:883
+#: src/list.c:884
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "封存 base-256 值超出 %s 範圍"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:912
+#: src/list.c:913
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "封存包含 %.*s 於預期為數值 %s 的地方"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:934
+#: src/list.c:935
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "封存值 %s 已超出 %s 的範圍 %s..%s"
 
-#: src/list.c:1272
+#: src/list.c:1269
 #, c-format
 msgid " link to %s\n"
 msgstr " 連結到 %s\n"
 
-#: src/list.c:1280
+#: src/list.c:1277
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " 不明檔案類型 %s\n"
 
-#: src/list.c:1298
+#: src/list.c:1295
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--長 連 結--\n"
 
-#: src/list.c:1302
+#: src/list.c:1299
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--長 名 稱--\n"
 
-#: src/list.c:1306
+#: src/list.c:1303
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--卷 冊 標 頭--\n"
 
-#: src/list.c:1314
+#: src/list.c:1311
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--於第 %s 位元組繼續--\n"
 
-#: src/list.c:1377
+#: src/list.c:1374
 msgid "Creating directory:"
 msgstr "正在建立目錄:"
 
-#: src/misc.c:738
+#: src/misc.c:751
 #, c-format
 msgid "Renaming %s to %s\n"
 msgstr "正在將 %s 重新命名為 %s\n"
 
-#: src/misc.c:747 src/misc.c:766
+#: src/misc.c:760 src/misc.c:779
 #, c-format
 msgid "%s: Cannot rename to %s"
 msgstr "%s:無法重新命名為 %s"
 
-#: src/misc.c:771
+#: src/misc.c:784
 #, c-format
 msgid "Renaming %s back to %s\n"
 msgstr "將 %s 的名稱還原為 %s\n"
 
-#: src/misc.c:1134
+#: src/misc.c:1147
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s:讀取檔案之前已被移除"
 
-#: src/misc.c:1148
+#: src/misc.c:1161
 msgid "child process"
 msgstr "子行程"
 
-#: src/misc.c:1157
+#: src/misc.c:1170
 msgid "interprocess channel"
 msgstr "行程間通道"
 
-#: src/names.c:69
+#: src/names.c:68
 msgid "Local file name selection:"
 msgstr "本機檔案名稱選擇:"
 
-#: src/names.c:72
+#: src/names.c:71
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "將給定的 FILE 加入封存 (如果它的名稱以減號開始時就很有用)"
 
-#: src/names.c:73 src/tar.c:484
+#: src/names.c:72 src/tar.c:484
 msgid "DIR"
 msgstr "目錄"
 
-#: src/names.c:74
+#: src/names.c:73
 msgid "change to directory DIR"
 msgstr "更改至目錄 DIR"
 
-#: src/names.c:76
+#: src/names.c:75
 msgid "get names to extract or create from FILE"
 msgstr "從 FILE 中取得要解開或建立的名稱"
 
-#: src/names.c:78
+#: src/names.c:77
 msgid "-T reads null-terminated names; implies --verbatim-files-from"
 msgstr "-T 讀取零值終結的名稱,隱含 --verbatim-files-from"
 
-#: src/names.c:81
+#: src/names.c:80
 msgid "disable the effect of the previous --null option"
 msgstr "停用先前 --null 選項的效果"
 
-#: src/names.c:83
+#: src/names.c:82
 msgid "unquote input file or member names (default)"
 msgstr "去除輸入檔案或成員名稱的引號 (預設)"
 
-#: src/names.c:85
+#: src/names.c:84
 msgid "do not unquote input file or member names"
 msgstr "不去除輸入檔案或成員名稱的引號"
 
-#: src/names.c:87
-#, fuzzy
+#: src/names.c:86
 msgid "-T reads file names verbatim (no escape or option handling)"
-msgstr "-T 會逐字地讀取檔案名稱 (無選項處理)"
+msgstr "-T 會逐字地讀取檔案名稱 (無跳出或選項處理)"
 
-#: src/names.c:89
+#: src/names.c:88
 msgid "-T treats file names starting with dash as options (default)"
 msgstr "-T 會將以減號起始的檔案名稱視為選項 (預設)"
 
-#: src/names.c:91 tests/genfile.c:140
+#: src/names.c:90 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "胚騰"
 
-#: src/names.c:92
+#: src/names.c:91
 msgid "exclude files, given as a PATTERN"
 msgstr "排除給定胚騰的檔案"
 
-#: src/names.c:94
+#: src/names.c:93
 msgid "exclude patterns listed in FILE"
 msgstr "排除 FILE 中所列出的胚騰"
 
-#: src/names.c:96
+#: src/names.c:95
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "排除包含 CACHEDIR.TAG 的目錄內容,除了該標記檔案本身"
 
-#: src/names.c:99
+#: src/names.c:98
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "排除包含 CACHEDIR.TAG 的目錄之下所有東西"
 
-#: src/names.c:102
+#: src/names.c:101
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "排除包含 CACHEDIR.TAG 的目錄"
 
-#: src/names.c:104
+#: src/names.c:103
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "排除包含 FILE 的目錄內容,除了該檔案本身"
 
-#: src/names.c:107
+#: src/names.c:106
 msgid "read exclude patterns for each directory from FILE, if it exists"
 msgstr "讀取時排除來自 FILE 的每一個目錄胚騰,如果有的話"
 
-#: src/names.c:110
+#: src/names.c:109
 msgid ""
 "read exclude patterns for each directory and its subdirectories from FILE, "
 "if it exists"
 msgstr "讀取時排除來自 FILE 的每一個目錄及其子目錄的胚騰,如果有的話"
 
-#: src/names.c:113
+#: src/names.c:112
 msgid "exclude everything under directories containing FILE"
 msgstr "排除包含 FILE 的目錄之下所有東西"
 
-#: src/names.c:115
+#: src/names.c:114
 msgid "exclude directories containing FILE"
 msgstr "排除包含 FILE 的目錄"
 
-#: src/names.c:117
+#: src/names.c:116
 msgid "exclude version control system directories"
 msgstr "排除版本控制系統目錄"
 
-#: src/names.c:119
+#: src/names.c:118
 msgid "read exclude patterns from the VCS ignore files"
 msgstr "讀取時排除來自版本控制系統忽略檔案的胚騰"
 
-#: src/names.c:121
+#: src/names.c:120
 msgid "exclude backup and lock files"
 msgstr "排除備份和鎖定檔案"
 
-#: src/names.c:123
+#: src/names.c:122
 msgid "recurse into directories (default)"
 msgstr "遞迴進入目錄 (預設)"
 
-#: src/names.c:125
+#: src/names.c:124
 msgid "avoid descending automatically in directories"
 msgstr "避免自動在目錄中遞降"
 
-#: src/names.c:130
+#: src/names.c:129
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "檔案名稱吻合選項 (同時影響排除和包含胚騰同者):"
 
-#: src/names.c:133
+#: src/names.c:132
 msgid "patterns match file name start"
 msgstr "胚騰會吻合檔案名稱開頭"
 
-#: src/names.c:135
+#: src/names.c:134
 msgid "patterns match after any '/' (default for exclusion)"
 msgstr "胚騰會吻合任何 / 之後的名稱 (預設排除)"
 
-#: src/names.c:137
+#: src/names.c:136
 msgid "ignore case"
 msgstr "忽略大小寫"
 
-#: src/names.c:139
+#: src/names.c:138
 msgid "case sensitive matching (default)"
 msgstr "大小寫需相符的吻合 (預設)"
 
-#: src/names.c:141
+#: src/names.c:140
 msgid "use wildcards (default for exclusion)"
 msgstr "使用萬用字元 (預設排除)"
 
-#: src/names.c:143
+#: src/names.c:142
 msgid "verbatim string matching"
 msgstr "逐字進行吻合"
 
-#: src/names.c:145
+#: src/names.c:144
 msgid "wildcards match '/' (default for exclusion)"
 msgstr "萬用字元會吻合 / (預設排除)"
 
-#: src/names.c:147
+#: src/names.c:146
 msgid "wildcards do not match '/'"
 msgstr "萬用字元不會吻合 /"
 
-#: src/names.c:733
+#: src/names.c:732
 msgid ""
 "The following options were used after any non-optional arguments in archive "
 "create or update mode.  These options are positional and affect only "
 "arguments that follow them.  Please, rearrange them properly."
 msgstr ""
+"以下的選項使用於建立與更新模式中的任何非選用參數。這些選項的位置,並且只影響"
+"跟隨他們的參數。請正確的重新擺放它們。"
 
-#: src/names.c:744
+#: src/names.c:743
 #, c-format
 msgid "-C %s has no effect"
-msgstr ""
+msgstr "-C %s 沒有任何效果"
 
-#: src/names.c:749
+#: src/names.c:748
 #, c-format
 msgid "--%s %s has no effect"
-msgstr ""
+msgstr "--%s %s 沒有任何效果"
 
-#: src/names.c:753
+#: src/names.c:752
 #, c-format
 msgid "--%s has no effect"
-msgstr ""
+msgstr "--%s 沒有任何效果"
 
-#: src/names.c:879
+#: src/names.c:878
 msgid "command line"
 msgstr "命令列"
 
-#: src/names.c:897
+#: src/names.c:896
 #, c-format
 msgid "%s: file list requested from %s already read from %s"
 msgstr "%s:%s 要求的檔案清單已經由 %s 所讀取"
 
-#: src/names.c:978 src/checkpoint.c:274
+#: src/names.c:977 src/checkpoint.c:308
 #, c-format
 msgid "cannot split string '%s': %s"
 msgstr "無法分割字串 %s:%s"
 
-#: src/names.c:1025
+#: src/names.c:1024
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s:所讀檔案名稱含有空值字元"
 
-#: src/names.c:1358
+#: src/names.c:1388
 msgid "Pattern matching characters used in file names"
 msgstr "用於檔案名稱的胚騰匹配字元"
 
-#: src/names.c:1360
+#: src/names.c:1390
 msgid ""
 "Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
 "this warning"
 msgstr "使用 --wildcards 以啟用胚騰匹配,或 --no-wildcards 以抑制這個警告"
 
-#: src/names.c:1378 src/names.c:1394
+#: src/names.c:1408 src/names.c:1424
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s:在封存中找不到"
 
-#: src/names.c:1379
+#: src/names.c:1409
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s:要求項目在封存中找不到"
 
-#: src/names.c:1413
+#: src/names.c:1443
 #, c-format
 msgid "Archive label mismatch"
 msgstr "封存標貼不匹配"
 
-#: src/names.c:1717
+#: src/names.c:1747
 msgid ""
 "Using -C option inside file list is not allowed with --listed-incremental"
 msgstr "於檔案清單內部使用 -C 選項是不允許與 --listed-incremental 共用"
 
-#: src/names.c:1723
+#: src/names.c:1753
 msgid "Only one -C option is allowed with --listed-incremental"
 msgstr "只有一個 -C 選項是允許與 --listed-incremental 共用"
 
-#: src/tar.c:88
+#: src/tar.c:87
 #, c-format
 msgid "Options '%s' and '%s' both want standard input"
 msgstr "選項 %s 和 %s 兩者都需要標準輸入"
 
-#: src/tar.c:165
+#: src/tar.c:164
 #, c-format
 msgid "%s: Invalid archive format"
 msgstr "%s:無效的封存格式"
 
-#: src/tar.c:197
+#: src/tar.c:196
 msgid "GNU features wanted on incompatible archive format"
 msgstr "不能在不兼容的封存格式中使用 GNU 功能"
 
-#: src/tar.c:265
+#: src/tar.c:264
 #, c-format
 msgid ""
 "Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."
@@ -1741,7 +1742,7 @@ msgstr "選取輸出串流:"
 msgid "extract files to standard output"
 msgstr "解開檔案到標準輸出"
 
-#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:195
+#: src/tar.c:495 src/tar.c:588 src/tar.c:590 tests/genfile.c:190
 msgid "COMMAND"
 msgstr "命令"
 
@@ -1777,7 +1778,7 @@ msgstr "利用 FILE 來映射檔案擁有者 UID 和名稱"
 msgid "use FILE to map file owner GIDs and names"
 msgstr "利用 FILE 來映射檔案擁有者 GID 和名稱"
 
-#: src/tar.c:515 src/tar.c:700
+#: src/tar.c:515 src/tar.c:701
 msgid "DATE-OR-FILE"
 msgstr "檔案的日期"
 
@@ -1978,7 +1979,7 @@ msgstr "讀取時重新分區 (用於 4.2BSD 管線)"
 msgid "Archive format selection:"
 msgstr "封存格式選擇:"
 
-#: src/tar.c:637 tests/genfile.c:158
+#: src/tar.c:637 tests/genfile.c:153
 msgid "FORMAT"
 msgstr "格式"
 
@@ -2062,59 +2063,59 @@ msgstr "程式"
 msgid "filter through PROG (must accept -d)"
 msgstr "以 PROG 過濾處理 (必須接受 -d)"
 
-#: src/tar.c:689
+#: src/tar.c:690
 msgid "Local file selection:"
 msgstr "本機檔案選擇:"
 
-#: src/tar.c:691
+#: src/tar.c:692
 msgid "stay in local file system when creating archive"
 msgstr "建立封存時保持在本地檔案系統中"
 
-#: src/tar.c:693
+#: src/tar.c:694
 msgid "don't strip leading '/'s from file names"
 msgstr "不要從檔案名稱中截去前導的 '/'"
 
-#: src/tar.c:695
+#: src/tar.c:696
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "跟隨符號連結;封存和傾印它們所指涉的檔案"
 
-#: src/tar.c:697
+#: src/tar.c:698
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "跟隨硬式連結;封存和傾印它們所參考的檔案"
 
-#: src/tar.c:698
+#: src/tar.c:699
 msgid "MEMBER-NAME"
 msgstr "成員-名稱"
 
-#: src/tar.c:699
+#: src/tar.c:700
 msgid "begin at member MEMBER-NAME when reading the archive"
 msgstr "讀取封存時從名為 MEMBER-NAME 的成員開始"
 
-#: src/tar.c:701
+#: src/tar.c:702
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "只儲存比 DATE-OF-FILE 還新的檔案"
 
-#: src/tar.c:703
+#: src/tar.c:704
 msgid "DATE"
 msgstr "日期"
 
-#: src/tar.c:704
+#: src/tar.c:705
 msgid "compare date and time when data changed only"
 msgstr "只有當資料變更時才比較日期和時間"
 
-#: src/tar.c:705
+#: src/tar.c:706
 msgid "CONTROL"
 msgstr "控制"
 
-#: src/tar.c:706
+#: src/tar.c:707
 msgid "backup before removal, choose version CONTROL"
 msgstr "移除之前先備份,選擇版本 CONTROL"
 
-#: src/tar.c:707 src/tar.c:766 src/tar.c:768 tests/genfile.c:174
+#: src/tar.c:708 src/tar.c:767 src/tar.c:769 tests/genfile.c:169
 msgid "STRING"
 msgstr "字串"
 
-#: src/tar.c:708
+#: src/tar.c:709
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -2122,59 +2123,59 @@ msgstr ""
 "移除之前先備份並覆寫常用後置文字 ( ~ 除非被環境變數 SIMPLE_BACKUP_SUFFIX 所蓋"
 "過)"
 
-#: src/tar.c:713
+#: src/tar.c:714
 msgid "File name transformations:"
 msgstr "檔案名稱變換:"
 
-#: src/tar.c:715
+#: src/tar.c:716
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "從檔案名稱中截去以 NUMBER 為首的成分"
 
-#: src/tar.c:717
+#: src/tar.c:718
 msgid "EXPRESSION"
 msgstr "表示式"
 
-#: src/tar.c:718
+#: src/tar.c:719
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "利用 sed 將 EXPRESSION 替代為變換檔案名稱"
 
-#: src/tar.c:724
+#: src/tar.c:725
 msgid "Informative output:"
 msgstr "富含資訊的輸出:"
 
-#: src/tar.c:727
+#: src/tar.c:728
 msgid "verbosely list files processed"
 msgstr "詳細列出處理過的檔案"
 
-#: src/tar.c:728
+#: src/tar.c:729
 msgid "KEYWORD"
 msgstr "關鍵字"
 
-#: src/tar.c:729
+#: src/tar.c:730
 msgid "warning control"
 msgstr "警告控制"
 
-#: src/tar.c:731
+#: src/tar.c:732
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "每幾項記錄顯示一次進度訊息 (預設 10)"
 
-#: src/tar.c:733
+#: src/tar.c:734
 msgid "ACTION"
 msgstr "動作"
 
-#: src/tar.c:734
+#: src/tar.c:735
 msgid "execute ACTION on each checkpoint"
 msgstr "於每個查核點執行 ACTION"
 
-#: src/tar.c:737
+#: src/tar.c:738
 msgid "print a message if not all links are dumped"
 msgstr "如果並非所有連結都被傾印則印出訊息"
 
-#: src/tar.c:738
+#: src/tar.c:739
 msgid "SIGNAL"
 msgstr "信號"
 
-#: src/tar.c:739
+#: src/tar.c:740
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2185,125 +2186,125 @@ msgstr ""
 "的信號是:SIGHUP、SIGQUIT、SIGINT、SIGUSR1 和 SIGUSR2;不具 SIG 前綴的名稱也"
 "是可接受的"
 
-#: src/tar.c:744
+#: src/tar.c:745
 msgid "print file modification times in UTC"
 msgstr "以 UTC 印出檔案修改時間"
 
-#: src/tar.c:746
+#: src/tar.c:747
 msgid "print file time to its full resolution"
 msgstr "以完整精度印出檔案時間"
 
-#: src/tar.c:748
+#: src/tar.c:749
 msgid "send verbose output to FILE"
 msgstr "將詳細輸出送至 FILE"
 
-#: src/tar.c:750
+#: src/tar.c:751
 msgid "show block number within archive with each message"
 msgstr "每則訊息附帶顯示在封存中的區塊號碼"
 
-#: src/tar.c:752
+#: src/tar.c:753
 msgid "ask for confirmation for every action"
 msgstr "任何動作都要求確認"
 
-#: src/tar.c:755
+#: src/tar.c:756
 msgid "show tar defaults"
 msgstr "顯示 tar 預設值"
 
-#: src/tar.c:757
+#: src/tar.c:758
 msgid "show valid ranges for snapshot-file fields"
 msgstr "顯示快照檔案欄位的有效範圍"
 
-#: src/tar.c:759
+#: src/tar.c:760
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "當表列或解開時,列出每一個不符合搜尋條件的目錄"
 
-#: src/tar.c:761
+#: src/tar.c:762
 msgid "show file or archive names after transformation"
 msgstr "顯示變換之後的檔案或封存名稱"
 
-#: src/tar.c:764
+#: src/tar.c:765
 msgid "STYLE"
 msgstr "樣式"
 
-#: src/tar.c:765
+#: src/tar.c:766
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "設定名稱引號樣式;參看下列的有效樣式值"
 
-#: src/tar.c:767
+#: src/tar.c:768
 msgid "additionally quote characters from STRING"
 msgstr "來自 STRING 的額外引號字元"
 
-#: src/tar.c:769
+#: src/tar.c:770
 msgid "disable quoting for characters from STRING"
 msgstr "停用來自字串的引號字元"
 
-#: src/tar.c:774
+#: src/tar.c:775
 msgid "Compatibility options:"
 msgstr "相容選項:"
 
-#: src/tar.c:777
+#: src/tar.c:778
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "當建立時,等同於 --old-archive。當解開時,等同於 --no-same-owner"
 
-#: src/tar.c:782
+#: src/tar.c:783
 msgid "Other options:"
 msgstr "其他選項:"
 
-#: src/tar.c:785
+#: src/tar.c:786
 msgid "disable use of some potentially harmful options"
 msgstr "停用某些潛在有害的選項"
 
 #. TRANSLATORS: Both %s in this statement are replaced with
 #. option names.
-#: src/tar.c:845
+#: src/tar.c:846
 #, c-format
 msgid "'%s' cannot be used with '%s'"
 msgstr "%s:無法與 %s 一同使用"
 
-#: src/tar.c:933
+#: src/tar.c:934
 msgid ""
 "You may not specify more than one '-Acdtrux', '--delete' or  '--test-label' "
 "option"
 msgstr "您不可以指定超過一個 -Acdtrux, --delete 或 --test-label 選項"
 
-#: src/tar.c:945
+#: src/tar.c:946
 msgid "Conflicting compression options"
 msgstr "互相抵觸的壓縮選項"
 
-#: src/tar.c:1004
+#: src/tar.c:1000
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "不明的信號名稱:%s"
 
-#: src/tar.c:1028
+#: src/tar.c:1030
 msgid "Date sample file not found"
 msgstr "找不到日期範例檔案"
 
-#: src/tar.c:1036
+#: src/tar.c:1038
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "以 %s 代替不明的日期格式 %s"
 
-#: src/tar.c:1065
+#: src/tar.c:1067
 #, c-format
 msgid "Option %s: Treating date '%s' as %s"
 msgstr "選項 %1$s: 以 %3$s 格式來處理日期 %2$s"
 
-#: src/tar.c:1105 src/tar.c:1109 src/tar.c:1113 src/tar.c:1117 src/tar.c:1121
-#: src/tar.c:1125 src/tar.c:1129
+#: src/tar.c:1107 src/tar.c:1111 src/tar.c:1115 src/tar.c:1119 src/tar.c:1123
+#: src/tar.c:1127 src/tar.c:1131 src/tar.c:1135
 #, c-format
 msgid "filter the archive through %s"
 msgstr "將封存透過 %s 篩選"
 
-#: src/tar.c:1137
+#: src/tar.c:1143
 msgid "Valid arguments for the --quoting-style option are:"
 msgstr "用於 --quoting-style 的有效引數選項是:"
 
-#: src/tar.c:1141
+#: src/tar.c:1147
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2311,287 +2312,296 @@ msgstr ""
 "\n"
 "*這個* tar 預設為:\n"
 
-#: src/tar.c:1253
+#: src/tar.c:1259
 msgid "Invalid owner or group ID"
 msgstr "無效的擁有者或群組識別號"
 
-#: src/tar.c:1347
+#: src/tar.c:1353
 msgid "Invalid blocking factor"
 msgstr "無效的分區因子"
 
-#: src/tar.c:1467
+#: src/tar.c:1472
 msgid "Invalid tape length"
 msgstr "無效的磁帶長度"
 
-#: src/tar.c:1481
+#: src/tar.c:1486
 msgid "Invalid incremental level value"
 msgstr "無效的遞增等級值"
 
-#: src/tar.c:1527
+#: src/tar.c:1532
 msgid "More than one threshold date"
 msgstr "一個以上的限定日期"
 
-#: src/tar.c:1594 src/tar.c:1597
+#: src/tar.c:1599 src/tar.c:1602
 msgid "Invalid sparse version value"
 msgstr "無效的稀疏版本值"
 
-#: src/tar.c:1661
+#: src/tar.c:1670
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' 於這個平臺未被支援"
 
-#: src/tar.c:1686
+#: src/tar.c:1695
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint 值不是整數"
 
-#: src/tar.c:1764
+#: src/tar.c:1773
 msgid "Invalid mode given on option"
 msgstr "選項中的模式無效"
 
-#: src/tar.c:1797
+#: src/tar.c:1806
 msgid "Invalid number"
 msgstr "無效的號碼"
 
-#: src/tar.c:1861
+#: src/tar.c:1870
 msgid "Invalid record size"
 msgstr "無效的記錄大小"
 
-#: src/tar.c:1864
+#: src/tar.c:1873
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "記錄大小必須是 %d 的倍數。"
 
-#: src/tar.c:1910
+#: src/tar.c:1919
 msgid "Invalid number of elements"
 msgstr "無效的元素號碼"
 
-#: src/tar.c:1935
+#: src/tar.c:1944
 msgid "Only one --to-command option allowed"
 msgstr "只允許一個 --to-command 選項"
 
-#: src/tar.c:2023
+#: src/tar.c:2032
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "異常的密度引數:%s"
 
-#: src/tar.c:2049
+#: src/tar.c:2058
 #, c-format
 msgid "Unknown density: '%c'"
 msgstr "不明的密度:%c"
 
-#: src/tar.c:2066
+#: src/tar.c:2075
 #, c-format
 msgid "Options '-[0-7][lmh]' not supported by *this* tar"
 msgstr "這個版本的 tar 不支援 -[0-7][lmh] 選項"
 
-#: src/tar.c:2073
+#: src/tar.c:2082
 #, c-format
 msgid "%s:%lu: location of the error"
 msgstr "%s:%lu:錯誤的位置"
 
-#: src/tar.c:2076
+#: src/tar.c:2085
 #, c-format
 msgid "error parsing %s"
 msgstr "剖析 %s 時發生錯誤"
 
-#: src/tar.c:2090
+#: src/tar.c:2099
 msgid "[FILE]..."
 msgstr "[FILE]…"
 
-#: src/tar.c:2181
+#: src/tar.c:2190
 #, c-format
 msgid "non-option arguments in %s"
 msgstr "%s 中出現非選項的引數"
 
-#: src/tar.c:2196
+#: src/tar.c:2205
 #, c-format
 msgid "cannot split TAR_OPTIONS: %s"
 msgstr "無法分割 TAR_OPTIONS:%s"
 
-#: src/tar.c:2291
+#: src/tar.c:2300
 #, c-format
 msgid "Old option '%c' requires an argument."
 msgstr "舊的選項 %c 需要一個引數。"
 
-#: src/tar.c:2364
+#: src/tar.c:2373
 msgid "--occurrence is meaningless without a file list"
 msgstr "若無檔案列表,--occurrence 便不具意義"
 
-#: src/tar.c:2390
+#: src/tar.c:2399
 msgid "Multiple archive files require '-M' option"
 msgstr "指定多個封存時需要 -M 選項"
 
-#: src/tar.c:2407
+#: src/tar.c:2416
 msgid "--level is meaningless without --listed-incremental"
 msgstr "--level 不與 --listed-incremental 共用是無意義的"
 
-#: src/tar.c:2424
+#: src/tar.c:2433
 #, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s:卷冊標籤太長 (限制為 %lu 位元組)"
 
-#: src/tar.c:2437
+#: src/tar.c:2446
 msgid "Cannot verify multi-volume archives"
 msgstr "無法驗證多重卷冊的封存"
 
-#: src/tar.c:2439
+#: src/tar.c:2448
 msgid "Cannot verify compressed archives"
 msgstr "無法驗證壓縮過的封存"
 
-#: src/tar.c:2453
+#: src/tar.c:2462
 msgid "Cannot use multi-volume compressed archives"
 msgstr "無法使用多重卷冊的壓縮封存"
 
-#: src/tar.c:2457
+#: src/tar.c:2466
 msgid "Cannot concatenate compressed archives"
 msgstr "無法串接壓縮過的檔案"
 
-#: src/tar.c:2464
+#: src/tar.c:2473
 msgid "--clamp-mtime needs a date specified using --mtime"
 msgstr "--clamp-mtime 需要一個以 --mtime 指定的日期"
 
-#: src/tar.c:2474
+#: src/tar.c:2483
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option 只能用於 POSIX 封存"
 
-#: src/tar.c:2481
+#: src/tar.c:2490
 msgid "--acls can be used only on POSIX archives"
 msgstr "--acls 只能用於 POSIX 封存"
 
-#: src/tar.c:2486
+#: src/tar.c:2495
 msgid "--selinux can be used only on POSIX archives"
 msgstr "--selinux 只能用於 POSIX 封存"
 
-#: src/tar.c:2491
+#: src/tar.c:2500
 msgid "--xattrs can be used only on POSIX archives"
 msgstr "--xattrs 只能用於 POSIX 封存"
 
-#: src/tar.c:2540
+#: src/tar.c:2549
 msgid ""
 "Cannot deduce top-level directory name; please set it explicitly with --one-"
 "top-level=DIR"
 msgstr "無法推論頂層目錄名稱;請以 --one-top-level=DIR 來明確地設定它"
 
-#: src/tar.c:2573
+#: src/tar.c:2582
 msgid "Volume length cannot be less than record size"
 msgstr "卷冊長度無法少於記錄大小"
 
-#: src/tar.c:2597
+#: src/tar.c:2606
 msgid "Cowardly refusing to create an empty archive"
 msgstr "斗膽拒絕建立空的封存"
 
-#: src/tar.c:2623
+#: src/tar.c:2632
 msgid "Options '-Aru' are incompatible with '-f -'"
 msgstr " -Aru 與 -f - 選項不相容"
 
-#: src/tar.c:2711
+#: src/tar.c:2743
 msgid ""
 "You must specify one of the '-Acdtrux', '--delete' or '--test-label' options"
 msgstr "您必須指定 -Acdtrux, --delete 或 --test-label 選項之一"
 
-#: src/tar.c:2768
+#: src/tar.c:2800
 #, c-format
 msgid "Exiting with failure status due to previous errors"
 msgstr "由於先前錯誤而以失敗狀態離開"
 
-#: src/update.c:87
+#: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s:檔案縮減了 %s 位元組"
 
-#: src/xheader.c:165
+#: src/xheader.c:164
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "關鍵字 %s 為未知或尚未實作"
 
-#: src/xheader.c:174
+#: src/xheader.c:173
 msgid "Time stamp is out of allowed range"
 msgstr "時間戳記超出了允許範圍"
 
-#: src/xheader.c:205
+#: src/xheader.c:188
+#, c-format
+msgid "Malformed pax option: %s"
+msgstr ""
+
+#: src/xheader.c:207
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "胚騰 %s 無法使用"
 
-#: src/xheader.c:219
+#: src/xheader.c:221
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "關鍵字 %s 無法被蓋過"
 
-#: src/xheader.c:668
+#: src/xheader.c:476
+msgid "can't update global extended header record"
+msgstr ""
+
+#: src/xheader.c:686
 msgid "Malformed extended header: missing length"
 msgstr "異常的擴充標頭:長度缺少"
 
-#: src/xheader.c:677
+#: src/xheader.c:695
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "擴充標頭長度 %*s 超出範圍"
 
-#: src/xheader.c:689
+#: src/xheader.c:707
 msgid "Malformed extended header: missing blank after length"
 msgstr "異常的擴充標頭:在長度之後缺少空白"
 
-#: src/xheader.c:697
+#: src/xheader.c:715
 msgid "Malformed extended header: missing equal sign"
 msgstr "異常的擴充標頭:缺少等號"
 
-#: src/xheader.c:703
+#: src/xheader.c:721
 msgid "Malformed extended header: missing newline"
 msgstr "異常的擴充標頭:缺少新列"
 
-#: src/xheader.c:741
+#: src/xheader.c:759
 #, c-format
 msgid "Ignoring unknown extended header keyword '%s'"
 msgstr "忽略不明擴充標頭關鍵字 %s"
 
-#: src/xheader.c:1023
+#: src/xheader.c:1041
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr "產生的關鍵字/值對太長 (關鍵字=%s,長度=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:1053
+#: src/xheader.c:1071
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "擴充標頭 %s=%s 超出範圍 %s..%s"
 
-#: src/xheader.c:1104 src/xheader.c:1137 src/xheader.c:1487
+#: src/xheader.c:1122 src/xheader.c:1155 src/xheader.c:1505
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "異常的擴充標頭:無效的 %s=%s"
 
-#: src/xheader.c:1440 src/xheader.c:1465 src/xheader.c:1520
+#: src/xheader.c:1458 src/xheader.c:1483 src/xheader.c:1538
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "異常的擴充標頭:過剩的 %s=%s"
 
-#: src/xheader.c:1533
+#: src/xheader.c:1551
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "異常的擴充標頭:無效的 %s:未預期的分隔符號 %c"
 
-#: src/xheader.c:1543
+#: src/xheader.c:1561
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "異常的擴充標頭:無效的 %s:奇怪的數值數量"
 
-#: src/checkpoint.c:114
+#: src/checkpoint.c:133
 #, c-format
 msgid "%s: not a valid timeout"
 msgstr "%s:不是有效的時間限制"
 
-#: src/checkpoint.c:121
+#: src/checkpoint.c:146
 #, c-format
 msgid "%s: unknown checkpoint action"
 msgstr "%s:不明查核點動作"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "write"
 msgstr "寫入"
 
-#: src/checkpoint.c:202
+#: src/checkpoint.c:236
 msgid "read"
 msgstr "讀取"
 
@@ -2599,7 +2609,7 @@ msgstr "讀取"
 #. *not* "Writing a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de escritura",
 #. *not* "Escribiendo un punto de comprobaci@'on"
-#: src/checkpoint.c:218
+#: src/checkpoint.c:252
 #, c-format
 msgid "Write checkpoint %u"
 msgstr "寫入的查核點 %u"
@@ -2608,12 +2618,12 @@ msgstr "寫入的查核點 %u"
 #. *not* "Reading a checkpoint".
 #. E.g. in Spanish "Punto de comprobaci@'on de lectura",
 #. *not* "Leyendo un punto de comprobaci@'on"
-#: src/checkpoint.c:224
+#: src/checkpoint.c:258
 #, c-format
 msgid "Read checkpoint %u"
 msgstr "讀取的查核點 %u"
 
-#: tests/genfile.c:115
+#: tests/genfile.c:110
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
@@ -2621,91 +2631,95 @@ msgstr ""
 "genfile 在 GNU paxutils 測試套件中用於操控資料檔案。\n"
 "選項:\n"
 
-#: tests/genfile.c:131
+#: tests/genfile.c:126
 msgid "File creation options:"
 msgstr "檔案建立選項:"
 
-#: tests/genfile.c:132 tests/genfile.c:143
+#: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
 msgstr "大小"
 
-#: tests/genfile.c:133
+#: tests/genfile.c:128
 msgid "Create file of the given SIZE"
 msgstr "以給定 SIZE 建立檔案。"
 
-#: tests/genfile.c:135
+#: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
 msgstr "寫入檔案 NAME,以代替標準輸出"
 
-#: tests/genfile.c:137
+#: tests/genfile.c:132
 msgid "Read file names from FILE"
 msgstr "從 FILE 讀取檔案名稱"
 
-#: tests/genfile.c:139
+#: tests/genfile.c:134
 msgid "-T reads null-terminated names"
 msgstr "-T 讀取零值終結的名稱"
 
-#: tests/genfile.c:141
+#: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr "以給定 PATTERN 填充檔案。PATTERN 是 default 或 zeros"
 
-#: tests/genfile.c:144
+#: tests/genfile.c:139
 msgid "Size of a block for sparse file"
 msgstr "用於稀疏檔案的區塊大小"
 
-#: tests/genfile.c:146
+#: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
 msgstr "產生稀疏檔案。命令列的其餘部分給出檔案對映。"
 
-#: tests/genfile.c:148
+#: tests/genfile.c:143
 msgid "OFFSET"
 msgstr "偏移值"
 
-#: tests/genfile.c:149
+#: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
 msgstr "寫入資料之前尋求給定的偏移值"
 
-#: tests/genfile.c:152
+#: tests/genfile.c:147
 msgid "Suppress non-fatal diagnostic messages"
 msgstr "抑制非嚴重的診斷訊息"
 
-#: tests/genfile.c:156
+#: tests/genfile.c:151
 msgid "File statistics options:"
 msgstr "檔案統計選項:"
 
-#: tests/genfile.c:159
+#: tests/genfile.c:154
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
 msgstr "列印每個給定檔案的結構狀態內容。預設 FORMAT 為:"
 
-#: tests/genfile.c:166
+#: tests/genfile.c:161
 msgid "Synchronous execution options:"
 msgstr "同步的執行選項:"
 
-#: tests/genfile.c:168
-msgid "OPTION"
-msgstr "選項"
+#: tests/genfile.c:163
+msgid "N"
+msgstr ""
 
-#: tests/genfile.c:169
+#: tests/genfile.c:164
+#, fuzzy
+#| msgid ""
+#| "Execute ARGS. Useful with --checkpoint and one of --cut, --append, --"
+#| "touch, --unlink"
 msgid ""
-"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
-"--unlink"
+"Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with "
+"--checkpoint and one of --cut, --append, --touch, --unlink"
 msgstr ""
 "執行引數。適合與 --checkpoint 以及 --cut, --append, --touch, --unlink 之一共"
 "用"
 
-#: tests/genfile.c:172
+#: tests/genfile.c:167
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
 msgstr "當達到查核點 NUMBER 時實行給定動作 (參看以下)"
 
-#: tests/genfile.c:175
+#: tests/genfile.c:170
 msgid "Set date for next --touch option"
 msgstr "設定後續 --touch 選項所需的日期"
 
-#: tests/genfile.c:178
+#: tests/genfile.c:173
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr "顯示已執行的查核點以及 COMMAND 的離開狀態"
 
-#: tests/genfile.c:183
+#: tests/genfile.c:178
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
@@ -2713,128 +2727,128 @@ msgstr ""
 "同步的執行動作。當到達由 --checkpoint 選項所給定的查核點編號時,這些動作會被"
 "執行。"
 
-#: tests/genfile.c:186
+#: tests/genfile.c:181
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr "依先前 --length 選項指定的大小來截斷檔案 (如果它未被給定就是 0)"
 
-#: tests/genfile.c:190
+#: tests/genfile.c:185
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr "附加 SIZE 位元組到 FILE。SIZE 是由先前 --length 選項所給定。"
 
-#: tests/genfile.c:193
+#: tests/genfile.c:188
 msgid "Update the access and modification times of FILE"
 msgstr "更新檔案的存取和修改時間"
 
-#: tests/genfile.c:196
+#: tests/genfile.c:191
 msgid "Execute COMMAND"
 msgstr "執行 COMMAND"
 
-#: tests/genfile.c:199
+#: tests/genfile.c:194
 msgid "Delete FILE"
-msgstr ""
+msgstr "移除檔案"
 
-#: tests/genfile.c:250
+#: tests/genfile.c:245
 #, c-format
 msgid "Invalid size: %s"
 msgstr "無效的大小:%s"
 
-#: tests/genfile.c:255
+#: tests/genfile.c:250
 #, c-format
 msgid "Number out of allowed range: %s"
 msgstr "號碼超出允許的範圍:%s"
 
-#: tests/genfile.c:258
+#: tests/genfile.c:253
 #, c-format
 msgid "Negative size: %s"
 msgstr "負值大小:%s"
 
-#: tests/genfile.c:271 tests/genfile.c:642
+#: tests/genfile.c:266 tests/genfile.c:633
 #, c-format
 msgid "stat(%s) failed"
 msgstr "狀態(%s) 失敗"
 
-#: tests/genfile.c:274
+#: tests/genfile.c:269
 #, c-format
 msgid "requested file length %lu, actual %lu"
 msgstr "要求檔案長度 %lu,實際則是 %lu"
 
-#: tests/genfile.c:278
+#: tests/genfile.c:273
 #, c-format
 msgid "created file is not sparse"
 msgstr "建立的不是稀疏檔案"
 
-#: tests/genfile.c:375
+#: tests/genfile.c:366
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "剖析數字接近 %s 時發生錯誤"
 
-#: tests/genfile.c:381
+#: tests/genfile.c:372
 #, c-format
 msgid "Unknown date format"
 msgstr "不明的日期格式"
 
-#: tests/genfile.c:405
+#: tests/genfile.c:396
 msgid "[ARGS...]"
 msgstr "[引數…]"
 
-#: tests/genfile.c:442 tests/genfile.c:482 tests/genfile.c:583
-#: tests/genfile.c:746 tests/genfile.c:760
+#: tests/genfile.c:433 tests/genfile.c:473 tests/genfile.c:574
+#: tests/genfile.c:737 tests/genfile.c:751
 #, c-format
 msgid "cannot open `%s'"
 msgstr "無法開啟 %s"
 
-#: tests/genfile.c:448
+#: tests/genfile.c:439
 msgid "cannot seek"
 msgstr "無法尋求"
 
-#: tests/genfile.c:465
+#: tests/genfile.c:456
 #, c-format
 msgid "file name contains null character"
 msgstr "檔案名稱含有空字元"
 
-#: tests/genfile.c:578
+#: tests/genfile.c:569
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr "無法於標準輸出產生稀疏檔案,使用 --file 選項"
 
-#: tests/genfile.c:669
+#: tests/genfile.c:660
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "不正確遮罩 (接近 %s)"
 
-#: tests/genfile.c:675 tests/genfile.c:708
+#: tests/genfile.c:666 tests/genfile.c:699
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "不明的欄位 %s"
 
-#: tests/genfile.c:735
+#: tests/genfile.c:726
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "無法設定時間為 %s"
 
-#: tests/genfile.c:765
+#: tests/genfile.c:756
 #, c-format
 msgid "cannot truncate `%s'"
 msgstr "無法截斷 %s"
 
-#: tests/genfile.c:774
+#: tests/genfile.c:765
 #, c-format
 msgid "command failed: %s"
 msgstr "命令失敗:%s"
 
-#: tests/genfile.c:781
-#, fuzzy, c-format
+#: tests/genfile.c:772
+#, c-format
 msgid "cannot stat `%s'"
-msgstr "無法截斷 %s"
+msgstr "無法統計「%s」"
 
-#: tests/genfile.c:785
-#, fuzzy, c-format
+#: tests/genfile.c:776
+#, c-format
 msgid "cannot remove directory `%s'"
-msgstr "無法設定時間為 %s"
+msgstr "無法移除目錄「%s」"
 
-#: tests/genfile.c:788
+#: tests/genfile.c:779
 #, c-format
 msgid "cannot unlink `%s'"
 msgstr "無法取消連結 %s"
@@ -2874,6 +2888,9 @@ msgstr "命令終止\n"
 msgid "--stat requires file names"
 msgstr "--stat 需要檔案名稱"
 
+#~ msgid "OPTION"
+#~ msgstr "選項"
+
 #~ msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
 #~ msgstr "%.*s: ARGP_HELP_FMT 參數必須是正值"
 
diff --git a/rmt/Makefile.in b/rmt/Makefile.in
index ccb3252d..9ca0a0e8 100644
--- a/rmt/Makefile.in
+++ b/rmt/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,13 +89,11 @@ build_triplet = @build@
 host_triplet = @host@
 EXTRA_PROGRAMS = rmt$(EXEEXT)
 subdir = rmt
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+	$(top_srcdir)/m4/__inline.m4 \
 	$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
 	$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
-	$(top_srcdir)/m4/asm-underscore.m4 \
 	$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
 	$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
 	$(top_srcdir)/m4/canonicalize.m4 \
@@ -105,11 +113,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/extern-inline.m4 \
 	$(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
 	$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
-	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
-	$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
-	$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
-	$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
-	$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
+	$(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+	$(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fileblocks.m4 \
+	$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
+	$(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+	$(top_srcdir)/m4/fnmatch_h.m4 $(top_srcdir)/m4/fpending.m4 \
 	$(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \
 	$(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \
 	$(top_srcdir)/m4/futimens.m4 \
@@ -123,7 +132,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
 	$(top_srcdir)/m4/gnulib-comp.m4 \
 	$(top_srcdir)/m4/group-member.m4 \
-	$(top_srcdir)/m4/hard-locale.m4 \
 	$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/human.m4 \
 	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
 	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
@@ -218,6 +226,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -283,6 +292,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -374,6 +385,7 @@ GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
 GNULIB_FGETC = @GNULIB_FGETC@
 GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FNMATCH = @GNULIB_FNMATCH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
 GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -406,6 +418,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -422,6 +435,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
 GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -660,6 +674,7 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -683,6 +698,9 @@ HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FNMATCH = @HAVE_FNMATCH@
+HAVE_FNMATCH_H = @HAVE_FNMATCH_H@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -695,13 +713,16 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -734,6 +755,7 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OPENDIR = @HAVE_OPENDIR@
@@ -804,7 +826,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_TRUNCATE = @HAVE_TRUNCATE@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
@@ -859,8 +880,6 @@ HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
-HOST_CPU = @HOST_CPU@
-HOST_CPU_C_ABI = @HOST_CPU_C_ABI@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -905,6 +924,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 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_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_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@
@@ -932,6 +952,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_FNMATCH_H = @NEXT_FNMATCH_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
@@ -992,9 +1013,11 @@ REPLACE_FCNTL = @REPLACE_FCNTL@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FNMATCH = @REPLACE_FNMATCH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1012,6 +1035,7 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ISATTY = @REPLACE_ISATTY@
@@ -1042,6 +1066,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1243,7 +1268,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits rmt/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits rmt/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1550,6 +1574,8 @@ uninstall-am: uninstall-rmtPROGRAMS
 	mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am uninstall-rmtPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 rmt.o: ../gnu/configmake.h
 
diff --git a/rmt/rmt.c b/rmt/rmt.c
index fff83b87..658a243d 100644
--- a/rmt/rmt.c
+++ b/rmt/rmt.c
@@ -51,13 +51,16 @@ FILE *dbgout;
     }									\
   while (0)
 
-#define VDEBUG(lev, pfx, fmt, ap)		\
+#define VDEBUG(lev, pfx, fmt)		        \
   do						\
     {						\
       if (dbgout && (lev) <= dbglev)		\
 	{					\
+          va_list aptr;                         \
+          va_start (aptr, fmt);                 \
 	  fprintf (dbgout, "%s", pfx);		\
-	  vfprintf (dbgout, fmt, ap);		\
+	  vfprintf (dbgout, fmt, aptr);		\
+          va_end (aptr);                        \
 	}					\
     }						\
   while (0)
@@ -100,8 +103,9 @@ rmt_write (const char *fmt, ...)
   va_list ap;
   va_start (ap, fmt);
   vfprintf (stdout, fmt, ap);
+  va_end (ap);
   fflush (stdout);
-  VDEBUG (10, "S: ", fmt, ap);
+  VDEBUG (10, "S: ", fmt);
 }
 
 static void
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 3e315b78..2b676425 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -1,7 +1,6 @@
 # Make GNU tar scripts.
 
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/scripts/Makefile.in b/scripts/Makefile.in
index f9cc0bab..e93dc30b 100644
--- a/scripts/Makefile.in
+++ b/scripts/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,8 +16,7 @@
 
 # Make GNU tar scripts.
 
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -35,7 +34,17 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -98,12 +107,11 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = scripts
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+	$(top_srcdir)/m4/__inline.m4 \
 	$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
 	$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
-	$(top_srcdir)/m4/asm-underscore.m4 \
 	$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
 	$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
 	$(top_srcdir)/m4/canonicalize.m4 \
@@ -123,11 +131,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/extern-inline.m4 \
 	$(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
 	$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
-	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
-	$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
-	$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
-	$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
-	$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
+	$(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+	$(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fileblocks.m4 \
+	$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
+	$(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+	$(top_srcdir)/m4/fnmatch_h.m4 $(top_srcdir)/m4/fpending.m4 \
 	$(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \
 	$(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \
 	$(top_srcdir)/m4/futimens.m4 \
@@ -141,7 +150,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
 	$(top_srcdir)/m4/gnulib-comp.m4 \
 	$(top_srcdir)/m4/group-member.m4 \
-	$(top_srcdir)/m4/hard-locale.m4 \
 	$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/human.m4 \
 	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
 	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
@@ -236,6 +244,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -289,6 +298,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -380,6 +390,7 @@ GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
 GNULIB_FGETC = @GNULIB_FGETC@
 GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FNMATCH = @GNULIB_FNMATCH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
 GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -412,6 +423,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -428,6 +440,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
 GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -666,6 +679,7 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -689,6 +703,9 @@ HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FNMATCH = @HAVE_FNMATCH@
+HAVE_FNMATCH_H = @HAVE_FNMATCH_H@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -701,13 +718,16 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -740,6 +760,7 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OPENDIR = @HAVE_OPENDIR@
@@ -810,7 +831,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_TRUNCATE = @HAVE_TRUNCATE@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
@@ -865,8 +885,6 @@ HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
-HOST_CPU = @HOST_CPU@
-HOST_CPU_C_ABI = @HOST_CPU_C_ABI@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -911,6 +929,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 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_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_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@
@@ -938,6 +957,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_FNMATCH_H = @NEXT_FNMATCH_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
@@ -998,9 +1018,11 @@ REPLACE_FCNTL = @REPLACE_FCNTL@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FNMATCH = @REPLACE_FNMATCH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1018,6 +1040,7 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ISATTY = @REPLACE_ISATTY@
@@ -1048,6 +1071,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1263,7 +1287,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits scripts/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits scripts/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1538,6 +1561,8 @@ uninstall-am: uninstall-libexecSCRIPTS uninstall-sbinSCRIPTS
 	uninstall uninstall-am uninstall-libexecSCRIPTS \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 
 backup.sh: $(srcdir)/backup.sh.in
 	sed $(SED_CMD) $? > $@
diff --git a/scripts/backup-specs b/scripts/backup-specs
index da3b375e..20189ec4 100644
--- a/scripts/backup-specs
+++ b/scripts/backup-specs
@@ -82,8 +82,7 @@ SLEEP_MESSAGE="`awk '
    }' /dev/null`"
 
 
-# Copyright 2004, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/scripts/backup.sh.in b/scripts/backup.sh.in
index 15fc09d8..3ddb7efa 100644
--- a/scripts/backup.sh.in
+++ b/scripts/backup.sh.in
@@ -1,8 +1,7 @@
 #! /bin/sh
 # Make backups.
 
-# Copyright 2004-2006, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/scripts/dump-remind.in b/scripts/dump-remind.in
index 8f1aefca..e4803576 100644
--- a/scripts/dump-remind.in
+++ b/scripts/dump-remind.in
@@ -8,8 +8,7 @@
 # interested parties that a tape for the next volume of the backup needs to
 # be put in the tape drive.
 
-# Copyright 2004-2005, 2010, 2012-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/scripts/restore.in b/scripts/restore.in
index 34d23132..ba80575d 100644
--- a/scripts/restore.in
+++ b/scripts/restore.in
@@ -1,8 +1,7 @@
 #! /bin/sh
 # Restore backups.
 
-# Copyright 2004, 2006, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 6abc1b33..5fc081f7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,7 +1,6 @@
 # Makefile for GNU tar sources.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014,
-# 2016-2017 Free Software Foundation, Inc.
+# Copyright 1994-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/src/Makefile.in b/src/Makefile.in
index 82f38c98..61f06a27 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,8 +16,7 @@
 
 # Makefile for GNU tar sources.
 
-# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2009, 2013-2014,
-# 2016-2017 Free Software Foundation, Inc.
+# Copyright 1994-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -36,7 +35,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -100,13 +109,11 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = tar$(EXEEXT)
 subdir = src
-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/__inline.m4 \
 	$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
 	$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
-	$(top_srcdir)/m4/asm-underscore.m4 \
 	$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
 	$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
 	$(top_srcdir)/m4/canonicalize.m4 \
@@ -126,11 +133,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/extern-inline.m4 \
 	$(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
 	$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
-	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
-	$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
-	$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
-	$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
-	$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
+	$(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+	$(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fileblocks.m4 \
+	$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
+	$(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+	$(top_srcdir)/m4/fnmatch_h.m4 $(top_srcdir)/m4/fpending.m4 \
 	$(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \
 	$(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \
 	$(top_srcdir)/m4/futimens.m4 \
@@ -144,7 +152,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
 	$(top_srcdir)/m4/gnulib-comp.m4 \
 	$(top_srcdir)/m4/group-member.m4 \
-	$(top_srcdir)/m4/hard-locale.m4 \
 	$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/human.m4 \
 	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
 	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
@@ -239,6 +246,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -315,6 +324,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -406,6 +417,7 @@ GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
 GNULIB_FGETC = @GNULIB_FGETC@
 GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FNMATCH = @GNULIB_FNMATCH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
 GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -438,6 +450,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -454,6 +467,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
 GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -692,6 +706,7 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -715,6 +730,9 @@ HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FNMATCH = @HAVE_FNMATCH@
+HAVE_FNMATCH_H = @HAVE_FNMATCH_H@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -727,13 +745,16 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -766,6 +787,7 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OPENDIR = @HAVE_OPENDIR@
@@ -836,7 +858,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_TRUNCATE = @HAVE_TRUNCATE@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
@@ -891,8 +912,6 @@ HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
-HOST_CPU = @HOST_CPU@
-HOST_CPU_C_ABI = @HOST_CPU_C_ABI@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -937,6 +956,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 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_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_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@
@@ -964,6 +984,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_FNMATCH_H = @NEXT_FNMATCH_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
@@ -1024,9 +1045,11 @@ REPLACE_FCNTL = @REPLACE_FCNTL@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FNMATCH = @REPLACE_FNMATCH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1044,6 +1067,7 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ISATTY = @REPLACE_ISATTY@
@@ -1074,6 +1098,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1300,7 +1325,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits src/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1630,6 +1654,8 @@ uninstall-am: uninstall-binPROGRAMS
 	mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am uninstall-binPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 # 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.
diff --git a/src/arith.h b/src/arith.h
index c3430d7c..ef1f45f4 100644
--- a/src/arith.h
+++ b/src/arith.h
@@ -1,6 +1,5 @@
 /* Long integers, for GNU tar.
-   Copyright 1999, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-   Inc.
+   Copyright 1999-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/buffer.c b/src/buffer.c
index 51f299fd..7781009a 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1,7 +1,6 @@
 /* Buffer management for tar.
 
-   Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2013-2014, 2016-2017
-   Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -281,7 +280,8 @@ enum compress_type {
   ct_lzip,
   ct_lzma,
   ct_lzop,
-  ct_xz
+  ct_xz,
+  ct_zstd
 };
 
 static enum compress_type archive_compression_type = ct_none;
@@ -310,6 +310,7 @@ static struct zip_magic const magic[] = {
   { ct_lzma,     6, "\xFFLZMA" },
   { ct_lzop,     4, "\211LZO" },
   { ct_xz,       6, "\xFD" "7zXZ" },
+  { ct_zstd,     4, "\x28\xB5\x2F\xFD" },
 };
 
 #define NMAGIC (sizeof(magic)/sizeof(magic[0]))
@@ -325,6 +326,7 @@ static struct zip_program zip_program[] = {
   { ct_lzma,     XZ_PROGRAM,       "-J" },
   { ct_lzop,     LZOP_PROGRAM,     "--lzop" },
   { ct_xz,       XZ_PROGRAM,       "-J" },
+  { ct_zstd,     ZSTD_PROGRAM,     "--zstd" },
   { ct_none }
 };
 
@@ -1500,7 +1502,7 @@ try_new_volume (void)
       if (!read_header0 (&dummy))
         return false;
       tar_stat_destroy (&dummy);
-      assign_string (&volume_label, current_header->header.name);
+      ASSIGN_STRING_N (&volume_label, current_header->header.name);
       set_next_block_after (header);
       header = find_next_block ();
       if (header->header.typeflag != GNUTYPE_MULTIVOL)
@@ -1510,7 +1512,7 @@ try_new_volume (void)
       if (!read_header0 (&dummy))
         return false;
       tar_stat_destroy (&dummy);
-      assign_string (&continued_file_name, current_header->header.name);
+      ASSIGN_STRING_N (&continued_file_name, current_header->header.name);
       continued_file_size =
         UINTMAX_FROM_HEADER (current_header->header.size);
       continued_file_offset =
@@ -1653,15 +1655,7 @@ match_volume_label (void)
 		      quote (volume_label_option)));
       if (label->header.typeflag == GNUTYPE_VOLHDR)
 	{
-	  if (memchr (label->header.name, '\0', sizeof label->header.name))
-	    assign_string (&volume_label, label->header.name);
-	  else
-	    {
-	      volume_label = xmalloc (sizeof (label->header.name) + 1);
-	      memcpy (volume_label, label->header.name,
-		      sizeof (label->header.name));
-	      volume_label[sizeof (label->header.name)] = 0;
-	    }
+	  ASSIGN_STRING_N (&volume_label, label->header.name);
 	}
       else if (label->header.typeflag == XGLTYPE)
 	{
@@ -1697,8 +1691,7 @@ _write_volume_label (const char *str)
       memset (label, 0, BLOCKSIZE);
 
       strcpy (label->header.name, str);
-      assign_string (&current_stat_info.file_name,
-                     label->header.name);
+      assign_string (&current_stat_info.file_name, label->header.name);
       current_stat_info.had_trailing_slash =
         strip_trailing_slashes (current_stat_info.file_name);
 
@@ -1768,15 +1761,19 @@ gnu_add_multi_volume_header (struct bufmap *map)
 {
   int tmp;
   union block *block = find_next_block ();
+  size_t len = strlen (map->file_name);
 
-  if (strlen (map->file_name) > NAME_FIELD_SIZE)
-    WARN ((0, 0,
-           _("%s: file name too long to be stored in a GNU multivolume header, truncated"),
-           quotearg_colon (map->file_name)));
+  if (len > NAME_FIELD_SIZE)
+    {
+      WARN ((0, 0,
+	     _("%s: file name too long to be stored in a GNU multivolume header, truncated"),
+	     quotearg_colon (map->file_name)));
+      len = NAME_FIELD_SIZE;
+    }
 
   memset (block, 0, BLOCKSIZE);
 
-  strncpy (block->header.name, map->file_name, NAME_FIELD_SIZE);
+  memcpy (block->header.name, map->file_name, len);
   block->header.typeflag = GNUTYPE_MULTIVOL;
 
   OFF_TO_CHARS (map->sizeleft, block->header.size);
diff --git a/src/checkpoint.c b/src/checkpoint.c
index 4c86b526..18fc9203 100644
--- a/src/checkpoint.c
+++ b/src/checkpoint.c
@@ -1,6 +1,6 @@
 /* Checkpoint management for tar.
 
-   Copyright 2007, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 2007-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -23,6 +23,7 @@
 #include <sys/ioctl.h>
 #include <termios.h>
 #include "fprintftime.h"
+#include <signal.h>
 
 enum checkpoint_opcode
   {
@@ -32,7 +33,8 @@ enum checkpoint_opcode
     cop_ttyout,
     cop_sleep,
     cop_exec,
-    cop_totals
+    cop_totals,
+    cop_wait
   };
 
 struct checkpoint_action
@@ -43,6 +45,7 @@ struct checkpoint_action
   {
     time_t time;
     char *command;
+    int signal;
   } v;
 };
 
@@ -52,6 +55,16 @@ static unsigned checkpoint;
 /* List of checkpoint actions */
 static struct checkpoint_action *checkpoint_action, *checkpoint_action_tail;
 
+/* State of the checkpoint system */
+enum {
+  CHKP_INIT,       /* Needs initialization */
+  CHKP_COMPILE,    /* Actions are being compiled */
+  CHKP_RUN         /* Actions are being run */
+};
+static int checkpoint_state;
+/* Blocked signals */
+static sigset_t sigs;
+
 static struct checkpoint_action *
 alloc_action (enum checkpoint_opcode opcode)
 {
@@ -85,6 +98,12 @@ checkpoint_compile_action (const char *str)
 {
   struct checkpoint_action *act;
 
+  if (checkpoint_state == CHKP_INIT)
+    {
+      sigemptyset (&sigs);
+      checkpoint_state = CHKP_COMPILE;
+    }
+  
   if (strcmp (str, ".") == 0 || strcmp (str, "dot") == 0)
     alloc_action (cop_dot);
   else if (strcmp (str, "bell") == 0)
@@ -117,6 +136,12 @@ checkpoint_compile_action (const char *str)
     }
   else if (strcmp (str, "totals") == 0)
     alloc_action (cop_totals);
+  else if (strncmp (str, "wait=", 5) == 0)
+    {
+      act = alloc_action (cop_wait);
+      act->v.signal = decode_signal (str + 5);
+      sigaddset (&sigs, act->v.signal);
+    }
   else
     FATAL_ERROR ((0, 0, _("%s: unknown checkpoint action"), str));
 }
@@ -124,15 +149,24 @@ checkpoint_compile_action (const char *str)
 void
 checkpoint_finish_compile (void)
 {
-  if (checkpoint_option)
+  if (checkpoint_state == CHKP_INIT
+      && checkpoint_option
+      && !checkpoint_action)
+    {
+      /* Provide a historical default */
+      checkpoint_compile_action ("echo");
+    }
+
+  if (checkpoint_state == CHKP_COMPILE)
     {
-      if (!checkpoint_action)
-	/* Provide a historical default */
-	checkpoint_compile_action ("echo");
+      sigprocmask (SIG_BLOCK, &sigs, NULL);
+
+      if (!checkpoint_option)
+	/* set default checkpoint rate */
+	checkpoint_option = DEFAULT_CHECKPOINT;
+
+      checkpoint_state = CHKP_RUN;
     }
-  else if (checkpoint_action)
-    /* Otherwise, set default checkpoint rate */
-    checkpoint_option = DEFAULT_CHECKPOINT;
 }
 
 static const char *checkpoint_total_format[] = {
@@ -390,6 +424,13 @@ run_checkpoint_actions (bool do_write)
 	case cop_totals:
 	  compute_duration ();
 	  print_total_stats ();
+	  break;
+
+	case cop_wait:
+	  {
+	    int n;
+	    sigwait (&sigs, &n);
+	  }
 	}
     }
 }
diff --git a/src/common.h b/src/common.h
index bbe167ef..501e0d3a 100644
--- a/src/common.h
+++ b/src/common.h
@@ -1,7 +1,6 @@
 /* Common declarations for the tar program.
 
-   Copyright 1988, 1992-1994, 1996-1997, 1999-2010, 2012-2017 Free
-   Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -302,6 +301,10 @@ enum hole_detection_method
 
 GLOBAL enum hole_detection_method hole_detection;
 
+/* The first entry in names.c:namelist specifies the member name to
+   start extracting from. Set by add_starting_file() upon seeing the
+   -K option.
+*/
 GLOBAL bool starting_file_option;
 
 /* Specified maximum byte length of each tape volume (multiple of 1024).  */
@@ -628,6 +631,8 @@ void skip_member (void);
 
 char const *quote_n_colon (int n, char const *arg);
 void assign_string (char **dest, const char *src);
+void assign_string_n (char **string, const char *value, size_t n);
+#define ASSIGN_STRING_N(s,v) assign_string_n (s, v, sizeof (v))
 int unquote_string (char *str);
 char *zap_slashes (char *name);
 char *normalize_filename (int cdidx, const char *name);
@@ -750,6 +755,7 @@ const char *name_next (int change_dirs);
 void name_gather (void);
 struct name *addname (char const *string, int change_dir,
 		      bool cmdline, struct name *parent);
+void add_starting_file (char const *file_name);
 void remname (struct name *name);
 bool name_match (const char *name);
 void names_notfound (void);
@@ -791,6 +797,8 @@ void set_exit_status (int val);
 
 void request_stdin (const char *option);
 
+int decode_signal (const char *);
+
 /* Where an option comes from: */
 enum option_source
   {
@@ -829,6 +837,7 @@ void xheader_store (char const *keyword, struct tar_stat_info *st,
 void xheader_read (struct xheader *xhdr, union block *header, off_t size);
 void xheader_write (char type, char *name, time_t t, struct xheader *xhdr);
 void xheader_write_global (struct xheader *xhdr);
+void xheader_forbid_global (void);
 void xheader_finish (struct xheader *hdr);
 void xheader_destroy (struct xheader *hdr);
 char *xheader_xhdr_name (struct tar_stat_info *st);
diff --git a/src/compare.c b/src/compare.c
index fee13729..419fc9fd 100644
--- a/src/compare.c
+++ b/src/compare.c
@@ -1,7 +1,6 @@
 /* Diff files from a tar archive.
 
-   Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2007,
-   2009-2010, 2012-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/create.c b/src/create.c
index 35bcf5b0..bb9c115b 100644
--- a/src/create.c
+++ b/src/create.c
@@ -1,7 +1,6 @@
 /* Create a tar archive.
 
-   Copyright 1985, 1992-1994, 1996-1997, 1999-2001, 2003-2007,
-   2009-2010, 2012-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 1985-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -518,8 +517,8 @@ start_private_header (const char *name, size_t size, time_t t)
   MODE_TO_CHARS (S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH, header->header.mode);
   UID_TO_CHARS (0, header->header.uid);
   GID_TO_CHARS (0, header->header.gid);
-  strncpy (header->header.magic, TMAGIC, TMAGLEN);
-  strncpy (header->header.version, TVERSION, TVERSLEN);
+  memcpy (header->header.magic, TMAGIC, TMAGLEN);
+  memcpy (header->header.version, TVERSION, TVERSLEN);
   return header;
 }
 
@@ -917,8 +916,8 @@ start_header (struct tar_stat_info *st)
 
     case POSIX_FORMAT:
     case USTAR_FORMAT:
-      strncpy (header->header.magic, TMAGIC, TMAGLEN);
-      strncpy (header->header.version, TVERSION, TVERSLEN);
+      memcpy (header->header.magic, TMAGIC, TMAGLEN);
+      memcpy (header->header.version, TVERSION, TVERSLEN);
       break;
 
     default:
diff --git a/src/delete.c b/src/delete.c
index 9044ba2c..f86e011b 100644
--- a/src/delete.c
+++ b/src/delete.c
@@ -1,7 +1,6 @@
 /* Delete entries from a tar archive.
 
-   Copyright 1988, 1992, 1994, 1996-1997, 2000-2001, 2003-2006, 2010,
-   2013-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/exclist.c b/src/exclist.c
index f20b98e5..288f3be8 100644
--- a/src/exclist.c
+++ b/src/exclist.c
@@ -1,6 +1,6 @@
 /* Per-directory exclusion files for tar.
 
-   Copyright 2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 2014-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/exit.c b/src/exit.c
index 49443184..42d9da72 100644
--- a/src/exit.c
+++ b/src/exit.c
@@ -1,6 +1,6 @@
 /* Exit from GNU tar.
 
-   Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 2009-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/extract.c b/src/extract.c
index 395db557..8276f8fe 100644
--- a/src/extract.c
+++ b/src/extract.c
@@ -1,7 +1,6 @@
 /* Extract files from a tar archive.
 
-   Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2014,
-   2016-2017 Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -788,6 +787,7 @@ maybe_recoverable (char *file_name, bool regular, bool *interdir_made)
 	case UNLINK_FIRST_OLD_FILES:
 	  break;
 	}
+      FALLTHROUGH;
 
     case ENOENT:
       /* Attempt creating missing intermediate directories.  */
diff --git a/src/incremen.c b/src/incremen.c
index ca611f65..417ce395 100644
--- a/src/incremen.c
+++ b/src/incremen.c
@@ -1,7 +1,6 @@
 /* GNU dump extensions to tar.
 
-   Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2009,
-   2013-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -915,6 +914,7 @@ store_rename (struct directory *dir, struct obstack *stk)
 	    obstack_code_rename (stk, p->orig->name, p->name);
 
 	  obstack_code_rename (stk, "", prev->name);
+	  free (temp_name);
 	}
     }
 }
@@ -997,10 +997,10 @@ read_incr_db_01 (int version, const char *initbuf)
   newer_mtime_option = decode_timespec (buf, &ebuf, false);
 
   if (! valid_timespec (newer_mtime_option))
-    ERROR ((0, errno, "%s:%ld: %s",
-	    quotearg_colon (listed_incremental_option),
-	    lineno,
-	    _("Invalid time stamp")));
+    FATAL_ERROR ((0, errno, "%s:%ld: %s",
+		  quotearg_colon (listed_incremental_option),
+		  lineno,
+		  _("Invalid time stamp")));
   else
     {
       if (version == 1 && *ebuf)
@@ -1042,9 +1042,9 @@ read_incr_db_01 (int version, const char *initbuf)
 	  mtime = decode_timespec (strp, &ebuf, false);
 	  strp = ebuf;
 	  if (!valid_timespec (mtime) || *strp != ' ')
-	    ERROR ((0, errno, "%s:%ld: %s",
-		    quotearg_colon (listed_incremental_option), lineno,
-		    _("Invalid modification time")));
+	    FATAL_ERROR ((0, errno, "%s:%ld: %s",
+			  quotearg_colon (listed_incremental_option), lineno,
+			  _("Invalid modification time")));
 
 	  errno = 0;
 	  u = strtoumax (strp, &ebuf, 10);
@@ -1052,9 +1052,9 @@ read_incr_db_01 (int version, const char *initbuf)
 	    errno = ERANGE;
 	  if (errno || strp == ebuf || *ebuf != ' ')
 	    {
-	      ERROR ((0, errno, "%s:%ld: %s",
-		      quotearg_colon (listed_incremental_option), lineno,
-		      _("Invalid modification time (nanoseconds)")));
+	      FATAL_ERROR ((0, errno, "%s:%ld: %s",
+			    quotearg_colon (listed_incremental_option), lineno,
+			    _("Invalid modification time (nanoseconds)")));
 	      mtime.tv_nsec = -1;
 	    }
 	  else
@@ -1068,17 +1068,17 @@ read_incr_db_01 (int version, const char *initbuf)
 			 TYPE_MINIMUM (dev_t), TYPE_MAXIMUM (dev_t));
       strp = ebuf;
       if (errno || *strp != ' ')
-	ERROR ((0, errno, "%s:%ld: %s",
+	FATAL_ERROR ((0, errno, "%s:%ld: %s",
 		quotearg_colon (listed_incremental_option), lineno,
-		_("Invalid device number")));
+		      _("Invalid device number")));
 
       ino = strtosysint (strp, &ebuf,
 			 TYPE_MINIMUM (ino_t), TYPE_MAXIMUM (ino_t));
       strp = ebuf;
       if (errno || *strp != ' ')
-	ERROR ((0, errno, "%s:%ld: %s",
-		quotearg_colon (listed_incremental_option), lineno,
-		_("Invalid inode number")));
+	FATAL_ERROR ((0, errno, "%s:%ld: %s",
+		      quotearg_colon (listed_incremental_option), lineno,
+		      _("Invalid inode number")));
 
       strp++;
       unquote_string (strp);
diff --git a/src/list.c b/src/list.c
index 14388a55..a985bcc1 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1,7 +1,6 @@
 /* List a tar archive, with support routines for reading a tar archive.
 
-   Copyright 1988, 1992-1994, 1996-2001, 2003-2007, 2010, 2012-2017 Free
-   Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -23,7 +22,7 @@
 #include <system.h>
 #include <inttostr.h>
 #include <quotearg.h>
-
+#include <time.h>
 #include "common.h"
 
 union block *current_header;	/* points to current archive header */
@@ -631,10 +630,12 @@ decode_header (union block *header, struct tar_stat_info *stat_info,
   stat_info->stat.st_mode = mode;
   stat_info->mtime.tv_sec = TIME_FROM_HEADER (header->header.mtime);
   stat_info->mtime.tv_nsec = 0;
-  assign_string (&stat_info->uname,
-		 header->header.uname[0] ? header->header.uname : NULL);
-  assign_string (&stat_info->gname,
-		 header->header.gname[0] ? header->header.gname : NULL);
+  assign_string_n (&stat_info->uname,
+		   header->header.uname[0] ? header->header.uname : NULL,
+		   sizeof (header->header.uname));
+  assign_string_n (&stat_info->gname,
+		   header->header.gname[0] ? header->header.gname : NULL,
+		   sizeof (header->header.gname));
 
   xheader_xattr_init (stat_info);
 
@@ -1049,15 +1050,11 @@ tartime (struct timespec t, bool full_time)
     {
       if (full_time)
 	{
-	  sprintf (buffer, "%04ld-%02d-%02d %02d:%02d:%02d",
-		   tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday,
-		   tm->tm_hour, tm->tm_min, tm->tm_sec);
+	  strftime (buffer, sizeof buffer, "%Y-%m-%d %H:%M:%S", tm);
 	  code_ns_fraction (ns, buffer + strlen (buffer));
 	}
       else
-	sprintf (buffer, "%04ld-%02d-%02d %02d:%02d",
-		 tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday,
-		 tm->tm_hour, tm->tm_min);
+	strftime (buffer, sizeof buffer, "%Y-%m-%d %H:%M", tm);
       return buffer;
     }
 
@@ -1443,7 +1440,7 @@ test_archive_label (void)
       decode_header (current_header,
 		     &current_stat_info, &current_format, 0);
       if (current_header->header.typeflag == GNUTYPE_VOLHDR)
-	assign_string (&volume_label, current_header->header.name);
+	ASSIGN_STRING_N (&volume_label, current_header->header.name);
 
       if (volume_label)
 	{
diff --git a/src/map.c b/src/map.c
index 770e4f56..f2ed6cd3 100644
--- a/src/map.c
+++ b/src/map.c
@@ -1,6 +1,6 @@
 /* Owner/group mapping for tar
 
-   Copyright 2015-2017 Free Software Foundation, Inc.
+   Copyright 2015-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/misc.c b/src/misc.c
index cd07f530..cb7254f2 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -1,7 +1,6 @@
 /* Miscellaneous functions, not really specific to GNU tar.
 
-   Copyright 1988, 1992, 1994-1997, 1999-2001, 2003-2007, 2009-2010,
-   2012-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This 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
@@ -50,6 +49,20 @@ assign_string (char **string, const char *value)
   *string = value ? xstrdup (value) : 0;
 }
 
+void
+assign_string_n (char **string, const char *value, size_t n)
+{
+  free (*string);
+  if (value)
+    {
+      size_t l = strnlen (value, n);
+      char *p = xmalloc (l + 1);
+      memcpy (p, value, l);
+      p[l] = 0;
+      *string = p;
+    }
+}
+
 #if 0
 /* This function is currently unused; perhaps it should be removed?  */
 
@@ -727,7 +740,7 @@ maybe_backup_file (const char *file_name, bool this_is_the_archive)
       && (S_ISBLK (file_stat.st_mode) || S_ISCHR (file_stat.st_mode)))
     return true;
 
-  after_backup_name = find_backup_file_name (file_name, backup_type);
+  after_backup_name = find_backup_file_name (chdir_fd, file_name, backup_type);
   if (! after_backup_name)
     xalloc_die ();
 
diff --git a/src/names.c b/src/names.c
index f6ad9fe0..28ae21f9 100644
--- a/src/names.c
+++ b/src/names.c
@@ -1,7 +1,6 @@
 /* Various processing of names.
 
-   Copyright 1988, 1992, 1994, 1996-2001, 2003-2007, 2009, 2013-2017
-   Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This 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
@@ -1227,6 +1226,34 @@ addname (char const *string, int change_dir, bool cmdline, struct name *parent)
   return name;
 }
 
+void
+add_starting_file (char const *file_name)
+{
+  struct name *name = make_name (file_name);
+
+  if (starting_file_option)
+    {
+      struct name *head = namelist;
+      remname (head);
+      free_name (head);
+    }
+  
+  name->prev = NULL;
+  name->next = namelist;
+  namelist = name;
+  if (!nametail)
+    nametail = namelist;
+  
+  name->found_count = 0;
+  name->matching_flags = INCLUDE_OPTIONS;
+  name->change_dir = 0;
+  name->directory = NULL;
+  name->parent = NULL;
+  name->cmdline = true;
+
+  starting_file_option = true;
+}
+
 /* Find a match for FILE_NAME (whose string length is LENGTH) in the name
    list.  */
 static struct name *
@@ -1283,19 +1310,22 @@ name_match (const char *file_name)
 	}
 
       cursor = namelist_match (file_name, length);
+      if (starting_file_option)
+	{
+	  /* If starting_file_option is set, the head of the list is the name
+	     of the member to start extraction from. Skip the match unless it
+	     is head. */
+	  if (cursor == namelist)
+	    starting_file_option = false;
+	  else
+	    cursor = NULL;
+	}
       if (cursor)
 	{
 	  if (!(ISSLASH (file_name[cursor->length]) && recursion_option)
 	      || cursor->found_count == 0)
 	    cursor->found_count++; /* remember it matched */
-	  if (starting_file_option)
-	    {
-	      free (namelist);
-	      namelist = NULL;
-	      nametail = NULL;
-	    }
 	  chdir_do (cursor->change_dir);
-
 	  /* We got a match.  */
 	  return ISFOUND (cursor);
 	}
@@ -1767,6 +1797,11 @@ collect_and_sort_names (void)
 		  name->found_count++;
 		  add_hierarchy_to_namelist (&st, name);
 		}
+	      else
+		{
+		  errno = ENOTDIR;
+		  open_diag (name->name);
+		}
 	    }
 	}
 
@@ -1821,7 +1856,7 @@ collect_and_sort_names (void)
 
   if (listed_incremental_option)
     {
-      for (name = namelist; name && name->name[0] == 0; name++)
+      for (name = namelist; name && name->name[0] == 0; name = name->next)
 	;
       if (name)
 	append_incremental_renames (name->directory);
diff --git a/src/sparse.c b/src/sparse.c
index d41c0eac..d642a463 100644
--- a/src/sparse.c
+++ b/src/sparse.c
@@ -1,6 +1,6 @@
 /* Functions for dealing with sparse files
 
-   Copyright 2003-2007, 2010, 2013-2017 Free Software Foundation, Inc.
+   Copyright 2003-2019 Free Software Foundation, Inc.
 
    This 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
@@ -427,6 +427,30 @@ sparse_dump_region (struct tar_sparse_file *file, size_t i)
 			     bufsize);
 	  return false;
 	}
+      else if (bytes_read == 0)
+	{
+	  char buf[UINTMAX_STRSIZE_BOUND];
+	  struct stat st;
+	  size_t n;
+	  if (fstat (file->fd, &st) == 0)
+	    n = file->stat_info->stat.st_size - st.st_size;
+	  else
+	    n = file->stat_info->stat.st_size
+	      - (file->stat_info->sparse_map[i].offset
+		 + file->stat_info->sparse_map[i].numbytes
+		 - bytes_left);
+	  
+	  WARNOPT (WARN_FILE_SHRANK,
+		   (0, 0,
+		    ngettext ("%s: File shrank by %s byte; padding with zeros",
+			      "%s: File shrank by %s bytes; padding with zeros",
+			      n),
+		    quotearg_colon (file->stat_info->orig_file_name),
+		    STRINGIFY_BIGINT (n, buf)));
+	  if (! ignore_failed_read_option)
+	    set_exit_status (TAREXIT_DIFFERS);
+	  return false;
+	}
 
       memset (blk->buffer + bytes_read, 0, BLOCKSIZE - bytes_read);
       bytes_left -= bytes_read;
@@ -464,9 +488,9 @@ sparse_extract_region (struct tar_sparse_file *file, size_t i)
 	  return false;
 	}
       set_next_block_after (blk);
+      file->dumped_size += BLOCKSIZE;
       count = blocking_write (file->fd, blk->buffer, wrbytes);
       write_size -= count;
-      file->dumped_size += count;
       mv_size_left (file->stat_info->archive_file_size - file->dumped_size);
       file->offset += count;
       if (count != wrbytes)
@@ -598,6 +622,12 @@ check_sparse_region (struct tar_sparse_file *file, off_t beg, off_t end)
 			     rdsize);
 	  return false;
 	}
+      else if (bytes_read == 0)
+	{
+	  report_difference (file->stat_info, _("Size differs"));
+	  return false;
+	}
+      
       if (!zero_block_p (diff_buffer, bytes_read))
 	{
 	  char begbuf[INT_BUFSIZE_BOUND (off_t)];
@@ -609,6 +639,7 @@ check_sparse_region (struct tar_sparse_file *file, off_t beg, off_t end)
 
       beg += bytes_read;
     }
+
   return true;
 }
 
@@ -635,6 +666,7 @@ check_data_region (struct tar_sparse_file *file, size_t i)
 	  return false;
 	}
       set_next_block_after (blk);
+      file->dumped_size += BLOCKSIZE;      
       bytes_read = safe_read (file->fd, diff_buffer, rdsize);
       if (bytes_read == SAFE_READ_ERROR)
 	{
@@ -645,7 +677,11 @@ check_data_region (struct tar_sparse_file *file, size_t i)
 			     rdsize);
 	  return false;
 	}
-      file->dumped_size += bytes_read;
+      else if (bytes_read == 0)
+	{
+	  report_difference (&current_stat_info, _("Size differs"));
+	  return false;
+	}
       size_left -= bytes_read;
       mv_size_left (file->stat_info->archive_file_size - file->dumped_size);
       if (memcmp (blk->buffer, diff_buffer, rdsize))
@@ -1213,7 +1249,8 @@ pax_decode_header (struct tar_sparse_file *file)
       union block *blk;
       char *p;
       size_t i;
-
+      off_t start;
+      
 #define COPY_BUF(b,buf,src) do                                     \
  {                                                                 \
    char *endp = b->buffer + BLOCKSIZE;                             \
@@ -1229,8 +1266,9 @@ pax_decode_header (struct tar_sparse_file *file)
        if (src == endp)                                            \
 	 {                                                         \
 	   set_next_block_after (b);                               \
-           file->dumped_size += BLOCKSIZE;                         \
            b = find_next_block ();                                 \
+           if (!b)                                                 \
+             FATAL_ERROR ((0, 0, _("Unexpected EOF in archive"))); \
            src = b->buffer;                                        \
 	   endp = b->buffer + BLOCKSIZE;                           \
 	 }                                                         \
@@ -1240,9 +1278,11 @@ pax_decode_header (struct tar_sparse_file *file)
    dst[-1] = 0;                                                    \
  } while (0)
 
+      start = current_block_ordinal ();
       set_next_block_after (current_header);
-      file->dumped_size += BLOCKSIZE;
       blk = find_next_block ();
+      if (!blk)
+        FATAL_ERROR ((0, 0, _("Unexpected EOF in archive")));
       p = blk->buffer;
       COPY_BUF (blk,nbuf,p);
       if (!decode_num (&u, nbuf, TYPE_MAXIMUM (size_t)))
@@ -1278,6 +1318,8 @@ pax_decode_header (struct tar_sparse_file *file)
 	  sparse_add_map (file->stat_info, &sp);
 	}
       set_next_block_after (blk);
+
+      file->dumped_size += BLOCKSIZE * (current_block_ordinal () - start);
     }
 
   return true;
diff --git a/src/suffix.c b/src/suffix.c
index 47027e73..370b048d 100644
--- a/src/suffix.c
+++ b/src/suffix.c
@@ -1,6 +1,5 @@
 /* This file is part of GNU tar.
-   Copyright 2007, 2009, 2013-2014, 2016-2017 Free Software Foundation,
-   Inc.
+   Copyright 2007-2019 Free Software Foundation, Inc.
 
    Written by Sergey Poznyakoff.
 
@@ -46,6 +45,8 @@ static struct compression_suffix compression_suffixes[] = {
   { S(lzo,  LZOP) },
   { S(xz,   XZ) },
   { S(txz,  XZ) }, /* Slackware */
+  { S(zst,  ZSTD) },
+  { S(tzst, ZSTD) },
   { NULL }
 #undef S
 #undef __CAT2__
@@ -60,7 +61,7 @@ find_compression_suffix (const char *name, size_t *ret_len)
     {
       size_t len;
       struct compression_suffix *p;
-      
+
       suf++;
       len = strlen (suf);
 
@@ -99,10 +100,14 @@ strip_compression_suffix (const char *name)
 {
   char *s = NULL;
   size_t len;
+  struct compression_suffix const *p = find_compression_suffix (name, &len);
 
-  if (find_compression_suffix (name, &len))
+  if (p)
     {
-      if (strncmp (name + len - 4, ".tar", 4) == 0)
+      /* Strip an additional ".tar" suffix, but only if the just-stripped
+	 "outer" suffix did not begin with "t".  */
+      if (len > 4 && strncmp (name + len - 4, ".tar", 4) == 0
+	  && p->suffix[0] != 't')
 	len -= 4;
       if (len == 0)
 	return NULL;
@@ -112,4 +117,3 @@ strip_compression_suffix (const char *name)
     }
   return s;
 }
-  
diff --git a/src/system.c b/src/system.c
index b4f69853..e1c56723 100644
--- a/src/system.c
+++ b/src/system.c
@@ -1,7 +1,6 @@
 /* System-dependent calls for tar.
 
-   Copyright 2003-2008, 2010, 2013-2014, 2016-2017 Free Software
-   Foundation, Inc.
+   Copyright 2003-2019 Free Software Foundation, Inc.
 
    This 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
diff --git a/src/tar.c b/src/tar.c
index 3f844a8f..d66fed86 100644
--- a/src/tar.c
+++ b/src/tar.c
@@ -1,7 +1,6 @@
 /* A tar (tape archiver) program.
 
-   Copyright 1988, 1992-1997, 1999-2001, 2003-2007, 2012-2017 Free
-   Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    Written by John Gilmore, starting 1985-08-25.
 
@@ -348,7 +347,8 @@ enum
   WARNING_OPTION,
   XATTR_OPTION,
   XATTR_EXCLUDE,
-  XATTR_INCLUDE
+  XATTR_INCLUDE,
+  ZSTD_OPTION,
 };
 
 static char const doc[] = N_("\
@@ -682,6 +682,7 @@ static struct argp_option options[] = {
   {"lzma", LZMA_OPTION, 0, 0, NULL, GRID+1 },
   {"lzop", LZOP_OPTION, 0, 0, NULL, GRID+1 },
   {"xz", 'J', 0, 0, NULL, GRID+1 },
+  {"zstd", ZSTD_OPTION, 0, 0, NULL, GRID+1 },
 #undef GRID
 
 #define GRID 100
@@ -974,36 +975,37 @@ stat_on_signal (int signo)
 #endif
 }
 
-static void
-set_stat_signal (const char *name)
+int
+decode_signal (const char *name)
 {
   static struct sigtab
   {
     char const *name;
     int signo;
   } const sigtab[] = {
-    { "SIGUSR1", SIGUSR1 },
     { "USR1", SIGUSR1 },
-    { "SIGUSR2", SIGUSR2 },
     { "USR2", SIGUSR2 },
-    { "SIGHUP", SIGHUP },
     { "HUP", SIGHUP },
-    { "SIGINT", SIGINT },
     { "INT", SIGINT },
-    { "SIGQUIT", SIGQUIT },
     { "QUIT", SIGQUIT }
   };
   struct sigtab const *p;
+  char const *s = name;
 
+  if (strncmp (s, "SIG", 3) == 0)
+    s += 3;
   for (p = sigtab; p < sigtab + sizeof (sigtab) / sizeof (sigtab[0]); p++)
-    if (strcmp (p->name, name) == 0)
-      {
-	stat_on_signal (p->signo);
-	return;
-      }
+    if (strcmp (p->name, s) == 0)
+      return p->signo;
   FATAL_ERROR ((0, 0, _("Unknown signal name: %s"), name));
 }
 
+static void
+set_stat_signal (const char *name)
+{
+  stat_on_signal (decode_signal (name));
+}
+
 
 struct textual_date
 {
@@ -1129,6 +1131,10 @@ tar_help_filter (int key, const char *text, void *input)
       s = xasprintf (_("filter the archive through %s"), XZ_PROGRAM);
       break;
 
+    case ZSTD_OPTION:
+      s = xasprintf (_("filter the archive through %s"), ZSTD_PROGRAM);
+      break;
+
     case ARGP_KEY_HELP_EXTRA:
       {
 	const char *tstr;
@@ -1151,7 +1157,7 @@ tar_help_filter (int key, const char *text, void *input)
   return s;
 }
 
-static char *
+static char * _GL_ATTRIBUTE_MALLOC
 expand_pax_option (struct tar_args *targs, const char *arg)
 {
   struct obstack stk;
@@ -1437,8 +1443,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
 
     case 'K':
       optloc_save (OC_STARTING_FILE, args->loc);
-      starting_file_option = true;
-      addname (arg, 0, true, NULL);
+      add_starting_file (arg);
       break;
 
     case ONE_FILE_SYSTEM_OPTION:
@@ -1650,6 +1655,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
       set_use_compress_program_option (COMPRESS_PROGRAM, args->loc);
       break;
 
+    case ZSTD_OPTION:
+      set_use_compress_program_option (ZSTD_PROGRAM, args->loc);
+      break;
+
     case ATIME_PRESERVE_OPTION:
       atime_preserve_option =
 	(arg
@@ -2656,7 +2665,28 @@ decode_options (int argc, char **argv)
 
   report_textual_dates (&args);
 }
-
+
+#ifdef ENABLE_ERROR_PRINT_PROGNAME
+/* The error() function from glibc correctly prefixes each message it
+   prints with program_name as set by set_program_name. However, its
+   replacement from gnulib, which is linked in on systems where this
+   function is not available, prints the name returned by getprogname()
+   instead. Due to this messages output by tar subprocess (which sets its
+   program name to 'tar (child)') become indiscernible from those printed
+   by the main process. In particular, this breaks the remfiles01.at and
+   remfiles02.at test cases.
+
+   To avoid this, on such systems the following helper function is used
+   to print proper program name. Its address is assigned to the
+   error_print_progname variable, which error() then uses instead of
+   printing getprogname() result.
+ */
+static void
+tar_print_progname (void)
+{
+  fprintf (stderr, "%s: ", program_name);
+}
+#endif
 
 /* Tar proper.  */
 
@@ -2666,7 +2696,9 @@ main (int argc, char **argv)
 {
   set_start_time ();
   set_program_name (argv[0]);
-
+#ifdef ENABLE_ERROR_PRINT_PROGNAME
+  error_print_progname = tar_print_progname;
+#endif
   setlocale (LC_ALL, "");
   bindtextdomain (PACKAGE, LOCALEDIR);
   textdomain (PACKAGE);
diff --git a/src/tar.h b/src/tar.h
index 858b990d..724b3a85 100644
--- a/src/tar.h
+++ b/src/tar.h
@@ -1,7 +1,6 @@
 /* GNU tar Archive Format description.
 
-   Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014,
-   2016-2017 Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/transform.c b/src/transform.c
index e450dd22..d0ac2a52 100644
--- a/src/transform.c
+++ b/src/transform.c
@@ -1,6 +1,5 @@
 /* This file is part of GNU tar.
-   Copyright 2006-2008, 2013-2014, 2016-2017 Free Software Foundation,
-   Inc.
+   Copyright 2006-2019 Free Software Foundation, Inc.
 
    This 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
@@ -101,7 +100,7 @@ add_segment (struct transform *tf)
 }
 
 static void
-add_literal_segment (struct transform *tf, char *str, char *end)
+add_literal_segment (struct transform *tf, const char *str, const char *end)
 {
   size_t len = end - str;
   if (len)
@@ -273,7 +272,7 @@ parse_transform_expr (const char *expr)
       USAGE_ERROR ((0, 0, _("Invalid transform expression: %s"), errbuf));
     }
 
-  if (str[0] == '^' || str[strlen (str) - 1] == '$')
+  if (str[0] == '^' || (i > 2 && str[i - 3] == '$'))
     tf->transform_type = transform_first;
 
   free (str);
@@ -403,6 +402,7 @@ parse_transform_expr (const char *expr)
 	cur++;
     }
   add_literal_segment (tf, beg, cur);
+  free(str);
 
   return p;
 }
@@ -550,7 +550,7 @@ _single_transform_name_to_obstack (struct transform *tf, char *input)
 			default:
 			  break;
 			}
-		      /*FALL THROUGH*/
+		      FALLTHROUGH;
 
 		    case ctl_upcase:
 		    case ctl_locase:
diff --git a/src/unlink.c b/src/unlink.c
index 6719e7dd..5a72f701 100644
--- a/src/unlink.c
+++ b/src/unlink.c
@@ -1,6 +1,6 @@
 /* Unlink files.
 
-   Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 2009-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -127,7 +127,9 @@ flush_deferred_unlinks (bool force)
 		    case EEXIST:
 		      /* OpenSolaris >=10 sets EEXIST instead of ENOTEMPTY
 			 if trying to remove a non-empty directory */
+#if defined ENOTEMPTY && ENOTEMPTY != EEXIST
 		    case ENOTEMPTY:
+#endif
 		      /* Keep the record in list, in the hope we'll
 			 be able to remove it later */
 		      prev = p;
diff --git a/src/update.c b/src/update.c
index 2f823e45..38b5ce15 100644
--- a/src/update.c
+++ b/src/update.c
@@ -1,7 +1,6 @@
 /* Update a tar archive.
 
-   Copyright 1988, 1992, 1994, 1996-1997, 1999-2001, 2003-2005, 2007,
-   2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 1988-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -111,7 +110,7 @@ update_archive (void)
 
   name_gather ();
   open_archive (ACCESS_UPDATE);
-  buffer_write_global_xheader ();
+  xheader_forbid_global ();
 
   while (!found_end)
     {
diff --git a/src/utf8.c b/src/utf8.c
index a018ce0a..53a1ab21 100644
--- a/src/utf8.c
+++ b/src/utf8.c
@@ -1,7 +1,6 @@
 /* Charset handling for GNU tar.
 
-   Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-   Foundation, Inc.
+   Copyright 2004-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -36,11 +35,14 @@
 # define iconv_open(tocode, fromcode) ((iconv_t) -1)
 
 # undef iconv
-# define iconv(cd, inbuf, inbytesleft, outbuf, outbytesleft) ((size_t) 0)
+# define iconv(cd, inbuf, inbytesleft, outbuf, outbytesleft) (errno = ENOSYS, (size_t) -1)
 
 # undef iconv_close
 # define iconv_close(cd) 0
 
+# undef iconv_t
+# define iconv_t int
+
 #endif
 
 
@@ -65,10 +67,9 @@ bool
 utf8_convert (bool to_utf, char const *input, char **output)
 {
   char ICONV_CONST *ib;
-  char *ob;
+  char *ob, *ret;
   size_t inlen;
   size_t outlen;
-  size_t rc;
   iconv_t cd = utf8_init (to_utf);
 
   if (cd == 0)
@@ -81,11 +82,27 @@ utf8_convert (bool to_utf, char const *input, char **output)
 
   inlen = strlen (input) + 1;
   outlen = inlen * MB_LEN_MAX + 1;
-  ob = *output = xmalloc (outlen);
+  ob = ret = xmalloc (outlen);
   ib = (char ICONV_CONST *) input;
-  rc = iconv (cd, &ib, &inlen, &ob, &outlen);
+  /* According to POSIX, "if iconv() encounters a character in the input
+     buffer that is valid, but for which an identical character does not
+     exist in the target codeset, iconv() shall perform an
+     implementation-defined conversion on this character." It will "update
+     the variables pointed to by the arguments to reflect the extent of the
+     conversion and return the number of non-identical conversions performed".
+     On error, it returns -1. 
+     In other words, non-zero return always indicates failure, either because
+     the input was not fully converted, or because it was converted in a
+     non-reversible way.
+   */
+  if (iconv (cd, &ib, &inlen, &ob, &outlen) != 0)
+    {
+      free (ret);
+      return false;
+    }
   *ob = 0;
-  return rc != -1;
+  *output = ret;
+  return true;
 }
 
 
diff --git a/src/warning.c b/src/warning.c
index bfcd2d27..8851b24e 100644
--- a/src/warning.c
+++ b/src/warning.c
@@ -1,6 +1,6 @@
 /* Warnings for GNU tar.
 
-   Copyright 2009, 2012-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright 2009-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/xattrs.c b/src/xattrs.c
index 5049d08b..df65460e 100644
--- a/src/xattrs.c
+++ b/src/xattrs.c
@@ -1,6 +1,6 @@
 /* Support for extended attributes.
 
-   Copyright (C) 2006-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -246,13 +246,36 @@ xattrs__acls_set (struct tar_stat_info const *st,
   acl_free (acl);
 }
 
+/* Cleanup textual representation of the ACL in VAL by eliminating tab
+   characters and comments */
+static void
+xattrs_acls_cleanup (char *val, size_t *plen)
+{
+  char *p, *q;
+
+  p = q = val + strcspn (val, "#\t");
+  while (*q)
+    {
+      if (*q == '\t')
+	q++;
+      else if (*q == '#')
+	{
+	  while (*q != '\n')
+	    q++;
+	}
+      else
+	*p++ = *q++;
+    }
+  *plen = p - val;
+  *p++ = 0;
+}
+
 static void
 xattrs__acls_get_a (int parentfd, const char *file_name,
                     struct tar_stat_info *st,
                     char **ret_ptr, size_t * ret_len)
 {
   char *val = NULL;
-  ssize_t len;
   acl_t acl;
 
   if (!(acl = acl_get_file_at (parentfd, file_name, ACL_TYPE_ACCESS)))
@@ -262,7 +285,7 @@ xattrs__acls_get_a (int parentfd, const char *file_name,
       return;
     }
 
-  val = acl_to_text (acl, &len);
+  val = acl_to_text (acl, NULL);
   acl_free (acl);
 
   if (!val)
@@ -272,8 +295,7 @@ xattrs__acls_get_a (int parentfd, const char *file_name,
     }
 
   *ret_ptr = xstrdup (val);
-  *ret_len = len;
-
+  xattrs_acls_cleanup (*ret_ptr, ret_len);
   acl_free (val);
 }
 
@@ -284,7 +306,6 @@ xattrs__acls_get_d (int parentfd, char const *file_name,
                     char **ret_ptr, size_t * ret_len)
 {
   char *val = NULL;
-  ssize_t len;
   acl_t acl;
 
   if (!(acl = acl_get_file_at (parentfd, file_name, ACL_TYPE_DEFAULT)))
@@ -294,7 +315,7 @@ xattrs__acls_get_d (int parentfd, char const *file_name,
       return;
     }
 
-  val = acl_to_text (acl, &len);
+  val = acl_to_text (acl, NULL);
   acl_free (acl);
 
   if (!val)
@@ -304,8 +325,7 @@ xattrs__acls_get_d (int parentfd, char const *file_name,
     }
 
   *ret_ptr = xstrdup (val);
-  *ret_len = len;
-
+  xattrs_acls_cleanup (*ret_ptr, ret_len);
   acl_free (val);
 }
 #endif /* HAVE_POSIX_ACLS */
@@ -336,6 +356,7 @@ acls_one_line (const char *prefix, char delim,
       obstack_grow (&stk, prefix, pref_len);
       obstack_grow (&stk, aclstring, move);
 
+      pos += move + 1;
       aclstring += move + 1;
     }
 
@@ -740,6 +761,8 @@ xattrs_print (struct tar_stat_info const *st)
     {
       fprintf (stdlis, "  a: ");
       acls_one_line ("", ',', st->acls_a_ptr, st->acls_a_len);
+      if (st->acls_a_len && st->acls_d_len)
+	fprintf (stdlis, ",");
       acls_one_line ("default:", ',', st->acls_d_ptr, st->acls_d_len);
       fprintf (stdlis, "\n");
     }
diff --git a/src/xattrs.h b/src/xattrs.h
index f537dd30..b284cb2a 100644
--- a/src/xattrs.h
+++ b/src/xattrs.h
@@ -1,6 +1,6 @@
 /* Support for extended attributes.
 
-   Copyright (C) 2006-2014, 2016-2017 Free Software Foundation, Inc.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
diff --git a/src/xheader.c b/src/xheader.c
index 6d97131d..46bf4bbe 100644
--- a/src/xheader.c
+++ b/src/xheader.c
@@ -1,7 +1,6 @@
 /* POSIX extended headers for tar.
 
-   Copyright (C) 2003-2007, 2009-2010, 2012-2014, 2016-2017 Free
-   Software Foundation, Inc.
+   Copyright (C) 2003-2019 Free Software Foundation, Inc.
 
    This file is part of GNU tar.
 
@@ -185,6 +184,9 @@ xheader_set_keyword_equal (char *kw, char *eq)
   bool global = true;
   char *p = eq;
 
+  if (eq == kw)
+    USAGE_ERROR ((0, 0, _("Malformed pax option: %s"), quote (kw)));
+    
   if (eq[-1] == ':')
     {
       p--;
@@ -255,7 +257,7 @@ char *
 xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n)
 {
   char *buf;
-  size_t len = strlen (fmt);
+  size_t len;
   char *q;
   const char *p;
   char *dirp = NULL;
@@ -266,43 +268,51 @@ xheader_format_name (struct tar_stat_info *st, const char *fmt, size_t n)
   char nbuf[UINTMAX_STRSIZE_BOUND];
   char const *nptr = NULL;
 
-  for (p = fmt; *p && (p = strchr (p, '%')); )
+  len = 0;
+  for (p = fmt; *p; p++)
     {
-      switch (p[1])
+      if (*p == '%' && p[1])
 	{
-	case '%':
-	  len--;
-	  break;
-
-	case 'd':
-	  if (st)
+	  switch (*++p)
 	    {
-	      if (!dirp)
-		dirp = dir_name (st->orig_file_name);
-	      dir = safer_name_suffix (dirp, false, absolute_names_option);
-	      len += strlen (dir) - 2;
-	    }
-	  break;
+	    case '%':
+	      len++;
+	      break;
 
-	case 'f':
-	  if (st)
-	    {
-	      base = last_component (st->orig_file_name);
-	      len += strlen (base) - 2;
-	    }
-	  break;
+	    case 'd':
+	      if (st)
+		{
+		  if (!dirp)
+		    dirp = dir_name (st->orig_file_name);
+		  dir = safer_name_suffix (dirp, false, absolute_names_option);
+		  len += strlen (dir);
+		}
+	      break;
+
+	    case 'f':
+	      if (st)
+		{
+		  base = last_component (st->orig_file_name);
+		  len += strlen (base);
+		}
+	      break;
 
-	case 'p':
-	  pptr = umaxtostr (getpid (), pidbuf);
-	  len += pidbuf + sizeof pidbuf - 1 - pptr - 2;
-	  break;
+	    case 'p':
+	      pptr = umaxtostr (getpid (), pidbuf);
+	      len += pidbuf + sizeof pidbuf - 1 - pptr;
+	      break;
 
-	case 'n':
-	  nptr = umaxtostr (n, nbuf);
-	  len += nbuf + sizeof nbuf - 1 - nptr - 2;
-	  break;
+	    case 'n':
+	      nptr = umaxtostr (n, nbuf);
+	      len += nbuf + sizeof nbuf - 1 - nptr;
+	      break;
+	      
+	    default:
+	      len += 2;
+	    }
 	}
-      p++;
+      else
+	len++;
     }
 
   buf = xmalloc (len + 1);
@@ -458,6 +468,14 @@ xheader_write_global (struct xheader *xhdr)
     }
 }
 
+/* Forbid modifications of the global extended header */
+void
+xheader_forbid_global (void)
+{
+  if (keyword_global_override_list)
+    USAGE_ERROR ((0, 0, _("can't update global extended header record")));
+}
+
 void
 xheader_xattr_init (struct tar_stat_info *st)
 {
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 2d7939d5..bc657da2 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,6 +1,6 @@
 # Makefile for GNU tar regression tests.
 
-# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2015 Free Software
+# Copyright 1996-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -17,9 +17,13 @@
 # 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 = $(TESTSUITE_AT) testsuite package.m4 star/README star/quicktest.sh
+EXTRA_DIST = $(TESTSUITE_AT) \
+  testsuite package.m4 star/README star/quicktest.sh \
+  compress.m4
+
 DISTCLEANFILES       = atconfig $(check_SCRIPTS)
 MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
+CLEANFILES =
 
 ## ------------ ##
 ## package.m4.  ##
@@ -43,6 +47,7 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
 
 TESTSUITE_AT = \
  testsuite.at\
+ compress.m4\
  T-cd.at\
  T-dir00.at\
  T-dir01.at\
@@ -66,6 +71,11 @@ TESTSUITE_AT = \
  chtype.at\
  comprec.at\
  comperr.at\
+ checkpoint/defaults.at\
+ checkpoint/interval.at\
+ checkpoint/dot.at\
+ checkpoint/dot-compat.at\
+ checkpoint/dot-int.at\
  delete01.at\
  delete02.at\
  delete03.at\
@@ -228,6 +238,9 @@ TESTSUITE_AT = \
  spmvp00.at\
  spmvp01.at\
  spmvp10.at\
+ sptrcreat.at\
+ sptrdiff00.at\
+ sptrdiff01.at\
  time01.at\
  time02.at\
  truncate.at\
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 233a5969..7d36b3b3 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,7 @@
 
 # Makefile for GNU tar regression tests.
 
-# Copyright 1996-1997, 1999-2001, 2003-2007, 2009, 2012-2015 Free Software
+# Copyright 1996-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -33,7 +33,17 @@
 # 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__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -98,13 +108,11 @@ host_triplet = @host@
 check_PROGRAMS = genfile$(EXEEXT) checkseekhole$(EXEEXT) \
 	ckmtime$(EXEEXT)
 subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(srcdir)/atlocal.in $(top_srcdir)/build-aux/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+	$(top_srcdir)/m4/__inline.m4 \
 	$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
 	$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
-	$(top_srcdir)/m4/asm-underscore.m4 \
 	$(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
 	$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \
 	$(top_srcdir)/m4/canonicalize.m4 \
@@ -124,11 +132,12 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/extern-inline.m4 \
 	$(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
 	$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
-	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
-	$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
-	$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
-	$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
-	$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+	$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
+	$(top_srcdir)/m4/fcntl.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+	$(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/fileblocks.m4 \
+	$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
+	$(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+	$(top_srcdir)/m4/fnmatch_h.m4 $(top_srcdir)/m4/fpending.m4 \
 	$(top_srcdir)/m4/fseek.m4 $(top_srcdir)/m4/fseeko.m4 \
 	$(top_srcdir)/m4/fstat.m4 $(top_srcdir)/m4/fstatat.m4 \
 	$(top_srcdir)/m4/futimens.m4 \
@@ -142,7 +151,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
 	$(top_srcdir)/m4/gnulib-comp.m4 \
 	$(top_srcdir)/m4/group-member.m4 \
-	$(top_srcdir)/m4/hard-locale.m4 \
 	$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/human.m4 \
 	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
 	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
@@ -237,6 +245,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = atlocal
@@ -311,6 +320,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/atlocal.in \
+	$(top_srcdir)/build-aux/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibexecdir = @pkglibexecdir@
 ACLOCAL = @ACLOCAL@
@@ -402,6 +413,7 @@ GNULIB_FFSL = @GNULIB_FFSL@
 GNULIB_FFSLL = @GNULIB_FFSLL@
 GNULIB_FGETC = @GNULIB_FGETC@
 GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FNMATCH = @GNULIB_FNMATCH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
 GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
@@ -434,6 +446,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPASS = @GNULIB_GETPASS@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
@@ -450,6 +463,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LINK = @GNULIB_LINK@
 GNULIB_LINKAT = @GNULIB_LINKAT@
 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
 GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
 GNULIB_LSEEK = @GNULIB_LSEEK@
 GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -688,6 +702,7 @@ 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_TRUNCATE = @HAVE_DECL_TRUNCATE@
 HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
 HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
@@ -711,6 +726,9 @@ HAVE_FEATURES_H = @HAVE_FEATURES_H@
 HAVE_FFS = @HAVE_FFS@
 HAVE_FFSL = @HAVE_FFSL@
 HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FNMATCH = @HAVE_FNMATCH@
+HAVE_FNMATCH_H = @HAVE_FNMATCH_H@
+HAVE_FREELOCALE = @HAVE_FREELOCALE@
 HAVE_FSEEKO = @HAVE_FSEEKO@
 HAVE_FSTATAT = @HAVE_FSTATAT@
 HAVE_FSYNC = @HAVE_FSYNC@
@@ -723,13 +741,16 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETLOGIN = @HAVE_GETLOGIN@
 HAVE_GETOPT_H = @HAVE_GETOPT_H@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GRANTPT = @HAVE_GRANTPT@
 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
 HAVE_ISWBLANK = @HAVE_ISWBLANK@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
 HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
 HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
@@ -762,6 +783,7 @@ HAVE_MKSTEMP = @HAVE_MKSTEMP@
 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
 HAVE_OPENAT = @HAVE_OPENAT@
 HAVE_OPENDIR = @HAVE_OPENDIR@
@@ -832,7 +854,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
-HAVE_TRUNCATE = @HAVE_TRUNCATE@
 HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
 HAVE_TZSET = @HAVE_TZSET@
 HAVE_UNISTD_H = @HAVE_UNISTD_H@
@@ -887,8 +908,6 @@ HAVE_WMEMSET = @HAVE_WMEMSET@
 HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
 HAVE__BOOL = @HAVE__BOOL@
 HAVE__EXIT = @HAVE__EXIT@
-HOST_CPU = @HOST_CPU@
-HOST_CPU_C_ABI = @HOST_CPU_C_ABI@
 INCLUDE_NEXT = @INCLUDE_NEXT@
 INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
 INSTALL = @INSTALL@
@@ -933,6 +952,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 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_FNMATCH_H = @NEXT_AS_FIRST_DIRECTIVE_FNMATCH_H@
 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_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@
@@ -960,6 +980,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_FNMATCH_H = @NEXT_FNMATCH_H@
 NEXT_GETOPT_H = @NEXT_GETOPT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
@@ -1020,9 +1041,11 @@ REPLACE_FCNTL = @REPLACE_FCNTL@
 REPLACE_FDOPEN = @REPLACE_FDOPEN@
 REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FNMATCH = @REPLACE_FNMATCH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
 REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
 REPLACE_FREOPEN = @REPLACE_FREOPEN@
 REPLACE_FSEEK = @REPLACE_FSEEK@
 REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1040,6 +1063,7 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GMTIME = @REPLACE_GMTIME@
 REPLACE_ISATTY = @REPLACE_ISATTY@
@@ -1070,6 +1094,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_MKTIME = @REPLACE_MKTIME@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
 REPLACE_NULL = @REPLACE_NULL@
 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
@@ -1249,13 +1274,18 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = $(TESTSUITE_AT) testsuite package.m4 star/README star/quicktest.sh
+EXTRA_DIST = $(TESTSUITE_AT) \
+  testsuite package.m4 star/README star/quicktest.sh \
+  compress.m4
+
 DISTCLEANFILES = atconfig $(check_SCRIPTS)
 MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
+CLEANFILES = 
 
 #
 TESTSUITE_AT = \
  testsuite.at\
+ compress.m4\
  T-cd.at\
  T-dir00.at\
  T-dir01.at\
@@ -1279,6 +1309,11 @@ TESTSUITE_AT = \
  chtype.at\
  comprec.at\
  comperr.at\
+ checkpoint/defaults.at\
+ checkpoint/interval.at\
+ checkpoint/dot.at\
+ checkpoint/dot-compat.at\
+ checkpoint/dot-int.at\
  delete01.at\
  delete02.at\
  delete03.at\
@@ -1441,6 +1476,9 @@ TESTSUITE_AT = \
  spmvp00.at\
  spmvp01.at\
  spmvp10.at\
+ sptrcreat.at\
+ sptrdiff00.at\
+ sptrdiff01.at\
  time01.at\
  time02.at\
  truncate.at\
@@ -1505,7 +1543,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnits tests/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -1676,6 +1713,7 @@ install-strip:
 mostlyclean-generic:
 
 clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -1771,6 +1809,8 @@ uninstall-am:
 	mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
+.PRECIOUS: Makefile
+
 
 $(srcdir)/package.m4: $(top_srcdir)/configure.ac
 	{                                      \
diff --git a/tests/T-cd.at b/tests/T-cd.at
index 1e5e8ab7..4da904b8 100644
--- a/tests/T-cd.at
+++ b/tests/T-cd.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/T-dir00.at b/tests/T-dir00.at
index 827eb65d..0dd7a5be 100644
--- a/tests/T-dir00.at
+++ b/tests/T-dir00.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/T-dir01.at b/tests/T-dir01.at
index 37956389..9a2d8bfc 100644
--- a/tests/T-dir01.at
+++ b/tests/T-dir01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/T-empty.at b/tests/T-empty.at
index b4c81fc1..8a32a957 100644
--- a/tests/T-empty.at
+++ b/tests/T-empty.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/T-mult.at b/tests/T-mult.at
index d891665c..ba0af2d3 100644
--- a/tests/T-mult.at
+++ b/tests/T-mult.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/T-nest.at b/tests/T-nest.at
index eb70cf12..f5e19b53 100644
--- a/tests/T-nest.at
+++ b/tests/T-nest.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/T-nonl.at b/tests/T-nonl.at
index c14dfb27..101c80a9 100644
--- a/tests/T-nonl.at
+++ b/tests/T-nonl.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
@@ -29,9 +29,8 @@ AT_KEYWORDS([files-from nonewline nonl T-nonl])
 
 AT_TAR_CHECK([
 genfile --length=0 --file empty
-AS_ECHO_N(c) > 1.nonl
-echo d > 2.nonl
-AS_ECHO_N(e) >> 2.nonl
+printf c > 1.nonl
+printf 'd\ne' > 2.nonl
 touch a b c d e
 AT_DATA([filelist],[a
 b
@@ -59,4 +58,3 @@ c
 [],[],[],[ustar])
 
 AT_CLEANUP
-
diff --git a/tests/T-null.at b/tests/T-null.at
index 5359a5a4..409cd6b5 100644
--- a/tests/T-null.at
+++ b/tests/T-null.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/T-null2.at b/tests/T-null2.at
index b3c4e44b..4f71f290 100644
--- a/tests/T-null2.at
+++ b/tests/T-null2.at
@@ -1,5 +1,5 @@
 # This file is part of test suite for GNU tar. -*- Autotest -*-
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/T-rec.at b/tests/T-rec.at
index 20af22ae..d226aa7d 100644
--- a/tests/T-rec.at
+++ b/tests/T-rec.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/T-recurse.at b/tests/T-recurse.at
index e65c8757..77f7147b 100644
--- a/tests/T-recurse.at
+++ b/tests/T-recurse.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/T-zfile.at b/tests/T-zfile.at
index 63cc3157..ae5e143d 100644
--- a/tests/T-zfile.at
+++ b/tests/T-zfile.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/acls01.at b/tests/acls01.at
index 73f4ec90..2b587aad 100644
--- a/tests/acls01.at
+++ b/tests/acls01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/acls02.at b/tests/acls02.at
index 5dad575c..325cf100 100644
--- a/tests/acls02.at
+++ b/tests/acls02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/acls03.at b/tests/acls03.at
index e4041cff..8f4facbd 100644
--- a/tests/acls03.at
+++ b/tests/acls03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/add-file.at b/tests/add-file.at
index b7fa9a8f..e9d2d15b 100644
--- a/tests/add-file.at
+++ b/tests/add-file.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/append.at b/tests/append.at
index fbcaddc6..d6dc1fd6 100644
--- a/tests/append.at
+++ b/tests/append.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/append01.at b/tests/append01.at
index e705cd94..cce9874f 100644
--- a/tests/append01.at
+++ b/tests/append01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/append02.at b/tests/append02.at
index 52d5d686..3cd77600 100644
--- a/tests/append02.at
+++ b/tests/append02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/append03.at b/tests/append03.at
index edb70f2e..392b1ab8 100644
--- a/tests/append03.at
+++ b/tests/append03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/append04.at b/tests/append04.at
index 7999f928..19365f4f 100644
--- a/tests/append04.at
+++ b/tests/append04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/append05.at b/tests/append05.at
index 86ab5a78..ef34cbeb 100644
--- a/tests/append05.at
+++ b/tests/append05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/atlocal.in b/tests/atlocal.in
index c67ddfc4..4e3c47d0 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -1,7 +1,6 @@
 # @configure_input@                                     -*- shell-script -*-
 # Configurable variable values for tar test suite.
-# Copyright 2004, 2006, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/backup01.at b/tests/backup01.at
index 6a3be579..bebff74a 100644
--- a/tests/backup01.at
+++ b/tests/backup01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009-2010, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/capabs_raw01.at b/tests/capabs_raw01.at
index 8b8391a4..ef440f64 100644
--- a/tests/capabs_raw01.at
+++ b/tests/capabs_raw01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2012-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/checkpoint/defaults.at b/tests/checkpoint/defaults.at
new file mode 100644
index 00000000..d89d1e15
--- /dev/null
+++ b/tests/checkpoint/defaults.at
@@ -0,0 +1,25 @@
+# This file is part of GNU tar test suite. -*- Autotest -*-
+# Copyright 2019 Free Software Foundation, Inc.
+#
+# GNU tar 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.
+#
+# GNU tar 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/>.
+AT_SETUP([checkpoint defaults])
+AT_KEYWORDS([checkpoint checkpoint/defaults])
+CPT_CHECK([
+tar --checkpoint -c -f ../a.tar .
+],
+[0],
+[],
+[tar: Write checkpoint 10
+])
+AT_CLEANUP
diff --git a/tests/checkpoint/dot-compat.at b/tests/checkpoint/dot-compat.at
new file mode 100644
index 00000000..0e9c2f34
--- /dev/null
+++ b/tests/checkpoint/dot-compat.at
@@ -0,0 +1,23 @@
+# This file is part of GNU tar test suite. -*- Autotest -*-
+# Copyright 2019 Free Software Foundation, Inc.
+#
+# GNU tar 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.
+#
+# GNU tar 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/>.
+AT_SETUP([dot action (compatibility syntax)])
+AT_KEYWORDS([checkpoint checkpoint/dot-compat])
+CPT_CHECK([
+tar --checkpoint=.2 -c -f ../a.tar .
+],
+[],
+[.....])
+AT_CLEANUP
diff --git a/tests/checkpoint/dot-int.at b/tests/checkpoint/dot-int.at
new file mode 100644
index 00000000..8fba21e5
--- /dev/null
+++ b/tests/checkpoint/dot-int.at
@@ -0,0 +1,24 @@
+# This file is part of GNU tar test suite. -*- Autotest -*-
+# Copyright 2019 Free Software Foundation, Inc.
+#
+# GNU tar 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.
+#
+# GNU tar 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/>.
+AT_SETUP([dot action and interval])
+AT_KEYWORDS([checkpoint checkpoint/dot-int])
+CPT_CHECK([
+tar --checkpoint-action=dot --checkpoint=2 -c -f ../a.tar .
+],
+[],
+[.....])
+AT_CLEANUP
+
diff --git a/tests/checkpoint/dot.at b/tests/checkpoint/dot.at
new file mode 100644
index 00000000..f940823a
--- /dev/null
+++ b/tests/checkpoint/dot.at
@@ -0,0 +1,24 @@
+# This file is part of GNU tar test suite. -*- Autotest -*-
+# Copyright 2019 Free Software Foundation, Inc.
+#
+# GNU tar 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.
+#
+# GNU tar 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/>.
+AT_SETUP([dot action])
+AT_KEYWORDS([checkpoint checkpoint/dot])
+CPT_CHECK([
+tar --checkpoint-action=dot -c -f ../a.tar .
+],
+[],
+[.])
+AT_CLEANUP
+
diff --git a/tests/checkpoint/interval.at b/tests/checkpoint/interval.at
new file mode 100644
index 00000000..b5d3f98f
--- /dev/null
+++ b/tests/checkpoint/interval.at
@@ -0,0 +1,29 @@
+# This file is part of GNU tar test suite. -*- Autotest -*-
+# Copyright 2019 Free Software Foundation, Inc.
+#
+# GNU tar 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.
+#
+# GNU tar 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/>.
+AT_SETUP([checkpoint interval])
+AT_KEYWORDS([checkpoint checkpoint/interval])
+CPT_CHECK([
+tar --checkpoint=2 -c -f ../a.tar .
+],
+[0],
+[],
+[tar: Write checkpoint 2
+tar: Write checkpoint 4
+tar: Write checkpoint 6
+tar: Write checkpoint 8
+tar: Write checkpoint 10
+])
+AT_CLEANUP
diff --git a/tests/checkseekhole.c b/tests/checkseekhole.c
index c1f6d004..fa434b8e 100644
--- a/tests/checkseekhole.c
+++ b/tests/checkseekhole.c
@@ -1,6 +1,6 @@
 /* Test suite for GNU tar - SEEK_HOLE detector.
 
-   Copyright 2015-2017 Free Software Foundation, Inc.
+   Copyright 2015-2019 Free Software Foundation, Inc.
 
    This 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
diff --git a/tests/chtype.at b/tests/chtype.at
index 38ca34b0..91a97dbf 100644
--- a/tests/chtype.at
+++ b/tests/chtype.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/ckmtime.c b/tests/ckmtime.c
index 4298bb34..32180df9 100644
--- a/tests/ckmtime.c
+++ b/tests/ckmtime.c
@@ -1,5 +1,5 @@
 /* Check if filesystem timestamps are consistent with the system time.
-   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   Copyright (C) 2016-2019 Free Software Foundation, Inc.
       
    This 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
diff --git a/tests/comperr.at b/tests/comperr.at
index c6f3771a..12902de0 100644
--- a/tests/comperr.at
+++ b/tests/comperr.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/comprec.at b/tests/comprec.at
index 8124d5b8..b0c85c60 100644
--- a/tests/comprec.at
+++ b/tests/comprec.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/compress.m4 b/tests/compress.m4
new file mode 100644
index 00000000..1f226327
--- /dev/null
+++ b/tests/compress.m4
@@ -0,0 +1,56 @@
+# This file is part of GNU tar testsuite. -*- Autotest -*-
+# Copyright 2018-2019 Free Software Foundation, Inc.
+#
+# GNU tar 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.
+#
+# GNU tar 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/>.
+
+dnl TAR_CHECK_COMPRESS(TOOL, SUF[, SUF2])
+dnl Tests whether tar can create archives using TOOL (i.e. using the --TOOL
+dnl command line option). SUF and optional SUF2 are suffixes for created
+dnl archives (without leading dot). Tar should be able to use TOOL to
+dnl automatically decompress archives with names ending on these suffixes.
+m4_define([TAR_CHECK_COMPRESS],
+[AT_SETUP([compress: $1])
+AT_KEYWORDS([compression compress-$1 $1])
+
+AT_CHECK([
+AT_GZIP_PREREQ($1)
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --$1
+tar --$1 -cf k.tar.$2 empty
+tar tf k.tar.$2
+
+m4_foreach([SUF], m4_quote(m4_shift($@)),
+[
+echo testing .SUF
+tar -acf k2.tar.SUF empty
+cat k2.tar.SUF | $1 -d > k.SUF.tar
+tar tf k.SUF.tar
+])
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.$2
+test -f empty
+],
+[0],
+[empty
+m4_foreach([SUF],m4_quote(m4_shift($@)),[testing .SUF
+empty
+])])
+
+AT_CLEANUP
+])
diff --git a/tests/delete01.at b/tests/delete01.at
index b2607b46..bba4c205 100644
--- a/tests/delete01.at
+++ b/tests/delete01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/delete02.at b/tests/delete02.at
index 597c0da8..36b7670a 100644
--- a/tests/delete02.at
+++ b/tests/delete02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2005, 2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/delete03.at b/tests/delete03.at
index 77a38e53..e8ec7287 100644
--- a/tests/delete03.at
+++ b/tests/delete03.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/delete04.at b/tests/delete04.at
index 73bdbc31..f7cba78b 100644
--- a/tests/delete04.at
+++ b/tests/delete04.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/delete05.at b/tests/delete05.at
index b600c98e..81777564 100644
--- a/tests/delete05.at
+++ b/tests/delete05.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/difflink.at b/tests/difflink.at
index eadfb088..ab4b0263 100644
--- a/tests/difflink.at
+++ b/tests/difflink.at
@@ -1,6 +1,6 @@
 # This file is part of GNU tar test suite  -*- Autotest -*-
 #
-# Copyright 2017 Free Software Foundation, Inc.
+# Copyright 2017-2019 Free Software Foundation, Inc.
 #
 # This 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,14 +20,14 @@ AT_TAR_CHECK([
 mkdir a
 genfile -f a/x
 ln -s x a/y
-ln a/y a/z
-tar cf a.tar a
+ln a/x a/z
+tar cf a.tar a/x a/y a/z
 rm a/z
 ln -s x a/z
 tar df a.tar
 ],
 [1],
-[a/z: Not linked to a/y
+[a/z: Not linked to a/x
 ],
 [],
 [],[],[ustar]) # Testing one format is enough
diff --git a/tests/dirrem01.at b/tests/dirrem01.at
index 40344dc0..24bf3925 100644
--- a/tests/dirrem01.at
+++ b/tests/dirrem01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2017 Free Software Foundation, Inc.
+# Copyright 2017-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -27,9 +27,13 @@
 # it prints a warning and exits with TAREXIT_DIFFERS.
 #
 # This test checks whether this behaviour is mimicked for directories, too.
-
-# Remark: This file is based on 'filerem01.at', which is the test-case for
-# a vanishing file.
+#
+# Notes:
+#   1. This file is based on 'filerem01.at', which is the test-case for
+#   a vanishing file.
+#   2. Depending on the stat.st_ctime resolution, the "file changed as we
+#   read it" warning might be issued for dir/sub. The test takes care to
+#   suppress it.
 
 AT_SETUP([directory removed before reading])
 AT_KEYWORDS([create incremental listed dirchange dirrem dirrem01])
@@ -47,9 +51,10 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
-       --listed-incremental db -v dir >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \
+       --listed-incremental db \
+       --warning=no-file-changed \
+       -v dir >/dev/null
 ],
 [1],
 [ignore],
diff --git a/tests/dirrem02.at b/tests/dirrem02.at
index e1cf9ef8..3c63bbeb 100644
--- a/tests/dirrem02.at
+++ b/tests/dirrem02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2017 Free Software Foundation, Inc.
+# Copyright 2017-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -20,7 +20,7 @@
 
 # Description:
 #
-# When an explicitley named directory disappears during creation
+# When an explicitly named directory disappears during creation
 # of incremental dump, tar should still exit with TAREXIT_FAILURE (2).
 #
 # For further details see dirrem01.at
@@ -44,9 +44,10 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
-       --listed-incremental db -v dir dir/sub >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \
+       --listed-incremental db \
+       --warning=no-file-changed \
+       -v dir dir/sub >/dev/null
 ],
 [2],
 [ignore],
diff --git a/tests/exclude.at b/tests/exclude.at
index 81546c66..d7f80936 100644
--- a/tests/exclude.at
+++ b/tests/exclude.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2007, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2007-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude01.at b/tests/exclude01.at
index d52bc196..a9afe1dc 100644
--- a/tests/exclude01.at
+++ b/tests/exclude01.at
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude02.at b/tests/exclude02.at
index 35533bdc..3d633c41 100644
--- a/tests/exclude02.at
+++ b/tests/exclude02.at
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude03.at b/tests/exclude03.at
index ca73b92e..d7821b9b 100644
--- a/tests/exclude03.at
+++ b/tests/exclude03.at
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude04.at b/tests/exclude04.at
index 3b4df016..54281ad5 100644
--- a/tests/exclude04.at
+++ b/tests/exclude04.at
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude05.at b/tests/exclude05.at
index b51fcfcb..a4a8d281 100644
--- a/tests/exclude05.at
+++ b/tests/exclude05.at
@@ -1,6 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2009-2010, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude06.at b/tests/exclude06.at
index 78e83067..48e6868a 100644
--- a/tests/exclude06.at
+++ b/tests/exclude06.at
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude07.at b/tests/exclude07.at
index 2ec2c5f9..4062e2a3 100644
--- a/tests/exclude07.at
+++ b/tests/exclude07.at
@@ -1,5 +1,5 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude08.at b/tests/exclude08.at
index 8c36efda..8abe86c8 100644
--- a/tests/exclude08.at
+++ b/tests/exclude08.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude09.at b/tests/exclude09.at
index e6809a7c..1e6e3f08 100644
--- a/tests/exclude09.at
+++ b/tests/exclude09.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude10.at b/tests/exclude10.at
index 0f92b006..7fffe155 100644
--- a/tests/exclude10.at
+++ b/tests/exclude10.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude11.at b/tests/exclude11.at
index 3c1b8faa..f8e46f8c 100644
--- a/tests/exclude11.at
+++ b/tests/exclude11.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude12.at b/tests/exclude12.at
index de89fc76..4a85d832 100644
--- a/tests/exclude12.at
+++ b/tests/exclude12.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude13.at b/tests/exclude13.at
index c884f7f0..3c9c0b74 100644
--- a/tests/exclude13.at
+++ b/tests/exclude13.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude14.at b/tests/exclude14.at
index b909617f..aa0e05cd 100644
--- a/tests/exclude14.at
+++ b/tests/exclude14.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude15.at b/tests/exclude15.at
index 8c814687..eab6b8e4 100644
--- a/tests/exclude15.at
+++ b/tests/exclude15.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/exclude16.at b/tests/exclude16.at
index 6560f9b4..932c00c9 100644
--- a/tests/exclude16.at
+++ b/tests/exclude16.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac01.at b/tests/extrac01.at
index 3f8c1143..b630908c 100644
--- a/tests/extrac01.at
+++ b/tests/extrac01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac02.at b/tests/extrac02.at
index 91d0e09d..a7cc33d9 100644
--- a/tests/extrac02.at
+++ b/tests/extrac02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac03.at b/tests/extrac03.at
index 2bd0e6fd..b080f64c 100644
--- a/tests/extrac03.at
+++ b/tests/extrac03.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac04.at b/tests/extrac04.at
index 39c92f4b..df784d74 100644
--- a/tests/extrac04.at
+++ b/tests/extrac04.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac05.at b/tests/extrac05.at
index bb41cd3b..b16794d0 100644
--- a/tests/extrac05.at
+++ b/tests/extrac05.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac06.at b/tests/extrac06.at
index d47c5d71..22947fc8 100644
--- a/tests/extrac06.at
+++ b/tests/extrac06.at
@@ -2,8 +2,7 @@
 
 # Test suite for GNU tar.
 
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac07.at b/tests/extrac07.at
index 0c93b624..dd7af3b1 100644
--- a/tests/extrac07.at
+++ b/tests/extrac07.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac08.at b/tests/extrac08.at
index 7a639588..09ff0579 100644
--- a/tests/extrac08.at
+++ b/tests/extrac08.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac09.at b/tests/extrac09.at
index b754ba90..393d0f5c 100644
--- a/tests/extrac09.at
+++ b/tests/extrac09.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac10.at b/tests/extrac10.at
index b0f4f84f..fff9f6bd 100644
--- a/tests/extrac10.at
+++ b/tests/extrac10.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac11.at b/tests/extrac11.at
index 56b97fe7..197cf59f 100644
--- a/tests/extrac11.at
+++ b/tests/extrac11.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac12.at b/tests/extrac12.at
index eb4c2675..04b1a731 100644
--- a/tests/extrac12.at
+++ b/tests/extrac12.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac13.at b/tests/extrac13.at
index e09f1f9f..5a2dfaaf 100644
--- a/tests/extrac13.at
+++ b/tests/extrac13.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac14.at b/tests/extrac14.at
index 1a6f3e5b..7e1ab0f2 100644
--- a/tests/extrac14.at
+++ b/tests/extrac14.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac15.at b/tests/extrac15.at
index e178c5a8..b9ecc6b1 100644
--- a/tests/extrac15.at
+++ b/tests/extrac15.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac16.at b/tests/extrac16.at
index 23ace140..e2d7046d 100644
--- a/tests/extrac16.at
+++ b/tests/extrac16.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac17.at b/tests/extrac17.at
index 992dd430..628b03c8 100644
--- a/tests/extrac17.at
+++ b/tests/extrac17.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac18.at b/tests/extrac18.at
index 615a4500..b63e1b2c 100644
--- a/tests/extrac18.at
+++ b/tests/extrac18.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac19.at b/tests/extrac19.at
index a551f0e5..8c391a47 100644
--- a/tests/extrac19.at
+++ b/tests/extrac19.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac20.at b/tests/extrac20.at
index dd9b00df..cc5ddd29 100644
--- a/tests/extrac20.at
+++ b/tests/extrac20.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2017 Free Software Foundation, Inc.
+# Copyright 2017-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/extrac21.at b/tests/extrac21.at
index 671b1010..30e0cc6c 100644
--- a/tests/extrac21.at
+++ b/tests/extrac21.at
@@ -1,5 +1,5 @@
 # Test suite for GNU tar.                             -*- Autotest -*-
-# Copyright 2017 Free Software Foundation, Inc.
+# Copyright 2017-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/filerem01.at b/tests/filerem01.at
index bf020538..7d4a7808 100644
--- a/tests/filerem01.at
+++ b/tests/filerem01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -33,7 +33,7 @@
 #             http://lists.gnu.org/archive/html/bug-tar/2009-03/msg00000.html
 #
 
-AT_SETUP([file removed as we read it (ca. 22 seconds)])
+AT_SETUP([file removed as we read it])
 AT_KEYWORDS([create incremental listed filechange filerem filerem01])
 
 AT_TAR_CHECK([
@@ -43,8 +43,7 @@ genfile --file dir/file1
 genfile --file dir/sub/file2
 
 genfile --run --checkpoint=3 --unlink dir/file1 -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
+       tar --blocking-factor=1 -c -f archive.tar \
        --listed-incremental db -v dir >/dev/null
 ],
 [1],
diff --git a/tests/filerem02.at b/tests/filerem02.at
index 5e6d1bef..731bf118 100644
--- a/tests/filerem02.at
+++ b/tests/filerem02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -23,7 +23,7 @@
 # file or directory disappears that is explicitly mentioned
 # in the command line.
 
-AT_SETUP([toplevel file removed (ca. 24 seconds)])
+AT_SETUP([toplevel file removed])
 AT_KEYWORDS([create incremental listed filechange filerem filerem02])
 
 AT_TAR_CHECK([
@@ -35,8 +35,7 @@ mkdir dir2
 genfile --file dir2/file1
 
 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
+       tar --blocking-factor=1 -c -f archive.tar \
        --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
 ],
 [2],
diff --git a/tests/genfile.c b/tests/genfile.c
index 66c54df2..dc822c71 100644
--- a/tests/genfile.c
+++ b/tests/genfile.c
@@ -1,11 +1,9 @@
-/* Generate a file containing some preset patterns.
-   Print statistics for existing files.
+/* Multi-purpose tool for tar and cpio testsuite.
 
-   Copyright (C) 1995, 1996, 1997, 2001, 2003, 2004, 2005, 2006, 2007,
-   2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997, 2001-2018 Free Software Foundation, Inc.
 
    François Pinard <pinard@iro.umontreal.ca>, 1995.
-   Sergey Poznyakoff <gray@mirddin.farlep.net>, 2004, 2005, 2006, 2007, 2008.
+   Sergey Poznyakoff <gray@gnu.org>, 2004-2018.
 
    This 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,8 +16,7 @@
    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 <system.h>
@@ -96,10 +93,8 @@ size_t block_size = 512;
 /* Block buffer for sparse file */
 char *buffer;
 
-/* Number of arguments and argument vector for mode == mode_exec */
-int exec_argc;
-char **exec_argv;
-char *checkpoint_option;
+/* Checkpoint granularity for mode == mode_exec */
+char *checkpoint_granularity;
 
 /* Time for --touch option */
 struct timespec touch_time;
@@ -165,8 +160,8 @@ static struct argp_option options[] = {
   {NULL, 0, NULL, 0,
    N_("Synchronous execution options:"), GRP},
 
-  {"run", 'r', N_("OPTION"), OPTION_ARG_OPTIONAL,
-   N_("Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, --unlink"),
+  {"run", 'r', N_("N"), OPTION_ARG_OPTIONAL,
+   N_("Execute ARGS. Trigger checkpoints every Nth record (default 1). Useful with --checkpoint and one of --cut, --append, --touch, --unlink"),
    GRP+1 },
   {"checkpoint", OPT_CHECKPOINT, N_("NUMBER"), 0,
    N_("Perform given action (see below) upon reaching checkpoint NUMBER"),
@@ -351,11 +346,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
 
     case 'r':
       mode = mode_exec;
-      if (arg)
-	{
-	  argcv_get (arg, "", NULL, &exec_argc, &exec_argv);
-	  checkpoint_option = "--checkpoint";
-	}
+      checkpoint_granularity = arg ? arg : "1";
       break;
 
     case 'T':
@@ -822,10 +813,10 @@ process_checkpoint (size_t n)
     }
 }
 
-#define CHECKPOINT_TEXT "Write checkpoint"
+#define CHECKPOINT_TEXT "genfile checkpoint"
 
 void
-exec_command (void)
+exec_command (int argc, char **argv)
 {
   int status;
   pid_t pid;
@@ -833,20 +824,28 @@ exec_command (void)
   char *p;
   FILE *fp;
   char buf[128];
-
+  int xargc;
+  char **xargv;
+  int i;
+  char checkpoint_option[80];
+  
   /* Insert --checkpoint option.
-     FIXME: This assumes that exec_argv does not use traditional tar options
+     FIXME: This assumes that argv does not use traditional tar options
      (without dash).
-     FIXME: There is no way to set checkpoint argument (granularity).
   */
-  if (checkpoint_option)
-    {
-      exec_argc++;
-      exec_argv = xrealloc (exec_argv, (exec_argc + 1) * sizeof (*exec_argv));
-      memmove (exec_argv+2, exec_argv+1,
-	       (exec_argc - 1) * sizeof (*exec_argv));
-      exec_argv[1] = checkpoint_option;
-    }
+  xargc = argc + 5;
+  xargv = xcalloc (xargc + 1, sizeof (xargv[0]));
+  xargv[0] = argv[0];
+  snprintf (checkpoint_option, sizeof (checkpoint_option),
+	    "--checkpoint=%s", checkpoint_granularity);
+  xargv[1] = checkpoint_option;
+  xargv[2] = "--checkpoint-action";
+  xargv[3] = "echo=" CHECKPOINT_TEXT " %u";
+  xargv[4] = "--checkpoint-action";
+  xargv[5] = "wait=SIGUSR1";
+
+  for (i = 1; i <= argc; i++)
+    xargv[i + 5] = argv[i];
 
 #ifdef SIGCHLD
   /* System V fork+wait does not work if SIGCHLD is ignored.  */
@@ -872,8 +871,8 @@ exec_command (void)
       /* Make sure POSIX locale is used */
       setenv ("LC_ALL", "POSIX", 1);
 
-      execvp (exec_argv[0], exec_argv);
-      error (EXIT_FAILURE, errno, "execvp %s", exec_argv[0]);
+      execvp (xargv[0], xargv);
+      error (EXIT_FAILURE, errno, "execvp %s", xargv[0]);
     }
 
   /* Master */
@@ -900,6 +899,7 @@ exec_command (void)
 	      if (!(*end && !isspace ((unsigned char) *end)))
 		{
 		  process_checkpoint (n);
+		  kill (pid, SIGUSR1);
 		  continue;
 		}
 	    }
@@ -985,14 +985,7 @@ main (int argc, char **argv)
       break;
 
     case mode_exec:
-      if (!checkpoint_option)
-	{
-	  exec_argc = argc;
-	  exec_argv = argv;
-	}
-      else if (argc)
-	error (EXIT_FAILURE, 0, _("too many arguments"));
-      exec_command ();
+      exec_command (argc, argv);
       break;
 
     default:
diff --git a/tests/grow.at b/tests/grow.at
index b04250db..566d131e 100644
--- a/tests/grow.at
+++ b/tests/grow.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -28,7 +27,7 @@ AT_KEYWORDS([grow filechange])
 AT_TAR_CHECK([
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 ],
 [1],
 [foo
diff --git a/tests/gzip.at b/tests/gzip.at
index 15220873..ade52042 100644
--- a/tests/gzip.at
+++ b/tests/gzip.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2009-2010, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/ignfail.at b/tests/ignfail.at
index 446c441b..00cc2b3b 100644
--- a/tests/ignfail.at
+++ b/tests/ignfail.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/incr01.at b/tests/incr01.at
index 82c5cbd8..637f277d 100644
--- a/tests/incr01.at
+++ b/tests/incr01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/incr02.at b/tests/incr02.at
index 8f7a37b8..52683b84 100644
--- a/tests/incr02.at
+++ b/tests/incr02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/incr03.at b/tests/incr03.at
index a89d8b69..0b118057 100644
--- a/tests/incr03.at
+++ b/tests/incr03.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/incr04.at b/tests/incr04.at
index ea0dfe3b..1abc47cb 100644
--- a/tests/incr04.at
+++ b/tests/incr04.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/incr05.at b/tests/incr05.at
index dd991fe8..d270e860 100644
--- a/tests/incr05.at
+++ b/tests/incr05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/incr06.at b/tests/incr06.at
index a4e8ed52..53f6986c 100644
--- a/tests/incr06.at
+++ b/tests/incr06.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/incr07.at b/tests/incr07.at
index bc35448d..bea10901 100644
--- a/tests/incr07.at
+++ b/tests/incr07.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/incr08.at b/tests/incr08.at
index f50a614f..f21ee26b 100644
--- a/tests/incr08.at
+++ b/tests/incr08.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -38,24 +38,10 @@
 AT_SETUP([filename normalization])
 AT_KEYWORDS([incremental create incr08 chdir])
 
-AT_TAR_CHECK([
-AT_CHECK_TIMESTAMP
-AT_SORT_PREREQ
-mkdir tartest
-cd tartest
-mkdir foo
-mkdir foo/subdir
-mkdir foo/subdir/dir1
-mkdir subdir
-mkdir subdir/dir2
-decho A
-find .|sort
-
-decho B
-DIR=`pwd`
-tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR 2>../err |\
-  sed "s|$DIR|ABSPATH|"
-sed "s|$DIR|ABSPATH|" ../err >&2
+AT_TAR_WITH_HOOK(
+[AT_CHECK([
+DIR=`pwd`/gnu/tartest
+sed "s|$DIR|ABSPATH|" stdout
 ],
 [0],
 [A
@@ -72,7 +58,12 @@ B
 ABSPATH/
 ABSPATH/subdir/
 ABSPATH/subdir/dir2/
-],
+])
+
+AT_CHECK([
+DIR=`pwd`/gnu/tartest
+sed "/tar: Removing leading \`\/*\/' from/d;s|$DIR|ABSPATH|" stderr],
+[0],
 [A
 B
 tar: .: Directory is new
@@ -81,7 +72,26 @@ tar: ./subdir/dir1: Directory is new
 tar: ABSPATH: Directory is new
 tar: ABSPATH/subdir: Directory is new
 tar: ABSPATH/subdir/dir2: Directory is new
-tar: Removing leading `/' from member names
-],[],[],[gnu])
+])],
+[AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
+AT_SORT_PREREQ
+mkdir tartest
+cd tartest
+mkdir foo
+mkdir foo/subdir
+mkdir foo/subdir/dir1
+mkdir subdir
+mkdir subdir/dir2
+decho A
+find .|sort
+
+decho B
+DIR=`pwd`
+tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR
+],
+[0],
+[stdout],
+[stderr],[],[],[gnu])])
 
 AT_CLEANUP
diff --git a/tests/incr09.at b/tests/incr09.at
index 011fa50c..32290177 100644
--- a/tests/incr09.at
+++ b/tests/incr09.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/incr10.at b/tests/incr10.at
index de309b2b..a48fbd84 100644
--- a/tests/incr10.at
+++ b/tests/incr10.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/incr11.at b/tests/incr11.at
index 169dcde1..fc3ef606 100644
--- a/tests/incr11.at
+++ b/tests/incr11.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/incremental.at b/tests/incremental.at
index 9ab68013..44d77a3d 100644
--- a/tests/incremental.at
+++ b/tests/incremental.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/indexfile.at b/tests/indexfile.at
index 1623cabd..38b13215 100644
--- a/tests/indexfile.at
+++ b/tests/indexfile.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/label01.at b/tests/label01.at
index 457ad293..545c0673 100644
--- a/tests/label01.at
+++ b/tests/label01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/label02.at b/tests/label02.at
index be303fe8..ff3acd2f 100644
--- a/tests/label02.at
+++ b/tests/label02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/label03.at b/tests/label03.at
index d698e3bd..4efd9c33 100644
--- a/tests/label03.at
+++ b/tests/label03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/label04.at b/tests/label04.at
index 05bf4d51..1a950262 100644
--- a/tests/label04.at
+++ b/tests/label04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/label05.at b/tests/label05.at
index 8dc892b8..8524de59 100644
--- a/tests/label05.at
+++ b/tests/label05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/link01.at b/tests/link01.at
index d8aa99d7..75c5cb0f 100644
--- a/tests/link01.at
+++ b/tests/link01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/link02.at b/tests/link02.at
index 3b129bb1..8ce5620b 100644
--- a/tests/link02.at
+++ b/tests/link02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/link03.at b/tests/link03.at
index 8ec84995..e991601e 100644
--- a/tests/link03.at
+++ b/tests/link03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/link04.at b/tests/link04.at
index 511482f3..94f6c02d 100644
--- a/tests/link04.at
+++ b/tests/link04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/listed01.at b/tests/listed01.at
index 62e56186..8a166bc6 100644
--- a/tests/listed01.at
+++ b/tests/listed01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/listed02.at b/tests/listed02.at
index db3c4078..0451f0bb 100644
--- a/tests/listed02.at
+++ b/tests/listed02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/listed03.at b/tests/listed03.at
index 96db0b93..38c6187d 100644
--- a/tests/listed03.at
+++ b/tests/listed03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/listed04.at b/tests/listed04.at
index 139f92c8..ad7668f7 100644
--- a/tests/listed04.at
+++ b/tests/listed04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/listed05.at b/tests/listed05.at
index 4d238a83..78880db4 100644
--- a/tests/listed05.at
+++ b/tests/listed05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/long01.at b/tests/long01.at
index 4c41b00b..99d33824 100644
--- a/tests/long01.at
+++ b/tests/long01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/longv7.at b/tests/longv7.at
index 9bc8882f..62c2f555 100644
--- a/tests/longv7.at
+++ b/tests/longv7.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/lustar01.at b/tests/lustar01.at
index f49b9add..d1fcaee0 100644
--- a/tests/lustar01.at
+++ b/tests/lustar01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/lustar02.at b/tests/lustar02.at
index e4d3a128..2d744341 100644
--- a/tests/lustar02.at
+++ b/tests/lustar02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/lustar03.at b/tests/lustar03.at
index 438d23ff..f6834b10 100644
--- a/tests/lustar03.at
+++ b/tests/lustar03.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/map.at b/tests/map.at
index 93a9ed42..3d70703d 100644
--- a/tests/map.at
+++ b/tests/map.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # This 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/tests/multiv01.at b/tests/multiv01.at
index 28c8e753..e0a8454c 100644
--- a/tests/multiv01.at
+++ b/tests/multiv01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv02.at b/tests/multiv02.at
index e6f1a38b..731bce47 100644
--- a/tests/multiv02.at
+++ b/tests/multiv02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv03.at b/tests/multiv03.at
index 81e167a6..f37ad2bb 100644
--- a/tests/multiv03.at
+++ b/tests/multiv03.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv04.at b/tests/multiv04.at
index b2b24cc5..b4a613a6 100644
--- a/tests/multiv04.at
+++ b/tests/multiv04.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv05.at b/tests/multiv05.at
index 3071389f..0f10164a 100644
--- a/tests/multiv05.at
+++ b/tests/multiv05.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2008, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv06.at b/tests/multiv06.at
index 87f39b67..0c1c802d 100644
--- a/tests/multiv06.at
+++ b/tests/multiv06.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2008, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2008-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv07.at b/tests/multiv07.at
index 8ae49c60..09f991b3 100644
--- a/tests/multiv07.at
+++ b/tests/multiv07.at
@@ -1,5 +1,5 @@
 # Test suite for GNU tar.                             -*- Autotest -*-
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv08.at b/tests/multiv08.at
index 200ef634..2fc114b6 100644
--- a/tests/multiv08.at
+++ b/tests/multiv08.at
@@ -1,5 +1,5 @@
 # Test suite for GNU tar.                             -*- Autotest -*-
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/multiv09.at b/tests/multiv09.at
index 42948479..391ef348 100644
--- a/tests/multiv09.at
+++ b/tests/multiv09.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/multiv10.at b/tests/multiv10.at
index 03fbf15b..5dab053b 100644
--- a/tests/multiv10.at
+++ b/tests/multiv10.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/numeric.at b/tests/numeric.at
index 8054fc3c..4ef92c7a 100644
--- a/tests/numeric.at
+++ b/tests/numeric.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # GNU tar is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,14 +27,17 @@ tar $1 -vvf a dir |dnl
 ])
 
 AT_TAR_CHECK([
-mkdir dir
-genfile --file dir/file
-
 MYUID=$(id -u) || AT_SKIP_TEST
 MYGID=$(id -g) || AT_SKIP_TEST
 MYUSR=$(id -un) || AT_SKIP_TEST
 MYGRP=$(id -gn) || AT_SKIP_TEST
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 TESTOP([--create])
 TESTOP([--list])
 TESTOP([--diff])
diff --git a/tests/old.at b/tests/old.at
index f5fabc08..a253dbbb 100644
--- a/tests/old.at
+++ b/tests/old.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/onetop01.at b/tests/onetop01.at
index fed1afef..2139d5b4 100644
--- a/tests/onetop01.at
+++ b/tests/onetop01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/onetop02.at b/tests/onetop02.at
index 0ba91f88..98b5bc97 100644
--- a/tests/onetop02.at
+++ b/tests/onetop02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/onetop03.at b/tests/onetop03.at
index 52464a08..4c3597bb 100644
--- a/tests/onetop03.at
+++ b/tests/onetop03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/onetop04.at b/tests/onetop04.at
index 8f5809a1..3fb307ed 100644
--- a/tests/onetop04.at
+++ b/tests/onetop04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/onetop05.at b/tests/onetop05.at
index 954a65f0..23eea8d1 100644
--- a/tests/onetop05.at
+++ b/tests/onetop05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2015-2017 Free Software Foundation, Inc.
+# Copyright 2015-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/opcomp01.at b/tests/opcomp01.at
index 68e28673..02c8cc03 100644
--- a/tests/opcomp01.at
+++ b/tests/opcomp01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/opcomp02.at b/tests/opcomp02.at
index c8823b96..208f80f0 100644
--- a/tests/opcomp02.at
+++ b/tests/opcomp02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/opcomp03.at b/tests/opcomp03.at
index 2bb355e0..bc67eaab 100644
--- a/tests/opcomp03.at
+++ b/tests/opcomp03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/opcomp04.at b/tests/opcomp04.at
index a8837d15..3b34a43b 100644
--- a/tests/opcomp04.at
+++ b/tests/opcomp04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/opcomp05.at b/tests/opcomp05.at
index e9e80504..56f6d183 100644
--- a/tests/opcomp05.at
+++ b/tests/opcomp05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/opcomp06.at b/tests/opcomp06.at
index 54f4621b..08bc11f6 100644
--- a/tests/opcomp06.at
+++ b/tests/opcomp06.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/options.at b/tests/options.at
index fef6ad60..5223c687 100644
--- a/tests/options.at
+++ b/tests/options.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/options02.at b/tests/options02.at
index 420a8daf..9a2e1bbd 100644
--- a/tests/options02.at
+++ b/tests/options02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/options03.at b/tests/options03.at
index 710f1086..8c3d8267 100644
--- a/tests/options03.at
+++ b/tests/options03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/owner.at b/tests/owner.at
index cd64e95c..ee1cc524 100644
--- a/tests/owner.at
+++ b/tests/owner.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This 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/tests/package.m4 b/tests/package.m4
index 76a1252f..4cf10ec2 100644
--- a/tests/package.m4
+++ b/tests/package.m4
@@ -1,6 +1,6 @@
 # Signature of the current package.
 m4_define([AT_PACKAGE_NAME],      [GNU tar])
 m4_define([AT_PACKAGE_TARNAME],   [tar])
-m4_define([AT_PACKAGE_VERSION],   [1.30])
-m4_define([AT_PACKAGE_STRING],    [GNU tar 1.30])
+m4_define([AT_PACKAGE_VERSION],   [1.32])
+m4_define([AT_PACKAGE_STRING],    [GNU tar 1.32])
 m4_define([AT_PACKAGE_BUGREPORT], [bug-tar@gnu.org])
diff --git a/tests/pipe.at b/tests/pipe.at
index e8407c97..ea4f907c 100644
--- a/tests/pipe.at
+++ b/tests/pipe.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2009, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/positional01.at b/tests/positional01.at
index 79c4ec5d..b2783f7a 100644
--- a/tests/positional01.at
+++ b/tests/positional01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/positional02.at b/tests/positional02.at
index 92cb90a4..64c5400c 100644
--- a/tests/positional02.at
+++ b/tests/positional02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/positional03.at b/tests/positional03.at
index 11359e7e..3239925d 100644
--- a/tests/positional03.at
+++ b/tests/positional03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/recurs02.at b/tests/recurs02.at
index ed35f246..7fb1f7ea 100644
--- a/tests/recurs02.at
+++ b/tests/recurs02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/recurse.at b/tests/recurse.at
index 0126ab0f..92ad5f43 100644
--- a/tests/recurse.at
+++ b/tests/recurse.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/remfiles01.at b/tests/remfiles01.at
index 4b339598..9284590e 100644
--- a/tests/remfiles01.at
+++ b/tests/remfiles01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/remfiles02.at b/tests/remfiles02.at
index cd861e1b..e5c090e8 100644
--- a/tests/remfiles02.at
+++ b/tests/remfiles02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/remfiles03.at b/tests/remfiles03.at
index dc5048b9..9df0f47d 100644
--- a/tests/remfiles03.at
+++ b/tests/remfiles03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/remfiles04a.at b/tests/remfiles04a.at
index 23c534d9..7014baf3 100644
--- a/tests/remfiles04a.at
+++ b/tests/remfiles04a.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles04b.at b/tests/remfiles04b.at
index f690454b..95042d5e 100644
--- a/tests/remfiles04b.at
+++ b/tests/remfiles04b.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles04c.at b/tests/remfiles04c.at
index 9c590f58..b523869a 100644
--- a/tests/remfiles04c.at
+++ b/tests/remfiles04c.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles05a.at b/tests/remfiles05a.at
index 60f6651e..529f0b30 100644
--- a/tests/remfiles05a.at
+++ b/tests/remfiles05a.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles05b.at b/tests/remfiles05b.at
index 6783ba36..7c1419ed 100644
--- a/tests/remfiles05b.at
+++ b/tests/remfiles05b.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles05c.at b/tests/remfiles05c.at
index c314b1e8..35cdd477 100644
--- a/tests/remfiles05c.at
+++ b/tests/remfiles05c.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles06a.at b/tests/remfiles06a.at
index 70d71db2..9e0be65a 100644
--- a/tests/remfiles06a.at
+++ b/tests/remfiles06a.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles06b.at b/tests/remfiles06b.at
index 692b70b4..0f5eb606 100644
--- a/tests/remfiles06b.at
+++ b/tests/remfiles06b.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles06c.at b/tests/remfiles06c.at
index bc66bb60..61a0c5df 100644
--- a/tests/remfiles06c.at
+++ b/tests/remfiles06c.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles07a.at b/tests/remfiles07a.at
index b8194a8c..ac3922d0 100644
--- a/tests/remfiles07a.at
+++ b/tests/remfiles07a.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles07b.at b/tests/remfiles07b.at
index 4a62de3c..6a00eda8 100644
--- a/tests/remfiles07b.at
+++ b/tests/remfiles07b.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles07c.at b/tests/remfiles07c.at
index 4c312a55..41b196e0 100644
--- a/tests/remfiles07c.at
+++ b/tests/remfiles07c.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles08a.at b/tests/remfiles08a.at
index 59248d6a..d044e8cc 100644
--- a/tests/remfiles08a.at
+++ b/tests/remfiles08a.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles08b.at b/tests/remfiles08b.at
index 5aeb8ad6..1675108e 100644
--- a/tests/remfiles08b.at
+++ b/tests/remfiles08b.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles08c.at b/tests/remfiles08c.at
index 1f5adab9..716b29c6 100644
--- a/tests/remfiles08c.at
+++ b/tests/remfiles08c.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles09a.at b/tests/remfiles09a.at
index 02a31ff8..bc1504ab 100644
--- a/tests/remfiles09a.at
+++ b/tests/remfiles09a.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles09b.at b/tests/remfiles09b.at
index aebaf545..2332a324 100644
--- a/tests/remfiles09b.at
+++ b/tests/remfiles09b.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles09c.at b/tests/remfiles09c.at
index d03d66bf..984545a9 100644
--- a/tests/remfiles09c.at
+++ b/tests/remfiles09c.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2013-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/remfiles10.at b/tests/remfiles10.at
index 281939b6..39841071 100644
--- a/tests/remfiles10.at
+++ b/tests/remfiles10.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 #
 # GNU tar 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/tests/rename01.at b/tests/rename01.at
index 07ccd06f..a388df32 100644
--- a/tests/rename01.at
+++ b/tests/rename01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/rename02.at b/tests/rename02.at
index f7e0f3a5..24f74127 100644
--- a/tests/rename02.at
+++ b/tests/rename02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/rename03.at b/tests/rename03.at
index 18cb7cdb..0bfc1889 100644
--- a/tests/rename03.at
+++ b/tests/rename03.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/rename04.at b/tests/rename04.at
index 180cb147..8c549ca3 100644
--- a/tests/rename04.at
+++ b/tests/rename04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2008, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2008-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/rename05.at b/tests/rename05.at
index 92d2ae5a..e51ead55 100644
--- a/tests/rename05.at
+++ b/tests/rename05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2008, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2008-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/same-order01.at b/tests/same-order01.at
index b8f36472..9707cf64 100644
--- a/tests/same-order01.at
+++ b/tests/same-order01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/same-order02.at b/tests/same-order02.at
index 3174509e..e82eded8 100644
--- a/tests/same-order02.at
+++ b/tests/same-order02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/selacl01.at b/tests/selacl01.at
index c4145262..d7564a0a 100644
--- a/tests/selacl01.at
+++ b/tests/selacl01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/selnx01.at b/tests/selnx01.at
index f4af605f..490b651a 100644
--- a/tests/selnx01.at
+++ b/tests/selnx01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2012-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/shortfile.at b/tests/shortfile.at
index b59ed4f1..046a4fef 100644
--- a/tests/shortfile.at
+++ b/tests/shortfile.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2007, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2007-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/shortrec.at b/tests/shortrec.at
index c84663df..bdf2fbed 100644
--- a/tests/shortrec.at
+++ b/tests/shortrec.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005, 2007-2009, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/shortupd.at b/tests/shortupd.at
index 6d5dd9bf..23657c23 100644
--- a/tests/shortupd.at
+++ b/tests/shortupd.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2007, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2007-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sigpipe.at b/tests/sigpipe.at
index 3abe768c..79dd7854 100644
--- a/tests/sigpipe.at
+++ b/tests/sigpipe.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sparse01.at b/tests/sparse01.at
index ffc2e265..d896e680 100644
--- a/tests/sparse01.at
+++ b/tests/sparse01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sparse02.at b/tests/sparse02.at
index 61a3372e..54167825 100644
--- a/tests/sparse02.at
+++ b/tests/sparse02.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sparse03.at b/tests/sparse03.at
index 768ca2b8..61d2b487 100644
--- a/tests/sparse03.at
+++ b/tests/sparse03.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -20,7 +19,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AT_SETUP([storing sparse files > 8G])
-AT_KEYWORDS([sparse sparse03])
+AT_KEYWORDS([sparse sparse03 largefile])
 
 # Tar 1.15.1 incorrectly computed sparse member size if the extended
 # PAX header contained size keyword.
@@ -28,6 +27,7 @@ AT_KEYWORDS([sparse sparse03])
 # http://lists.gnu.org/archive/html/bug-tar/2005-06/msg00040.html
 
 AT_TAR_CHECK([
+AT_SKIP_LARGE_FILES
 genfile --length 1000 --file begin
 genfile --length 1000 --file end
 genfile --sparse --file sparsefile --block-size 512 8G A || AT_SKIP_TEST
diff --git a/tests/sparse04.at b/tests/sparse04.at
index 66627daf..38c661bc 100644
--- a/tests/sparse04.at
+++ b/tests/sparse04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sparse05.at b/tests/sparse05.at
index ed5db456..3e749cf5 100644
--- a/tests/sparse05.at
+++ b/tests/sparse05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -19,7 +19,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AT_SETUP([listing sparse files bigger than 2^33 B])
-AT_KEYWORDS([sparse sparse05])
+AT_KEYWORDS([sparse sparse05 largefile])
 
 # Description: If an archive in POSIX.1-2001 archive contained a sparse file
 # member whose real size (excluding zero blocks) is bigger than 2^33 bytes,
@@ -29,6 +29,7 @@ AT_KEYWORDS([sparse sparse05])
 #             http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00001.html
 
 AT_TAR_CHECK([
+AT_SKIP_LARGE_FILES
 AT_DATA([mapfile],
 [0 =2560
 m4_for([i], 1, 999, 1, [10M =2560
diff --git a/tests/sparse06.at b/tests/sparse06.at
index 530e2f8b..650b4f57 100644
--- a/tests/sparse06.at
+++ b/tests/sparse06.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2014-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sparse07.at b/tests/sparse07.at
index 78596d70..33cca896 100644
--- a/tests/sparse07.at
+++ b/tests/sparse07.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sparsemv.at b/tests/sparsemv.at
index 7aae74d2..b00d14e6 100644
--- a/tests/sparsemv.at
+++ b/tests/sparsemv.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2008, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sparsemvp.at b/tests/sparsemvp.at
index 2752bc89..f6ace3c1 100644
--- a/tests/sparsemvp.at
+++ b/tests/sparsemvp.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2009, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/spmvp00.at b/tests/spmvp00.at
index 81cca8ad..90468fde 100644
--- a/tests/spmvp00.at
+++ b/tests/spmvp00.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/spmvp01.at b/tests/spmvp01.at
index 50a33b0c..0a99c7d5 100644
--- a/tests/spmvp01.at
+++ b/tests/spmvp01.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/spmvp10.at b/tests/spmvp10.at
index e4604425..08adfd4b 100644
--- a/tests/spmvp10.at
+++ b/tests/spmvp10.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/sptrcreat.at b/tests/sptrcreat.at
new file mode 100644
index 00000000..2c730cc6
--- /dev/null
+++ b/tests/sptrcreat.at
@@ -0,0 +1,58 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright 2018-2019 Free Software Foundation, Inc.
+
+# This file is part of GNU tar.
+
+# GNU tar 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.
+
+# GNU tar 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/>.
+
+# Tar up to 1.30 would loop endlessly if a sparse file had been truncated
+# while being archived (with --sparse flag).
+#
+# The bug has been assigned id CVE-2018-20482 (on the grounds that it is a
+# denial of service possibility).
+# 
+# Reported by: Chris Siebenmann <cks.gnutar-01@cs.toronto.edu>
+# References: <20181226223948.781EB32008E@apps1.cs.toronto.edu>,
+#   <http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00023.html>
+#   <https://utcc.utoronto.ca/~cks/space/blog/sysadmin/TarFindingTruncateBug>
+#   <https://nvd.nist.gov/vuln/detail/CVE-2018-20482>
+
+AT_SETUP([sparse file truncated while archiving])
+AT_KEYWORDS([truncate filechange sparse sptr sptrcreat])
+
+AT_TAR_CHECK([
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \
+ tar --sparse -vcf bar foo baz
+echo Exit status: $?
+echo separator
+genfile --file foo --seek 200m --length 11575296 --pattern=zeros
+tar dvf bar | sed '/foo: Mod time differs/d'],
+[0],
+[foo
+baz
+Exit status: 1
+separator
+foo
+baz
+],
+[tar: foo: File shrank by 11575296 bytes; padding with zeros
+],
+[],[],[posix, gnu, oldgnu])
+
+AT_CLEANUP
diff --git a/tests/sptrdiff00.at b/tests/sptrdiff00.at
new file mode 100644
index 00000000..990c6fa4
--- /dev/null
+++ b/tests/sptrdiff00.at
@@ -0,0 +1,52 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2018-2019 Free Software Foundation, Inc.
+#
+# This file is part of GNU tar.
+#
+# GNU tar 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.
+#
+# GNU tar 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/>.
+
+# While fixing CVE-2018-20482 (see sptrcreat.at) it has been discovered
+# that similar bug exists in file checking code (tar d). 
+# This test case checks if tar correctly handles a short read condition
+# appearing in check_sparse_region.
+
+AT_SETUP([file truncated in sparse region while comparing])
+AT_KEYWORDS([truncate filechange sparse sptr sptrdiff diff])
+
+# This triggers short read in check_sparse_region.
+AT_TAR_CHECK([
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \
+ tar --sparse -vdf bar 
+],
+[1],
+[creating
+foo
+baz
+comparing
+foo
+foo: Size differs
+baz
+],
+[],
+[],[],[posix, gnu, oldgnu])
+
+AT_CLEANUP
diff --git a/tests/sptrdiff01.at b/tests/sptrdiff01.at
new file mode 100644
index 00000000..fcada14c
--- /dev/null
+++ b/tests/sptrdiff01.at
@@ -0,0 +1,52 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 2018-2019 Free Software Foundation, Inc.
+#
+# This file is part of GNU tar.
+#
+# GNU tar 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.
+#
+# GNU tar 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/>.
+
+# While fixing CVE-2018-20482 (see sptrcreat.at) it has been discovered
+# that similar bug exists in file checking code (tar d). 
+# This test case checks if tar correctly handles a short read condition
+# appearing in check_data_region.
+
+AT_SETUP([file truncated in data region while comparing])
+AT_KEYWORDS([truncate filechange sparse sptr sptrdiff diff])
+
+# This triggers short read in check_data_region.
+AT_TAR_CHECK([
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
+ tar --sparse -vdf bar 
+],
+[1],
+[creating
+foo
+baz
+comparing
+foo
+foo: Size differs
+baz
+],
+[],
+[],[],[posix, gnu, oldgnu])
+
+AT_CLEANUP
diff --git a/tests/star/README b/tests/star/README
index a8f128d5..554f122e 100644
--- a/tests/star/README
+++ b/tests/star/README
@@ -67,8 +67,7 @@ the example below:
 
 * Copying
 
-Copyright 2004, 2006-2008, 2010, 2012-2014, 2016-2017 Free Software
-Foundation, Inc.
+Copyright 2004-2019 Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
diff --git a/tests/star/gtarfail.at b/tests/star/gtarfail.at
index e8199d12..339d5007 100644
--- a/tests/star/gtarfail.at
+++ b/tests/star/gtarfail.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/star/gtarfail2.at b/tests/star/gtarfail2.at
index fc6922cf..02d1217c 100644
--- a/tests/star/gtarfail2.at
+++ b/tests/star/gtarfail2.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/star/multi-fail.at b/tests/star/multi-fail.at
index 5622fcf0..c0d46dfb 100644
--- a/tests/star/multi-fail.at
+++ b/tests/star/multi-fail.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/star/pax-big-10g.at b/tests/star/pax-big-10g.at
index 4de14486..92e7158a 100644
--- a/tests/star/pax-big-10g.at
+++ b/tests/star/pax-big-10g.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -20,11 +19,12 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AT_SETUP([pax-big-10g])
-AT_KEYWORDS([star pax-big-10g])
+AT_KEYWORDS([star pax-big-10g largefile])
 
 unset TAR_OPTIONS
 
 AT_CHECK([
+AT_SKIP_LARGE_FILES
 AT_GZIP_PREREQ([bzip2])
 AT_STAR_PREREQ([pax-big-10g.tar.bz2],[ca15c23acc8d8bb1f27e60113a5f8bff])
 
diff --git a/tests/star/quicktest.sh b/tests/star/quicktest.sh
index c7c8c3b4..9d481983 100755
--- a/tests/star/quicktest.sh
+++ b/tests/star/quicktest.sh
@@ -1,7 +1,6 @@
 #! /bin/sh
 # This file is part of GNU tar testsuite.
-# Copyright 2004-2005, 2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/star/ustar-big-2g.at b/tests/star/ustar-big-2g.at
index 1d62bfa3..f44d6ed3 100644
--- a/tests/star/ustar-big-2g.at
+++ b/tests/star/ustar-big-2g.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -20,11 +19,12 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AT_SETUP([ustar-big-2g])
-AT_KEYWORDS([star ustar-big-2g])
+AT_KEYWORDS([star ustar-big-2g largefile])
 
 unset TAR_OPTIONS
 
 AT_CHECK([
+AT_SKIP_LARGE_FILES
 AT_GZIP_PREREQ([bzip2])
 AT_STAR_PREREQ([ustar-big-2g.tar.bz2],[b63979733629c8fcdf40b60065422767])
 
diff --git a/tests/star/ustar-big-8g.at b/tests/star/ustar-big-8g.at
index 8caf8161..13bf7133 100644
--- a/tests/star/ustar-big-8g.at
+++ b/tests/star/ustar-big-8g.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -20,11 +19,12 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AT_SETUP([ustar-big-8g])
-AT_KEYWORDS([star ustar-big-8g])
+AT_KEYWORDS([star ustar-big-8g largefile])
 
 unset TAR_OPTIONS
 
 AT_CHECK([
+AT_SKIP_LARGE_FILES
 AT_GZIP_PREREQ([bzip2])
 AT_STAR_PREREQ([ustar-big-8g.tar.bz2],[60ff503fa4b8288bef7ada89e9c91b0f])
 
diff --git a/tests/testsuite b/tests/testsuite
index 9b813a5f..a349094e 100755
--- a/tests/testsuite
+++ b/tests/testsuite
@@ -590,10 +590,10 @@ at_tested='tar'
 # numerical order.
 at_format='???'
 # Description of all the test groups.
-at_help_all="1;version.at:20;tar version;;
-2;pipe.at:30;decompressing from stdin;pipe;
-3;options.at:25;mixing options;options options00;
-4;options02.at:27;interspersed options;options options02;
+at_help_all="1;version.at:19;tar version;;
+2;pipe.at:29;decompressing from stdin;pipe;
+3;options.at:24;mixing options;options options00;
+4;options02.at:26;interspersed options;options options02;
 5;options03.at:21;TAR_OPTIONS with string arguments;options options03;
 6;opcomp01.at:21;occurrence compatibility;opcomp opcomp01;
 7;opcomp02.at:21;occurrence compatibility;opcomp opcomp02;
@@ -601,215 +601,229 @@ at_help_all="1;version.at:20;tar version;;
 9;opcomp04.at:21;compress option compatibility;opcomp opcomp04;
 10;opcomp05.at:21;--pax-option compatibility;opcomp opcomp05;
 11;opcomp06.at:21;--pax-option compatibility;opcomp opcomp06;
-12;positional01.at:21;Exclude;options positional positional01 exclude;
-13;positional02.at:21;Directory;options positional positional02 directory chdir;
-14;positional03.at:21;Several options;options positional positional03 chdir;
-15;add-file.at:21;The --add-file option;add-file;
-16;T-mult.at:21;multiple file lists;files-from t-mult;
-17;T-nest.at:21;nested file lists;files-from t-nest;
-18;T-rec.at:21;recursive file lists;files-from t-rec;
-19;T-recurse.at:27;files-from & recurse: toggle;recurse t-recurse files-from;
-20;T-recurse.at:66;toggle --recursion (not) from -T;recurse t-recurse t-recurse2 files-from;
-21;T-cd.at:21;-C in file lists;files-from t-cd chdir;
-22;T-empty.at:27;empty entries;files-from empty-line;
-23;T-null.at:22;0-separated file without -0;files-from null t-null;
-24;T-null2.at:17;--null enables verbatim reading;files-from null t-null2 t-verbatim;
-25;T-zfile.at:26;empty file;files-from empty-file;
-26;T-nonl.at:27;entries with missing newlines;files-from nonewline nonl t-nonl;
-27;T-dir00.at:28;recursive extraction from --files-from;files-from extract t-dir t-dir00;
-28;T-dir01.at:28;trailing slash in --files-from;files-from extract t-dir t-dir01;
-29;indexfile.at:27;tar --index-file=FILE --file=-;stdout indexfile;
-30;verbose.at:27;tar cvf -;stdout verbose;
-31;gzip.at:24;gzip;gzip;
-32;recurse.at:22;recurse;recurse;
-33;recurs02.at:30;recurse: toggle;recurse options recurse02;
-34;shortrec.at:26;short records;shortrec;
-35;numeric.at:18;--numeric-owner basic tests;options numeric numeric-owner;
-36;same-order01.at:27;working -C with --same-order;same-order same-order01 chdir;
-37;same-order02.at:26;multiple -C options;same-order same-order02 chdir;
-38;append.at:22;append;append append00;
-39;append01.at:30;appending files with long names;append append01;
-40;append02.at:55;append vs. create;append append02 append-gnu;
-41;append03.at:21;append with name transformation;append append03;
-42;append04.at:29;append with verify;append append04 verify append-verify;
-43;append05.at:32;append after changed blocking;append append05 blocking;
-44;xform-h.at:31;transforming hard links on create;transform xform xform-h;
-45;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume;
-46;xform02.at:21;transforming escaped delimiters on create;transform xform delimiter;
-47;xform03.at:21;transforming hard link targets;transform xform link;
-48;exclude.at:23;exclude;exclude;
-49;exclude01.at:19;exclude wildcards;exclude exclude01;
-50;exclude02.at:19;exclude: anchoring;exclude exclude02;
-51;exclude03.at:19;exclude: wildcards match slash;exclude exclude03;
-52;exclude04.at:19;exclude: case insensitive;exclude exclude04;
-53;exclude05.at:22;exclude: lots of excludes;exclude exclude05;
-54;exclude06.at:26;exclude: long files in pax archives;exclude exclude06 chdir;
-55;exclude07.at:19;exclude: --exclude-backups option;exclude exclude07;
-56;exclude08.at:36;--exclude-tag option;exclude exclude-tag exclude08;
-57;exclude09.at:37;--exclude-tag option and --listed-incremental;exclude exclude-tag listed incremental exclude09;
-58;exclude10.at:38;--exclude-tag option in incremental pass;exclude exclude-tag listed incremental exclude10;
-59;exclude11.at:36;--exclude-tag-under option;exclude exclude-tag exclude-tag-under exclude11;
-60;exclude12.at:37;--exclude-tag-under and --listed-incremental;exclude exclude-tag exclude-tag-under listed incremental exclude12;
-61;exclude13.at:39;--exclude-tag-under option in incremental pass;exclude exclude-tag exclude-tag-under listed incremental exclude13;
-62;exclude14.at:36;--exclude-tag-all option;exclude exclude-tag exclude-tag-all exclude14;
-63;exclude15.at:36;--exclude-tag-all and --listed-incremental;exclude exclude-tag exclude-tag-all listed incremental exclude15;
-64;exclude16.at:38;--exclude-tag-all option in incremental pass;exclude exclude-tag exclude-tag-all listed incremental exclude16;
-65;delete01.at:24;deleting a member after a big one;delete delete01;
-66;delete02.at:24;deleting a member from stdin archive;delete delete02;
-67;delete03.at:22;deleting members with long names;delete delete03;
-68;delete04.at:24;deleting a large last member;delete delete04;
-69;delete05.at:28;deleting non-existing member;delete delete05;
-70;extrac01.at:24;extract over an existing directory;extract extract01;
-71;extrac02.at:24;extracting symlinks over an existing file;extract extract02 symlink;
-72;extrac03.at:24;extraction loops;extract extract03;
-73;extrac04.at:24;extract + fnmatch;extract extract04 fnmatch;
-74;extrac05.at:31;extracting selected members from pax;extract extract05;
-75;extrac06.at:35;mode of extracted directories;extract extract06 directory mode;
-76;extrac07.at:28;extracting symlinks to a read-only dir;extract extract07 read-only symlink chdir;
-77;extrac08.at:33;restoring mode on existing directory;extract extrac08;
-78;extrac09.at:34;extracting even when . and .. are unreadable;extract extrac09 chdir;
-79;extrac10.at:29;-C and delayed setting of metadata;extract extrac10 chdir;
-80;extrac11.at:25;scarce file descriptors;extract extrac11 chdir;
-81;extrac12.at:25;extract dot permissions;extract extrac12 chdir;
-82;extrac13.at:26;extract over symlinks;extract extrac13 chdir;
-83;extrac14.at:25;extract -C symlink;extract extrac14 chdir;
-84;extrac15.at:25;extract parent mkdir failure;extract extrac15 chdir;
-85;extrac16.at:26;extract empty directory with -C;extract extrac16 chdir;
-86;extrac17.at:21;name matching/transformation ordering;extract extrac17 chdir;
-87;extrac18.at:34;keep-old-files;extract extrac18 old-files keep-old-files;
-88;extrac19.at:21;skip-old-files;extract extrac19 old-files skip-old-files;
-89;extrac20.at:21;keep-directory-symlink;extrac20 extract old-files keep-old-files;
-90;extrac21.at:31;delay-directory-restore;extract extract21 read-only symlink delay-directory-restore;
-91;backup01.at:34;extracting existing dir with --backup;extract backup backup01;
-92;difflink.at:17;link mismatch;diff difflink;
-93;label01.at:21;single-volume label;label label01;
-94;label02.at:21;multi-volume label;label label02 multi-label multivolume multiv;
-95;label03.at:27;test-label option;label label03 test-label;
-96;label04.at:27;label with non-create option;label label04;
-97;label05.at:24;label with non-create option;label label05;
-98;incremental.at:24;incremental;incremental listed incr00;
-99;incr01.at:28;restore broken symlinks from incremental;incremental incr01;
-100;incr02.at:33;restoring timestamps from incremental;incremental timestamp restore incr02;
-101;listed01.at:27;--listed for individual files;listed incremental listed01;
-102;listed02.at:29;working --listed;listed incremental listed02;
-103;listed03.at:24;incremental dump when the parent directory is unreadable;listed incremental listed03;
-104;listed04.at:26;--listed-incremental and --one-file-system;listed incremental listed04;
-105;listed05.at:33;--listed-incremental and remounted directories;listed incremental listed05 chdir;
-106;incr03.at:29;renamed files in incrementals;incremental incr03 rename;
-107;incr04.at:30;proper icontents initialization;incremental incr04 icontents;
-108;incr05.at:21;incremental dumps with -C;incremental incr05 chdir;
-109;incr06.at:21;incremental dumps of nested directories;incremental incr06 chdir;
-110;incr07.at:18;incremental restores with -C;incremental extract incr07 chdir;
-111;incr08.at:38;filename normalization;incremental create incr08 chdir;
-112;incr09.at:26;incremental with alternating -C;incremental create incr09 chdir;
-113;incr10.at:18;concatenated incremental archives (deletes);incremental concat cat incr10 chdir;
-114;incr11.at:25;concatenated incremental archives (renames);incremental concat cat incr11 chdir;
-115;filerem01.at:36;file removed as we read it (ca. 22 seconds);create incremental listed filechange filerem filerem01;
-116;filerem02.at:26;toplevel file removed (ca. 24 seconds);create incremental listed filechange filerem filerem02;
-117;dirrem01.at:34;directory removed before reading;create incremental listed dirchange dirrem dirrem01;
-118;dirrem02.at:31;explicitly named directory removed before reading;create incremental listed dirchange dirrem dirrem02;
-119;rename01.at:25;renamed dirs in incrementals;incremental rename rename01;
-120;rename02.at:25;move between hierarchies;incremental rename rename02;
-121;rename03.at:24;cyclic renames;incremental rename rename03 cyclic-rename;
-122;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
-123;rename05.at:24;renamed subdirectories;incremental rename05 rename;
-124;chtype.at:28;changed file types in incrementals;incremental listed chtype;
-125;ignfail.at:24;ignfail;ignfail;
-126;link01.at:34;link count gt 2;hardlinks link01;
-127;link02.at:32;preserve hard links with --remove-files;hardlinks link02;
-128;link03.at:24;working -l with --remove-files;hardlinks link03;
-129;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04;
-130;longv7.at:25;long names in V7 archives;longname longv7;
-131;long01.at:29;long file names divisible by block size;longname long512;
-132;lustar01.at:22;ustar: unsplittable file name;longname ustar lustar01;
-133;lustar02.at:22;ustar: unsplittable path name;longname ustar lustar02;
-134;lustar03.at:22;ustar: splitting long names;longname ustar lustar03;
-135;old.at:24;old archives;old;
-136;time01.at:20;time: tricky time stamps;time time01;
-137;time02.at:20;time: clamping mtime;time time02;
-138;multiv01.at:24;multivolume dumps from pipes;multivolume multiv multiv01 chdir;
-139;multiv02.at:29;skipping a straddling member;multivolume multiv multiv02;
-140;multiv03.at:31;MV archive & long filenames;multivolume multiv multiv03;
-141;multiv04.at:37;split directory members in a MV archive;multivolume multiv incremental listed multiv04;
-142;multiv05.at:27;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
-143;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
-144;multiv07.at:28;volumes split at an extended header;multivolume multiv multiv07 xsplit;
-145;multiv08.at:25;multivolume header creation;multivolume multiv multiv08;
-146;multiv09.at:26;bad next volume;multivolume multiv multiv09;
-147;multiv10.at:37;file start at the beginning of a posix volume;multivolume multiv multiv10;
-148;owner.at:21;--owner and --group;owner;
-149;map.at:21;--owner-map and --group-map;owner map;
-150;sparse01.at:22;sparse files;sparse sparse01;
-151;sparse02.at:22;extracting sparse file over a pipe;sparse sparse02;
-152;sparse03.at:22;storing sparse files > 8G;sparse sparse03;
-153;sparse04.at:21;storing long sparse file names;sparse sparse04;
-154;sparse05.at:21;listing sparse files bigger than 2^33 B;sparse sparse05;
-155;sparse06.at:21;storing sparse file using seek method;sparse sparse06 chdir;
-156;sparse07.at:21;sparse files with unicode names;sparse sparse07 unicode;
-157;sparsemv.at:22;sparse files in MV archives;sparse multiv sparsemv;
-158;spmvp00.at:22;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00;
-159;spmvp01.at:22;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
-160;spmvp10.at:22;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10;
-161;update.at:29;update unchanged directories;update update00;
-162;update01.at:29;update directories;update update01;
-163;update02.at:26;update changed files;update update02;
-164;update03.at:20;update with chdir;update update03 chdir;
-165;verify.at:25;verify;verify;
-166;volume.at:24;volume;volume volcheck;
-167;volsize.at:30;volume header size;volume volsize;
-168;comprec.at:22;compressed format recognition;comprec;
-169;shortfile.at:26;short input files;shortfile shortfile0;
-170;shortupd.at:31;updating short archives;shortfile shortfile1 shortupd;
-171;truncate.at:30;truncate;truncate filechange;
-172;grow.at:25;grow;grow filechange;
-173;sigpipe.at:21;sigpipe handling;sigpipe;
-174;comperr.at:18;compressor program failure;compress comperr;
-175;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip;
-176;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip;
-177;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03;
-178;remfiles04a.at:25;remove-files with -C:rel in -c/non-incr. mode;create remove-files remfiles04 remfiles04a chdir;
-179;remfiles04b.at:33;remove-files with -C:rel in -c/incr. mode;create incremental remove-files remfiles04 remfiles04b chdir;
-180;remfiles04c.at:33;remove-files with -C:rel in -r mode;create append remove-files remfiles04 remfiles04c chdir;
-181;remfiles05a.at:34;remove-files with -C:rel,rel in -c/non-incr. mode;create remove-files remfiles05 remfiles05a chdir;
-182;remfiles05b.at:25;remove-files with -C:rel,rel in -c/incr. mode;create incremental remove-files remfiles05 remfiles05b chdir;
-183;remfiles05c.at:25;remove-files with -C:rel,rel in -r mode;create append remove-files remfiles05 remfiles05c chdir;
-184;remfiles06a.at:25;remove-files with -C:rel,abs in -c/non-incr. mode;create remove-files remfiles06 remfiles06a chdir;
-185;remfiles06b.at:25;remove-files with -C:rel,abs in -c/incr. mode;create incremental remove-files remfiles06 remfiles06b chdir;
-186;remfiles06c.at:25;remove-files with -C:rel,abs in -r mode;create append remove-files remfiles06 remfiles06c chdir;
-187;remfiles07a.at:25;remove-files with -C:abs,rel in -c/non-incr. mode;create remove-files remfiles07 remfiles07a chdir;
-188;remfiles07b.at:25;remove-files with -C:abs,rel in -c/incr. mode;create incremental remove-files remfiles07 remfiles07b chdir;
-189;remfiles07c.at:25;remove-files with -C:abs,rel in -r mode;create append remove-files remfiles07 remfiles07c chdir;
-190;remfiles08a.at:28;remove-files deleting two subdirs in -c/non-incr. mode;create remove-files remfiles08 remfiles08a chdir;
-191;remfiles08b.at:31;remove-files deleting two subdirs in -c/incr. mode;create incremental remove-files remfiles08 remfiles08b chdir;
-192;remfiles08c.at:28;remove-files deleting two subdirs in -r mode;create append remove-files remfiles08 remfiles08c chdir;
-193;remfiles09a.at:25;remove-files on full directory in -c/non-incr. mode;create remove-files remfiles09 remfiles09a;
-194;remfiles09b.at:29;remove-files on full directory in -c/incr. mode;create incremental remove-files remfiles09 remfiles09b;
-195;remfiles09c.at:25;remove-files on full directory in -r mode;create append remove-files remfiles09 remfiles09c;
-196;remfiles10.at:20;remove-files;create remove-files remfiles10;
-197;xattr01.at:25;xattrs: basic functionality;xattrs xattr01;
-198;xattr02.at:25;xattrs: change directory with -C option;xattrs xattr02 chdir;
-199;xattr03.at:25;xattrs: trusted.* attributes;xattrs xattr03 chdir;
-200;xattr04.at:26;xattrs: s/open/openat/ regression;xattrs xattr04 chdir;
-201;xattr05.at:28;xattrs: keywords with '=' and '%';xattrs xattr05 chdir;
-202;xattr06.at:27;xattrs: exclude xattrs on create ;xattrs xattr06;
-203;xattr07.at:26;xattrs: xattrs and --skip-old-files;xattrs xattr07;
-204;acls01.at:25;acls: basic functionality;xattrs acls acls01;
-205;acls02.at:25;acls: work with -C;xattrs acls acls02 chdir;
-206;acls03.at:30;acls: default ACLs;xattrs acls acls03 chdir;
-207;selnx01.at:25;selinux: basic store/restore;xattrs selinux selnx01;
-208;selacl01.at:25;acls/selinux: special files & fifos;xattrs selinux acls selacls01;
-209;capabs_raw01.at:25;capabilities: binary store/restore;xattrs capabilities capabs_raw01;
-210;onetop01.at:21;tar --one-top-level;extract onetop onetop01;
-211;onetop02.at:21;tar --one-top-level --show-transformed;extract onetop onetop02;
-212;onetop03.at:21;tar --one-top-level --transform;extract onetop onetop03;
-213;onetop04.at:21;tar --one-top-level --transform;extract onetop onetop04;
-214;onetop05.at:21;tar --one-top-level restoring permissions;extract onetop onetop05 chdir;
-215;gtarfail.at:22;gtarfail;star gtarfail;
-216;gtarfail2.at:22;gtarfail2;star gtarfail2;
-217;multi-fail.at:22;multi-fail;star multivolume multiv multi-fail;
-218;ustar-big-2g.at:22;ustar-big-2g;star ustar-big-2g;
-219;ustar-big-8g.at:22;ustar-big-8g;star ustar-big-8g;
-220;pax-big-10g.at:22;pax-big-10g;star pax-big-10g;
+12;defaults.at:16;checkpoint defaults;checkpoint checkpoint/defaults;
+13;interval.at:16;checkpoint interval;checkpoint checkpoint/interval;
+14;dot.at:16;dot action;checkpoint checkpoint/dot;
+15;dot-compat.at:16;dot action (compatibility syntax);checkpoint checkpoint/dot-compat;
+16;dot-int.at:16;dot action and interval;checkpoint checkpoint/dot-int;
+17;testsuite.at:242;compress: gzip;compression compress-gzip gzip;
+18;testsuite.at:243;compress: bzip2;compression compress-bzip2 bzip2;
+19;testsuite.at:244;compress: xz;compression compress-xz xz;
+20;testsuite.at:246;compress: lzip;compression compress-lzip lzip;
+21;testsuite.at:247;compress: lzop;compression compress-lzop lzop;
+22;testsuite.at:248;compress: zstd;compression compress-zstd zstd;
+23;positional01.at:21;Exclude;options positional positional01 exclude;
+24;positional02.at:21;Directory;options positional positional02 directory chdir;
+25;positional03.at:21;Several options;options positional positional03 chdir;
+26;add-file.at:21;The --add-file option;add-file;
+27;T-mult.at:21;multiple file lists;files-from t-mult;
+28;T-nest.at:21;nested file lists;files-from t-nest;
+29;T-rec.at:21;recursive file lists;files-from t-rec;
+30;T-recurse.at:27;files-from & recurse: toggle;recurse t-recurse files-from;
+31;T-recurse.at:66;toggle --recursion (not) from -T;recurse t-recurse t-recurse2 files-from;
+32;T-cd.at:21;-C in file lists;files-from t-cd chdir;
+33;T-empty.at:26;empty entries;files-from empty-line;
+34;T-null.at:21;0-separated file without -0;files-from null t-null;
+35;T-null2.at:17;--null enables verbatim reading;files-from null t-null2 t-verbatim;
+36;T-zfile.at:26;empty file;files-from empty-file;
+37;T-nonl.at:27;entries with missing newlines;files-from nonewline nonl t-nonl;
+38;T-dir00.at:28;recursive extraction from --files-from;files-from extract t-dir t-dir00;
+39;T-dir01.at:28;trailing slash in --files-from;files-from extract t-dir t-dir01;
+40;indexfile.at:26;tar --index-file=FILE --file=-;stdout indexfile;
+41;verbose.at:26;tar cvf -;stdout verbose;
+42;gzip.at:23;gzip;gzip;
+43;recurse.at:21;recurse;recurse;
+44;recurs02.at:30;recurse: toggle;recurse options recurse02;
+45;shortrec.at:25;short records;shortrec;
+46;numeric.at:18;--numeric-owner basic tests;options numeric numeric-owner;
+47;same-order01.at:26;working -C with --same-order;same-order same-order01 chdir;
+48;same-order02.at:25;multiple -C options;same-order same-order02 chdir;
+49;append.at:21;append;append append00;
+50;append01.at:29;appending files with long names;append append01;
+51;append02.at:54;append vs. create;append append02 append-gnu;
+52;append03.at:21;append with name transformation;append append03;
+53;append04.at:29;append with verify;append append04 verify append-verify;
+54;append05.at:32;append after changed blocking;append append05 blocking;
+55;xform-h.at:30;transforming hard links on create;transform xform xform-h;
+56;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume;
+57;xform02.at:21;transforming escaped delimiters on create;transform xform delimiter;
+58;xform03.at:21;transforming hard link targets;transform xform link;
+59;exclude.at:23;exclude;exclude;
+60;exclude01.at:19;exclude wildcards;exclude exclude01;
+61;exclude02.at:19;exclude: anchoring;exclude exclude02;
+62;exclude03.at:19;exclude: wildcards match slash;exclude exclude03;
+63;exclude04.at:19;exclude: case insensitive;exclude exclude04;
+64;exclude05.at:21;exclude: lots of excludes;exclude exclude05;
+65;exclude06.at:26;exclude: long files in pax archives;exclude exclude06 chdir;
+66;exclude07.at:19;exclude: --exclude-backups option;exclude exclude07;
+67;exclude08.at:36;--exclude-tag option;exclude exclude-tag exclude08;
+68;exclude09.at:37;--exclude-tag option and --listed-incremental;exclude exclude-tag listed incremental exclude09;
+69;exclude10.at:38;--exclude-tag option in incremental pass;exclude exclude-tag listed incremental exclude10;
+70;exclude11.at:36;--exclude-tag-under option;exclude exclude-tag exclude-tag-under exclude11;
+71;exclude12.at:37;--exclude-tag-under and --listed-incremental;exclude exclude-tag exclude-tag-under listed incremental exclude12;
+72;exclude13.at:39;--exclude-tag-under option in incremental pass;exclude exclude-tag exclude-tag-under listed incremental exclude13;
+73;exclude14.at:36;--exclude-tag-all option;exclude exclude-tag exclude-tag-all exclude14;
+74;exclude15.at:36;--exclude-tag-all and --listed-incremental;exclude exclude-tag exclude-tag-all listed incremental exclude15;
+75;exclude16.at:38;--exclude-tag-all option in incremental pass;exclude exclude-tag exclude-tag-all listed incremental exclude16;
+76;delete01.at:23;deleting a member after a big one;delete delete01;
+77;delete02.at:23;deleting a member from stdin archive;delete delete02;
+78;delete03.at:21;deleting members with long names;delete delete03;
+79;delete04.at:23;deleting a large last member;delete delete04;
+80;delete05.at:27;deleting non-existing member;delete delete05;
+81;extrac01.at:23;extract over an existing directory;extract extract01;
+82;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink;
+83;extrac03.at:23;extraction loops;extract extract03;
+84;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch;
+85;extrac05.at:30;extracting selected members from pax;extract extract05;
+86;extrac06.at:34;mode of extracted directories;extract extract06 directory mode;
+87;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink chdir;
+88;extrac08.at:33;restoring mode on existing directory;extract extrac08;
+89;extrac09.at:34;extracting even when . and .. are unreadable;extract extrac09 chdir;
+90;extrac10.at:29;-C and delayed setting of metadata;extract extrac10 chdir;
+91;extrac11.at:25;scarce file descriptors;extract extrac11 chdir;
+92;extrac12.at:25;extract dot permissions;extract extrac12 chdir;
+93;extrac13.at:26;extract over symlinks;extract extrac13 chdir;
+94;extrac14.at:25;extract -C symlink;extract extrac14 chdir;
+95;extrac15.at:25;extract parent mkdir failure;extract extrac15 chdir;
+96;extrac16.at:26;extract empty directory with -C;extract extrac16 chdir;
+97;extrac17.at:21;name matching/transformation ordering;extract extrac17 chdir;
+98;extrac18.at:34;keep-old-files;extract extrac18 old-files keep-old-files;
+99;extrac19.at:21;skip-old-files;extract extrac19 old-files skip-old-files;
+100;extrac20.at:21;keep-directory-symlink;extrac20 extract old-files keep-old-files;
+101;extrac21.at:31;delay-directory-restore;extract extract21 read-only symlink delay-directory-restore;
+102;backup01.at:33;extracting existing dir with --backup;extract backup backup01;
+103;difflink.at:17;link mismatch;diff difflink;
+104;label01.at:21;single-volume label;label label01;
+105;label02.at:21;multi-volume label;label label02 multi-label multivolume multiv;
+106;label03.at:27;test-label option;label label03 test-label;
+107;label04.at:27;label with non-create option;label label04;
+108;label05.at:24;label with non-create option;label label05;
+109;incremental.at:23;incremental;incremental listed incr00;
+110;incr01.at:27;restore broken symlinks from incremental;incremental incr01;
+111;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02;
+112;listed01.at:26;--listed for individual files;listed incremental listed01;
+113;listed02.at:28;working --listed;listed incremental listed02;
+114;listed03.at:24;incremental dump when the parent directory is unreadable;listed incremental listed03;
+115;listed04.at:26;--listed-incremental and --one-file-system;listed incremental listed04;
+116;listed05.at:33;--listed-incremental and remounted directories;listed incremental listed05 chdir;
+117;incr03.at:28;renamed files in incrementals;incremental incr03 rename;
+118;incr04.at:29;proper icontents initialization;incremental incr04 icontents;
+119;incr05.at:21;incremental dumps with -C;incremental incr05 chdir;
+120;incr06.at:21;incremental dumps of nested directories;incremental incr06 chdir;
+121;incr07.at:18;incremental restores with -C;incremental extract incr07 chdir;
+122;incr08.at:38;filename normalization;incremental create incr08 chdir;
+123;incr09.at:26;incremental with alternating -C;incremental create incr09 chdir;
+124;incr10.at:18;concatenated incremental archives (deletes);incremental concat cat incr10 chdir;
+125;incr11.at:25;concatenated incremental archives (renames);incremental concat cat incr11 chdir;
+126;filerem01.at:36;file removed as we read it;create incremental listed filechange filerem filerem01;
+127;filerem02.at:26;toplevel file removed;create incremental listed filechange filerem filerem02;
+128;dirrem01.at:38;directory removed before reading;create incremental listed dirchange dirrem dirrem01;
+129;dirrem02.at:31;explicitly named directory removed before reading;create incremental listed dirchange dirrem dirrem02;
+130;rename01.at:24;renamed dirs in incrementals;incremental rename rename01;
+131;rename02.at:24;move between hierarchies;incremental rename rename02;
+132;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename;
+133;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
+134;rename05.at:24;renamed subdirectories;incremental rename05 rename;
+135;chtype.at:27;changed file types in incrementals;incremental listed chtype;
+136;ignfail.at:23;ignfail;ignfail;
+137;link01.at:33;link count gt 2;hardlinks link01;
+138;link02.at:32;preserve hard links with --remove-files;hardlinks link02;
+139;link03.at:24;working -l with --remove-files;hardlinks link03;
+140;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04;
+141;longv7.at:24;long names in V7 archives;longname longv7;
+142;long01.at:28;long file names divisible by block size;longname long512;
+143;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
+144;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
+145;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
+146;old.at:23;old archives;old;
+147;time01.at:20;time: tricky time stamps;time time01;
+148;time02.at:20;time: clamping mtime;time time02;
+149;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01 chdir;
+150;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
+151;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
+152;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental listed multiv04;
+153;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
+154;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
+155;multiv07.at:28;volumes split at an extended header;multivolume multiv multiv07 xsplit;
+156;multiv08.at:25;multivolume header creation;multivolume multiv multiv08;
+157;multiv09.at:26;bad next volume;multivolume multiv multiv09;
+158;multiv10.at:37;file start at the beginning of a posix volume;multivolume multiv multiv10;
+159;owner.at:21;--owner and --group;owner;
+160;map.at:21;--owner-map and --group-map;owner map;
+161;sparse01.at:21;sparse files;sparse sparse01;
+162;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
+163;sparse03.at:21;storing sparse files > 8G;sparse sparse03 largefile;
+164;sparse04.at:21;storing long sparse file names;sparse sparse04;
+165;sparse05.at:21;listing sparse files bigger than 2^33 B;sparse sparse05 largefile;
+166;sparse06.at:21;storing sparse file using seek method;sparse sparse06 chdir;
+167;sparse07.at:21;sparse files with unicode names;sparse sparse07 unicode;
+168;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
+169;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00;
+170;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
+171;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10;
+172;sptrcreat.at:33;sparse file truncated while archiving;truncate filechange sparse sptr sptrcreat;
+173;sptrdiff00.at:26;file truncated in sparse region while comparing;truncate filechange sparse sptr sptrdiff diff;
+174;sptrdiff01.at:26;file truncated in data region while comparing;truncate filechange sparse sptr sptrdiff diff;
+175;update.at:28;update unchanged directories;update update00;
+176;update01.at:29;update directories;update update01;
+177;update02.at:26;update changed files;update update02;
+178;update03.at:20;update with chdir;update update03 chdir;
+179;verify.at:25;verify;verify;
+180;volume.at:23;volume;volume volcheck;
+181;volsize.at:29;volume header size;volume volsize;
+182;comprec.at:21;compressed format recognition;comprec;
+183;shortfile.at:26;short input files;shortfile shortfile0;
+184;shortupd.at:31;updating short archives;shortfile shortfile1 shortupd;
+185;truncate.at:29;truncate;truncate filechange;
+186;grow.at:24;grow;grow filechange;
+187;sigpipe.at:21;sigpipe handling;sigpipe;
+188;comperr.at:18;compressor program failure;compress comperr;
+189;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip;
+190;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip;
+191;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03;
+192;remfiles04a.at:25;remove-files with -C:rel in -c/non-incr. mode;create remove-files remfiles04 remfiles04a chdir;
+193;remfiles04b.at:33;remove-files with -C:rel in -c/incr. mode;create incremental remove-files remfiles04 remfiles04b chdir;
+194;remfiles04c.at:33;remove-files with -C:rel in -r mode;create append remove-files remfiles04 remfiles04c chdir;
+195;remfiles05a.at:34;remove-files with -C:rel,rel in -c/non-incr. mode;create remove-files remfiles05 remfiles05a chdir;
+196;remfiles05b.at:25;remove-files with -C:rel,rel in -c/incr. mode;create incremental remove-files remfiles05 remfiles05b chdir;
+197;remfiles05c.at:25;remove-files with -C:rel,rel in -r mode;create append remove-files remfiles05 remfiles05c chdir;
+198;remfiles06a.at:25;remove-files with -C:rel,abs in -c/non-incr. mode;create remove-files remfiles06 remfiles06a chdir;
+199;remfiles06b.at:25;remove-files with -C:rel,abs in -c/incr. mode;create incremental remove-files remfiles06 remfiles06b chdir;
+200;remfiles06c.at:25;remove-files with -C:rel,abs in -r mode;create append remove-files remfiles06 remfiles06c chdir;
+201;remfiles07a.at:25;remove-files with -C:abs,rel in -c/non-incr. mode;create remove-files remfiles07 remfiles07a chdir;
+202;remfiles07b.at:25;remove-files with -C:abs,rel in -c/incr. mode;create incremental remove-files remfiles07 remfiles07b chdir;
+203;remfiles07c.at:25;remove-files with -C:abs,rel in -r mode;create append remove-files remfiles07 remfiles07c chdir;
+204;remfiles08a.at:28;remove-files deleting two subdirs in -c/non-incr. mode;create remove-files remfiles08 remfiles08a chdir;
+205;remfiles08b.at:31;remove-files deleting two subdirs in -c/incr. mode;create incremental remove-files remfiles08 remfiles08b chdir;
+206;remfiles08c.at:28;remove-files deleting two subdirs in -r mode;create append remove-files remfiles08 remfiles08c chdir;
+207;remfiles09a.at:25;remove-files on full directory in -c/non-incr. mode;create remove-files remfiles09 remfiles09a;
+208;remfiles09b.at:29;remove-files on full directory in -c/incr. mode;create incremental remove-files remfiles09 remfiles09b;
+209;remfiles09c.at:25;remove-files on full directory in -r mode;create append remove-files remfiles09 remfiles09c;
+210;remfiles10.at:20;remove-files;create remove-files remfiles10;
+211;xattr01.at:25;xattrs: basic functionality;xattrs xattr01;
+212;xattr02.at:25;xattrs: change directory with -C option;xattrs xattr02 chdir;
+213;xattr03.at:25;xattrs: trusted.* attributes;xattrs xattr03 chdir;
+214;xattr04.at:26;xattrs: s/open/openat/ regression;xattrs xattr04 chdir;
+215;xattr05.at:28;xattrs: keywords with '=' and '%';xattrs xattr05 chdir;
+216;xattr06.at:27;xattrs: exclude xattrs on create ;xattrs xattr06;
+217;xattr07.at:26;xattrs: xattrs and --skip-old-files;xattrs xattr07;
+218;acls01.at:25;acls: basic functionality;xattrs acls acls01;
+219;acls02.at:25;acls: work with -C;xattrs acls acls02 chdir;
+220;acls03.at:30;acls: default ACLs;xattrs acls acls03 chdir;
+221;selnx01.at:25;selinux: basic store/restore;xattrs selinux selnx01;
+222;selacl01.at:25;acls/selinux: special files & fifos;xattrs selinux acls selacls01;
+223;capabs_raw01.at:25;capabilities: binary store/restore;xattrs capabilities capabs_raw01;
+224;onetop01.at:21;tar --one-top-level;extract onetop onetop01;
+225;onetop02.at:21;tar --one-top-level --show-transformed;extract onetop onetop02;
+226;onetop03.at:21;tar --one-top-level --transform;extract onetop onetop03;
+227;onetop04.at:21;tar --one-top-level --transform;extract onetop onetop04;
+228;onetop05.at:21;tar --one-top-level restoring permissions;extract onetop onetop05 chdir;
+229;gtarfail.at:21;gtarfail;star gtarfail;
+230;gtarfail2.at:21;gtarfail2;star gtarfail2;
+231;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
+232;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g largefile;
+233;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g largefile;
+234;pax-big-10g.at:21;pax-big-10g;star pax-big-10g largefile;
 "
 # List of the all the test groups.
 at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
@@ -823,7 +837,7 @@ at_fn_validate_ranges ()
   for at_grp
   do
     eval at_value=\$$at_grp
-    if test $at_value -lt 1 || test $at_value -gt 220; then
+    if test $at_value -lt 1 || test $at_value -gt 234; then
       $as_echo "invalid test group: $at_value" >&2
       exit 1
     fi
@@ -1122,7 +1136,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF || at_write_fail=1
-GNU tar 1.30 test suite test groups:
+GNU tar 1.32 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -1163,7 +1177,7 @@ _ATEOF
   exit $at_write_fail
 fi
 if $at_version_p; then
-  $as_echo "$as_me (GNU tar 1.30)" &&
+  $as_echo "$as_me (GNU tar 1.32)" &&
   cat <<\_ATEOF || at_write_fail=1
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1180,96 +1194,105 @@ case $at_groups in #(
   * ) at_print_banners=false ;;
 esac
 # Text for banner N, set to a single space once printed.
-# Banner 1. testsuite.at:209
+# Banner 1. testsuite.at:207
+# Category starts at test group 3.
+at_banner_text_1="Options"
+# Banner 2. testsuite.at:212
 # Category starts at test group 6.
-at_banner_text_1="Option compatibility"
-# Banner 2. testsuite.at:217
+at_banner_text_2="Option compatibility"
+# Banner 3. testsuite.at:220
 # Category starts at test group 12.
-at_banner_text_2="Positional options"
-# Banner 3. testsuite.at:223
-# Category starts at test group 16.
-at_banner_text_3="The -T option"
-# Banner 4. testsuite.at:237
-# Category starts at test group 29.
-at_banner_text_4="Various options"
-# Banner 5. testsuite.at:246
-# Category starts at test group 36.
-at_banner_text_5="The --same-order option"
-# Banner 6. testsuite.at:250
-# Category starts at test group 38.
-at_banner_text_6="Append"
-# Banner 7. testsuite.at:258
-# Category starts at test group 44.
-at_banner_text_7="Transforms"
-# Banner 8. testsuite.at:264
-# Category starts at test group 48.
-at_banner_text_8="Exclude"
+at_banner_text_3="Checkpoints"
+# Banner 4. testsuite.at:240
+# Category starts at test group 17.
+at_banner_text_4="Compression"
+# Banner 5. testsuite.at:250
+# Category starts at test group 23.
+at_banner_text_5="Positional options"
+# Banner 6. testsuite.at:256
+# Category starts at test group 27.
+at_banner_text_6="The -T option"
+# Banner 7. testsuite.at:270
+# Category starts at test group 40.
+at_banner_text_7="Various options"
+# Banner 8. testsuite.at:279
+# Category starts at test group 47.
+at_banner_text_8="The --same-order option"
 # Banner 9. testsuite.at:283
-# Category starts at test group 65.
-at_banner_text_9="Deletions"
-# Banner 10. testsuite.at:290
-# Category starts at test group 70.
-at_banner_text_10="Extracting"
-# Banner 11. testsuite.at:315
-# Category starts at test group 92.
-at_banner_text_11="Comparing"
-# Banner 12. testsuite.at:318
-# Category starts at test group 93.
-at_banner_text_12="Volume label operations"
-# Banner 13. testsuite.at:325
-# Category starts at test group 98.
-at_banner_text_13="Incremental archives"
-# Banner 14. testsuite.at:344
-# Category starts at test group 115.
-at_banner_text_14="Files removed while archiving"
-# Banner 15. testsuite.at:348
-# Category starts at test group 117.
-at_banner_text_15="Directories removed while archiving"
-# Banner 16. testsuite.at:352
-# Category starts at test group 119.
-at_banner_text_16="Renames"
-# Banner 17. testsuite.at:360
-# Category starts at test group 125.
-at_banner_text_17="Ignore failing reads"
-# Banner 18. testsuite.at:363
+# Category starts at test group 49.
+at_banner_text_9="Append"
+# Banner 10. testsuite.at:291
+# Category starts at test group 55.
+at_banner_text_10="Transforms"
+# Banner 11. testsuite.at:297
+# Category starts at test group 59.
+at_banner_text_11="Exclude"
+# Banner 12. testsuite.at:316
+# Category starts at test group 76.
+at_banner_text_12="Deletions"
+# Banner 13. testsuite.at:323
+# Category starts at test group 81.
+at_banner_text_13="Extracting"
+# Banner 14. testsuite.at:348
+# Category starts at test group 103.
+at_banner_text_14="Comparing"
+# Banner 15. testsuite.at:351
+# Category starts at test group 104.
+at_banner_text_15="Volume label operations"
+# Banner 16. testsuite.at:358
+# Category starts at test group 109.
+at_banner_text_16="Incremental archives"
+# Banner 17. testsuite.at:377
 # Category starts at test group 126.
-at_banner_text_18="Link handling"
-# Banner 19. testsuite.at:369
+at_banner_text_17="Files removed while archiving"
+# Banner 18. testsuite.at:381
+# Category starts at test group 128.
+at_banner_text_18="Directories removed while archiving"
+# Banner 19. testsuite.at:385
 # Category starts at test group 130.
-at_banner_text_19="Specific archive formats"
-# Banner 20. testsuite.at:380
-# Category starts at test group 138.
-at_banner_text_20="Multivolume archives"
-# Banner 21. testsuite.at:392
-# Category starts at test group 148.
-at_banner_text_21="Owner and Groups"
-# Banner 22. testsuite.at:396
-# Category starts at test group 150.
-at_banner_text_22="Sparse files"
-# Banner 23. testsuite.at:409
+at_banner_text_19="Renames"
+# Banner 20. testsuite.at:393
+# Category starts at test group 136.
+at_banner_text_20="Ignore failing reads"
+# Banner 21. testsuite.at:396
+# Category starts at test group 137.
+at_banner_text_21="Link handling"
+# Banner 22. testsuite.at:402
+# Category starts at test group 141.
+at_banner_text_22="Specific archive formats"
+# Banner 23. testsuite.at:413
+# Category starts at test group 149.
+at_banner_text_23="Multivolume archives"
+# Banner 24. testsuite.at:425
+# Category starts at test group 159.
+at_banner_text_24="Owner and Groups"
+# Banner 25. testsuite.at:429
 # Category starts at test group 161.
-at_banner_text_23="Updates"
-# Banner 24. testsuite.at:415
-# Category starts at test group 165.
-at_banner_text_24="Verifying the archive"
-# Banner 25. testsuite.at:418
-# Category starts at test group 166.
-at_banner_text_25="Volume operations"
-# Banner 26. testsuite.at:422
-# Category starts at test group 168.
-at_banner_text_26=""
-# Banner 27. testsuite.at:432
+at_banner_text_25="Sparse files"
+# Banner 26. testsuite.at:445
 # Category starts at test group 175.
-at_banner_text_27="Removing files after archiving"
-# Banner 28. testsuite.at:456
-# Category starts at test group 197.
-at_banner_text_28="Extended attributes"
-# Banner 29. testsuite.at:474
-# Category starts at test group 210.
-at_banner_text_29="One top level"
-# Banner 30. testsuite.at:481
-# Category starts at test group 215.
-at_banner_text_30="Star tests"
+at_banner_text_26="Updates"
+# Banner 27. testsuite.at:451
+# Category starts at test group 179.
+at_banner_text_27="Verifying the archive"
+# Banner 28. testsuite.at:454
+# Category starts at test group 180.
+at_banner_text_28="Volume operations"
+# Banner 29. testsuite.at:458
+# Category starts at test group 182.
+at_banner_text_29=""
+# Banner 30. testsuite.at:468
+# Category starts at test group 189.
+at_banner_text_30="Removing files after archiving"
+# Banner 31. testsuite.at:492
+# Category starts at test group 211.
+at_banner_text_31="Extended attributes"
+# Banner 32. testsuite.at:510
+# Category starts at test group 224.
+at_banner_text_32="One top level"
+# Banner 33. testsuite.at:517
+# Category starts at test group 229.
+at_banner_text_33="Star tests"
 
 # Take any -C into account.
 if $at_change_dir ; then
@@ -1430,11 +1453,11 @@ exec 5>>"$at_suite_log"
 
 # Banners and logs.
 $as_echo "## ------------------------ ##
-## GNU tar 1.30 test suite. ##
+## GNU tar 1.32 test suite. ##
 ## ------------------------ ##"
 {
   $as_echo "## ------------------------ ##
-## GNU tar 1.30 test suite. ##
+## GNU tar 1.32 test suite. ##
 ## ------------------------ ##"
   echo
 
@@ -1679,7 +1702,7 @@ IFS=$as_save_IFS
   esac
   if test -f "$at_program_"; then
     {
-      $as_echo "$at_srcdir/testsuite.at:197: $at_program_ --version"
+      $as_echo "$at_srcdir/testsuite.at:199: $at_program_ --version"
       "$at_program_" --version </dev/null
       echo
     } >&5 2>&1
@@ -2278,7 +2301,7 @@ _ASBOX
   $as_echo "Please send $at_msg and all information you think might help:
 
    To: <bug-tar@gnu.org>
-   Subject: [GNU tar 1.30] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+   Subject: [GNU tar 1.32] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
 
 You may investigate any problem if you feel able to do so, in which
 case the test suite provides a good starting point.  Its output may
@@ -2293,7 +2316,7 @@ exit 0
 ## Actual tests. ##
 ## ------------- ##
 #AT_START_1
-at_fn_group_banner 1 'version.at:20' \
+at_fn_group_banner 1 'version.at:19' \
   "tar version" "                                    "
 at_xfail=no
 (
@@ -2302,17 +2325,17 @@ at_xfail=no
 
 
 { set +x
-$as_echo "$at_srcdir/version.at:22: tar --version | sed 1q"
-at_fn_check_prepare_notrace 'a shell pipeline' "version.at:22"
+$as_echo "$at_srcdir/version.at:21: tar --version | sed 1q"
+at_fn_check_prepare_notrace 'a shell pipeline' "version.at:21"
 ( $at_check_trace; tar --version | sed 1q
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.30
+echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.32
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/version.at:22"
+at_fn_check_status 0 $at_status "$at_srcdir/version.at:21"
 if $at_failed; then :
   cat >$XFAILFILE <<'_EOT'
 
@@ -2334,7 +2357,7 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_1
 #AT_START_2
-at_fn_group_banner 2 'pipe.at:30' \
+at_fn_group_banner 2 'pipe.at:29' \
   "decompressing from stdin" "                       "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
@@ -2348,7 +2371,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/pipe.at:34:
+$as_echo "$at_srcdir/pipe.at:33:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -2371,7 +2394,7 @@ echo \"separator\"
 cmp orig/file1 directory/file1
 echo \"separator\"
 cmp orig/file2 directory/file2)"
-at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:34"
+at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -2406,12 +2429,12 @@ separator
 separator
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/pipe.at:34:
+$as_echo "$at_srcdir/pipe.at:33:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -2434,7 +2457,7 @@ echo \"separator\"
 cmp orig/file1 directory/file1
 echo \"separator\"
 cmp orig/file2 directory/file2)"
-at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:34"
+at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -2469,12 +2492,12 @@ separator
 separator
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/pipe.at:34:
+$as_echo "$at_srcdir/pipe.at:33:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -2497,7 +2520,7 @@ echo \"separator\"
 cmp orig/file1 directory/file1
 echo \"separator\"
 cmp orig/file2 directory/file2)"
-at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:34"
+at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -2532,12 +2555,12 @@ separator
 separator
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/pipe.at:34:
+$as_echo "$at_srcdir/pipe.at:33:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -2560,7 +2583,7 @@ echo \"separator\"
 cmp orig/file1 directory/file1
 echo \"separator\"
 cmp orig/file2 directory/file2)"
-at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:34"
+at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -2595,12 +2618,12 @@ separator
 separator
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/pipe.at:34:
+$as_echo "$at_srcdir/pipe.at:33:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -2623,7 +2646,7 @@ echo \"separator\"
 cmp orig/file1 directory/file1
 echo \"separator\"
 cmp orig/file2 directory/file2)"
-at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:34"
+at_fn_check_prepare_notrace 'a `...` command substitution' "pipe.at:33"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -2658,7 +2681,7 @@ separator
 separator
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/pipe.at:33"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -2671,8 +2694,8 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_2
 #AT_START_3
-at_fn_group_banner 3 'options.at:25' \
-  "mixing options" "                                 "
+at_fn_group_banner 3 'options.at:24' \
+  "mixing options" "                                 " 1
 at_xfail=no
 (
   $as_echo "3. $at_setup_line: testing $at_desc ..."
@@ -2681,12 +2704,12 @@ at_xfail=no
 
 
 { set +x
-$as_echo "$at_srcdir/options.at:28:
+$as_echo "$at_srcdir/options.at:27:
 echo > file1
 TAR_OPTIONS=--numeric-owner tar chof archive file1
 tar tf archive
 "
-at_fn_check_prepare_notrace 'an embedded newline' "options.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "options.at:27"
 ( $at_check_trace;
 echo > file1
 TAR_OPTIONS=--numeric-owner tar chof archive file1
@@ -2699,7 +2722,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/options.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/options.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -2710,8 +2733,8 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_3
 #AT_START_4
-at_fn_group_banner 4 'options02.at:27' \
-  "interspersed options" "                           "
+at_fn_group_banner 4 'options02.at:26' \
+  "interspersed options" "                           " 1
 at_xfail=no
 (
   $as_echo "4. $at_setup_line: testing $at_desc ..."
@@ -2720,12 +2743,12 @@ at_xfail=no
 
 
 { set +x
-$as_echo "$at_srcdir/options02.at:30:
+$as_echo "$at_srcdir/options02.at:29:
 echo > file1
 tar c file1 -f archive
 tar tf archive
 "
-at_fn_check_prepare_notrace 'an embedded newline' "options02.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "options02.at:29"
 ( $at_check_trace;
 echo > file1
 tar c file1 -f archive
@@ -2738,7 +2761,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/options02.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/options02.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -2750,7 +2773,7 @@ read at_status <"$at_status_file"
 #AT_STOP_4
 #AT_START_5
 at_fn_group_banner 5 'options03.at:21' \
-  "TAR_OPTIONS with string arguments" "              "
+  "TAR_OPTIONS with string arguments" "              " 1
 at_xfail=no
 (
   $as_echo "5. $at_setup_line: testing $at_desc ..."
@@ -2803,7 +2826,7 @@ read at_status <"$at_status_file"
 #AT_STOP_5
 #AT_START_6
 at_fn_group_banner 6 'opcomp01.at:21' \
-  "occurrence compatibility" "                       " 1
+  "occurrence compatibility" "                       " 2
 at_xfail=no
 (
   $as_echo "6. $at_setup_line: testing $at_desc ..."
@@ -2839,7 +2862,7 @@ read at_status <"$at_status_file"
 #AT_STOP_6
 #AT_START_7
 at_fn_group_banner 7 'opcomp02.at:21' \
-  "occurrence compatibility" "                       " 1
+  "occurrence compatibility" "                       " 2
 at_xfail=no
 (
   $as_echo "7. $at_setup_line: testing $at_desc ..."
@@ -2875,7 +2898,7 @@ read at_status <"$at_status_file"
 #AT_STOP_7
 #AT_START_8
 at_fn_group_banner 8 'opcomp03.at:21' \
-  "--verify compatibility" "                         " 1
+  "--verify compatibility" "                         " 2
 at_xfail=no
 (
   $as_echo "8. $at_setup_line: testing $at_desc ..."
@@ -2911,7 +2934,7 @@ read at_status <"$at_status_file"
 #AT_STOP_8
 #AT_START_9
 at_fn_group_banner 9 'opcomp04.at:21' \
-  "compress option compatibility" "                  " 1
+  "compress option compatibility" "                  " 2
 at_xfail=no
 (
   $as_echo "9. $at_setup_line: testing $at_desc ..."
@@ -2959,7 +2982,7 @@ read at_status <"$at_status_file"
 #AT_STOP_9
 #AT_START_10
 at_fn_group_banner 10 'opcomp05.at:21' \
-  "--pax-option compatibility" "                     " 1
+  "--pax-option compatibility" "                     " 2
 at_xfail=no
 (
   $as_echo "10. $at_setup_line: testing $at_desc ..."
@@ -2995,7 +3018,7 @@ read at_status <"$at_status_file"
 #AT_STOP_10
 #AT_START_11
 at_fn_group_banner 11 'opcomp06.at:21' \
-  "--pax-option compatibility" "                     " 1
+  "--pax-option compatibility" "                     " 2
 at_xfail=no
 (
   $as_echo "11. $at_setup_line: testing $at_desc ..."
@@ -3080,14 +3103,802 @@ $at_traceon; }
 read at_status <"$at_status_file"
 #AT_STOP_11
 #AT_START_12
-at_fn_group_banner 12 'positional01.at:21' \
-  "Exclude" "                                        " 2
+at_fn_group_banner 12 'defaults.at:16' \
+  "checkpoint defaults" "                            " 3
 at_xfail=no
 (
   $as_echo "12. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
+{ set +x
+$as_echo "$at_srcdir/defaults.at:18:
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file \$i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint -c -f ../a.tar .
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "defaults.at:18"
+( $at_check_trace;
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file $i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint -c -f ../a.tar .
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: Write checkpoint 10
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/defaults.at:18"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_12
+#AT_START_13
+at_fn_group_banner 13 'interval.at:16' \
+  "checkpoint interval" "                            " 3
+at_xfail=no
+(
+  $as_echo "13. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/interval.at:18:
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file \$i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint=2 -c -f ../a.tar .
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "interval.at:18"
+( $at_check_trace;
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file $i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint=2 -c -f ../a.tar .
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: Write checkpoint 2
+tar: Write checkpoint 4
+tar: Write checkpoint 6
+tar: Write checkpoint 8
+tar: Write checkpoint 10
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/interval.at:18"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_13
+#AT_START_14
+at_fn_group_banner 14 'dot.at:16' \
+  "dot action" "                                     " 3
+at_xfail=no
+(
+  $as_echo "14. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/dot.at:18:
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file \$i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint-action=dot -c -f ../a.tar .
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "dot.at:18"
+( $at_check_trace;
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file $i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint-action=dot -c -f ../a.tar .
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "." | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/dot.at:18"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_14
+#AT_START_15
+at_fn_group_banner 15 'dot-compat.at:16' \
+  "dot action (compatibility syntax)" "              " 3
+at_xfail=no
+(
+  $as_echo "15. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/dot-compat.at:18:
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file \$i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint=.2 -c -f ../a.tar .
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "dot-compat.at:18"
+( $at_check_trace;
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file $i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint=.2 -c -f ../a.tar .
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "....." | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/dot-compat.at:18"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_15
+#AT_START_16
+at_fn_group_banner 16 'dot-int.at:16' \
+  "dot action and interval" "                        " 3
+at_xfail=no
+(
+  $as_echo "16. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/dot-int.at:18:
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file \$i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint-action=dot --checkpoint=2 -c -f ../a.tar .
+
+"
+at_fn_check_prepare_notrace 'an embedded newline' "dot-int.at:18"
+( $at_check_trace;
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file $i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+
+tar --checkpoint-action=dot --checkpoint=2 -c -f ../a.tar .
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "....." | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/dot-int.at:18"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_16
+#AT_START_17
+at_fn_group_banner 17 'testsuite.at:242' \
+  "compress: gzip" "                                 " 4
+at_xfail=no
+(
+  $as_echo "17. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite.at:242:
+
+cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --gzip
+tar --gzip -cf k.tar.gz empty
+tar tf k.tar.gz
+
+
+echo testing .gz
+tar -acf k2.tar.gz empty
+cat k2.tar.gz | gzip -d > k.gz.tar
+tar tf k.gz.tar
+
+echo testing .tgz
+tar -acf k2.tar.tgz empty
+cat k2.tar.tgz | gzip -d > k.tgz.tar
+tar tf k.tgz.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.gz
+test -f empty
+"
+at_fn_check_prepare_notrace 'an embedded newline' "testsuite.at:242"
+( $at_check_trace;
+
+cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --gzip
+tar --gzip -cf k.tar.gz empty
+tar tf k.tar.gz
+
+
+echo testing .gz
+tar -acf k2.tar.gz empty
+cat k2.tar.gz | gzip -d > k.gz.tar
+tar tf k.gz.tar
+
+echo testing .tgz
+tar -acf k2.tar.tgz empty
+cat k2.tar.tgz | gzip -d > k.tgz.tar
+tar tf k.tgz.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.gz
+test -f empty
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "empty
+testing .gz
+empty
+testing .tgz
+empty
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:242"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_17
+#AT_START_18
+at_fn_group_banner 18 'testsuite.at:243' \
+  "compress: bzip2" "                                " 4
+at_xfail=no
+(
+  $as_echo "18. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite.at:243:
+
+cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --bzip2
+tar --bzip2 -cf k.tar.bz2 empty
+tar tf k.tar.bz2
+
+
+echo testing .bz2
+tar -acf k2.tar.bz2 empty
+cat k2.tar.bz2 | bzip2 -d > k.bz2.tar
+tar tf k.bz2.tar
+
+echo testing .tbz2
+tar -acf k2.tar.tbz2 empty
+cat k2.tar.tbz2 | bzip2 -d > k.tbz2.tar
+tar tf k.tbz2.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.bz2
+test -f empty
+"
+at_fn_check_prepare_notrace 'an embedded newline' "testsuite.at:243"
+( $at_check_trace;
+
+cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --bzip2
+tar --bzip2 -cf k.tar.bz2 empty
+tar tf k.tar.bz2
+
+
+echo testing .bz2
+tar -acf k2.tar.bz2 empty
+cat k2.tar.bz2 | bzip2 -d > k.bz2.tar
+tar tf k.bz2.tar
+
+echo testing .tbz2
+tar -acf k2.tar.tbz2 empty
+cat k2.tar.tbz2 | bzip2 -d > k.tbz2.tar
+tar tf k.tbz2.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.bz2
+test -f empty
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "empty
+testing .bz2
+empty
+testing .tbz2
+empty
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:243"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_18
+#AT_START_19
+at_fn_group_banner 19 'testsuite.at:244' \
+  "compress: xz" "                                   " 4
+at_xfail=no
+(
+  $as_echo "19. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite.at:244:
+
+cat /dev/null | xz - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --xz
+tar --xz -cf k.tar.xz empty
+tar tf k.tar.xz
+
+
+echo testing .xz
+tar -acf k2.tar.xz empty
+cat k2.tar.xz | xz -d > k.xz.tar
+tar tf k.xz.tar
+
+echo testing .txz
+tar -acf k2.tar.txz empty
+cat k2.tar.txz | xz -d > k.txz.tar
+tar tf k.txz.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.xz
+test -f empty
+"
+at_fn_check_prepare_notrace 'an embedded newline' "testsuite.at:244"
+( $at_check_trace;
+
+cat /dev/null | xz - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --xz
+tar --xz -cf k.tar.xz empty
+tar tf k.tar.xz
+
+
+echo testing .xz
+tar -acf k2.tar.xz empty
+cat k2.tar.xz | xz -d > k.xz.tar
+tar tf k.xz.tar
+
+echo testing .txz
+tar -acf k2.tar.txz empty
+cat k2.tar.txz | xz -d > k.txz.tar
+tar tf k.txz.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.xz
+test -f empty
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "empty
+testing .xz
+empty
+testing .txz
+empty
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:244"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_19
+#AT_START_20
+at_fn_group_banner 20 'testsuite.at:246' \
+  "compress: lzip" "                                 " 4
+at_xfail=no
+(
+  $as_echo "20. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite.at:246:
+
+cat /dev/null | lzip - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --lzip
+tar --lzip -cf k.tar.lz empty
+tar tf k.tar.lz
+
+
+echo testing .lz
+tar -acf k2.tar.lz empty
+cat k2.tar.lz | lzip -d > k.lz.tar
+tar tf k.lz.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.lz
+test -f empty
+"
+at_fn_check_prepare_notrace 'an embedded newline' "testsuite.at:246"
+( $at_check_trace;
+
+cat /dev/null | lzip - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --lzip
+tar --lzip -cf k.tar.lz empty
+tar tf k.tar.lz
+
+
+echo testing .lz
+tar -acf k2.tar.lz empty
+cat k2.tar.lz | lzip -d > k.lz.tar
+tar tf k.lz.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.lz
+test -f empty
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "empty
+testing .lz
+empty
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:246"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_20
+#AT_START_21
+at_fn_group_banner 21 'testsuite.at:247' \
+  "compress: lzop" "                                 " 4
+at_xfail=no
+(
+  $as_echo "21. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite.at:247:
+
+cat /dev/null | lzop - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --lzop
+tar --lzop -cf k.tar.lzo empty
+tar tf k.tar.lzo
+
+
+echo testing .lzo
+tar -acf k2.tar.lzo empty
+cat k2.tar.lzo | lzop -d > k.lzo.tar
+tar tf k.lzo.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.lzo
+test -f empty
+"
+at_fn_check_prepare_notrace 'an embedded newline' "testsuite.at:247"
+( $at_check_trace;
+
+cat /dev/null | lzop - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --lzop
+tar --lzop -cf k.tar.lzo empty
+tar tf k.tar.lzo
+
+
+echo testing .lzo
+tar -acf k2.tar.lzo empty
+cat k2.tar.lzo | lzop -d > k.lzo.tar
+tar tf k.lzo.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.lzo
+test -f empty
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "empty
+testing .lzo
+empty
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:247"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_21
+#AT_START_22
+at_fn_group_banner 22 'testsuite.at:248' \
+  "compress: zstd" "                                 " 4
+at_xfail=no
+(
+  $as_echo "22. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/testsuite.at:248:
+
+cat /dev/null | zstd - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --zstd
+tar --zstd -cf k.tar.zst empty
+tar tf k.tar.zst
+
+
+echo testing .zst
+tar -acf k2.tar.zst empty
+cat k2.tar.zst | zstd -d > k.zst.tar
+tar tf k.zst.tar
+
+echo testing .tzst
+tar -acf k2.tar.tzst empty
+cat k2.tar.tzst | zstd -d > k.tzst.tar
+tar tf k.tzst.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.zst
+test -f empty
+"
+at_fn_check_prepare_notrace 'an embedded newline' "testsuite.at:248"
+( $at_check_trace;
+
+cat /dev/null | zstd - > /dev/null 2>&1 || exit 77
+
+unset TAR_OPTIONS
+
+touch empty
+set -e
+: create with --zstd
+tar --zstd -cf k.tar.zst empty
+tar tf k.tar.zst
+
+
+echo testing .zst
+tar -acf k2.tar.zst empty
+cat k2.tar.zst | zstd -d > k.zst.tar
+tar tf k.zst.tar
+
+echo testing .tzst
+tar -acf k2.tar.tzst empty
+cat k2.tar.tzst | zstd -d > k.tzst.tar
+tar tf k.tzst.tar
+
+
+# Extraction: ensure compressed format is correctly recognized
+rm -f empty
+tar xf k.tar.zst
+test -f empty
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "empty
+testing .zst
+empty
+testing .tzst
+empty
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:248"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_22
+#AT_START_23
+at_fn_group_banner 23 'positional01.at:21' \
+  "Exclude" "                                        " 5
+at_xfail=no
+(
+  $as_echo "23. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
 
 { set +x
 $as_echo "$at_srcdir/positional01.at:24:
@@ -3149,13 +3960,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_12
-#AT_START_13
-at_fn_group_banner 13 'positional02.at:21' \
-  "Directory" "                                      " 2
+#AT_STOP_23
+#AT_START_24
+at_fn_group_banner 24 'positional02.at:21' \
+  "Directory" "                                      " 5
 at_xfail=no
 (
-  $as_echo "13. $at_setup_line: testing $at_desc ..."
+  $as_echo "24. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -3213,13 +4024,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_13
-#AT_START_14
-at_fn_group_banner 14 'positional03.at:21' \
-  "Several options" "                                " 2
+#AT_STOP_24
+#AT_START_25
+at_fn_group_banner 25 'positional03.at:21' \
+  "Several options" "                                " 5
 at_xfail=no
 (
-  $as_echo "14. $at_setup_line: testing $at_desc ..."
+  $as_echo "25. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -3274,14 +4085,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_14
-#AT_START_15
-at_fn_group_banner 15 'add-file.at:21' \
-  "The --add-file option" "                          " 2
+#AT_STOP_25
+#AT_START_26
+at_fn_group_banner 26 'add-file.at:21' \
+  "The --add-file option" "                          " 5
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "15. $at_setup_line: testing $at_desc ..."
+  $as_echo "26. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -3719,14 +4530,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_15
-#AT_START_16
-at_fn_group_banner 16 'T-mult.at:21' \
-  "multiple file lists" "                            " 3
+#AT_STOP_26
+#AT_START_27
+at_fn_group_banner 27 'T-mult.at:21' \
+  "multiple file lists" "                            " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "16. $at_setup_line: testing $at_desc ..."
+  $as_echo "27. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -3808,14 +4619,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_16
-#AT_START_17
-at_fn_group_banner 17 'T-nest.at:21' \
-  "nested file lists" "                              " 3
+#AT_STOP_27
+#AT_START_28
+at_fn_group_banner 28 'T-nest.at:21' \
+  "nested file lists" "                              " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "17. $at_setup_line: testing $at_desc ..."
+  $as_echo "28. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -3899,14 +4710,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_17
-#AT_START_18
-at_fn_group_banner 18 'T-rec.at:21' \
-  "recursive file lists" "                           " 3
+#AT_STOP_28
+#AT_START_29
+at_fn_group_banner 29 'T-rec.at:21' \
+  "recursive file lists" "                           " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "18. $at_setup_line: testing $at_desc ..."
+  $as_echo "29. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -3988,14 +4799,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_18
-#AT_START_19
-at_fn_group_banner 19 'T-recurse.at:27' \
-  "files-from & recurse: toggle" "                   " 3
+#AT_STOP_29
+#AT_START_30
+at_fn_group_banner 30 'T-recurse.at:27' \
+  "files-from & recurse: toggle" "                   " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "19. $at_setup_line: testing $at_desc ..."
+  $as_echo "30. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4479,14 +5290,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_19
-#AT_START_20
-at_fn_group_banner 20 'T-recurse.at:66' \
-  "toggle --recursion (not) from -T" "               " 3
+#AT_STOP_30
+#AT_START_31
+at_fn_group_banner 31 'T-recurse.at:66' \
+  "toggle --recursion (not) from -T" "               " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "20. $at_setup_line: testing $at_desc ..."
+  $as_echo "31. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4845,14 +5656,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_20
-#AT_START_21
-at_fn_group_banner 21 'T-cd.at:21' \
-  "-C in file lists" "                               " 3
+#AT_STOP_31
+#AT_START_32
+at_fn_group_banner 32 'T-cd.at:21' \
+  "-C in file lists" "                               " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "21. $at_setup_line: testing $at_desc ..."
+  $as_echo "32. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4932,14 +5743,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_21
-#AT_START_22
-at_fn_group_banner 22 'T-empty.at:27' \
-  "empty entries" "                                  " 3
+#AT_STOP_32
+#AT_START_33
+at_fn_group_banner 33 'T-empty.at:26' \
+  "empty entries" "                                  " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "22. $at_setup_line: testing $at_desc ..."
+  $as_echo "33. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -4955,7 +5766,7 @@ _ATEOF
 
 
   { set +x
-$as_echo "$at_srcdir/T-empty.at:37:
+$as_echo "$at_srcdir/T-empty.at:36:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -4971,7 +5782,7 @@ genfile --file trzy
 
 tar cfvT archive ../file-list
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "T-empty.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "T-empty.at:36"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -4997,7 +5808,7 @@ dwa
 trzy
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/T-empty.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/T-empty.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -5008,14 +5819,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_22
-#AT_START_23
-at_fn_group_banner 23 'T-null.at:22' \
-  "0-separated file without -0" "                    " 3
+#AT_STOP_33
+#AT_START_34
+at_fn_group_banner 34 'T-null.at:21' \
+  "0-separated file without -0" "                    " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "23. $at_setup_line: testing $at_desc ..."
+  $as_echo "34. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5023,7 +5834,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/T-null.at:25:
+$as_echo "$at_srcdir/T-null.at:24:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -5047,7 +5858,7 @@ genfile -f trzy
 
 tar cfTv archive file-list
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "T-null.at:25"
+at_fn_check_prepare_notrace 'a `...` command substitution' "T-null.at:24"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -5083,7 +5894,7 @@ dwa
 trzy
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/T-null.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/T-null.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -5094,14 +5905,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_23
-#AT_START_24
-at_fn_group_banner 24 'T-null2.at:17' \
-  "--null enables verbatim reading" "                " 3
+#AT_STOP_34
+#AT_START_35
+at_fn_group_banner 35 'T-null2.at:17' \
+  "--null enables verbatim reading" "                " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "24. $at_setup_line: testing $at_desc ..."
+  $as_echo "35. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5183,14 +5994,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_24
-#AT_START_25
-at_fn_group_banner 25 'T-zfile.at:26' \
-  "empty file" "                                     " 3
+#AT_STOP_35
+#AT_START_36
+at_fn_group_banner 36 'T-zfile.at:26' \
+  "empty file" "                                     " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "25. $at_setup_line: testing $at_desc ..."
+  $as_echo "36. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5269,14 +6080,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_25
-#AT_START_26
-at_fn_group_banner 26 'T-nonl.at:27' \
-  "entries with missing newlines" "                  " 3
+#AT_STOP_36
+#AT_START_37
+at_fn_group_banner 37 'T-nonl.at:27' \
+  "entries with missing newlines" "                  " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "26. $at_setup_line: testing $at_desc ..."
+  $as_echo "37. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5294,9 +6105,8 @@ export TAR_OPTIONS
 rm -rf *
 
 genfile --length=0 --file empty
-\$as_echo_n c > 1.nonl
-echo d > 2.nonl
-\$as_echo_n e >> 2.nonl
+printf c > 1.nonl
+printf 'd\\ne' > 2.nonl
 touch a b c d e
 cat >filelist <<'_ATEOF'
 a
@@ -5321,9 +6131,8 @@ export TAR_OPTIONS
 rm -rf *
 
 genfile --length=0 --file empty
-$as_echo_n c > 1.nonl
-echo d > 2.nonl
-$as_echo_n e >> 2.nonl
+printf c > 1.nonl
+printf 'd\ne' > 2.nonl
 touch a b c d e
 cat >filelist <<'_ATEOF'
 a
@@ -5365,14 +6174,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_26
-#AT_START_27
-at_fn_group_banner 27 'T-dir00.at:28' \
-  "recursive extraction from --files-from" "         " 3
+#AT_STOP_37
+#AT_START_38
+at_fn_group_banner 38 'T-dir00.at:28' \
+  "recursive extraction from --files-from" "         " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "27. $at_setup_line: testing $at_desc ..."
+  $as_echo "38. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5659,14 +6468,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_27
-#AT_START_28
-at_fn_group_banner 28 'T-dir01.at:28' \
-  "trailing slash in --files-from" "                 " 3
+#AT_STOP_38
+#AT_START_39
+at_fn_group_banner 39 'T-dir01.at:28' \
+  "trailing slash in --files-from" "                 " 6
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "28. $at_setup_line: testing $at_desc ..."
+  $as_echo "39. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5953,14 +6762,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_28
-#AT_START_29
-at_fn_group_banner 29 'indexfile.at:27' \
-  "tar --index-file=FILE --file=-" "                 " 4
+#AT_STOP_39
+#AT_START_40
+at_fn_group_banner 40 'indexfile.at:26' \
+  "tar --index-file=FILE --file=-" "                 " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "29. $at_setup_line: testing $at_desc ..."
+  $as_echo "40. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -5968,7 +6777,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/indexfile.at:30:
+$as_echo "$at_srcdir/indexfile.at:29:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -5987,7 +6796,7 @@ tar -c -v -f - --index-file=idx directory > archive
 echo \"Testing the archive\"
 tar -tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -6017,12 +6826,12 @@ directory/
 directory/a
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/indexfile.at:30:
+$as_echo "$at_srcdir/indexfile.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -6041,7 +6850,7 @@ tar -c -v -f - --index-file=idx directory > archive
 echo \"Testing the archive\"
 tar -tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -6071,12 +6880,12 @@ directory/
 directory/a
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/indexfile.at:30:
+$as_echo "$at_srcdir/indexfile.at:29:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -6095,7 +6904,7 @@ tar -c -v -f - --index-file=idx directory > archive
 echo \"Testing the archive\"
 tar -tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -6125,12 +6934,12 @@ directory/
 directory/a
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/indexfile.at:30:
+$as_echo "$at_srcdir/indexfile.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -6149,7 +6958,7 @@ tar -c -v -f - --index-file=idx directory > archive
 echo \"Testing the archive\"
 tar -tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -6179,12 +6988,12 @@ directory/
 directory/a
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/indexfile.at:30:
+$as_echo "$at_srcdir/indexfile.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -6203,7 +7012,7 @@ tar -c -v -f - --index-file=idx directory > archive
 echo \"Testing the archive\"
 tar -tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "indexfile.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -6233,7 +7042,7 @@ directory/
 directory/a
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/indexfile.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -6244,14 +7053,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_29
-#AT_START_30
-at_fn_group_banner 30 'verbose.at:27' \
-  "tar cvf -" "                                      " 4
+#AT_STOP_40
+#AT_START_41
+at_fn_group_banner 41 'verbose.at:26' \
+  "tar cvf -" "                                      " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "30. $at_setup_line: testing $at_desc ..."
+  $as_echo "41. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -6259,7 +7068,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/verbose.at:30:
+$as_echo "$at_srcdir/verbose.at:29:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -6274,7 +7083,7 @@ tar cvf - file > archive
 echo Testing the archive
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -6301,12 +7110,12 @@ Testing the archive
 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/verbose.at:30:
+$as_echo "$at_srcdir/verbose.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -6321,7 +7130,7 @@ tar cvf - file > archive
 echo Testing the archive
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -6348,12 +7157,12 @@ Testing the archive
 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/verbose.at:30:
+$as_echo "$at_srcdir/verbose.at:29:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -6368,7 +7177,7 @@ tar cvf - file > archive
 echo Testing the archive
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -6395,12 +7204,12 @@ Testing the archive
 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/verbose.at:30:
+$as_echo "$at_srcdir/verbose.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -6415,7 +7224,7 @@ tar cvf - file > archive
 echo Testing the archive
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -6442,12 +7251,12 @@ Testing the archive
 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/verbose.at:30:
+$as_echo "$at_srcdir/verbose.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -6462,7 +7271,7 @@ tar cvf - file > archive
 echo Testing the archive
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "verbose.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -6489,7 +7298,7 @@ Testing the archive
 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/verbose.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -6500,13 +7309,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_30
-#AT_START_31
-at_fn_group_banner 31 'gzip.at:24' \
-  "gzip" "                                           " 4
+#AT_STOP_41
+#AT_START_42
+at_fn_group_banner 42 'gzip.at:23' \
+  "gzip" "                                           " 7
 at_xfail=no
 (
-  $as_echo "31. $at_setup_line: testing $at_desc ..."
+  $as_echo "42. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -6514,7 +7323,7 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/gzip.at:29:
+$as_echo "$at_srcdir/gzip.at:28:
 
 cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
 
@@ -6523,7 +7332,7 @@ RC=\$?
 sed -n '/^tar:/p' err >&2
 exit \$RC
 "
-at_fn_check_prepare_notrace 'an embedded newline' "gzip.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "gzip.at:28"
 ( $at_check_trace;
 
 cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
@@ -6541,7 +7350,7 @@ tar: Error is not recoverable: exiting now
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 2 $at_status "$at_srcdir/gzip.at:29"
+at_fn_check_status 2 $at_status "$at_srcdir/gzip.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -6550,14 +7359,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_31
-#AT_START_32
-at_fn_group_banner 32 'recurse.at:22' \
-  "recurse" "                                        " 4
+#AT_STOP_42
+#AT_START_43
+at_fn_group_banner 43 'recurse.at:21' \
+  "recurse" "                                        " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "32. $at_setup_line: testing $at_desc ..."
+  $as_echo "43. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -6565,7 +7374,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/recurse.at:25:
+$as_echo "$at_srcdir/recurse.at:24:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -6579,7 +7388,7 @@ touch directory/file
 tar --create --file archive --no-recursion directory || exit 1
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -6601,12 +7410,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/recurse.at:25:
+$as_echo "$at_srcdir/recurse.at:24:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -6620,7 +7429,7 @@ touch directory/file
 tar --create --file archive --no-recursion directory || exit 1
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -6642,12 +7451,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/recurse.at:25:
+$as_echo "$at_srcdir/recurse.at:24:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -6661,7 +7470,7 @@ touch directory/file
 tar --create --file archive --no-recursion directory || exit 1
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -6683,12 +7492,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/recurse.at:25:
+$as_echo "$at_srcdir/recurse.at:24:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -6702,7 +7511,7 @@ touch directory/file
 tar --create --file archive --no-recursion directory || exit 1
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -6724,12 +7533,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/recurse.at:25:
+$as_echo "$at_srcdir/recurse.at:24:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -6743,7 +7552,7 @@ touch directory/file
 tar --create --file archive --no-recursion directory || exit 1
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "recurse.at:24"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -6765,7 +7574,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/recurse.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -6776,14 +7585,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_32
-#AT_START_33
-at_fn_group_banner 33 'recurs02.at:30' \
-  "recurse: toggle" "                                " 4
+#AT_STOP_43
+#AT_START_44
+at_fn_group_banner 44 'recurs02.at:30' \
+  "recurse: toggle" "                                " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "33. $at_setup_line: testing $at_desc ..."
+  $as_echo "44. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -7087,14 +7896,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_33
-#AT_START_34
-at_fn_group_banner 34 'shortrec.at:26' \
-  "short records" "                                  " 4
+#AT_STOP_44
+#AT_START_45
+at_fn_group_banner 45 'shortrec.at:25' \
+  "short records" "                                  " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "34. $at_setup_line: testing $at_desc ..."
+  $as_echo "45. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -7102,7 +7911,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/shortrec.at:29:
+$as_echo "$at_srcdir/shortrec.at:28:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -7120,7 +7929,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -7144,12 +7953,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/shortrec.at:29:
+$as_echo "$at_srcdir/shortrec.at:28:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -7167,7 +7976,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -7191,12 +8000,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/shortrec.at:29:
+$as_echo "$at_srcdir/shortrec.at:28:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -7214,7 +8023,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -7238,12 +8047,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/shortrec.at:29:
+$as_echo "$at_srcdir/shortrec.at:28:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -7261,7 +8070,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -7285,12 +8094,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/shortrec.at:29:
+$as_echo "$at_srcdir/shortrec.at:28:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -7308,7 +8117,7 @@ tar -t -f - < archive > /dev/null
 
 rm -r directory
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "shortrec.at:28"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -7332,7 +8141,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/shortrec.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -7343,14 +8152,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_34
-#AT_START_35
-at_fn_group_banner 35 'numeric.at:18' \
-  "--numeric-owner basic tests" "                    " 4
+#AT_STOP_45
+#AT_START_46
+at_fn_group_banner 46 'numeric.at:18' \
+  "--numeric-owner basic tests" "                    " 7
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "35. $at_setup_line: testing $at_desc ..."
+  $as_echo "46. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -7369,14 +8178,17 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
-mkdir dir
-genfile --file dir/file
-
 MYUID=\$(id -u) || exit 77
 MYGID=\$(id -g) || exit 77
 MYUSR=\$(id -un) || exit 77
 MYGRP=\$(id -gn) || exit 77
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :\$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 
 decho --create
 tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
@@ -7408,14 +8220,17 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
-mkdir dir
-genfile --file dir/file
-
 MYUID=$(id -u) || exit 77
 MYGID=$(id -g) || exit 77
 MYUSR=$(id -un) || exit 77
 MYGRP=$(id -gn) || exit 77
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 
 decho --create
 tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
@@ -7482,14 +8297,17 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
-mkdir dir
-genfile --file dir/file
-
 MYUID=\$(id -u) || exit 77
 MYGID=\$(id -g) || exit 77
 MYUSR=\$(id -un) || exit 77
 MYGRP=\$(id -gn) || exit 77
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :\$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 
 decho --create
 tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
@@ -7521,14 +8339,17 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
-mkdir dir
-genfile --file dir/file
-
 MYUID=$(id -u) || exit 77
 MYGID=$(id -g) || exit 77
 MYUSR=$(id -un) || exit 77
 MYGRP=$(id -gn) || exit 77
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 
 decho --create
 tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
@@ -7595,14 +8416,17 @@ TAR_OPTIONS=\"-H ustar\"
 export TAR_OPTIONS
 rm -rf *
 
-mkdir dir
-genfile --file dir/file
-
 MYUID=\$(id -u) || exit 77
 MYGID=\$(id -g) || exit 77
 MYUSR=\$(id -un) || exit 77
 MYGRP=\$(id -gn) || exit 77
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :\$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 
 decho --create
 tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
@@ -7634,14 +8458,17 @@ TAR_OPTIONS="-H ustar"
 export TAR_OPTIONS
 rm -rf *
 
-mkdir dir
-genfile --file dir/file
-
 MYUID=$(id -u) || exit 77
 MYGID=$(id -g) || exit 77
 MYUSR=$(id -un) || exit 77
 MYGRP=$(id -gn) || exit 77
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 
 decho --create
 tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
@@ -7708,14 +8535,17 @@ TAR_OPTIONS=\"-H oldgnu\"
 export TAR_OPTIONS
 rm -rf *
 
-mkdir dir
-genfile --file dir/file
-
 MYUID=\$(id -u) || exit 77
 MYGID=\$(id -g) || exit 77
 MYUSR=\$(id -un) || exit 77
 MYGRP=\$(id -gn) || exit 77
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :\$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 
 decho --create
 tar --create -vvf a dir --numeric-owner | awk '$2==\"'\"\$MYUID/\$MYGID\"'\" {print \"OK\"; next} {print}'
@@ -7747,14 +8577,17 @@ TAR_OPTIONS="-H oldgnu"
 export TAR_OPTIONS
 rm -rf *
 
-mkdir dir
-genfile --file dir/file
-
 MYUID=$(id -u) || exit 77
 MYGID=$(id -g) || exit 77
 MYUSR=$(id -un) || exit 77
 MYGRP=$(id -gn) || exit 77
 
+mkdir dir
+# Ensure correct group id on BSDs.
+chown :$MYGID dir >/dev/null 2>/dev/null
+genfile --file dir/file
+
+
 
 decho --create
 tar --create -vvf a dir --numeric-owner | awk '$2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
@@ -7818,14 +8651,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_35
-#AT_START_36
-at_fn_group_banner 36 'same-order01.at:27' \
-  "working -C with --same-order" "                   " 5
+#AT_STOP_46
+#AT_START_47
+at_fn_group_banner 47 'same-order01.at:26' \
+  "working -C with --same-order" "                   " 8
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "36. $at_setup_line: testing $at_desc ..."
+  $as_echo "47. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -7833,7 +8666,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/same-order01.at:30:
+$as_echo "$at_srcdir/same-order01.at:29:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -7855,7 +8688,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
 
 ls directory|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -7886,12 +8719,12 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order01.at:30:
+$as_echo "$at_srcdir/same-order01.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -7913,7 +8746,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
 
 ls directory|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -7944,12 +8777,12 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order01.at:30:
+$as_echo "$at_srcdir/same-order01.at:29:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -7971,7 +8804,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
 
 ls directory|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -8002,12 +8835,12 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order01.at:30:
+$as_echo "$at_srcdir/same-order01.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -8029,7 +8862,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
 
 ls directory|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -8060,12 +8893,12 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order01.at:30:
+$as_echo "$at_srcdir/same-order01.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -8087,7 +8920,7 @@ tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
 
 ls directory|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:30"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order01.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -8118,7 +8951,7 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order01.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -8129,14 +8962,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_36
-#AT_START_37
-at_fn_group_banner 37 'same-order02.at:26' \
-  "multiple -C options" "                            " 5
+#AT_STOP_47
+#AT_START_48
+at_fn_group_banner 48 'same-order02.at:25' \
+  "multiple -C options" "                            " 8
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "37. $at_setup_line: testing $at_desc ..."
+  $as_echo "48. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -8144,7 +8977,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/same-order02.at:29:
+$as_echo "$at_srcdir/same-order02.at:28:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -8169,7 +9002,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -8204,12 +9037,12 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order02.at:29:
+$as_echo "$at_srcdir/same-order02.at:28:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -8234,7 +9067,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -8269,12 +9102,12 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order02.at:29:
+$as_echo "$at_srcdir/same-order02.at:28:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -8299,7 +9132,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -8334,12 +9167,12 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order02.at:29:
+$as_echo "$at_srcdir/same-order02.at:28:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -8364,7 +9197,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -8399,12 +9232,12 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/same-order02.at:29:
+$as_echo "$at_srcdir/same-order02.at:28:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -8429,7 +9262,7 @@ ls en
 echo separator
 ls to
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:29"
+at_fn_check_prepare_notrace 'a `...` command substitution' "same-order02.at:28"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -8464,7 +9297,7 @@ separator
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/same-order02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -8475,14 +9308,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_37
-#AT_START_38
-at_fn_group_banner 38 'append.at:22' \
-  "append" "                                         " 6
+#AT_STOP_48
+#AT_START_49
+at_fn_group_banner 49 'append.at:21' \
+  "append" "                                         " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "38. $at_setup_line: testing $at_desc ..."
+  $as_echo "49. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -8490,7 +9323,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/append.at:25:
+$as_echo "$at_srcdir/append.at:24:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -8503,7 +9336,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -8525,12 +9358,12 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/append.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append.at:25:
+$as_echo "$at_srcdir/append.at:24:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -8543,7 +9376,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -8565,12 +9398,12 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/append.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append.at:25:
+$as_echo "$at_srcdir/append.at:24:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -8583,7 +9416,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -8605,12 +9438,12 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/append.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append.at:25:
+$as_echo "$at_srcdir/append.at:24:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -8623,7 +9456,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -8645,12 +9478,12 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/append.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append.at:25:
+$as_echo "$at_srcdir/append.at:24:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -8663,7 +9496,7 @@ touch file1
           tar cf archive file1
           tar rf archive file2
           tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "append.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "append.at:24"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -8685,7 +9518,7 @@ echo >>"$at_stdout"; $as_echo "file1
 file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/append.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -8696,14 +9529,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_38
-#AT_START_39
-at_fn_group_banner 39 'append01.at:30' \
-  "appending files with long names" "                " 6
+#AT_STOP_49
+#AT_START_50
+at_fn_group_banner 50 'append01.at:29' \
+  "appending files with long names" "                " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "39. $at_setup_line: testing $at_desc ..."
+  $as_echo "50. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -8713,7 +9546,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/append01.at:35:
+$as_echo "$at_srcdir/append01.at:34:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -8728,7 +9561,7 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr
 tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append01.at:35"
+at_fn_check_prepare_notrace 'an embedded newline' "append01.at:34"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -8752,12 +9585,12 @@ echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_desi
 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append01.at:35"
+at_fn_check_status 0 $at_status "$at_srcdir/append01.at:34"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append01.at:35:
+$as_echo "$at_srcdir/append01.at:34:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -8772,7 +9605,7 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr
 tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append01.at:35"
+at_fn_check_prepare_notrace 'an embedded newline' "append01.at:34"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -8796,12 +9629,12 @@ echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_desi
 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append01.at:35"
+at_fn_check_status 0 $at_status "$at_srcdir/append01.at:34"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append01.at:35:
+$as_echo "$at_srcdir/append01.at:34:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -8816,7 +9649,7 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr
 tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append01.at:35"
+at_fn_check_prepare_notrace 'an embedded newline' "append01.at:34"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -8840,12 +9673,12 @@ echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_desi
 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append01.at:35"
+at_fn_check_status 0 $at_status "$at_srcdir/append01.at:34"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append01.at:35:
+$as_echo "$at_srcdir/append01.at:34:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -8860,7 +9693,7 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr
 tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append01.at:35"
+at_fn_check_prepare_notrace 'an embedded newline' "append01.at:34"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -8884,7 +9717,7 @@ echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_desi
 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append01.at:35"
+at_fn_check_status 0 $at_status "$at_srcdir/append01.at:34"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -8896,14 +9729,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_39
-#AT_START_40
-at_fn_group_banner 40 'append02.at:55' \
-  "append vs. create" "                              " 6
+#AT_STOP_50
+#AT_START_51
+at_fn_group_banner 51 'append02.at:54' \
+  "append vs. create" "                              " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "40. $at_setup_line: testing $at_desc ..."
+  $as_echo "51. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -8911,7 +9744,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/append02.at:58:
+$as_echo "$at_srcdir/append02.at:57:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -8943,7 +9776,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -8985,12 +9818,12 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append02.at:58:
+$as_echo "$at_srcdir/append02.at:57:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -9022,7 +9855,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -9064,12 +9897,12 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append02.at:58:
+$as_echo "$at_srcdir/append02.at:57:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -9101,7 +9934,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -9143,12 +9976,12 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append02.at:58:
+$as_echo "$at_srcdir/append02.at:57:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -9180,7 +10013,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -9222,12 +10055,12 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/append02.at:58:
+$as_echo "$at_srcdir/append02.at:57:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -9259,7 +10092,7 @@ tar \$MTIME -rf archive.2 file2
 echo Comparing archives
 cmp archive.1 archive.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "append02.at:58"
+at_fn_check_prepare_notrace 'an embedded newline' "append02.at:57"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -9301,7 +10134,7 @@ Creating archive.2
 Comparing archives
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/append02.at:58"
+at_fn_check_status 0 $at_status "$at_srcdir/append02.at:57"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -9312,14 +10145,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_40
-#AT_START_41
-at_fn_group_banner 41 'append03.at:21' \
-  "append with name transformation" "                " 6
+#AT_STOP_51
+#AT_START_52
+at_fn_group_banner 52 'append03.at:21' \
+  "append with name transformation" "                " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "41. $at_setup_line: testing $at_desc ..."
+  $as_echo "52. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -9605,14 +10438,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_41
-#AT_START_42
-at_fn_group_banner 42 'append04.at:29' \
-  "append with verify" "                             " 6
+#AT_STOP_52
+#AT_START_53
+at_fn_group_banner 53 'append04.at:29' \
+  "append with verify" "                             " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "42. $at_setup_line: testing $at_desc ..."
+  $as_echo "53. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -9986,14 +10819,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_42
-#AT_START_43
-at_fn_group_banner 43 'append05.at:32' \
-  "append after changed blocking" "                  " 6
+#AT_STOP_53
+#AT_START_54
+at_fn_group_banner 54 'append05.at:32' \
+  "append after changed blocking" "                  " 9
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "43. $at_setup_line: testing $at_desc ..."
+  $as_echo "54. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -10537,14 +11370,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_43
-#AT_START_44
-at_fn_group_banner 44 'xform-h.at:31' \
-  "transforming hard links on create" "              " 7
+#AT_STOP_54
+#AT_START_55
+at_fn_group_banner 55 'xform-h.at:30' \
+  "transforming hard links on create" "              " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "44. $at_setup_line: testing $at_desc ..."
+  $as_echo "55. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -10554,7 +11387,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/xform-h.at:40:
+$as_echo "$at_srcdir/xform-h.at:39:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -10583,7 +11416,7 @@ tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link
 tar tvf archive | sed -n 's/.*test_link link to //p'
 
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:40"
+at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -10625,12 +11458,12 @@ Not transforming hard links
 basedir/test
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:40"
+at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/xform-h.at:40:
+$as_echo "$at_srcdir/xform-h.at:39:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -10659,7 +11492,7 @@ tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link
 tar tvf archive | sed -n 's/.*test_link link to //p'
 
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:40"
+at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -10701,12 +11534,12 @@ Not transforming hard links
 basedir/test
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:40"
+at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/xform-h.at:40:
+$as_echo "$at_srcdir/xform-h.at:39:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -10735,7 +11568,7 @@ tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link
 tar tvf archive | sed -n 's/.*test_link link to //p'
 
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:40"
+at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -10777,12 +11610,12 @@ Not transforming hard links
 basedir/test
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:40"
+at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/xform-h.at:40:
+$as_echo "$at_srcdir/xform-h.at:39:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -10811,7 +11644,7 @@ tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link
 tar tvf archive | sed -n 's/.*test_link link to //p'
 
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:40"
+at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -10853,12 +11686,12 @@ Not transforming hard links
 basedir/test
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:40"
+at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/xform-h.at:40:
+$as_echo "$at_srcdir/xform-h.at:39:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -10887,7 +11720,7 @@ tar cf archive --transform=\"s,^basedir/,,H\" basedir/test basedir/test_link
 tar tvf archive | sed -n 's/.*test_link link to //p'
 
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:40"
+at_fn_check_prepare_notrace 'an embedded newline' "xform-h.at:39"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -10929,7 +11762,7 @@ Not transforming hard links
 basedir/test
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:40"
+at_fn_check_status 0 $at_status "$at_srcdir/xform-h.at:39"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -10942,14 +11775,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_44
-#AT_START_45
-at_fn_group_banner 45 'xform01.at:26' \
-  "transformations and GNU volume labels" "          " 7
+#AT_STOP_55
+#AT_START_56
+at_fn_group_banner 56 'xform01.at:26' \
+  "transformations and GNU volume labels" "          " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "45. $at_setup_line: testing $at_desc ..."
+  $as_echo "56. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -11003,14 +11836,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_45
-#AT_START_46
-at_fn_group_banner 46 'xform02.at:21' \
-  "transforming escaped delimiters on create" "      " 7
+#AT_STOP_56
+#AT_START_57
+at_fn_group_banner 57 'xform02.at:21' \
+  "transforming escaped delimiters on create" "      " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "46. $at_setup_line: testing $at_desc ..."
+  $as_echo "57. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -11229,20 +12062,22 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_46
-#AT_START_47
-at_fn_group_banner 47 'xform03.at:21' \
-  "transforming hard link targets" "                 " 7
+#AT_STOP_57
+#AT_START_58
+at_fn_group_banner 58 'xform03.at:21' \
+  "transforming hard link targets" "                 " 10
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "47. $at_setup_line: testing $at_desc ..."
+  $as_echo "58. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
 
 
 
+
+
   { set +x
 $as_echo "$at_srcdir/xform03.at:24:
 mkdir v7
@@ -11256,8 +12091,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=\$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b
+dir=\$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11275,8 +12110,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b
+dir=$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11284,10 +12119,7 @@ find t -type f
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
-echo >>"$at_stderr"; $as_echo "tar: Removing leading \`/' from member names
-tar: Removing leading \`/' from hard link targets
-" | \
-  $at_diff - "$at_stderr" || at_failed=:
+echo stderr:; tee stderr <"$at_stderr"
 echo >>"$at_stdout"; $as_echo "t/dir/c/b
 " | \
   $at_diff - "$at_stdout" || at_failed=:
@@ -11296,6 +12128,18 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
+$as_echo "$at_srcdir/xform03.at:24: sed \"/tar: Removing leading \\\`\\/*\\/' from/d\" stderr"
+at_fn_check_prepare_notrace 'a `...` command substitution' "xform03.at:24"
+( $at_check_trace; sed "/tar: Removing leading \`\/*\/' from/d" stderr
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform03.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+{ set +x
 $as_echo "$at_srcdir/xform03.at:24:
 mkdir oldgnu
 (cd oldgnu
@@ -11308,8 +12152,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=\$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b
+dir=\$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11327,8 +12171,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b
+dir=$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11336,10 +12180,7 @@ find t -type f
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
-echo >>"$at_stderr"; $as_echo "tar: Removing leading \`/' from member names
-tar: Removing leading \`/' from hard link targets
-" | \
-  $at_diff - "$at_stderr" || at_failed=:
+echo stderr:; tee stderr <"$at_stderr"
 echo >>"$at_stdout"; $as_echo "t/dir/c/b
 " | \
   $at_diff - "$at_stdout" || at_failed=:
@@ -11348,6 +12189,18 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
+$as_echo "$at_srcdir/xform03.at:24: sed \"/tar: Removing leading \\\`\\/*\\/' from/d\" stderr"
+at_fn_check_prepare_notrace 'a `...` command substitution' "xform03.at:24"
+( $at_check_trace; sed "/tar: Removing leading \`\/*\/' from/d" stderr
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform03.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+{ set +x
 $as_echo "$at_srcdir/xform03.at:24:
 mkdir ustar
 (cd ustar
@@ -11360,8 +12213,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=\$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b
+dir=\$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11379,8 +12232,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b
+dir=$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11388,10 +12241,7 @@ find t -type f
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
-echo >>"$at_stderr"; $as_echo "tar: Removing leading \`/' from member names
-tar: Removing leading \`/' from hard link targets
-" | \
-  $at_diff - "$at_stderr" || at_failed=:
+echo stderr:; tee stderr <"$at_stderr"
 echo >>"$at_stdout"; $as_echo "t/dir/c/b
 " | \
   $at_diff - "$at_stdout" || at_failed=:
@@ -11400,6 +12250,18 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
+$as_echo "$at_srcdir/xform03.at:24: sed \"/tar: Removing leading \\\`\\/*\\/' from/d\" stderr"
+at_fn_check_prepare_notrace 'a `...` command substitution' "xform03.at:24"
+( $at_check_trace; sed "/tar: Removing leading \`\/*\/' from/d" stderr
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform03.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+{ set +x
 $as_echo "$at_srcdir/xform03.at:24:
 mkdir posix
 (cd posix
@@ -11412,8 +12274,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=\$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b
+dir=\$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11431,8 +12293,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b
+dir=$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11440,10 +12302,7 @@ find t -type f
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
-echo >>"$at_stderr"; $as_echo "tar: Removing leading \`/' from member names
-tar: Removing leading \`/' from hard link targets
-" | \
-  $at_diff - "$at_stderr" || at_failed=:
+echo stderr:; tee stderr <"$at_stderr"
 echo >>"$at_stdout"; $as_echo "t/dir/c/b
 " | \
   $at_diff - "$at_stdout" || at_failed=:
@@ -11452,6 +12311,18 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
+$as_echo "$at_srcdir/xform03.at:24: sed \"/tar: Removing leading \\\`\\/*\\/' from/d\" stderr"
+at_fn_check_prepare_notrace 'a `...` command substitution' "xform03.at:24"
+( $at_check_trace; sed "/tar: Removing leading \`\/*\/' from/d" stderr
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform03.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+{ set +x
 $as_echo "$at_srcdir/xform03.at:24:
 mkdir gnu
 (cd gnu
@@ -11464,8 +12335,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=\$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b
+dir=\$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform=\"s|^\$dir/a|dir/c|\" /\$dir/a/b /\$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11483,8 +12354,8 @@ rm -rf *
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b
+dir=$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -11492,10 +12363,7 @@ find t -type f
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
-echo >>"$at_stderr"; $as_echo "tar: Removing leading \`/' from member names
-tar: Removing leading \`/' from hard link targets
-" | \
-  $at_diff - "$at_stderr" || at_failed=:
+echo stderr:; tee stderr <"$at_stderr"
 echo >>"$at_stdout"; $as_echo "t/dir/c/b
 " | \
   $at_diff - "$at_stdout" || at_failed=:
@@ -11503,20 +12371,34 @@ at_fn_check_status 0 $at_status "$at_srcdir/xform03.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
+              { set +x
+$as_echo "$at_srcdir/xform03.at:24: sed \"/tar: Removing leading \\\`\\/*\\/' from/d\" stderr"
+at_fn_check_prepare_notrace 'a `...` command substitution' "xform03.at:24"
+( $at_check_trace; sed "/tar: Removing leading \`\/*\/' from/d" stderr
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/xform03.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
 
 
   set +x
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_47
-#AT_START_48
-at_fn_group_banner 48 'exclude.at:23' \
-  "exclude" "                                        " 8
+#AT_STOP_58
+#AT_START_59
+at_fn_group_banner 59 'exclude.at:23' \
+  "exclude" "                                        " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "48. $at_setup_line: testing $at_desc ..."
+  $as_echo "59. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -11726,14 +12608,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_48
-#AT_START_49
-at_fn_group_banner 49 'exclude01.at:19' \
-  "exclude wildcards" "                              " 8
+#AT_STOP_59
+#AT_START_60
+at_fn_group_banner 60 'exclude01.at:19' \
+  "exclude wildcards" "                              " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "49. $at_setup_line: testing $at_desc ..."
+  $as_echo "60. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12307,14 +13189,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_49
-#AT_START_50
-at_fn_group_banner 50 'exclude02.at:19' \
-  "exclude: anchoring" "                             " 8
+#AT_STOP_60
+#AT_START_61
+at_fn_group_banner 61 'exclude02.at:19' \
+  "exclude: anchoring" "                             " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "50. $at_setup_line: testing $at_desc ..."
+  $as_echo "61. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -12948,14 +13830,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_50
-#AT_START_51
-at_fn_group_banner 51 'exclude03.at:19' \
-  "exclude: wildcards match slash" "                 " 8
+#AT_STOP_61
+#AT_START_62
+at_fn_group_banner 62 'exclude03.at:19' \
+  "exclude: wildcards match slash" "                 " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "51. $at_setup_line: testing $at_desc ..."
+  $as_echo "62. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -13549,14 +14431,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_51
-#AT_START_52
-at_fn_group_banner 52 'exclude04.at:19' \
-  "exclude: case insensitive" "                      " 8
+#AT_STOP_62
+#AT_START_63
+at_fn_group_banner 63 'exclude04.at:19' \
+  "exclude: case insensitive" "                      " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "52. $at_setup_line: testing $at_desc ..."
+  $as_echo "63. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -14165,14 +15047,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_52
-#AT_START_53
-at_fn_group_banner 53 'exclude05.at:22' \
-  "exclude: lots of excludes" "                      " 8
+#AT_STOP_63
+#AT_START_64
+at_fn_group_banner 64 'exclude05.at:21' \
+  "exclude: lots of excludes" "                      " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "53. $at_setup_line: testing $at_desc ..."
+  $as_echo "64. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -14180,7 +15062,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/exclude05.at:25:
+$as_echo "$at_srcdir/exclude05.at:24:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -14215,7 +15097,7 @@ tar tf archive | sort
 rm -rf testdir exclfile
 
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:25"
+at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -14266,12 +15148,12 @@ testdir/file11
 testdir/file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/exclude05.at:25:
+$as_echo "$at_srcdir/exclude05.at:24:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -14306,7 +15188,7 @@ tar tf archive | sort
 rm -rf testdir exclfile
 
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:25"
+at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -14357,12 +15239,12 @@ testdir/file11
 testdir/file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/exclude05.at:25:
+$as_echo "$at_srcdir/exclude05.at:24:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -14397,7 +15279,7 @@ tar tf archive | sort
 rm -rf testdir exclfile
 
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:25"
+at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -14448,12 +15330,12 @@ testdir/file11
 testdir/file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/exclude05.at:25:
+$as_echo "$at_srcdir/exclude05.at:24:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -14488,7 +15370,7 @@ tar tf archive | sort
 rm -rf testdir exclfile
 
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:25"
+at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -14539,12 +15421,12 @@ testdir/file11
 testdir/file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/exclude05.at:25:
+$as_echo "$at_srcdir/exclude05.at:24:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -14579,7 +15461,7 @@ tar tf archive | sort
 rm -rf testdir exclfile
 
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:25"
+at_fn_check_prepare_notrace 'a `...` command substitution' "exclude05.at:24"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -14630,7 +15512,7 @@ testdir/file11
 testdir/file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/exclude05.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -14641,14 +15523,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_53
-#AT_START_54
-at_fn_group_banner 54 'exclude06.at:26' \
-  "exclude: long files in pax archives" "            " 8
+#AT_STOP_64
+#AT_START_65
+at_fn_group_banner 65 'exclude06.at:26' \
+  "exclude: long files in pax archives" "            " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "54. $at_setup_line: testing $at_desc ..."
+  $as_echo "65. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -14716,14 +15598,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_54
-#AT_START_55
-at_fn_group_banner 55 'exclude07.at:19' \
-  "exclude: --exclude-backups option" "              " 8
+#AT_STOP_65
+#AT_START_66
+at_fn_group_banner 66 'exclude07.at:19' \
+  "exclude: --exclude-backups option" "              " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "55. $at_setup_line: testing $at_desc ..."
+  $as_echo "66. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -14977,14 +15859,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_55
-#AT_START_56
-at_fn_group_banner 56 'exclude08.at:36' \
-  "--exclude-tag option" "                           " 8
+#AT_STOP_66
+#AT_START_67
+at_fn_group_banner 67 'exclude08.at:36' \
+  "--exclude-tag option" "                           " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "56. $at_setup_line: testing $at_desc ..."
+  $as_echo "67. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15238,14 +16120,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_56
-#AT_START_57
-at_fn_group_banner 57 'exclude09.at:37' \
-  "--exclude-tag option and --listed-incremental" "  " 8
+#AT_STOP_67
+#AT_START_68
+at_fn_group_banner 68 'exclude09.at:37' \
+  "--exclude-tag option and --listed-incremental" "  " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "57. $at_setup_line: testing $at_desc ..."
+  $as_echo "68. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15309,14 +16191,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_57
-#AT_START_58
-at_fn_group_banner 58 'exclude10.at:38' \
-  "--exclude-tag option in incremental pass" "       " 8
+#AT_STOP_68
+#AT_START_69
+at_fn_group_banner 69 'exclude10.at:38' \
+  "--exclude-tag option in incremental pass" "       " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "58. $at_setup_line: testing $at_desc ..."
+  $as_echo "69. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15403,14 +16285,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_58
-#AT_START_59
-at_fn_group_banner 59 'exclude11.at:36' \
-  "--exclude-tag-under option" "                     " 8
+#AT_STOP_69
+#AT_START_70
+at_fn_group_banner 70 'exclude11.at:36' \
+  "--exclude-tag-under option" "                     " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "59. $at_setup_line: testing $at_desc ..."
+  $as_echo "70. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15659,14 +16541,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_59
-#AT_START_60
-at_fn_group_banner 60 'exclude12.at:37' \
-  "--exclude-tag-under and --listed-incremental" "   " 8
+#AT_STOP_70
+#AT_START_71
+at_fn_group_banner 71 'exclude12.at:37' \
+  "--exclude-tag-under and --listed-incremental" "   " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "60. $at_setup_line: testing $at_desc ..."
+  $as_echo "71. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15729,14 +16611,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_60
-#AT_START_61
-at_fn_group_banner 61 'exclude13.at:39' \
-  "--exclude-tag-under option in incremental pass" " " 8
+#AT_STOP_71
+#AT_START_72
+at_fn_group_banner 72 'exclude13.at:39' \
+  "--exclude-tag-under option in incremental pass" " " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "61. $at_setup_line: testing $at_desc ..."
+  $as_echo "72. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -15822,14 +16704,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_61
-#AT_START_62
-at_fn_group_banner 62 'exclude14.at:36' \
-  "--exclude-tag-all option" "                       " 8
+#AT_STOP_72
+#AT_START_73
+at_fn_group_banner 73 'exclude14.at:36' \
+  "--exclude-tag-all option" "                       " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "62. $at_setup_line: testing $at_desc ..."
+  $as_echo "73. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16073,14 +16955,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_62
-#AT_START_63
-at_fn_group_banner 63 'exclude15.at:36' \
-  "--exclude-tag-all and --listed-incremental" "     " 8
+#AT_STOP_73
+#AT_START_74
+at_fn_group_banner 74 'exclude15.at:36' \
+  "--exclude-tag-all and --listed-incremental" "     " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "63. $at_setup_line: testing $at_desc ..."
+  $as_echo "74. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16142,14 +17024,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_63
-#AT_START_64
-at_fn_group_banner 64 'exclude16.at:38' \
-  "--exclude-tag-all option in incremental pass" "   " 8
+#AT_STOP_74
+#AT_START_75
+at_fn_group_banner 75 'exclude16.at:38' \
+  "--exclude-tag-all option in incremental pass" "   " 11
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "64. $at_setup_line: testing $at_desc ..."
+  $as_echo "75. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16234,14 +17116,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_64
-#AT_START_65
-at_fn_group_banner 65 'delete01.at:24' \
-  "deleting a member after a big one" "              " 9
+#AT_STOP_75
+#AT_START_76
+at_fn_group_banner 76 'delete01.at:23' \
+  "deleting a member after a big one" "              " 12
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "65. $at_setup_line: testing $at_desc ..."
+  $as_echo "76. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16249,7 +17131,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete01.at:27:
+$as_echo "$at_srcdir/delete01.at:26:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -16263,7 +17145,7 @@ genfile -l 1024 --file file2
 tar cf archive file1 file2
 tar f archive --delete file2
 tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -16285,12 +17167,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete01.at:27:
+$as_echo "$at_srcdir/delete01.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -16304,7 +17186,7 @@ genfile -l 1024 --file file2
 tar cf archive file1 file2
 tar f archive --delete file2
 tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -16326,12 +17208,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete01.at:27:
+$as_echo "$at_srcdir/delete01.at:26:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -16345,7 +17227,7 @@ genfile -l 1024 --file file2
 tar cf archive file1 file2
 tar f archive --delete file2
 tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -16367,12 +17249,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete01.at:27:
+$as_echo "$at_srcdir/delete01.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -16386,7 +17268,7 @@ genfile -l 1024 --file file2
 tar cf archive file1 file2
 tar f archive --delete file2
 tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -16408,12 +17290,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete01.at:27:
+$as_echo "$at_srcdir/delete01.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -16427,7 +17309,7 @@ genfile -l 1024 --file file2
 tar cf archive file1 file2
 tar f archive --delete file2
 tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete01.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -16449,7 +17331,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -16460,14 +17342,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_65
-#AT_START_66
-at_fn_group_banner 66 'delete02.at:24' \
-  "deleting a member from stdin archive" "           " 9
+#AT_STOP_76
+#AT_START_77
+at_fn_group_banner 77 'delete02.at:23' \
+  "deleting a member from stdin archive" "           " 12
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "66. $at_setup_line: testing $at_desc ..."
+  $as_echo "77. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16475,7 +17357,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete02.at:27:
+$as_echo "$at_srcdir/delete02.at:26:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -16492,7 +17374,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -16522,12 +17404,12 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete02.at:27:
+$as_echo "$at_srcdir/delete02.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -16544,7 +17426,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -16574,12 +17456,12 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete02.at:27:
+$as_echo "$at_srcdir/delete02.at:26:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -16596,7 +17478,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -16626,12 +17508,12 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete02.at:27:
+$as_echo "$at_srcdir/delete02.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -16648,7 +17530,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -16678,12 +17560,12 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete02.at:27:
+$as_echo "$at_srcdir/delete02.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -16700,7 +17582,7 @@ tar tf archive
 cat archive | tar f - --delete 2 > archive2
 echo separator
 tar tf archive2)"
-at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -16730,7 +17612,7 @@ separator
 3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -16741,14 +17623,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_66
-#AT_START_67
-at_fn_group_banner 67 'delete03.at:22' \
-  "deleting members with long names" "               " 9
+#AT_STOP_77
+#AT_START_78
+at_fn_group_banner 78 'delete03.at:21' \
+  "deleting members with long names" "               " 12
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "67. $at_setup_line: testing $at_desc ..."
+  $as_echo "78. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16758,7 +17640,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete03.at:27:
+$as_echo "$at_srcdir/delete03.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -16777,7 +17659,7 @@ tar -cf archive ./\$prefix* &&
  tar --delete -f archive ./\${prefix}5 &&
  tar -tf archive
 )"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:27"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -16811,12 +17693,12 @@ echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_de
 ./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete03.at:27:
+$as_echo "$at_srcdir/delete03.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -16835,7 +17717,7 @@ tar -cf archive ./\$prefix* &&
  tar --delete -f archive ./\${prefix}5 &&
  tar -tf archive
 )"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:27"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -16869,12 +17751,12 @@ echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_de
 ./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete03.at:27:
+$as_echo "$at_srcdir/delete03.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -16893,7 +17775,7 @@ tar -cf archive ./\$prefix* &&
  tar --delete -f archive ./\${prefix}5 &&
  tar -tf archive
 )"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:27"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "delete03.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -16927,7 +17809,7 @@ echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_de
 ./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -16939,14 +17821,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_67
-#AT_START_68
-at_fn_group_banner 68 'delete04.at:24' \
-  "deleting a large last member" "                   " 9
+#AT_STOP_78
+#AT_START_79
+at_fn_group_banner 79 'delete04.at:23' \
+  "deleting a large last member" "                   " 12
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "68. $at_setup_line: testing $at_desc ..."
+  $as_echo "79. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -16954,7 +17836,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete04.at:27:
+$as_echo "$at_srcdir/delete04.at:26:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -16977,7 +17859,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
 tar f archive --delete file10
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -17016,12 +17898,12 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete04.at:27:
+$as_echo "$at_srcdir/delete04.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -17044,7 +17926,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
 tar f archive --delete file10
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -17083,12 +17965,12 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete04.at:27:
+$as_echo "$at_srcdir/delete04.at:26:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -17111,7 +17993,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
 tar f archive --delete file10
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -17150,12 +18032,12 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete04.at:27:
+$as_echo "$at_srcdir/delete04.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -17178,7 +18060,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
 tar f archive --delete file10
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -17217,12 +18099,12 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete04.at:27:
+$as_echo "$at_srcdir/delete04.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -17245,7 +18127,7 @@ tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
 tar f archive --delete file10
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -17284,7 +18166,7 @@ file8
 file9
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -17295,14 +18177,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_68
-#AT_START_69
-at_fn_group_banner 69 'delete05.at:28' \
-  "deleting non-existing member" "                   " 9
+#AT_STOP_79
+#AT_START_80
+at_fn_group_banner 80 'delete05.at:27' \
+  "deleting non-existing member" "                   " 12
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "69. $at_setup_line: testing $at_desc ..."
+  $as_echo "80. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -17310,7 +18192,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/delete05.at:31:
+$as_echo "$at_srcdir/delete05.at:30:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -17328,7 +18210,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -17358,12 +18240,12 @@ echo >>"$at_stdout"; $as_echo "en
 to
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete05.at:31:
+$as_echo "$at_srcdir/delete05.at:30:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -17381,7 +18263,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -17411,12 +18293,12 @@ echo >>"$at_stdout"; $as_echo "en
 to
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete05.at:31:
+$as_echo "$at_srcdir/delete05.at:30:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -17434,7 +18316,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -17464,12 +18346,12 @@ echo >>"$at_stdout"; $as_echo "en
 to
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete05.at:31:
+$as_echo "$at_srcdir/delete05.at:30:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -17487,7 +18369,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -17517,12 +18399,12 @@ echo >>"$at_stdout"; $as_echo "en
 to
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/delete05.at:31:
+$as_echo "$at_srcdir/delete05.at:30:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -17540,7 +18422,7 @@ tar cf archive en to
 tar --file archive --blocking-factor=20 --delete tre
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -17570,7 +18452,7 @@ echo >>"$at_stdout"; $as_echo "en
 to
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -17581,14 +18463,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_69
-#AT_START_70
-at_fn_group_banner 70 'extrac01.at:24' \
-  "extract over an existing directory" "             " 10
+#AT_STOP_80
+#AT_START_81
+at_fn_group_banner 81 'extrac01.at:23' \
+  "extract over an existing directory" "             " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "70. $at_setup_line: testing $at_desc ..."
+  $as_echo "81. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -17596,7 +18478,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac01.at:27:
+$as_echo "$at_srcdir/extrac01.at:26:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -17610,7 +18492,7 @@ touch directory/file
 tar cf archive directory || exit 1
 tar xf archive --warning=no-timestamp || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -17630,12 +18512,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac01.at:27:
+$as_echo "$at_srcdir/extrac01.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -17649,7 +18531,7 @@ touch directory/file
 tar cf archive directory || exit 1
 tar xf archive --warning=no-timestamp || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -17669,12 +18551,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac01.at:27:
+$as_echo "$at_srcdir/extrac01.at:26:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -17688,7 +18570,7 @@ touch directory/file
 tar cf archive directory || exit 1
 tar xf archive --warning=no-timestamp || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -17708,12 +18590,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac01.at:27:
+$as_echo "$at_srcdir/extrac01.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -17727,7 +18609,7 @@ touch directory/file
 tar cf archive directory || exit 1
 tar xf archive --warning=no-timestamp || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -17747,12 +18629,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac01.at:27:
+$as_echo "$at_srcdir/extrac01.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -17766,7 +18648,7 @@ touch directory/file
 tar cf archive directory || exit 1
 tar xf archive --warning=no-timestamp || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -17786,7 +18668,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -17797,14 +18679,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_70
-#AT_START_71
-at_fn_group_banner 71 'extrac02.at:24' \
-  "extracting symlinks over an existing file" "      " 10
+#AT_STOP_81
+#AT_START_82
+at_fn_group_banner 82 'extrac02.at:23' \
+  "extracting symlinks over an existing file" "      " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "71. $at_setup_line: testing $at_desc ..."
+  $as_echo "82. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -17814,7 +18696,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac02.at:29:
+$as_echo "$at_srcdir/extrac02.at:28:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -17830,7 +18712,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -17852,12 +18734,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac02.at:29:
+$as_echo "$at_srcdir/extrac02.at:28:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -17873,7 +18755,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -17895,12 +18777,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac02.at:29:
+$as_echo "$at_srcdir/extrac02.at:28:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -17916,7 +18798,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -17938,12 +18820,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac02.at:29:
+$as_echo "$at_srcdir/extrac02.at:28:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -17959,7 +18841,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -17981,12 +18863,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac02.at:29:
+$as_echo "$at_srcdir/extrac02.at:28:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -18002,7 +18884,7 @@ rm link
 touch link
 tar xf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -18024,7 +18906,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -18035,14 +18917,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_71
-#AT_START_72
-at_fn_group_banner 72 'extrac03.at:24' \
-  "extraction loops" "                               " 10
+#AT_STOP_82
+#AT_START_83
+at_fn_group_banner 83 'extrac03.at:23' \
+  "extraction loops" "                               " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "72. $at_setup_line: testing $at_desc ..."
+  $as_echo "83. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18050,7 +18932,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac03.at:27:
+$as_echo "$at_srcdir/extrac03.at:26:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -18063,7 +18945,7 @@ mkdir directory
 tar -cPvf archive directory/../directory
 echo separator
 tar -xPvf archive --warning=no-timestamp)"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -18086,12 +18968,12 @@ separator
 directory/../directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac03.at:27:
+$as_echo "$at_srcdir/extrac03.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -18104,7 +18986,7 @@ mkdir directory
 tar -cPvf archive directory/../directory
 echo separator
 tar -xPvf archive --warning=no-timestamp)"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -18127,12 +19009,12 @@ separator
 directory/../directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac03.at:27:
+$as_echo "$at_srcdir/extrac03.at:26:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -18145,7 +19027,7 @@ mkdir directory
 tar -cPvf archive directory/../directory
 echo separator
 tar -xPvf archive --warning=no-timestamp)"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -18168,12 +19050,12 @@ separator
 directory/../directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac03.at:27:
+$as_echo "$at_srcdir/extrac03.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -18186,7 +19068,7 @@ mkdir directory
 tar -cPvf archive directory/../directory
 echo separator
 tar -xPvf archive --warning=no-timestamp)"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -18209,12 +19091,12 @@ separator
 directory/../directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac03.at:27:
+$as_echo "$at_srcdir/extrac03.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -18227,7 +19109,7 @@ mkdir directory
 tar -cPvf archive directory/../directory
 echo separator
 tar -xPvf archive --warning=no-timestamp)"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -18250,7 +19132,7 @@ separator
 directory/../directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -18261,14 +19143,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_72
-#AT_START_73
-at_fn_group_banner 73 'extrac04.at:24' \
-  "extract + fnmatch" "                              " 10
+#AT_STOP_83
+#AT_START_84
+at_fn_group_banner 84 'extrac04.at:23' \
+  "extract + fnmatch" "                              " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "73. $at_setup_line: testing $at_desc ..."
+  $as_echo "84. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18276,7 +19158,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac04.at:27:
+$as_echo "$at_srcdir/extrac04.at:26:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -18301,7 +19183,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -18336,12 +19218,12 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac04.at:27:
+$as_echo "$at_srcdir/extrac04.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -18366,7 +19248,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -18401,12 +19283,12 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac04.at:27:
+$as_echo "$at_srcdir/extrac04.at:26:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -18431,7 +19313,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -18466,12 +19348,12 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac04.at:27:
+$as_echo "$at_srcdir/extrac04.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -18496,7 +19378,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -18531,12 +19413,12 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac04.at:27:
+$as_echo "$at_srcdir/extrac04.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -18561,7 +19443,7 @@ tar -tf archive \\
   --exclude='d*/*1' \\
   --exclude='d*/s*/*2' | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:27"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -18596,7 +19478,7 @@ directory/file2
 directory/subdirectory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -18607,14 +19489,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_73
-#AT_START_74
-at_fn_group_banner 74 'extrac05.at:31' \
-  "extracting selected members from pax" "           " 10
+#AT_STOP_84
+#AT_START_85
+at_fn_group_banner 85 'extrac05.at:30' \
+  "extracting selected members from pax" "           " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "74. $at_setup_line: testing $at_desc ..."
+  $as_echo "85. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18628,7 +19510,7 @@ _ATEOF
 
 
   { set +x
-$as_echo "$at_srcdir/extrac05.at:39:
+$as_echo "$at_srcdir/extrac05.at:38:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -18652,7 +19534,7 @@ tar xvfT ../archive ../../list --warning=no-timestamp || exit 1
 
 cd ..
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac05.at:39"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac05.at:38"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -18685,7 +19567,7 @@ echo >>"$at_stdout"; $as_echo "jeden
 cztery
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac05.at:39"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac05.at:38"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -18696,14 +19578,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_74
-#AT_START_75
-at_fn_group_banner 75 'extrac06.at:35' \
-  "mode of extracted directories" "                  " 10
+#AT_STOP_85
+#AT_START_86
+at_fn_group_banner 86 'extrac06.at:34' \
+  "mode of extracted directories" "                  " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "75. $at_setup_line: testing $at_desc ..."
+  $as_echo "86. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -18711,7 +19593,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac06.at:38:
+$as_echo "$at_srcdir/extrac06.at:37:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -18748,7 +19630,7 @@ genfile --stat=mode:777 directory
 
 # After both restores, the directory mode should be 755
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:38"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -18796,12 +19678,12 @@ echo >>"$at_stdout"; $as_echo "777
 755
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:38"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac06.at:38:
+$as_echo "$at_srcdir/extrac06.at:37:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -18838,7 +19720,7 @@ genfile --stat=mode:777 directory
 
 # After both restores, the directory mode should be 755
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:38"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -18886,12 +19768,12 @@ echo >>"$at_stdout"; $as_echo "777
 755
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:38"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac06.at:38:
+$as_echo "$at_srcdir/extrac06.at:37:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -18928,7 +19810,7 @@ genfile --stat=mode:777 directory
 
 # After both restores, the directory mode should be 755
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:38"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -18976,12 +19858,12 @@ echo >>"$at_stdout"; $as_echo "777
 755
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:38"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac06.at:38:
+$as_echo "$at_srcdir/extrac06.at:37:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -19018,7 +19900,7 @@ genfile --stat=mode:777 directory
 
 # After both restores, the directory mode should be 755
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:38"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -19066,12 +19948,12 @@ echo >>"$at_stdout"; $as_echo "777
 755
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:38"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/extrac06.at:38:
+$as_echo "$at_srcdir/extrac06.at:37:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -19108,7 +19990,7 @@ genfile --stat=mode:777 directory
 
 # After both restores, the directory mode should be 755
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:38"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -19156,7 +20038,7 @@ echo >>"$at_stdout"; $as_echo "777
 755
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:38"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -19167,14 +20049,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_75
-#AT_START_76
-at_fn_group_banner 76 'extrac07.at:28' \
-  "extracting symlinks to a read-only dir" "         " 10
+#AT_STOP_86
+#AT_START_87
+at_fn_group_banner 87 'extrac07.at:27' \
+  "extracting symlinks to a read-only dir" "         " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "76. $at_setup_line: testing $at_desc ..."
+  $as_echo "87. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19182,7 +20064,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/extrac07.at:31:
+$as_echo "$at_srcdir/extrac07.at:30:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -19217,7 +20099,7 @@ echo Extract
 mkdir out
 tar -C out -xvf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "extrac07.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac07.at:30"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -19264,7 +20146,7 @@ dir/
 dir/foo
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/extrac07.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/extrac07.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -19275,14 +20157,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_76
-#AT_START_77
-at_fn_group_banner 77 'extrac08.at:33' \
-  "restoring mode on existing directory" "           " 10
+#AT_STOP_87
+#AT_START_88
+at_fn_group_banner 88 'extrac08.at:33' \
+  "restoring mode on existing directory" "           " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "77. $at_setup_line: testing $at_desc ..."
+  $as_echo "88. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19551,14 +20433,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_77
-#AT_START_78
-at_fn_group_banner 78 'extrac09.at:34' \
-  "extracting even when . and .. are unreadable" "   " 10
+#AT_STOP_88
+#AT_START_89
+at_fn_group_banner 89 'extrac09.at:34' \
+  "extracting even when . and .. are unreadable" "   " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "78. $at_setup_line: testing $at_desc ..."
+  $as_echo "89. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19651,14 +20533,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_78
-#AT_START_79
-at_fn_group_banner 79 'extrac10.at:29' \
-  "-C and delayed setting of metadata" "             " 10
+#AT_STOP_89
+#AT_START_90
+at_fn_group_banner 90 'extrac10.at:29' \
+  "-C and delayed setting of metadata" "             " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "79. $at_setup_line: testing $at_desc ..."
+  $as_echo "90. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19719,14 +20601,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_79
-#AT_START_80
-at_fn_group_banner 80 'extrac11.at:25' \
-  "scarce file descriptors" "                        " 10
+#AT_STOP_90
+#AT_START_91
+at_fn_group_banner 91 'extrac11.at:25' \
+  "scarce file descriptors" "                        " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "80. $at_setup_line: testing $at_desc ..."
+  $as_echo "91. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19879,14 +20761,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_80
-#AT_START_81
-at_fn_group_banner 81 'extrac12.at:25' \
-  "extract dot permissions" "                        " 10
+#AT_STOP_91
+#AT_START_92
+at_fn_group_banner 92 'extrac12.at:25' \
+  "extract dot permissions" "                        " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "81. $at_setup_line: testing $at_desc ..."
+  $as_echo "92. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -19949,14 +20831,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_81
-#AT_START_82
-at_fn_group_banner 82 'extrac13.at:26' \
-  "extract over symlinks" "                          " 10
+#AT_STOP_92
+#AT_START_93
+at_fn_group_banner 93 'extrac13.at:26' \
+  "extract over symlinks" "                          " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "82. $at_setup_line: testing $at_desc ..."
+  $as_echo "93. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20045,14 +20927,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_82
-#AT_START_83
-at_fn_group_banner 83 'extrac14.at:25' \
-  "extract -C symlink" "                             " 10
+#AT_STOP_93
+#AT_START_94
+at_fn_group_banner 94 'extrac14.at:25' \
+  "extract -C symlink" "                             " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "83. $at_setup_line: testing $at_desc ..."
+  $as_echo "94. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20109,14 +20991,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_83
-#AT_START_84
-at_fn_group_banner 84 'extrac15.at:25' \
-  "extract parent mkdir failure" "                   " 10
+#AT_STOP_94
+#AT_START_95
+at_fn_group_banner 95 'extrac15.at:25' \
+  "extract parent mkdir failure" "                   " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "84. $at_setup_line: testing $at_desc ..."
+  $as_echo "95. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20201,14 +21083,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_84
-#AT_START_85
-at_fn_group_banner 85 'extrac16.at:26' \
-  "extract empty directory with -C" "                " 10
+#AT_STOP_95
+#AT_START_96
+at_fn_group_banner 96 'extrac16.at:26' \
+  "extract empty directory with -C" "                " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "85. $at_setup_line: testing $at_desc ..."
+  $as_echo "96. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20263,14 +21145,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_85
-#AT_START_86
-at_fn_group_banner 86 'extrac17.at:21' \
-  "name matching/transformation ordering" "          " 10
+#AT_STOP_96
+#AT_START_97
+at_fn_group_banner 97 'extrac17.at:21' \
+  "name matching/transformation ordering" "          " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "86. $at_setup_line: testing $at_desc ..."
+  $as_echo "97. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20539,14 +21421,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_86
-#AT_START_87
-at_fn_group_banner 87 'extrac18.at:34' \
-  "keep-old-files" "                                 " 10
+#AT_STOP_97
+#AT_START_98
+at_fn_group_banner 98 'extrac18.at:34' \
+  "keep-old-files" "                                 " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "87. $at_setup_line: testing $at_desc ..."
+  $as_echo "98. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -20885,14 +21767,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_87
-#AT_START_88
-at_fn_group_banner 88 'extrac19.at:21' \
-  "skip-old-files" "                                 " 10
+#AT_STOP_98
+#AT_START_99
+at_fn_group_banner 99 'extrac19.at:21' \
+  "skip-old-files" "                                 " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "88. $at_setup_line: testing $at_desc ..."
+  $as_echo "99. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -21216,14 +22098,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_88
-#AT_START_89
-at_fn_group_banner 89 'extrac20.at:21' \
-  "keep-directory-symlink" "                         " 10
+#AT_STOP_99
+#AT_START_100
+at_fn_group_banner 100 'extrac20.at:21' \
+  "keep-directory-symlink" "                         " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "89. $at_setup_line: testing $at_desc ..."
+  $as_echo "100. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22322,14 +23204,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_89
-#AT_START_90
-at_fn_group_banner 90 'extrac21.at:31' \
-  "delay-directory-restore" "                        " 10
+#AT_STOP_100
+#AT_START_101
+at_fn_group_banner 101 'extrac21.at:31' \
+  "delay-directory-restore" "                        " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "90. $at_setup_line: testing $at_desc ..."
+  $as_echo "101. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22418,14 +23300,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_90
-#AT_START_91
-at_fn_group_banner 91 'backup01.at:34' \
-  "extracting existing dir with --backup" "          " 10
+#AT_STOP_101
+#AT_START_102
+at_fn_group_banner 102 'backup01.at:33' \
+  "extracting existing dir with --backup" "          " 13
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "91. $at_setup_line: testing $at_desc ..."
+  $as_echo "102. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22433,7 +23315,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/backup01.at:37:
+$as_echo "$at_srcdir/backup01.at:36:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -22448,7 +23330,7 @@ echo bla > dir1/file1
 tar cf test.tar dir1 dir2
 tar xfv test.tar --backup --warning=no-timestamp
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -22474,12 +23356,12 @@ Renaming 'dir1/file1' to 'dir1/file1~'
 dir2/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/backup01.at:37:
+$as_echo "$at_srcdir/backup01.at:36:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -22494,7 +23376,7 @@ echo bla > dir1/file1
 tar cf test.tar dir1 dir2
 tar xfv test.tar --backup --warning=no-timestamp
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -22520,12 +23402,12 @@ Renaming 'dir1/file1' to 'dir1/file1~'
 dir2/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/backup01.at:37:
+$as_echo "$at_srcdir/backup01.at:36:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -22540,7 +23422,7 @@ echo bla > dir1/file1
 tar cf test.tar dir1 dir2
 tar xfv test.tar --backup --warning=no-timestamp
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -22566,12 +23448,12 @@ Renaming 'dir1/file1' to 'dir1/file1~'
 dir2/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/backup01.at:37:
+$as_echo "$at_srcdir/backup01.at:36:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -22586,7 +23468,7 @@ echo bla > dir1/file1
 tar cf test.tar dir1 dir2
 tar xfv test.tar --backup --warning=no-timestamp
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -22612,12 +23494,12 @@ Renaming 'dir1/file1' to 'dir1/file1~'
 dir2/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/backup01.at:37:
+$as_echo "$at_srcdir/backup01.at:36:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -22632,7 +23514,7 @@ echo bla > dir1/file1
 tar cf test.tar dir1 dir2
 tar xfv test.tar --backup --warning=no-timestamp
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -22658,7 +23540,7 @@ Renaming 'dir1/file1' to 'dir1/file1~'
 dir2/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -22669,14 +23551,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_91
-#AT_START_92
-at_fn_group_banner 92 'difflink.at:17' \
-  "link mismatch" "                                  " 11
+#AT_STOP_102
+#AT_START_103
+at_fn_group_banner 103 'difflink.at:17' \
+  "link mismatch" "                                  " 14
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "92. $at_setup_line: testing $at_desc ..."
+  $as_echo "103. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22695,8 +23577,8 @@ rm -rf *
 mkdir a
 genfile -f a/x
 ln -s x a/y
-ln a/y a/z
-tar cf a.tar a
+ln a/x a/z
+tar cf a.tar a/x a/y a/z
 rm a/z
 ln -s x a/z
 tar df a.tar
@@ -22714,8 +23596,8 @@ rm -rf *
 mkdir a
 genfile -f a/x
 ln -s x a/y
-ln a/y a/z
-tar cf a.tar a
+ln a/x a/z
+tar cf a.tar a/x a/y a/z
 rm a/z
 ln -s x a/z
 tar df a.tar
@@ -22724,7 +23606,7 @@ tar df a.tar
 at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "a/z: Not linked to a/y
+echo >>"$at_stdout"; $as_echo "a/z: Not linked to a/x
 " | \
   $at_diff - "$at_stdout" || at_failed=:
 at_fn_check_status 1 $at_status "$at_srcdir/difflink.at:19"
@@ -22737,14 +23619,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_92
-#AT_START_93
-at_fn_group_banner 93 'label01.at:21' \
-  "single-volume label" "                            " 12
+#AT_STOP_103
+#AT_START_104
+at_fn_group_banner 104 'label01.at:21' \
+  "single-volume label" "                            " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "93. $at_setup_line: testing $at_desc ..."
+  $as_echo "104. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -22887,14 +23769,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_93
-#AT_START_94
-at_fn_group_banner 94 'label02.at:21' \
-  "multi-volume label" "                             " 12
+#AT_STOP_104
+#AT_START_105
+at_fn_group_banner 105 'label02.at:21' \
+  "multi-volume label" "                             " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "94. $at_setup_line: testing $at_desc ..."
+  $as_echo "105. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23052,14 +23934,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_94
-#AT_START_95
-at_fn_group_banner 95 'label03.at:27' \
-  "test-label option" "                              " 12
+#AT_STOP_105
+#AT_START_106
+at_fn_group_banner 106 'label03.at:27' \
+  "test-label option" "                              " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "95. $at_setup_line: testing $at_desc ..."
+  $as_echo "106. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23397,14 +24279,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_95
-#AT_START_96
-at_fn_group_banner 96 'label04.at:27' \
-  "label with non-create option" "                   " 12
+#AT_STOP_106
+#AT_START_107
+at_fn_group_banner 107 'label04.at:27' \
+  "label with non-create option" "                   " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "96. $at_setup_line: testing $at_desc ..."
+  $as_echo "107. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23592,14 +24474,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_96
-#AT_START_97
-at_fn_group_banner 97 'label05.at:24' \
-  "label with non-create option" "                   " 12
+#AT_STOP_107
+#AT_START_108
+at_fn_group_banner 108 'label05.at:24' \
+  "label with non-create option" "                   " 15
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "97. $at_setup_line: testing $at_desc ..."
+  $as_echo "108. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23787,14 +24669,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_97
-#AT_START_98
-at_fn_group_banner 98 'incremental.at:24' \
-  "incremental" "                                    " 13
+#AT_STOP_108
+#AT_START_109
+at_fn_group_banner 109 'incremental.at:23' \
+  "incremental" "                                    " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "98. $at_setup_line: testing $at_desc ..."
+  $as_echo "109. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -23802,7 +24684,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/incremental.at:27:
+$as_echo "$at_srcdir/incremental.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -23840,7 +24722,7 @@ sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -23889,12 +24771,12 @@ structure/
 structure/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incremental.at:27:
+$as_echo "$at_srcdir/incremental.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -23932,7 +24814,7 @@ sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -23981,12 +24863,12 @@ structure/
 structure/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incremental.at:27:
+$as_echo "$at_srcdir/incremental.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -24024,7 +24906,7 @@ sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -24073,7 +24955,7 @@ structure/
 structure/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -24084,14 +24966,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_98
-#AT_START_99
-at_fn_group_banner 99 'incr01.at:28' \
-  "restore broken symlinks from incremental" "       " 13
+#AT_STOP_109
+#AT_START_110
+at_fn_group_banner 110 'incr01.at:27' \
+  "restore broken symlinks from incremental" "       " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "99. $at_setup_line: testing $at_desc ..."
+  $as_echo "110. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -24099,7 +24981,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/incr01.at:31:
+$as_echo "$at_srcdir/incr01.at:30:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -24123,7 +25005,7 @@ tar xvfg archive.0 /dev/null --warning=no-timestamp
 echo separator
 tar xvfg archive.1 /dev/null --warning=no-timestamp
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -24159,12 +25041,12 @@ directory/
 tar: Deleting 'directory/bar'
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr01.at:31:
+$as_echo "$at_srcdir/incr01.at:30:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -24188,7 +25070,7 @@ tar xvfg archive.0 /dev/null --warning=no-timestamp
 echo separator
 tar xvfg archive.1 /dev/null --warning=no-timestamp
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -24224,12 +25106,12 @@ directory/
 tar: Deleting 'directory/bar'
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr01.at:31:
+$as_echo "$at_srcdir/incr01.at:30:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -24253,7 +25135,7 @@ tar xvfg archive.0 /dev/null --warning=no-timestamp
 echo separator
 tar xvfg archive.1 /dev/null --warning=no-timestamp
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -24289,7 +25171,7 @@ directory/
 tar: Deleting 'directory/bar'
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -24300,14 +25182,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_99
-#AT_START_100
-at_fn_group_banner 100 'incr02.at:33' \
-  "restoring timestamps from incremental" "          " 13
+#AT_STOP_110
+#AT_START_111
+at_fn_group_banner 111 'incr02.at:32' \
+  "restoring timestamps from incremental" "          " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "100. $at_setup_line: testing $at_desc ..."
+  $as_echo "111. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -24315,7 +25197,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/incr02.at:36:
+$as_echo "$at_srcdir/incr02.at:35:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -24361,7 +25243,7 @@ tar -xf archive dir
 # Check the timestamp
 genfile --stat=mtime dir/subdir1 | diff ts -
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -24413,12 +25295,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:36"
+at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr02.at:36:
+$as_echo "$at_srcdir/incr02.at:35:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -24464,7 +25346,7 @@ tar -xf archive dir
 # Check the timestamp
 genfile --stat=mtime dir/subdir1 | diff ts -
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -24516,12 +25398,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:36"
+at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr02.at:36:
+$as_echo "$at_srcdir/incr02.at:35:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -24567,7 +25449,7 @@ tar -xf archive dir
 # Check the timestamp
 genfile --stat=mtime dir/subdir1 | diff ts -
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:36"
+at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -24619,7 +25501,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:36"
+at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:35"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -24630,14 +25512,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_100
-#AT_START_101
-at_fn_group_banner 101 'listed01.at:27' \
-  "--listed for individual files" "                  " 13
+#AT_STOP_111
+#AT_START_112
+at_fn_group_banner 112 'listed01.at:26' \
+  "--listed for individual files" "                  " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "101. $at_setup_line: testing $at_desc ..."
+  $as_echo "112. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -24645,7 +25527,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/listed01.at:30:
+$as_echo "$at_srcdir/listed01.at:29:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -24681,7 +25563,7 @@ tar --create \\
 
 tar tf archive.2 || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:29"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -24727,12 +25609,12 @@ separator
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/listed01.at:30:
+$as_echo "$at_srcdir/listed01.at:29:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -24768,7 +25650,7 @@ tar --create \\
 
 tar tf archive.2 || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "listed01.at:29"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -24814,7 +25696,7 @@ separator
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/listed01.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -24825,14 +25707,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_101
-#AT_START_102
-at_fn_group_banner 102 'listed02.at:29' \
-  "working --listed" "                               " 13
+#AT_STOP_112
+#AT_START_113
+at_fn_group_banner 113 'listed02.at:28' \
+  "working --listed" "                               " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "102. $at_setup_line: testing $at_desc ..."
+  $as_echo "113. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -24840,7 +25722,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/listed02.at:32:
+$as_echo "$at_srcdir/listed02.at:31:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -24909,7 +25791,7 @@ tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
 echo Final files:
 find tart -print | sort 2>/dev/null
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:31"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -25049,12 +25931,12 @@ tart/c2/ca2
 tart/c2/ca3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/listed02.at:32:
+$as_echo "$at_srcdir/listed02.at:31:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -25123,7 +26005,7 @@ tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
 echo Final files:
 find tart -print | sort 2>/dev/null
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "listed02.at:31"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -25263,7 +26145,7 @@ tart/c2/ca2
 tart/c2/ca3
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/listed02.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -25274,14 +26156,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_102
-#AT_START_103
-at_fn_group_banner 103 'listed03.at:24' \
-  "incremental dump when the parent directory is unreadable" "" 13
+#AT_STOP_113
+#AT_START_114
+at_fn_group_banner 114 'listed03.at:24' \
+  "incremental dump when the parent directory is unreadable" "" 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "103. $at_setup_line: testing $at_desc ..."
+  $as_echo "114. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -25381,14 +26263,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_103
-#AT_START_104
-at_fn_group_banner 104 'listed04.at:26' \
-  "--listed-incremental and --one-file-system" "     " 13
+#AT_STOP_114
+#AT_START_115
+at_fn_group_banner 115 'listed04.at:26' \
+  "--listed-incremental and --one-file-system" "     " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "104. $at_setup_line: testing $at_desc ..."
+  $as_echo "115. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -25456,14 +26338,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_104
-#AT_START_105
-at_fn_group_banner 105 'listed05.at:33' \
-  "--listed-incremental and remounted directories" " " 13
+#AT_STOP_115
+#AT_START_116
+at_fn_group_banner 116 'listed05.at:33' \
+  "--listed-incremental and remounted directories" " " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "105. $at_setup_line: testing $at_desc ..."
+  $as_echo "116. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -25586,14 +26468,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_105
-#AT_START_106
-at_fn_group_banner 106 'incr03.at:29' \
-  "renamed files in incrementals" "                  " 13
+#AT_STOP_116
+#AT_START_117
+at_fn_group_banner 117 'incr03.at:28' \
+  "renamed files in incrementals" "                  " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "106. $at_setup_line: testing $at_desc ..."
+  $as_echo "117. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -25601,7 +26483,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/incr03.at:32:
+$as_echo "$at_srcdir/incr03.at:31:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -25641,7 +26523,7 @@ echo Directory after second restore
 tar -xf archive.2 -g db --warning=no-timestamp
 find directory | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -25703,12 +26585,12 @@ directory/y
 directory/z
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr03.at:32:
+$as_echo "$at_srcdir/incr03.at:31:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -25748,7 +26630,7 @@ echo Directory after second restore
 tar -xf archive.2 -g db --warning=no-timestamp
 find directory | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -25810,12 +26692,12 @@ directory/y
 directory/z
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr03.at:32:
+$as_echo "$at_srcdir/incr03.at:31:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -25855,7 +26737,7 @@ echo Directory after second restore
 tar -xf archive.2 -g db --warning=no-timestamp
 find directory | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "incr03.at:31"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -25917,7 +26799,7 @@ directory/y
 directory/z
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/incr03.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -25928,14 +26810,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_106
-#AT_START_107
-at_fn_group_banner 107 'incr04.at:30' \
-  "proper icontents initialization" "                " 13
+#AT_STOP_117
+#AT_START_118
+at_fn_group_banner 118 'incr04.at:29' \
+  "proper icontents initialization" "                " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "107. $at_setup_line: testing $at_desc ..."
+  $as_echo "118. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -25945,7 +26827,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/incr04.at:35:
+$as_echo "$at_srcdir/incr04.at:34:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -25970,7 +26852,7 @@ mv a/b a/c
 echo \"Incremental dump\"
 tar cvf a1.tar -g a.sna a
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35"
+at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -26154,12 +27036,12 @@ a/
 a/c/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35"
+at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr04.at:35:
+$as_echo "$at_srcdir/incr04.at:34:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -26184,7 +27066,7 @@ mv a/b a/c
 echo \"Incremental dump\"
 tar cvf a1.tar -g a.sna a
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35"
+at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -26368,12 +27250,12 @@ a/
 a/c/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35"
+at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/incr04.at:35:
+$as_echo "$at_srcdir/incr04.at:34:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -26398,7 +27280,7 @@ mv a/b a/c
 echo \"Incremental dump\"
 tar cvf a1.tar -g a.sna a
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:35"
+at_fn_check_prepare_notrace 'an embedded newline' "incr04.at:34"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -26582,7 +27464,7 @@ a/
 a/c/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:35"
+at_fn_check_status 0 $at_status "$at_srcdir/incr04.at:34"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -26594,14 +27476,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_107
-#AT_START_108
-at_fn_group_banner 108 'incr05.at:21' \
-  "incremental dumps with -C" "                      " 13
+#AT_STOP_118
+#AT_START_119
+at_fn_group_banner 119 'incr05.at:21' \
+  "incremental dumps with -C" "                      " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "108. $at_setup_line: testing $at_desc ..."
+  $as_echo "119. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -26810,14 +27692,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_108
-#AT_START_109
-at_fn_group_banner 109 'incr06.at:21' \
-  "incremental dumps of nested directories" "        " 13
+#AT_STOP_119
+#AT_START_120
+at_fn_group_banner 120 'incr06.at:21' \
+  "incremental dumps of nested directories" "        " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "109. $at_setup_line: testing $at_desc ..."
+  $as_echo "120. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27143,14 +28025,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_109
-#AT_START_110
-at_fn_group_banner 110 'incr07.at:18' \
-  "incremental restores with -C" "                   " 13
+#AT_STOP_120
+#AT_START_121
+at_fn_group_banner 121 'incr07.at:18' \
+  "incremental restores with -C" "                   " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "110. $at_setup_line: testing $at_desc ..."
+  $as_echo "121. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27591,20 +28473,22 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_110
-#AT_START_111
-at_fn_group_banner 111 'incr08.at:38' \
-  "filename normalization" "                         " 13
+#AT_STOP_121
+#AT_START_122
+at_fn_group_banner 122 'incr08.at:38' \
+  "filename normalization" "                         " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "111. $at_setup_line: testing $at_desc ..."
+  $as_echo "122. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
 
 
 
+
+
   { set +x
 $as_echo "$at_srcdir/incr08.at:41:
 mkdir gnu
@@ -27631,9 +28515,7 @@ find .|sort
 
 decho B
 DIR=\`pwd\`
-tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . \$DIR 2>../err |\\
-  sed \"s|\$DIR|ABSPATH|\"
-sed \"s|\$DIR|ABSPATH|\" ../err >&2
+tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . \$DIR
 )"
 at_fn_check_prepare_notrace 'a `...` command substitution' "incr08.at:41"
 ( $at_check_trace;
@@ -27661,24 +28543,31 @@ find .|sort
 
 decho B
 DIR=`pwd`
-tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR 2>../err |\
-  sed "s|$DIR|ABSPATH|"
-sed "s|$DIR|ABSPATH|" ../err >&2
+tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
-echo >>"$at_stderr"; $as_echo "A
-B
-tar: .: Directory is new
-tar: ./subdir: Directory is new
-tar: ./subdir/dir1: Directory is new
-tar: ABSPATH: Directory is new
-tar: ABSPATH/subdir: Directory is new
-tar: ABSPATH/subdir/dir2: Directory is new
-tar: Removing leading \`/' from member names
-" | \
-  $at_diff - "$at_stderr" || at_failed=:
+echo stderr:; tee stderr <"$at_stderr"
+echo stdout:; tee stdout <"$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/incr08.at:41"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/incr08.at:41:
+DIR=\`pwd\`/gnu/tartest
+sed \"s|\$DIR|ABSPATH|\" stdout
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "incr08.at:41"
+( $at_check_trace;
+DIR=`pwd`/gnu/tartest
+sed "s|$DIR|ABSPATH|" stdout
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "A
 .
 ./foo
@@ -27700,20 +28589,48 @@ $at_failed && at_fn_log_failure
 $at_traceon; }
 
 
+{ set +x
+$as_echo "$at_srcdir/incr08.at:41:
+DIR=\`pwd\`/gnu/tartest
+sed \"/tar: Removing leading \\\`\\/*\\/' from/d;s|\$DIR|ABSPATH|\" stderr"
+at_fn_check_prepare_notrace 'a `...` command substitution' "incr08.at:41"
+( $at_check_trace;
+DIR=`pwd`/gnu/tartest
+sed "/tar: Removing leading \`\/*\/' from/d;s|$DIR|ABSPATH|" stderr
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "A
+B
+tar: .: Directory is new
+tar: ./subdir: Directory is new
+tar: ./subdir/dir1: Directory is new
+tar: ABSPATH: Directory is new
+tar: ABSPATH/subdir: Directory is new
+tar: ABSPATH/subdir/dir2: Directory is new
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incr08.at:41"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
 
 
   set +x
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_111
-#AT_START_112
-at_fn_group_banner 112 'incr09.at:26' \
-  "incremental with alternating -C" "                " 13
+#AT_STOP_122
+#AT_START_123
+at_fn_group_banner 123 'incr09.at:26' \
+  "incremental with alternating -C" "                " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "112. $at_setup_line: testing $at_desc ..."
+  $as_echo "123. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27810,14 +28727,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_112
-#AT_START_113
-at_fn_group_banner 113 'incr10.at:18' \
-  "concatenated incremental archives (deletes)" "    " 13
+#AT_STOP_123
+#AT_START_124
+at_fn_group_banner 124 'incr10.at:18' \
+  "concatenated incremental archives (deletes)" "    " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "113. $at_setup_line: testing $at_desc ..."
+  $as_echo "124. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -27916,14 +28833,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_113
-#AT_START_114
-at_fn_group_banner 114 'incr11.at:25' \
-  "concatenated incremental archives (renames)" "    " 13
+#AT_STOP_124
+#AT_START_125
+at_fn_group_banner 125 'incr11.at:25' \
+  "concatenated incremental archives (renames)" "    " 16
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "114. $at_setup_line: testing $at_desc ..."
+  $as_echo "125. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28034,14 +28951,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_114
-#AT_START_115
-at_fn_group_banner 115 'filerem01.at:36' \
-  "file removed as we read it (ca. 22 seconds)" "    " 14
+#AT_STOP_125
+#AT_START_126
+at_fn_group_banner 126 'filerem01.at:36' \
+  "file removed as we read it" "                     " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "115. $at_setup_line: testing $at_desc ..."
+  $as_echo "126. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28064,8 +28981,7 @@ genfile --file dir/file1
 genfile --file dir/sub/file2
 
 genfile --run --checkpoint=3 --unlink dir/file1 -- \\
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\
-       --checkpoint-action='echo' -c -f archive.tar \\
+       tar --blocking-factor=1 -c -f archive.tar \\
        --listed-incremental db -v dir >/dev/null
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "filerem01.at:39"
@@ -28084,8 +29000,7 @@ genfile --file dir/file1
 genfile --file dir/sub/file2
 
 genfile --run --checkpoint=3 --unlink dir/file1 -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
+       tar --blocking-factor=1 -c -f archive.tar \
        --listed-incremental db -v dir >/dev/null
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -28117,8 +29032,7 @@ genfile --file dir/file1
 genfile --file dir/sub/file2
 
 genfile --run --checkpoint=3 --unlink dir/file1 -- \\
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\
-       --checkpoint-action='echo' -c -f archive.tar \\
+       tar --blocking-factor=1 -c -f archive.tar \\
        --listed-incremental db -v dir >/dev/null
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "filerem01.at:39"
@@ -28137,8 +29051,7 @@ genfile --file dir/file1
 genfile --file dir/sub/file2
 
 genfile --run --checkpoint=3 --unlink dir/file1 -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
+       tar --blocking-factor=1 -c -f archive.tar \
        --listed-incremental db -v dir >/dev/null
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -28206,14 +29119,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_115
-#AT_START_116
-at_fn_group_banner 116 'filerem02.at:26' \
-  "toplevel file removed (ca. 24 seconds)" "         " 14
+#AT_STOP_126
+#AT_START_127
+at_fn_group_banner 127 'filerem02.at:26' \
+  "toplevel file removed" "                          " 17
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "116. $at_setup_line: testing $at_desc ..."
+  $as_echo "127. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28238,8 +29151,7 @@ mkdir dir2
 genfile --file dir2/file1
 
 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \\
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\
-       --checkpoint-action='echo' -c -f archive.tar \\
+       tar --blocking-factor=1 -c -f archive.tar \\
        --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "filerem02.at:29"
@@ -28260,8 +29172,7 @@ mkdir dir2
 genfile --file dir2/file1
 
 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
+       tar --blocking-factor=1 -c -f archive.tar \
        --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -28291,8 +29202,7 @@ mkdir dir2
 genfile --file dir2/file1
 
 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \\
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\
-       --checkpoint-action='echo' -c -f archive.tar \\
+       tar --blocking-factor=1 -c -f archive.tar \\
        --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "filerem02.at:29"
@@ -28313,8 +29223,7 @@ mkdir dir2
 genfile --file dir2/file1
 
 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
+       tar --blocking-factor=1 -c -f archive.tar \
        --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
@@ -28338,14 +29247,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_116
-#AT_START_117
-at_fn_group_banner 117 'dirrem01.at:34' \
-  "directory removed before reading" "               " 15
+#AT_STOP_127
+#AT_START_128
+at_fn_group_banner 128 'dirrem01.at:38' \
+  "directory removed before reading" "               " 18
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "117. $at_setup_line: testing $at_desc ..."
+  $as_echo "128. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28353,7 +29262,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/dirrem01.at:37:
+$as_echo "$at_srcdir/dirrem01.at:41:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -28374,11 +29283,12 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=\$CPT --unlink dir/sub/file2 --unlink dir/sub -- \\
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\
-       --checkpoint-action='echo' -c -f archive.tar \\
-       --listed-incremental db -v dir >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \\
+       --listed-incremental db \\
+       --warning=no-file-changed \\
+       -v dir >/dev/null
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "dirrem01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "dirrem01.at:41"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -28400,9 +29310,10 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
-       --listed-incremental db -v dir >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \
+       --listed-incremental db \
+       --warning=no-file-changed \
+       -v dir >/dev/null
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -28413,12 +29324,12 @@ tar: dir/sub: File removed before we read it
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 echo stdout:; cat "$at_stdout"
-at_fn_check_status 1 $at_status "$at_srcdir/dirrem01.at:37"
+at_fn_check_status 1 $at_status "$at_srcdir/dirrem01.at:41"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/dirrem01.at:37:
+$as_echo "$at_srcdir/dirrem01.at:41:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -28439,11 +29350,12 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=\$CPT --unlink dir/sub/file2 --unlink dir/sub -- \\
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\
-       --checkpoint-action='echo' -c -f archive.tar \\
-       --listed-incremental db -v dir >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \\
+       --listed-incremental db \\
+       --warning=no-file-changed \\
+       -v dir >/dev/null
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "dirrem01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "dirrem01.at:41"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -28465,9 +29377,10 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
-       --listed-incremental db -v dir >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \
+       --listed-incremental db \
+       --warning=no-file-changed \
+       -v dir >/dev/null
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -28478,7 +29391,7 @@ tar: dir/sub: File removed before we read it
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 echo stdout:; cat "$at_stdout"
-at_fn_check_status 1 $at_status "$at_srcdir/dirrem01.at:37"
+at_fn_check_status 1 $at_status "$at_srcdir/dirrem01.at:41"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -28489,14 +29402,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_117
-#AT_START_118
-at_fn_group_banner 118 'dirrem02.at:31' \
-  "explicitly named directory removed before reading" "" 15
+#AT_STOP_128
+#AT_START_129
+at_fn_group_banner 129 'dirrem02.at:31' \
+  "explicitly named directory removed before reading" "" 18
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "118. $at_setup_line: testing $at_desc ..."
+  $as_echo "129. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28525,9 +29438,10 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=\$CPT --unlink dir/sub/file2 --unlink dir/sub -- \\
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\
-       --checkpoint-action='echo' -c -f archive.tar \\
-       --listed-incremental db -v dir dir/sub >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \\
+       --listed-incremental db \\
+       --warning=no-file-changed \\
+       -v dir dir/sub >/dev/null
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "dirrem02.at:34"
 ( $at_check_trace;
@@ -28551,9 +29465,10 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
-       --listed-incremental db -v dir dir/sub >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \
+       --listed-incremental db \
+       --warning=no-file-changed \
+       -v dir dir/sub >/dev/null
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -28591,9 +29506,10 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=\$CPT --unlink dir/sub/file2 --unlink dir/sub -- \\
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\
-       --checkpoint-action='echo' -c -f archive.tar \\
-       --listed-incremental db -v dir dir/sub >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \\
+       --listed-incremental db \\
+       --warning=no-file-changed \\
+       -v dir dir/sub >/dev/null
 )"
 at_fn_check_prepare_notrace 'an embedded newline' "dirrem02.at:34"
 ( $at_check_trace;
@@ -28617,9 +29533,10 @@ gnu)   CPT=3;;
 esac
 
 genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
-       tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
-       --checkpoint-action='echo' -c -f archive.tar \
-       --listed-incremental db -v dir dir/sub >/dev/null
+       tar --blocking-factor=1 -c -f archive.tar \
+       --listed-incremental db \
+       --warning=no-file-changed \
+       -v dir dir/sub >/dev/null
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -28642,14 +29559,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_118
-#AT_START_119
-at_fn_group_banner 119 'rename01.at:25' \
-  "renamed dirs in incrementals" "                   " 16
+#AT_STOP_129
+#AT_START_130
+at_fn_group_banner 130 'rename01.at:24' \
+  "renamed dirs in incrementals" "                   " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "119. $at_setup_line: testing $at_desc ..."
+  $as_echo "130. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -28657,7 +29574,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/rename01.at:28:
+$as_echo "$at_srcdir/rename01.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -28697,7 +29614,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -28771,12 +29688,12 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename01.at:28:
+$as_echo "$at_srcdir/rename01.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -28816,7 +29733,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -28890,12 +29807,12 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename01.at:28:
+$as_echo "$at_srcdir/rename01.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -28935,7 +29852,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename01.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -29009,7 +29926,7 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/rename01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -29020,14 +29937,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_119
-#AT_START_120
-at_fn_group_banner 120 'rename02.at:25' \
-  "move between hierarchies" "                       " 16
+#AT_STOP_130
+#AT_START_131
+at_fn_group_banner 131 'rename02.at:24' \
+  "move between hierarchies" "                       " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "120. $at_setup_line: testing $at_desc ..."
+  $as_echo "131. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29035,7 +29952,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/rename02.at:28:
+$as_echo "$at_srcdir/rename02.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -29079,7 +29996,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -29168,12 +30085,12 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename02.at:28:
+$as_echo "$at_srcdir/rename02.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -29217,7 +30134,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -29306,12 +30223,12 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename02.at:28:
+$as_echo "$at_srcdir/rename02.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -29355,7 +30272,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:28"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename02.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -29444,7 +30361,7 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/rename02.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -29455,14 +30372,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_120
-#AT_START_121
-at_fn_group_banner 121 'rename03.at:24' \
-  "cyclic renames" "                                 " 16
+#AT_STOP_131
+#AT_START_132
+at_fn_group_banner 132 'rename03.at:23' \
+  "cyclic renames" "                                 " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "121. $at_setup_line: testing $at_desc ..."
+  $as_echo "132. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -29470,7 +30387,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/rename03.at:27:
+$as_echo "$at_srcdir/rename03.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -29526,7 +30443,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -29640,12 +30557,12 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename03.at:27:
+$as_echo "$at_srcdir/rename03.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -29701,7 +30618,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -29815,12 +30732,12 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/rename03.at:27:
+$as_echo "$at_srcdir/rename03.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -29876,7 +30793,7 @@ echo Begin directory listing 2
 find foo | sort
 echo End directory listing 2
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:27"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rename03.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -29990,7 +30907,7 @@ foo/file2
 End directory listing 2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/rename03.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -30001,14 +30918,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_121
-#AT_START_122
-at_fn_group_banner 122 'rename04.at:27' \
-  "renamed directory containing subdirectories" "    " 16
+#AT_STOP_132
+#AT_START_133
+at_fn_group_banner 133 'rename04.at:27' \
+  "renamed directory containing subdirectories" "    " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "122. $at_setup_line: testing $at_desc ..."
+  $as_echo "133. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -30340,14 +31257,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_122
-#AT_START_123
-at_fn_group_banner 123 'rename05.at:24' \
-  "renamed subdirectories" "                         " 16
+#AT_STOP_133
+#AT_START_134
+at_fn_group_banner 134 'rename05.at:24' \
+  "renamed subdirectories" "                         " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "123. $at_setup_line: testing $at_desc ..."
+  $as_echo "134. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -30685,14 +31602,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_123
-#AT_START_124
-at_fn_group_banner 124 'chtype.at:28' \
-  "changed file types in incrementals" "             " 16
+#AT_STOP_134
+#AT_START_135
+at_fn_group_banner 135 'chtype.at:27' \
+  "changed file types in incrementals" "             " 19
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "124. $at_setup_line: testing $at_desc ..."
+  $as_echo "135. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -30700,7 +31617,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/chtype.at:31:
+$as_echo "$at_srcdir/chtype.at:30:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -30740,7 +31657,7 @@ echo Restore archive.2
 tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
 find directory | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:31"
+at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:30"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -30796,12 +31713,12 @@ directory/a/b
 directory/b
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/chtype.at:31:
+$as_echo "$at_srcdir/chtype.at:30:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -30841,7 +31758,7 @@ echo Restore archive.2
 tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
 find directory | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:31"
+at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:30"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -30897,12 +31814,12 @@ directory/a/b
 directory/b
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/chtype.at:31:
+$as_echo "$at_srcdir/chtype.at:30:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -30942,7 +31859,7 @@ echo Restore archive.2
 tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
 find directory | sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:31"
+at_fn_check_prepare_notrace 'a `...` command substitution' "chtype.at:30"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -30998,7 +31915,7 @@ directory/a/b
 directory/b
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/chtype.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -31009,14 +31926,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_124
-#AT_START_125
-at_fn_group_banner 125 'ignfail.at:24' \
-  "ignfail" "                                        " 17
+#AT_STOP_135
+#AT_START_136
+at_fn_group_banner 136 'ignfail.at:23' \
+  "ignfail" "                                        " 20
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "125. $at_setup_line: testing $at_desc ..."
+  $as_echo "136. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -31024,7 +31941,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/ignfail.at:27:
+$as_echo "$at_srcdir/ignfail.at:26:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -31075,7 +31992,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -31143,12 +32060,12 @@ tar: directory: Warning: Cannot open: Permission denied
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/ignfail.at:27:
+$as_echo "$at_srcdir/ignfail.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -31199,7 +32116,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -31267,12 +32184,12 @@ tar: directory: Warning: Cannot open: Permission denied
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/ignfail.at:27:
+$as_echo "$at_srcdir/ignfail.at:26:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -31323,7 +32240,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -31391,12 +32308,12 @@ tar: directory: Warning: Cannot open: Permission denied
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/ignfail.at:27:
+$as_echo "$at_srcdir/ignfail.at:26:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -31447,7 +32364,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -31515,12 +32432,12 @@ tar: directory: Warning: Cannot open: Permission denied
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/ignfail.at:27:
+$as_echo "$at_srcdir/ignfail.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -31571,7 +32488,7 @@ status=\$?
 chmod 700 directory
 test \$status = 0
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "ignfail.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -31639,7 +32556,7 @@ tar: directory: Warning: Cannot open: Permission denied
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/ignfail.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -31650,14 +32567,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_125
-#AT_START_126
-at_fn_group_banner 126 'link01.at:34' \
-  "link count gt 2" "                                " 18
+#AT_STOP_136
+#AT_START_137
+at_fn_group_banner 137 'link01.at:33' \
+  "link count gt 2" "                                " 21
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "126. $at_setup_line: testing $at_desc ..."
+  $as_echo "137. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -31665,7 +32582,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/link01.at:37:
+$as_echo "$at_srcdir/link01.at:36:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -31688,7 +32605,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -31719,12 +32636,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "test.txt
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/link01.at:37:
+$as_echo "$at_srcdir/link01.at:36:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -31747,7 +32664,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -31778,12 +32695,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "test.txt
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/link01.at:37:
+$as_echo "$at_srcdir/link01.at:36:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -31806,7 +32723,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -31837,12 +32754,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "test.txt
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/link01.at:37:
+$as_echo "$at_srcdir/link01.at:36:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -31865,7 +32782,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -31896,12 +32813,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "test.txt
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/link01.at:37:
+$as_echo "$at_srcdir/link01.at:36:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -31924,7 +32841,7 @@ tar xf archive --warning=no-timestamp
 
 ls directory/test1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "link01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "link01.at:36"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -31955,7 +32872,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "test.txt
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/link01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/link01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -31966,14 +32883,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_126
-#AT_START_127
-at_fn_group_banner 127 'link02.at:32' \
-  "preserve hard links with --remove-files" "        " 18
+#AT_STOP_137
+#AT_START_138
+at_fn_group_banner 138 'link02.at:32' \
+  "preserve hard links with --remove-files" "        " 21
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "127. $at_setup_line: testing $at_desc ..."
+  $as_echo "138. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -32222,14 +33139,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_127
-#AT_START_128
-at_fn_group_banner 128 'link03.at:24' \
-  "working -l with --remove-files" "                 " 18
+#AT_STOP_138
+#AT_START_139
+at_fn_group_banner 139 'link03.at:24' \
+  "working -l with --remove-files" "                 " 21
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "128. $at_setup_line: testing $at_desc ..."
+  $as_echo "139. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -32621,14 +33538,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_128
-#AT_START_129
-at_fn_group_banner 129 'link04.at:29' \
-  "link count is 1 but multiple occurrences" "       " 18
+#AT_STOP_139
+#AT_START_140
+at_fn_group_banner 140 'link04.at:29' \
+  "link count is 1 but multiple occurrences" "       " 21
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "129. $at_setup_line: testing $at_desc ..."
+  $as_echo "140. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33067,14 +33984,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_129
-#AT_START_130
-at_fn_group_banner 130 'longv7.at:25' \
-  "long names in V7 archives" "                      " 19
+#AT_STOP_140
+#AT_START_141
+at_fn_group_banner 141 'longv7.at:24' \
+  "long names in V7 archives" "                      " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "130. $at_setup_line: testing $at_desc ..."
+  $as_echo "141. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33085,7 +34002,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/longv7.at:31:
+$as_echo "$at_srcdir/longv7.at:30:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -33101,7 +34018,7 @@ tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems
 echo separator
 tar tf archive
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "longv7.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "longv7.at:30"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -33129,7 +34046,7 @@ echo >>"$at_stdout"; $as_echo "separator
 this_is_a_very_long_name_for_a_directory_which_causes_problems/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/longv7.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/longv7.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -33142,14 +34059,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_130
-#AT_START_131
-at_fn_group_banner 131 'long01.at:29' \
-  "long file names divisible by block size" "        " 19
+#AT_STOP_141
+#AT_START_142
+at_fn_group_banner 142 'long01.at:28' \
+  "long file names divisible by block size" "        " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "131. $at_setup_line: testing $at_desc ..."
+  $as_echo "142. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33161,7 +34078,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/long01.at:37:
+$as_echo "$at_srcdir/long01.at:36:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -33176,7 +34093,7 @@ echo test > endfile
 
 tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile
 tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "long01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "long01.at:36"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -33200,12 +34117,12 @@ echo >>"$at_stdout"; $as_echo "0123456789abcde/0123456789abcde/0123456789abcde/0
 endfile
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/long01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/long01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/long01.at:37:
+$as_echo "$at_srcdir/long01.at:36:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -33220,7 +34137,7 @@ echo test > endfile
 
 tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile
 tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "long01.at:37"
+at_fn_check_prepare_notrace 'an embedded newline' "long01.at:36"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -33244,7 +34161,7 @@ echo >>"$at_stdout"; $as_echo "0123456789abcde/0123456789abcde/0123456789abcde/0
 endfile
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/long01.at:37"
+at_fn_check_status 0 $at_status "$at_srcdir/long01.at:36"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -33257,14 +34174,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_131
-#AT_START_132
-at_fn_group_banner 132 'lustar01.at:22' \
-  "ustar: unsplittable file name" "                  " 19
+#AT_STOP_142
+#AT_START_143
+at_fn_group_banner 143 'lustar01.at:21' \
+  "ustar: unsplittable file name" "                  " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "132. $at_setup_line: testing $at_desc ..."
+  $as_echo "143. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33274,7 +34191,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/lustar01.at:28:
+$as_echo "$at_srcdir/lustar01.at:27:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -33286,7 +34203,7 @@ rm -rf *
 genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77
 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "lustar01.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "lustar01.at:27"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -33307,7 +34224,7 @@ tar: Exiting with failure status due to previous errors
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 2 $at_status "$at_srcdir/lustar01.at:28"
+at_fn_check_status 2 $at_status "$at_srcdir/lustar01.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -33319,14 +34236,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_132
-#AT_START_133
-at_fn_group_banner 133 'lustar02.at:22' \
-  "ustar: unsplittable path name" "                  " 19
+#AT_STOP_143
+#AT_START_144
+at_fn_group_banner 144 'lustar02.at:21' \
+  "ustar: unsplittable path name" "                  " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "133. $at_setup_line: testing $at_desc ..."
+  $as_echo "144. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33340,7 +34257,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/lustar02.at:33:
+$as_echo "$at_srcdir/lustar02.at:32:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -33353,7 +34270,7 @@ rm -rf *
 install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77
 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "lustar02.at:33"
+at_fn_check_prepare_notrace 'an embedded newline' "lustar02.at:32"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -33375,7 +34292,7 @@ tar: Exiting with failure status due to previous errors
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 2 $at_status "$at_srcdir/lustar02.at:33"
+at_fn_check_status 2 $at_status "$at_srcdir/lustar02.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -33390,14 +34307,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_133
-#AT_START_134
-at_fn_group_banner 134 'lustar03.at:22' \
-  "ustar: splitting long names" "                    " 19
+#AT_STOP_144
+#AT_START_145
+at_fn_group_banner 145 'lustar03.at:21' \
+  "ustar: splitting long names" "                    " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "134. $at_setup_line: testing $at_desc ..."
+  $as_echo "145. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33409,7 +34326,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/lustar03.at:30:
+$as_echo "$at_srcdir/lustar03.at:29:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -33424,7 +34341,7 @@ echo \"Create archive\"
 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be
 echo \"List archive\"
 tar tf archive)"
-at_fn_check_prepare_notrace 'an embedded newline' "lustar03.at:30"
+at_fn_check_prepare_notrace 'an embedded newline' "lustar03.at:29"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -33450,7 +34367,7 @@ this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archive
 this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/lustar03.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/lustar03.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -33463,25 +34380,25 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_134
-#AT_START_135
-at_fn_group_banner 135 'old.at:24' \
-  "old archives" "                                   " 19
+#AT_STOP_145
+#AT_START_146
+at_fn_group_banner 146 'old.at:23' \
+  "old archives" "                                   " 22
 at_xfail=no
 (
-  $as_echo "135. $at_setup_line: testing $at_desc ..."
+  $as_echo "146. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
 
 unset TAR_OPTIONS
 { set +x
-$as_echo "$at_srcdir/old.at:28:
+$as_echo "$at_srcdir/old.at:27:
 mkdir directory
 tar cfvo archive directory || exit 1
 tar tf archive
 "
-at_fn_check_prepare_notrace 'an embedded newline' "old.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "old.at:27"
 ( $at_check_trace;
 mkdir directory
 tar cfvo archive directory || exit 1
@@ -33495,7 +34412,7 @@ echo >>"$at_stdout"; $as_echo "directory/
 directory/
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/old.at:28"
+at_fn_check_status 0 $at_status "$at_srcdir/old.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -33504,14 +34421,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_135
-#AT_START_136
-at_fn_group_banner 136 'time01.at:20' \
-  "time: tricky time stamps" "                       " 19
+#AT_STOP_146
+#AT_START_147
+at_fn_group_banner 147 'time01.at:20' \
+  "time: tricky time stamps" "                       " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "136. $at_setup_line: testing $at_desc ..."
+  $as_echo "147. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33638,14 +34555,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_136
-#AT_START_137
-at_fn_group_banner 137 'time02.at:20' \
-  "time: clamping mtime" "                           " 19
+#AT_STOP_147
+#AT_START_148
+at_fn_group_banner 148 'time02.at:20' \
+  "time: clamping mtime" "                           " 22
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "137. $at_setup_line: testing $at_desc ..."
+  $as_echo "148. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33719,14 +34636,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_137
-#AT_START_138
-at_fn_group_banner 138 'multiv01.at:24' \
-  "multivolume dumps from pipes" "                   " 20
+#AT_STOP_148
+#AT_START_149
+at_fn_group_banner 149 'multiv01.at:23' \
+  "multivolume dumps from pipes" "                   " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "138. $at_setup_line: testing $at_desc ..."
+  $as_echo "149. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -33738,7 +34655,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/multiv01.at:31:
+$as_echo "$at_srcdir/multiv01.at:30:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -33776,7 +34693,7 @@ PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
 cmp file1 extract-dir-pipe/file1
 cmp file2 extract-dir-pipe/file2
 )"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:31"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:30"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -33820,12 +34737,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/multiv01.at:31:
+$as_echo "$at_srcdir/multiv01.at:30:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -33863,7 +34780,7 @@ PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
 cmp file1 extract-dir-pipe/file1
 cmp file2 extract-dir-pipe/file2
 )"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:31"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:30"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -33907,12 +34824,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/multiv01.at:31:
+$as_echo "$at_srcdir/multiv01.at:30:
 mkdir pax
 (cd pax
 TEST_TAR_FORMAT=pax
@@ -33950,7 +34867,7 @@ PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
 cmp file1 extract-dir-pipe/file1
 cmp file2 extract-dir-pipe/file2
 )"
-at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:31"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "multiv01.at:30"
 ( $at_check_trace;
 mkdir pax
 (cd pax
@@ -33994,7 +34911,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv01.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -34005,14 +34922,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_138
-#AT_START_139
-at_fn_group_banner 139 'multiv02.at:29' \
-  "skipping a straddling member" "                   " 20
+#AT_STOP_149
+#AT_START_150
+at_fn_group_banner 150 'multiv02.at:28' \
+  "skipping a straddling member" "                   " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "139. $at_setup_line: testing $at_desc ..."
+  $as_echo "150. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34020,7 +34937,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/multiv02.at:32:
+$as_echo "$at_srcdir/multiv02.at:31:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -34040,7 +34957,7 @@ tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
 echo separator
 tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -34069,12 +34986,12 @@ echo >>"$at_stdout"; $as_echo "separator
 en
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/multiv02.at:32:
+$as_echo "$at_srcdir/multiv02.at:31:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -34094,7 +35011,7 @@ tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
 echo separator
 tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -34123,12 +35040,12 @@ echo >>"$at_stdout"; $as_echo "separator
 en
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/multiv02.at:32:
+$as_echo "$at_srcdir/multiv02.at:31:
 mkdir pax
 (cd pax
 TEST_TAR_FORMAT=pax
@@ -34148,7 +35065,7 @@ tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
 echo separator
 tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv02.at:31"
 ( $at_check_trace;
 mkdir pax
 (cd pax
@@ -34177,7 +35094,7 @@ echo >>"$at_stdout"; $as_echo "separator
 en
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv02.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -34188,14 +35105,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_139
-#AT_START_140
-at_fn_group_banner 140 'multiv03.at:31' \
-  "MV archive & long filenames" "                    " 20
+#AT_STOP_150
+#AT_START_151
+at_fn_group_banner 151 'multiv03.at:30' \
+  "MV archive & long filenames" "                    " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "140. $at_setup_line: testing $at_desc ..."
+  $as_echo "151. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34203,7 +35120,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/multiv03.at:34:
+$as_echo "$at_srcdir/multiv03.at:33:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -34243,7 +35160,7 @@ mv \$BFILE bfile
 tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
 cmp \$BFILE bfile
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "multiv03.at:34"
+at_fn_check_prepare_notrace 'a `...` command substitution' "multiv03.at:33"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -34289,12 +35206,12 @@ at_status=$? at_failed=false
 $at_check_filter
 $at_diff experr "$at_stderr" || at_failed=:
 $at_diff expout "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv03.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv03.at:33"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/multiv03.at:34:
+$as_echo "$at_srcdir/multiv03.at:33:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -34334,7 +35251,7 @@ mv \$BFILE bfile
 tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
 cmp \$BFILE bfile
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "multiv03.at:34"
+at_fn_check_prepare_notrace 'a `...` command substitution' "multiv03.at:33"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -34380,7 +35297,7 @@ at_status=$? at_failed=false
 $at_check_filter
 $at_diff experr "$at_stderr" || at_failed=:
 $at_diff expout "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv03.at:34"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv03.at:33"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -34391,14 +35308,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_140
-#AT_START_141
-at_fn_group_banner 141 'multiv04.at:37' \
-  "split directory members in a MV archive" "        " 20
+#AT_STOP_151
+#AT_START_152
+at_fn_group_banner 152 'multiv04.at:36' \
+  "split directory members in a MV archive" "        " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "141. $at_setup_line: testing $at_desc ..."
+  $as_echo "152. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34406,7 +35323,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/multiv04.at:40:
+$as_echo "$at_srcdir/multiv04.at:39:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -34432,7 +35349,7 @@ tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v d
 echo separator
 
 tar -MRt -f arc.1 -f arc.2)"
-at_fn_check_prepare_notrace 'an embedded newline' "multiv04.at:40"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv04.at:39"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -34469,12 +35386,12 @@ block 0: directory/
 block 35: ** Block of NULs **
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv04.at:40"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv04.at:39"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/multiv04.at:40:
+$as_echo "$at_srcdir/multiv04.at:39:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -34500,7 +35417,7 @@ tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v d
 echo separator
 
 tar -MRt -f arc.1 -f arc.2)"
-at_fn_check_prepare_notrace 'an embedded newline' "multiv04.at:40"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv04.at:39"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -34537,7 +35454,7 @@ block 0: directory/
 block 35: ** Block of NULs **
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv04.at:40"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv04.at:39"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -34548,14 +35465,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_141
-#AT_START_142
-at_fn_group_banner 142 'multiv05.at:27' \
-  "Restoring after an out of sync volume" "          " 20
+#AT_STOP_152
+#AT_START_153
+at_fn_group_banner 153 'multiv05.at:26' \
+  "Restoring after an out of sync volume" "          " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "142. $at_setup_line: testing $at_desc ..."
+  $as_echo "153. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34564,7 +35481,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/multiv05.at:31:
+$as_echo "$at_srcdir/multiv05.at:30:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -34602,7 +35519,7 @@ echo Diffing piec
 echo Diffing szesc
    cmp bak/szesc szesc || exit 1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "multiv05.at:31"
+at_fn_check_prepare_notrace 'an embedded newline' "multiv05.at:30"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -34663,7 +35580,7 @@ Diffing piec
 Diffing szesc
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multiv05.at:31"
+at_fn_check_status 0 $at_status "$at_srcdir/multiv05.at:30"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -34675,14 +35592,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_142
-#AT_START_143
-at_fn_group_banner 143 'multiv06.at:27' \
-  "Multivolumes with L=record_size" "                " 20
+#AT_STOP_153
+#AT_START_154
+at_fn_group_banner 154 'multiv06.at:27' \
+  "Multivolumes with L=record_size" "                " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "143. $at_setup_line: testing $at_desc ..."
+  $as_echo "154. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34800,14 +35717,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_143
-#AT_START_144
-at_fn_group_banner 144 'multiv07.at:28' \
-  "volumes split at an extended header" "            " 20
+#AT_STOP_154
+#AT_START_155
+at_fn_group_banner 155 'multiv07.at:28' \
+  "volumes split at an extended header" "            " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "144. $at_setup_line: testing $at_desc ..."
+  $as_echo "155. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34860,14 +35777,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_144
-#AT_START_145
-at_fn_group_banner 145 'multiv08.at:25' \
-  "multivolume header creation" "                    " 20
+#AT_STOP_155
+#AT_START_156
+at_fn_group_banner 156 'multiv08.at:25' \
+  "multivolume header creation" "                    " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "145. $at_setup_line: testing $at_desc ..."
+  $as_echo "156. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -34933,14 +35850,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_145
-#AT_START_146
-at_fn_group_banner 146 'multiv09.at:26' \
-  "bad next volume" "                                " 20
+#AT_STOP_156
+#AT_START_157
+at_fn_group_banner 157 'multiv09.at:26' \
+  "bad next volume" "                                " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "146. $at_setup_line: testing $at_desc ..."
+  $as_echo "157. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35192,14 +36109,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_146
-#AT_START_147
-at_fn_group_banner 147 'multiv10.at:37' \
-  "file start at the beginning of a posix volume" "  " 20
+#AT_STOP_157
+#AT_START_158
+at_fn_group_banner 158 'multiv10.at:37' \
+  "file start at the beginning of a posix volume" "  " 23
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "147. $at_setup_line: testing $at_desc ..."
+  $as_echo "158. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35267,14 +36184,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_147
-#AT_START_148
-at_fn_group_banner 148 'owner.at:21' \
-  "--owner and --group" "                            " 21
+#AT_STOP_158
+#AT_START_159
+at_fn_group_banner 159 'owner.at:21' \
+  "--owner and --group" "                            " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "148. $at_setup_line: testing $at_desc ..."
+  $as_echo "159. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35346,14 +36263,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_148
-#AT_START_149
-at_fn_group_banner 149 'map.at:21' \
-  "--owner-map and --group-map" "                    " 21
+#AT_STOP_159
+#AT_START_160
+at_fn_group_banner 160 'map.at:21' \
+  "--owner-map and --group-map" "                    " 24
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "149. $at_setup_line: testing $at_desc ..."
+  $as_echo "160. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35477,14 +36394,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_149
-#AT_START_150
-at_fn_group_banner 150 'sparse01.at:22' \
-  "sparse files" "                                   " 22
+#AT_STOP_160
+#AT_START_161
+at_fn_group_banner 161 'sparse01.at:21' \
+  "sparse files" "                                   " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "150. $at_setup_line: testing $at_desc ..."
+  $as_echo "161. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35492,7 +36409,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/sparse01.at:25:
+$as_echo "$at_srcdir/sparse01.at:24:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -35514,7 +36431,7 @@ tar Cxf directory archive --warning=no-timestamp
 genfile --stat=name,size sparsefile
 cmp sparsefile directory/sparsefile
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -35542,12 +36459,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparse01.at:25:
+$as_echo "$at_srcdir/sparse01.at:24:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -35569,7 +36486,7 @@ tar Cxf directory archive --warning=no-timestamp
 genfile --stat=name,size sparsefile
 cmp sparsefile directory/sparsefile
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -35597,12 +36514,12 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparse01.at:25:
+$as_echo "$at_srcdir/sparse01.at:24:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -35624,7 +36541,7 @@ tar Cxf directory archive --warning=no-timestamp
 genfile --stat=name,size sparsefile
 cmp sparsefile directory/sparsefile
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse01.at:24"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -35652,7 +36569,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/sparse01.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -35681,14 +36598,14 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_150
-#AT_START_151
-at_fn_group_banner 151 'sparse02.at:22' \
-  "extracting sparse file over a pipe" "             " 22
+#AT_STOP_161
+#AT_START_162
+at_fn_group_banner 162 'sparse02.at:21' \
+  "extracting sparse file over a pipe" "             " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "151. $at_setup_line: testing $at_desc ..."
+  $as_echo "162. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35700,7 +36617,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/sparse02.at:29:
+$as_echo "$at_srcdir/sparse02.at:28:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -35716,7 +36633,7 @@ echo separator
 tar xfO archive | cat - > sparsecopy || exit 1
 cmp sparsefile sparsecopy
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -35740,12 +36657,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "separator
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparse02.at:29:
+$as_echo "$at_srcdir/sparse02.at:28:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -35761,7 +36678,7 @@ echo separator
 tar xfO archive | cat - > sparsecopy || exit 1
 cmp sparsefile sparsecopy
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -35785,12 +36702,12 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "separator
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparse02.at:29:
+$as_echo "$at_srcdir/sparse02.at:28:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -35806,7 +36723,7 @@ echo separator
 tar xfO archive | cat - > sparsecopy || exit 1
 cmp sparsefile sparsecopy
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:29"
+at_fn_check_prepare_notrace 'an embedded newline' "sparse02.at:28"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -35830,7 +36747,7 @@ at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; $as_echo "separator
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:29"
+at_fn_check_status 0 $at_status "$at_srcdir/sparse02.at:28"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -35841,14 +36758,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_151
-#AT_START_152
-at_fn_group_banner 152 'sparse03.at:22' \
-  "storing sparse files > 8G" "                      " 22
+#AT_STOP_162
+#AT_START_163
+at_fn_group_banner 163 'sparse03.at:21' \
+  "storing sparse files > 8G" "                      " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "152. $at_setup_line: testing $at_desc ..."
+  $as_echo "163. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -35861,7 +36778,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/sparse03.at:30:
+$as_echo "$at_srcdir/sparse03.at:29:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -35870,6 +36787,7 @@ TAR_OPTIONS=\"-H posix\"
 export TAR_OPTIONS
 rm -rf *
 
+test \"\${TARTEST_SKIP_LARGE_FILES:-0}\" != 0 && exit 77
 genfile --length 1000 --file begin
 genfile --length 1000 --file end
 genfile --sparse --file sparsefile --block-size 512 8G A || exit 77
@@ -35883,7 +36801,7 @@ tar Cxf directory archive
 genfile --stat=name,size sparsefile
 cmp sparsefile directory/sparsefile
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparse03.at:30"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sparse03.at:29"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -35893,6 +36811,7 @@ TAR_OPTIONS="-H posix"
 export TAR_OPTIONS
 rm -rf *
 
+test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
 genfile --length 1000 --file begin
 genfile --length 1000 --file end
 genfile --sparse --file sparsefile --block-size 512 8G A || exit 77
@@ -35911,7 +36830,7 @@ at_status=$? at_failed=false
 $at_check_filter
 at_fn_diff_devnull "$at_stderr" || at_failed=:
 echo stdout:; tee stdout <"$at_stdout"
-at_fn_check_status 0 $at_status "$at_srcdir/sparse03.at:30"
+at_fn_check_status 0 $at_status "$at_srcdir/sparse03.at:29"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -35940,14 +36859,14 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_152
-#AT_START_153
-at_fn_group_banner 153 'sparse04.at:21' \
-  "storing long sparse file names" "                 " 22
+#AT_STOP_163
+#AT_START_164
+at_fn_group_banner 164 'sparse04.at:21' \
+  "storing long sparse file names" "                 " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "153. $at_setup_line: testing $at_desc ..."
+  $as_echo "164. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -36009,14 +36928,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_153
-#AT_START_154
-at_fn_group_banner 154 'sparse05.at:21' \
-  "listing sparse files bigger than 2^33 B" "        " 22
+#AT_STOP_164
+#AT_START_165
+at_fn_group_banner 165 'sparse05.at:21' \
+  "listing sparse files bigger than 2^33 B" "        " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "154. $at_setup_line: testing $at_desc ..."
+  $as_echo "165. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -36040,6 +36959,7 @@ TAR_OPTIONS=\"-H pax\"
 export TAR_OPTIONS
 rm -rf *
 
+test \"\${TARTEST_SKIP_LARGE_FILES:-0}\" != 0 && exit 77
 cat >mapfile <<'_ATEOF'
 0 =2560
 10M =2560
@@ -37056,6 +37976,7 @@ TAR_OPTIONS="-H pax"
 export TAR_OPTIONS
 rm -rf *
 
+test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
 cat >mapfile <<'_ATEOF'
 0 =2560
 10M =2560
@@ -38080,14 +39001,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_154
-#AT_START_155
-at_fn_group_banner 155 'sparse06.at:21' \
-  "storing sparse file using seek method" "          " 22
+#AT_STOP_165
+#AT_START_166
+at_fn_group_banner 166 'sparse06.at:21' \
+  "storing sparse file using seek method" "          " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "155. $at_setup_line: testing $at_desc ..."
+  $as_echo "166. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -38256,14 +39177,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_155
-#AT_START_156
-at_fn_group_banner 156 'sparse07.at:21' \
-  "sparse files with unicode names" "                " 22
+#AT_STOP_166
+#AT_START_167
+at_fn_group_banner 167 'sparse07.at:21' \
+  "sparse files with unicode names" "                " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "156. $at_setup_line: testing $at_desc ..."
+  $as_echo "167. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -38400,14 +39321,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_156
-#AT_START_157
-at_fn_group_banner 157 'sparsemv.at:22' \
-  "sparse files in MV archives" "                    " 22
+#AT_STOP_167
+#AT_START_168
+at_fn_group_banner 168 'sparsemv.at:21' \
+  "sparse files in MV archives" "                    " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "157. $at_setup_line: testing $at_desc ..."
+  $as_echo "168. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -38422,7 +39343,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/sparsemv.at:32:
+$as_echo "$at_srcdir/sparsemv.at:31:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -38451,7 +39372,7 @@ tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo \"Compare archive\"
 tar --record-size=512 -d -M -f arc.1 -f arc.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparsemv.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "sparsemv.at:31"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -38497,12 +39418,12 @@ sparsefile
 Compare archive
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/sparsemv.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/sparsemv.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/sparsemv.at:32:
+$as_echo "$at_srcdir/sparsemv.at:31:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -38531,7 +39452,7 @@ tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo \"Compare archive\"
 tar --record-size=512 -d -M -f arc.1 -f arc.2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "sparsemv.at:32"
+at_fn_check_prepare_notrace 'an embedded newline' "sparsemv.at:31"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -38577,7 +39498,7 @@ sparsefile
 Compare archive
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/sparsemv.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/sparsemv.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -38588,14 +39509,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_157
-#AT_START_158
-at_fn_group_banner 158 'spmvp00.at:22' \
-  "sparse files in PAX MV archives, v.0.0" "         " 22
+#AT_STOP_168
+#AT_START_169
+at_fn_group_banner 169 'spmvp00.at:21' \
+  "sparse files in PAX MV archives, v.0.0" "         " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "158. $at_setup_line: testing $at_desc ..."
+  $as_echo "169. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -38604,7 +39525,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/spmvp00.at:25:
+$as_echo "$at_srcdir/spmvp00.at:24:
 mkdir pax
 (cd pax
 TEST_TAR_FORMAT=pax
@@ -38633,7 +39554,7 @@ tar -t -M -f arc.1 -f arc.2 -f arc.3
 echo \"Compare archive\"
 tar -d -M -f arc.1 -f arc.2 -f arc.3
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "spmvp00.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "spmvp00.at:24"
 ( $at_check_trace;
 mkdir pax
 (cd pax
@@ -38679,7 +39600,7 @@ sparsefile
 Compare archive
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/spmvp00.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/spmvp00.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -38690,14 +39611,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_158
-#AT_START_159
-at_fn_group_banner 159 'spmvp01.at:22' \
-  "sparse files in PAX MV archives, v.0.1" "         " 22
+#AT_STOP_169
+#AT_START_170
+at_fn_group_banner 170 'spmvp01.at:21' \
+  "sparse files in PAX MV archives, v.0.1" "         " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "159. $at_setup_line: testing $at_desc ..."
+  $as_echo "170. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -38706,7 +39627,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/spmvp01.at:25:
+$as_echo "$at_srcdir/spmvp01.at:24:
 mkdir pax
 (cd pax
 TEST_TAR_FORMAT=pax
@@ -38735,7 +39656,7 @@ tar -t -M -f arc.1 -f arc.2 -f arc.3
 echo \"Compare archive\"
 tar -d -M -f arc.1 -f arc.2 -f arc.3
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "spmvp01.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "spmvp01.at:24"
 ( $at_check_trace;
 mkdir pax
 (cd pax
@@ -38781,7 +39702,7 @@ sparsefile
 Compare archive
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/spmvp01.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/spmvp01.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -38792,14 +39713,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_159
-#AT_START_160
-at_fn_group_banner 160 'spmvp10.at:22' \
-  "sparse files in PAX MV archives, v.1.0" "         " 22
+#AT_STOP_170
+#AT_START_171
+at_fn_group_banner 171 'spmvp10.at:21' \
+  "sparse files in PAX MV archives, v.1.0" "         " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "160. $at_setup_line: testing $at_desc ..."
+  $as_echo "171. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -38808,7 +39729,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/spmvp10.at:25:
+$as_echo "$at_srcdir/spmvp10.at:24:
 mkdir pax
 (cd pax
 TEST_TAR_FORMAT=pax
@@ -38837,7 +39758,7 @@ tar -t -M -f arc.1 -f arc.2 -f arc.3
 echo \"Compare archive\"
 tar -d -M -f arc.1 -f arc.2 -f arc.3
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "spmvp10.at:25"
+at_fn_check_prepare_notrace 'an embedded newline' "spmvp10.at:24"
 ( $at_check_trace;
 mkdir pax
 (cd pax
@@ -38883,7 +39804,7 @@ sparsefile
 Compare archive
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/spmvp10.at:25"
+at_fn_check_status 0 $at_status "$at_srcdir/spmvp10.at:24"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -38894,22 +39815,585 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_160
-#AT_START_161
-at_fn_group_banner 161 'update.at:29' \
-  "update unchanged directories" "                   " 23
+#AT_STOP_171
+#AT_START_172
+at_fn_group_banner 172 'sptrcreat.at:33' \
+  "sparse file truncated while archiving" "          " 25
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "161. $at_setup_line: testing $at_desc ..."
+  $as_echo "172. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/sptrcreat.at:36:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \\
+ tar --sparse -vcf bar foo baz
+echo Exit status: \$?
+echo separator
+genfile --file foo --seek 200m --length 11575296 --pattern=zeros
+tar dvf bar | sed '/foo: Mod time differs/d')"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrcreat.at:36"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \
+ tar --sparse -vcf bar foo baz
+echo Exit status: $?
+echo separator
+genfile --file foo --seek 200m --length 11575296 --pattern=zeros
+tar dvf bar | sed '/foo: Mod time differs/d')
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 11575296 bytes; padding with zeros
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+baz
+Exit status: 1
+separator
+foo
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/sptrcreat.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/sptrcreat.at:36:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \\
+ tar --sparse -vcf bar foo baz
+echo Exit status: \$?
+echo separator
+genfile --file foo --seek 200m --length 11575296 --pattern=zeros
+tar dvf bar | sed '/foo: Mod time differs/d')"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrcreat.at:36"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \
+ tar --sparse -vcf bar foo baz
+echo Exit status: $?
+echo separator
+genfile --file foo --seek 200m --length 11575296 --pattern=zeros
+tar dvf bar | sed '/foo: Mod time differs/d')
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 11575296 bytes; padding with zeros
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+baz
+Exit status: 1
+separator
+foo
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/sptrcreat.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/sptrcreat.at:36:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \\
+ tar --sparse -vcf bar foo baz
+echo Exit status: \$?
+echo separator
+genfile --file foo --seek 200m --length 11575296 --pattern=zeros
+tar dvf bar | sed '/foo: Mod time differs/d')"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrcreat.at:36"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \
+ tar --sparse -vcf bar foo baz
+echo Exit status: $?
+echo separator
+genfile --file foo --seek 200m --length 11575296 --pattern=zeros
+tar dvf bar | sed '/foo: Mod time differs/d')
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 11575296 bytes; padding with zeros
+" | \
+  $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+baz
+Exit status: 1
+separator
+foo
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/sptrcreat.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_172
+#AT_START_173
+at_fn_group_banner 173 'sptrdiff00.at:26' \
+  "file truncated in sparse region while comparing" "" 25
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "173. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
 
+# This triggers short read in check_sparse_region.
 
 
   { set +x
-$as_echo "$at_srcdir/update.at:32:
+$as_echo "$at_srcdir/sptrdiff00.at:30:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \\
+ tar --sparse -vdf bar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrdiff00.at:30"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \
+ tar --sparse -vdf bar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating
+foo
+baz
+comparing
+foo
+foo: Size differs
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/sptrdiff00.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/sptrdiff00.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \\
+ tar --sparse -vdf bar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrdiff00.at:30"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \
+ tar --sparse -vdf bar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating
+foo
+baz
+comparing
+foo
+foo: Size differs
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/sptrdiff00.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/sptrdiff00.at:30:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \\
+ tar --sparse -vdf bar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrdiff00.at:30"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 3 --length 200m --truncate foo -- \
+ tar --sparse -vdf bar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating
+foo
+baz
+comparing
+foo
+foo: Size differs
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/sptrdiff00.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_173
+#AT_START_174
+at_fn_group_banner 174 'sptrdiff01.at:26' \
+  "file truncated in data region while comparing" "  " 25
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "174. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+# This triggers short read in check_data_region.
+
+
+  { set +x
+$as_echo "$at_srcdir/sptrdiff01.at:30:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \\
+ tar --sparse -vdf bar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrdiff01.at:30"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
+ tar --sparse -vdf bar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating
+foo
+baz
+comparing
+foo
+foo: Size differs
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/sptrdiff01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/sptrdiff01.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \\
+ tar --sparse -vdf bar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrdiff01.at:30"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
+ tar --sparse -vdf bar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating
+foo
+baz
+comparing
+foo
+foo: Size differs
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/sptrdiff01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+              { set +x
+$as_echo "$at_srcdir/sptrdiff01.at:30:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \\
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \\
+ tar --sparse -vdf bar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "sptrdiff01.at:30"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --block-size=1024 --file foo \
+  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ
+genfile --file baz
+echo creating
+tar --sparse -vcf bar foo baz
+echo comparing
+genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
+ tar --sparse -vdf bar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "creating
+foo
+baz
+comparing
+foo
+foo: Size differs
+baz
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/sptrdiff01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+  set +x
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_174
+#AT_START_175
+at_fn_group_banner 175 'update.at:28' \
+  "update unchanged directories" "                   " 26
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+(
+  $as_echo "175. $at_setup_line: testing $at_desc ..."
+  $at_traceon
+
+
+
+
+
+  { set +x
+$as_echo "$at_srcdir/update.at:31:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -38931,7 +40415,7 @@ tar uf archive directory || exit 1
 echo separator
 tar tf archive | sort || exit 1
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -38965,12 +40449,12 @@ directory/file1
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/update.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/update.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/update.at:32:
+$as_echo "$at_srcdir/update.at:31:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -38992,7 +40476,7 @@ tar uf archive directory || exit 1
 echo separator
 tar tf archive | sort || exit 1
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -39026,12 +40510,12 @@ directory/file1
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/update.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/update.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/update.at:32:
+$as_echo "$at_srcdir/update.at:31:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -39053,7 +40537,7 @@ tar uf archive directory || exit 1
 echo separator
 tar tf archive | sort || exit 1
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -39087,12 +40571,12 @@ directory/file1
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/update.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/update.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/update.at:32:
+$as_echo "$at_srcdir/update.at:31:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -39114,7 +40598,7 @@ tar uf archive directory || exit 1
 echo separator
 tar tf archive | sort || exit 1
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -39148,12 +40632,12 @@ directory/file1
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/update.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/update.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/update.at:32:
+$as_echo "$at_srcdir/update.at:31:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -39175,7 +40659,7 @@ tar uf archive directory || exit 1
 echo separator
 tar tf archive | sort || exit 1
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:32"
+at_fn_check_prepare_notrace 'a `...` command substitution' "update.at:31"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -39209,7 +40693,7 @@ directory/file1
 directory/file2
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/update.at:32"
+at_fn_check_status 0 $at_status "$at_srcdir/update.at:31"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -39220,14 +40704,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_161
-#AT_START_162
-at_fn_group_banner 162 'update01.at:29' \
-  "update directories" "                             " 23
+#AT_STOP_175
+#AT_START_176
+at_fn_group_banner 176 'update01.at:29' \
+  "update directories" "                             " 26
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "162. $at_setup_line: testing $at_desc ..."
+  $as_echo "176. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -39591,14 +41075,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_162
-#AT_START_163
-at_fn_group_banner 163 'update02.at:26' \
-  "update changed files" "                           " 23
+#AT_STOP_176
+#AT_START_177
+at_fn_group_banner 177 'update02.at:26' \
+  "update changed files" "                           " 26
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "163. $at_setup_line: testing $at_desc ..."
+  $as_echo "177. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -39962,14 +41446,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_163
-#AT_START_164
-at_fn_group_banner 164 'update03.at:20' \
-  "update with chdir" "                              " 23
+#AT_STOP_177
+#AT_START_178
+at_fn_group_banner 178 'update03.at:20' \
+  "update with chdir" "                              " 26
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "164. $at_setup_line: testing $at_desc ..."
+  $as_echo "178. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -40297,14 +41781,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_164
-#AT_START_165
-at_fn_group_banner 165 'verify.at:25' \
-  "verify" "                                         " 24
+#AT_STOP_178
+#AT_START_179
+at_fn_group_banner 179 'verify.at:25' \
+  "verify" "                                         " 27
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "165. $at_setup_line: testing $at_desc ..."
+  $as_echo "179. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -40508,14 +41992,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_165
-#AT_START_166
-at_fn_group_banner 166 'volume.at:24' \
-  "volume" "                                         " 25
+#AT_STOP_179
+#AT_START_180
+at_fn_group_banner 180 'volume.at:23' \
+  "volume" "                                         " 28
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "166. $at_setup_line: testing $at_desc ..."
+  $as_echo "180. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -40523,7 +42007,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/volume.at:27:
+$as_echo "$at_srcdir/volume.at:26:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -40548,7 +42032,7 @@ echo 1>&2 -----
 tar xfV archive babel
 test \$? = 2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "volume.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "volume.at:26"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -40589,12 +42073,12 @@ tar: Error is not recoverable: exiting now
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/volume.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/volume.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/volume.at:27:
+$as_echo "$at_srcdir/volume.at:26:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -40619,7 +42103,7 @@ echo 1>&2 -----
 tar xfV archive babel
 test \$? = 2
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "volume.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "volume.at:26"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -40660,7 +42144,7 @@ tar: Error is not recoverable: exiting now
 " | \
   $at_diff - "$at_stderr" || at_failed=:
 at_fn_diff_devnull "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/volume.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/volume.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -40671,14 +42155,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_166
-#AT_START_167
-at_fn_group_banner 167 'volsize.at:30' \
-  "volume header size" "                             " 25
+#AT_STOP_180
+#AT_START_181
+at_fn_group_banner 181 'volsize.at:29' \
+  "volume header size" "                             " 28
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "167. $at_setup_line: testing $at_desc ..."
+  $as_echo "181. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -40686,7 +42170,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/volsize.at:33:
+$as_echo "$at_srcdir/volsize.at:32:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -40710,7 +42194,7 @@ echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:33"
+at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -40750,12 +42234,12 @@ abc
 abc/CCC
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/volsize.at:33:
+$as_echo "$at_srcdir/volsize.at:32:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -40779,7 +42263,7 @@ echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:33"
+at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -40819,12 +42303,12 @@ abc
 abc/CCC
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/volsize.at:33:
+$as_echo "$at_srcdir/volsize.at:32:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -40848,7 +42332,7 @@ echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:33"
+at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -40888,12 +42372,12 @@ abc
 abc/CCC
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/volsize.at:33:
+$as_echo "$at_srcdir/volsize.at:32:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -40917,7 +42401,7 @@ echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:33"
+at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -40957,12 +42441,12 @@ abc
 abc/CCC
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/volsize.at:33:
+$as_echo "$at_srcdir/volsize.at:32:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -40986,7 +42470,7 @@ echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
 )"
-at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:33"
+at_fn_check_prepare_notrace 'a `...` command substitution' "volsize.at:32"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -41026,7 +42510,7 @@ abc
 abc/CCC
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/volsize.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -41037,14 +42521,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_167
-#AT_START_168
-at_fn_group_banner 168 'comprec.at:22' \
-  "compressed format recognition" "                  " 26
+#AT_STOP_181
+#AT_START_182
+at_fn_group_banner 182 'comprec.at:21' \
+  "compressed format recognition" "                  " 29
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "168. $at_setup_line: testing $at_desc ..."
+  $as_echo "182. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -41053,7 +42537,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/comprec.at:26:
+$as_echo "$at_srcdir/comprec.at:25:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -41073,7 +42557,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -41103,12 +42587,12 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/comprec.at:26:
+$as_echo "$at_srcdir/comprec.at:25:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -41128,7 +42612,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -41158,12 +42642,12 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/comprec.at:26:
+$as_echo "$at_srcdir/comprec.at:25:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -41183,7 +42667,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -41213,12 +42697,12 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/comprec.at:26:
+$as_echo "$at_srcdir/comprec.at:25:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -41238,7 +42722,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -41268,12 +42752,12 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/comprec.at:26:
+$as_echo "$at_srcdir/comprec.at:25:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -41293,7 +42777,7 @@ mv file1 orig
 tar xfv archive --warning=no-timestamp
 cmp orig file1
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:26"
+at_fn_check_prepare_notrace 'an embedded newline' "comprec.at:25"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -41323,7 +42807,7 @@ separator
 file1
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:26"
+at_fn_check_status 0 $at_status "$at_srcdir/comprec.at:25"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -41334,14 +42818,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_168
-#AT_START_169
-at_fn_group_banner 169 'shortfile.at:26' \
-  "short input files" "                              " 26
+#AT_STOP_182
+#AT_START_183
+at_fn_group_banner 183 'shortfile.at:26' \
+  "short input files" "                              " 29
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "169. $at_setup_line: testing $at_desc ..."
+  $as_echo "183. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -41393,14 +42877,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_169
-#AT_START_170
-at_fn_group_banner 170 'shortupd.at:31' \
-  "updating short archives" "                        " 26
+#AT_STOP_183
+#AT_START_184
+at_fn_group_banner 184 'shortupd.at:31' \
+  "updating short archives" "                        " 29
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "170. $at_setup_line: testing $at_desc ..."
+  $as_echo "184. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -41589,14 +43073,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_170
-#AT_START_171
-at_fn_group_banner 171 'truncate.at:30' \
-  "truncate" "                                       " 26
+#AT_STOP_184
+#AT_START_185
+at_fn_group_banner 185 'truncate.at:29' \
+  "truncate" "                                       " 29
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "171. $at_setup_line: testing $at_desc ..."
+  $as_echo "185. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -41604,7 +43088,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/truncate.at:33:
+$as_echo "$at_srcdir/truncate.at:32:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -41615,12 +43099,13 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \\
+  tar -vcf bar foo baz
 echo Exit status: \$?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)"
-at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:33"
+tar dvf bar|sed '/foo: Mod time differs/d')"
+at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -41632,11 +43117,12 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \
+  tar -vcf bar foo baz
 echo Exit status: $?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)
+tar dvf bar|sed '/foo: Mod time differs/d')
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -41648,16 +43134,15 @@ baz
 Exit status: 1
 separator
 foo
-foo: Mod time differs
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/truncate.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/truncate.at:33:
+$as_echo "$at_srcdir/truncate.at:32:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -41668,12 +43153,13 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \\
+  tar -vcf bar foo baz
 echo Exit status: \$?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)"
-at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:33"
+tar dvf bar|sed '/foo: Mod time differs/d')"
+at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -41685,11 +43171,12 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \
+  tar -vcf bar foo baz
 echo Exit status: $?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)
+tar dvf bar|sed '/foo: Mod time differs/d')
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -41701,16 +43188,15 @@ baz
 Exit status: 1
 separator
 foo
-foo: Mod time differs
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/truncate.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/truncate.at:33:
+$as_echo "$at_srcdir/truncate.at:32:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -41721,12 +43207,13 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \\
+  tar -vcf bar foo baz
 echo Exit status: \$?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)"
-at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:33"
+tar dvf bar|sed '/foo: Mod time differs/d')"
+at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -41738,11 +43225,12 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \
+  tar -vcf bar foo baz
 echo Exit status: $?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)
+tar dvf bar|sed '/foo: Mod time differs/d')
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -41754,16 +43242,15 @@ baz
 Exit status: 1
 separator
 foo
-foo: Mod time differs
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/truncate.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/truncate.at:33:
+$as_echo "$at_srcdir/truncate.at:32:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -41774,12 +43261,13 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \\
+  tar -vcf bar foo baz
 echo Exit status: \$?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)"
-at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:33"
+tar dvf bar|sed '/foo: Mod time differs/d')"
+at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -41791,11 +43279,12 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \
+  tar -vcf bar foo baz
 echo Exit status: $?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)
+tar dvf bar|sed '/foo: Mod time differs/d')
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -41807,16 +43296,15 @@ baz
 Exit status: 1
 separator
 foo
-foo: Mod time differs
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/truncate.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/truncate.at:33:
+$as_echo "$at_srcdir/truncate.at:32:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -41827,12 +43315,13 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \\
+  tar -vcf bar foo baz
 echo Exit status: \$?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)"
-at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:33"
+tar dvf bar|sed '/foo: Mod time differs/d')"
+at_fn_check_prepare_notrace 'an embedded newline' "truncate.at:32"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -41844,11 +43333,12 @@ rm -rf *
 
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \
+  tar -vcf bar foo baz
 echo Exit status: $?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar)
+tar dvf bar|sed '/foo: Mod time differs/d')
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
 $at_check_filter
@@ -41860,11 +43350,10 @@ baz
 Exit status: 1
 separator
 foo
-foo: Mod time differs
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/truncate.at:33"
+at_fn_check_status 0 $at_status "$at_srcdir/truncate.at:32"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -41875,14 +43364,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_171
-#AT_START_172
-at_fn_group_banner 172 'grow.at:25' \
-  "grow" "                                           " 26
+#AT_STOP_185
+#AT_START_186
+at_fn_group_banner 186 'grow.at:24' \
+  "grow" "                                           " 29
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "172. $at_setup_line: testing $at_desc ..."
+  $as_echo "186. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -41890,7 +43379,7 @@ at_xfail=no
 
 
   { set +x
-$as_echo "$at_srcdir/grow.at:28:
+$as_echo "$at_srcdir/grow.at:27:
 mkdir v7
 (cd v7
 TEST_TAR_FORMAT=v7
@@ -41901,9 +43390,9 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "grow.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27"
 ( $at_check_trace;
 mkdir v7
 (cd v7
@@ -41915,7 +43404,7 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -41927,12 +43416,12 @@ echo >>"$at_stdout"; $as_echo "foo
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/grow.at:28"
+at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/grow.at:28:
+$as_echo "$at_srcdir/grow.at:27:
 mkdir oldgnu
 (cd oldgnu
 TEST_TAR_FORMAT=oldgnu
@@ -41943,9 +43432,9 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "grow.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27"
 ( $at_check_trace;
 mkdir oldgnu
 (cd oldgnu
@@ -41957,7 +43446,7 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -41969,12 +43458,12 @@ echo >>"$at_stdout"; $as_echo "foo
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/grow.at:28"
+at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/grow.at:28:
+$as_echo "$at_srcdir/grow.at:27:
 mkdir ustar
 (cd ustar
 TEST_TAR_FORMAT=ustar
@@ -41985,9 +43474,9 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "grow.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27"
 ( $at_check_trace;
 mkdir ustar
 (cd ustar
@@ -41999,7 +43488,7 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -42011,12 +43500,12 @@ echo >>"$at_stdout"; $as_echo "foo
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/grow.at:28"
+at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/grow.at:28:
+$as_echo "$at_srcdir/grow.at:27:
 mkdir posix
 (cd posix
 TEST_TAR_FORMAT=posix
@@ -42027,9 +43516,9 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "grow.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27"
 ( $at_check_trace;
 mkdir posix
 (cd posix
@@ -42041,7 +43530,7 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -42053,12 +43542,12 @@ echo >>"$at_stdout"; $as_echo "foo
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/grow.at:28"
+at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
               { set +x
-$as_echo "$at_srcdir/grow.at:28:
+$as_echo "$at_srcdir/grow.at:27:
 mkdir gnu
 (cd gnu
 TEST_TAR_FORMAT=gnu
@@ -42069,9 +43558,9 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )"
-at_fn_check_prepare_notrace 'an embedded newline' "grow.at:28"
+at_fn_check_prepare_notrace 'an embedded newline' "grow.at:27"
 ( $at_check_trace;
 mkdir gnu
 (cd gnu
@@ -42083,7 +43572,7 @@ rm -rf *
 
 genfile --file foo --length 50000k
 genfile --file baz
-genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
+genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
 )
 ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
 at_status=$? at_failed=false
@@ -42095,7 +43584,7 @@ echo >>"$at_stdout"; $as_echo "foo
 baz
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 1 $at_status "$at_srcdir/grow.at:28"
+at_fn_check_status 1 $at_status "$at_srcdir/grow.at:27"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -42106,13 +43595,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_172
-#AT_START_173
-at_fn_group_banner 173 'sigpipe.at:21' \
-  "sigpipe handling" "                               " 26
+#AT_STOP_186
+#AT_START_187
+at_fn_group_banner 187 'sigpipe.at:21' \
+  "sigpipe handling" "                               " 29
 at_xfail=no
 (
-  $as_echo "173. $at_setup_line: testing $at_desc ..."
+  $as_echo "187. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42171,14 +43660,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_173
-#AT_START_174
-at_fn_group_banner 174 'comperr.at:18' \
-  "compressor program failure" "                     " 26
+#AT_STOP_187
+#AT_START_188
+at_fn_group_banner 188 'comperr.at:18' \
+  "compressor program failure" "                     " 29
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "174. $at_setup_line: testing $at_desc ..."
+  $as_echo "188. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42404,13 +43893,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_174
-#AT_START_175
-at_fn_group_banner 175 'remfiles01.at:28' \
-  "remove-files with compression" "                  " 27
+#AT_STOP_188
+#AT_START_189
+at_fn_group_banner 189 'remfiles01.at:28' \
+  "remove-files with compression" "                  " 30
 at_xfail=no
 (
-  $as_echo "175. $at_setup_line: testing $at_desc ..."
+  $as_echo "189. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42530,13 +44019,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_175
-#AT_START_176
-at_fn_group_banner 176 'remfiles02.at:28' \
-  "remove-files with compression: grand-child" "     " 27
+#AT_STOP_189
+#AT_START_190
+at_fn_group_banner 190 'remfiles02.at:28' \
+  "remove-files with compression: grand-child" "     " 30
 at_xfail=no
 (
-  $as_echo "176. $at_setup_line: testing $at_desc ..."
+  $as_echo "190. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42608,13 +44097,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_176
-#AT_START_177
-at_fn_group_banner 177 'remfiles03.at:28' \
-  "remove-files with symbolic links" "               " 27
+#AT_STOP_190
+#AT_START_191
+at_fn_group_banner 191 'remfiles03.at:28' \
+  "remove-files with symbolic links" "               " 30
 at_xfail=no
 (
-  $as_echo "177. $at_setup_line: testing $at_desc ..."
+  $as_echo "191. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42651,14 +44140,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_177
-#AT_START_178
-at_fn_group_banner 178 'remfiles04a.at:25' \
-  "remove-files with -C:rel in -c/non-incr. mode" "  " 27
+#AT_STOP_191
+#AT_START_192
+at_fn_group_banner 192 'remfiles04a.at:25' \
+  "remove-files with -C:rel in -c/non-incr. mode" "  " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "178. $at_setup_line: testing $at_desc ..."
+  $as_echo "192. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42727,14 +44216,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_178
-#AT_START_179
-at_fn_group_banner 179 'remfiles04b.at:33' \
-  "remove-files with -C:rel in -c/incr. mode" "      " 27
+#AT_STOP_192
+#AT_START_193
+at_fn_group_banner 193 'remfiles04b.at:33' \
+  "remove-files with -C:rel in -c/incr. mode" "      " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "179. $at_setup_line: testing $at_desc ..."
+  $as_echo "193. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42803,14 +44292,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_179
-#AT_START_180
-at_fn_group_banner 180 'remfiles04c.at:33' \
-  "remove-files with -C:rel in -r mode" "            " 27
+#AT_STOP_193
+#AT_START_194
+at_fn_group_banner 194 'remfiles04c.at:33' \
+  "remove-files with -C:rel in -r mode" "            " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "180. $at_setup_line: testing $at_desc ..."
+  $as_echo "194. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42891,14 +44380,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_180
-#AT_START_181
-at_fn_group_banner 181 'remfiles05a.at:34' \
-  "remove-files with -C:rel,rel in -c/non-incr. mode" "" 27
+#AT_STOP_194
+#AT_START_195
+at_fn_group_banner 195 'remfiles05a.at:34' \
+  "remove-files with -C:rel,rel in -c/non-incr. mode" "" 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "181. $at_setup_line: testing $at_desc ..."
+  $as_echo "195. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -42980,14 +44469,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_181
-#AT_START_182
-at_fn_group_banner 182 'remfiles05b.at:25' \
-  "remove-files with -C:rel,rel in -c/incr. mode" "  " 27
+#AT_STOP_195
+#AT_START_196
+at_fn_group_banner 196 'remfiles05b.at:25' \
+  "remove-files with -C:rel,rel in -c/incr. mode" "  " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "182. $at_setup_line: testing $at_desc ..."
+  $as_echo "196. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43069,14 +44558,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_182
-#AT_START_183
-at_fn_group_banner 183 'remfiles05c.at:25' \
-  "remove-files with -C:rel,rel in -r mode" "        " 27
+#AT_STOP_196
+#AT_START_197
+at_fn_group_banner 197 'remfiles05c.at:25' \
+  "remove-files with -C:rel,rel in -r mode" "        " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "183. $at_setup_line: testing $at_desc ..."
+  $as_echo "197. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43173,14 +44662,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_183
-#AT_START_184
-at_fn_group_banner 184 'remfiles06a.at:25' \
-  "remove-files with -C:rel,abs in -c/non-incr. mode" "" 27
+#AT_STOP_197
+#AT_START_198
+at_fn_group_banner 198 'remfiles06a.at:25' \
+  "remove-files with -C:rel,abs in -c/non-incr. mode" "" 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "184. $at_setup_line: testing $at_desc ..."
+  $as_echo "198. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43264,14 +44753,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_184
-#AT_START_185
-at_fn_group_banner 185 'remfiles06b.at:25' \
-  "remove-files with -C:rel,abs in -c/incr. mode" "  " 27
+#AT_STOP_198
+#AT_START_199
+at_fn_group_banner 199 'remfiles06b.at:25' \
+  "remove-files with -C:rel,abs in -c/incr. mode" "  " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "185. $at_setup_line: testing $at_desc ..."
+  $as_echo "199. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43355,14 +44844,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_185
-#AT_START_186
-at_fn_group_banner 186 'remfiles06c.at:25' \
-  "remove-files with -C:rel,abs in -r mode" "        " 27
+#AT_STOP_199
+#AT_START_200
+at_fn_group_banner 200 'remfiles06c.at:25' \
+  "remove-files with -C:rel,abs in -r mode" "        " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "186. $at_setup_line: testing $at_desc ..."
+  $as_echo "200. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43461,14 +44950,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_186
-#AT_START_187
-at_fn_group_banner 187 'remfiles07a.at:25' \
-  "remove-files with -C:abs,rel in -c/non-incr. mode" "" 27
+#AT_STOP_200
+#AT_START_201
+at_fn_group_banner 201 'remfiles07a.at:25' \
+  "remove-files with -C:abs,rel in -c/non-incr. mode" "" 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "187. $at_setup_line: testing $at_desc ..."
+  $as_echo "201. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43552,14 +45041,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_187
-#AT_START_188
-at_fn_group_banner 188 'remfiles07b.at:25' \
-  "remove-files with -C:abs,rel in -c/incr. mode" "  " 27
+#AT_STOP_201
+#AT_START_202
+at_fn_group_banner 202 'remfiles07b.at:25' \
+  "remove-files with -C:abs,rel in -c/incr. mode" "  " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "188. $at_setup_line: testing $at_desc ..."
+  $as_echo "202. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43643,14 +45132,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_188
-#AT_START_189
-at_fn_group_banner 189 'remfiles07c.at:25' \
-  "remove-files with -C:abs,rel in -r mode" "        " 27
+#AT_STOP_202
+#AT_START_203
+at_fn_group_banner 203 'remfiles07c.at:25' \
+  "remove-files with -C:abs,rel in -r mode" "        " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "189. $at_setup_line: testing $at_desc ..."
+  $as_echo "203. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43749,14 +45238,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_189
-#AT_START_190
-at_fn_group_banner 190 'remfiles08a.at:28' \
-  "remove-files deleting two subdirs in -c/non-incr. mode" "" 27
+#AT_STOP_203
+#AT_START_204
+at_fn_group_banner 204 'remfiles08a.at:28' \
+  "remove-files deleting two subdirs in -c/non-incr. mode" "" 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "190. $at_setup_line: testing $at_desc ..."
+  $as_echo "204. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43829,14 +45318,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_190
-#AT_START_191
-at_fn_group_banner 191 'remfiles08b.at:31' \
-  "remove-files deleting two subdirs in -c/incr. mode" "" 27
+#AT_STOP_204
+#AT_START_205
+at_fn_group_banner 205 'remfiles08b.at:31' \
+  "remove-files deleting two subdirs in -c/incr. mode" "" 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "191. $at_setup_line: testing $at_desc ..."
+  $as_echo "205. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -43911,14 +45400,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_191
-#AT_START_192
-at_fn_group_banner 192 'remfiles08c.at:28' \
-  "remove-files deleting two subdirs in -r mode" "   " 27
+#AT_STOP_205
+#AT_START_206
+at_fn_group_banner 206 'remfiles08c.at:28' \
+  "remove-files deleting two subdirs in -r mode" "   " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "192. $at_setup_line: testing $at_desc ..."
+  $as_echo "206. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -44011,14 +45500,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_192
-#AT_START_193
-at_fn_group_banner 193 'remfiles09a.at:25' \
-  "remove-files on full directory in -c/non-incr. mode" "" 27
+#AT_STOP_206
+#AT_START_207
+at_fn_group_banner 207 'remfiles09a.at:25' \
+  "remove-files on full directory in -c/non-incr. mode" "" 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "193. $at_setup_line: testing $at_desc ..."
+  $as_echo "207. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -44085,14 +45574,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_193
-#AT_START_194
-at_fn_group_banner 194 'remfiles09b.at:29' \
-  "remove-files on full directory in -c/incr. mode" "" 27
+#AT_STOP_207
+#AT_START_208
+at_fn_group_banner 208 'remfiles09b.at:29' \
+  "remove-files on full directory in -c/incr. mode" "" 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "194. $at_setup_line: testing $at_desc ..."
+  $as_echo "208. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -44160,14 +45649,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_194
-#AT_START_195
-at_fn_group_banner 195 'remfiles09c.at:25' \
-  "remove-files on full directory in -r mode" "      " 27
+#AT_STOP_208
+#AT_START_209
+at_fn_group_banner 209 'remfiles09c.at:25' \
+  "remove-files on full directory in -r mode" "      " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "195. $at_setup_line: testing $at_desc ..."
+  $as_echo "209. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -44252,14 +45741,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_195
-#AT_START_196
-at_fn_group_banner 196 'remfiles10.at:20' \
-  "remove-files" "                                   " 27
+#AT_STOP_209
+#AT_START_210
+at_fn_group_banner 210 'remfiles10.at:20' \
+  "remove-files" "                                   " 30
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "196. $at_setup_line: testing $at_desc ..."
+  $as_echo "210. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -44331,14 +45820,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_196
-#AT_START_197
-at_fn_group_banner 197 'xattr01.at:25' \
-  "xattrs: basic functionality" "                    " 28
+#AT_STOP_210
+#AT_START_211
+at_fn_group_banner 211 'xattr01.at:25' \
+  "xattrs: basic functionality" "                    " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "197. $at_setup_line: testing $at_desc ..."
+  $as_echo "211. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -44892,14 +46381,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_197
-#AT_START_198
-at_fn_group_banner 198 'xattr02.at:25' \
-  "xattrs: change directory with -C option" "        " 28
+#AT_STOP_211
+#AT_START_212
+at_fn_group_banner 212 'xattr02.at:25' \
+  "xattrs: change directory with -C option" "        " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "198. $at_setup_line: testing $at_desc ..."
+  $as_echo "212. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -45528,14 +47017,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_198
-#AT_START_199
-at_fn_group_banner 199 'xattr03.at:25' \
-  "xattrs: trusted.* attributes" "                   " 28
+#AT_STOP_212
+#AT_START_213
+at_fn_group_banner 213 'xattr03.at:25' \
+  "xattrs: trusted.* attributes" "                   " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "199. $at_setup_line: testing $at_desc ..."
+  $as_echo "213. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46244,14 +47733,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_199
-#AT_START_200
-at_fn_group_banner 200 'xattr04.at:26' \
-  "xattrs: s/open/openat/ regression" "              " 28
+#AT_STOP_213
+#AT_START_214
+at_fn_group_banner 214 'xattr04.at:26' \
+  "xattrs: s/open/openat/ regression" "              " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "200. $at_setup_line: testing $at_desc ..."
+  $as_echo "214. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -46810,14 +48299,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_200
-#AT_START_201
-at_fn_group_banner 201 'xattr05.at:28' \
-  "xattrs: keywords with '=' and '%'" "              " 28
+#AT_STOP_214
+#AT_START_215
+at_fn_group_banner 215 'xattr05.at:28' \
+  "xattrs: keywords with '=' and '%'" "              " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "201. $at_setup_line: testing $at_desc ..."
+  $as_echo "215. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -47366,14 +48855,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_201
-#AT_START_202
-at_fn_group_banner 202 'xattr06.at:27' \
-  "xattrs: exclude xattrs on create " "              " 28
+#AT_STOP_215
+#AT_START_216
+at_fn_group_banner 216 'xattr06.at:27' \
+  "xattrs: exclude xattrs on create " "              " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "202. $at_setup_line: testing $at_desc ..."
+  $as_echo "216. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -47982,14 +49471,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_202
-#AT_START_203
-at_fn_group_banner 203 'xattr07.at:26' \
-  "xattrs: xattrs and --skip-old-files" "            " 28
+#AT_STOP_216
+#AT_START_217
+at_fn_group_banner 217 'xattr07.at:26' \
+  "xattrs: xattrs and --skip-old-files" "            " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "203. $at_setup_line: testing $at_desc ..."
+  $as_echo "217. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -48703,14 +50192,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_203
-#AT_START_204
-at_fn_group_banner 204 'acls01.at:25' \
-  "acls: basic functionality" "                      " 28
+#AT_STOP_217
+#AT_START_218
+at_fn_group_banner 218 'acls01.at:25' \
+  "acls: basic functionality" "                      " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "204. $at_setup_line: testing $at_desc ..."
+  $as_echo "218. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -49469,14 +50958,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_204
-#AT_START_205
-at_fn_group_banner 205 'acls02.at:25' \
-  "acls: work with -C" "                             " 28
+#AT_STOP_218
+#AT_START_219
+at_fn_group_banner 219 'acls02.at:25' \
+  "acls: work with -C" "                             " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "205. $at_setup_line: testing $at_desc ..."
+  $as_echo "219. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -50295,14 +51784,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_205
-#AT_START_206
-at_fn_group_banner 206 'acls03.at:30' \
-  "acls: default ACLs" "                             " 28
+#AT_STOP_219
+#AT_START_220
+at_fn_group_banner 220 'acls03.at:30' \
+  "acls: default ACLs" "                             " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "206. $at_setup_line: testing $at_desc ..."
+  $as_echo "220. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -52545,14 +54034,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_206
-#AT_START_207
-at_fn_group_banner 207 'selnx01.at:25' \
-  "selinux: basic store/restore" "                   " 28
+#AT_STOP_220
+#AT_START_221
+at_fn_group_banner 221 'selnx01.at:25' \
+  "selinux: basic store/restore" "                   " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "207. $at_setup_line: testing $at_desc ..."
+  $as_echo "221. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -53721,14 +55210,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_207
-#AT_START_208
-at_fn_group_banner 208 'selacl01.at:25' \
-  "acls/selinux: special files & fifos" "            " 28
+#AT_STOP_221
+#AT_START_222
+at_fn_group_banner 222 'selacl01.at:25' \
+  "acls/selinux: special files & fifos" "            " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "208. $at_setup_line: testing $at_desc ..."
+  $as_echo "222. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -54887,14 +56376,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_208
-#AT_START_209
-at_fn_group_banner 209 'capabs_raw01.at:25' \
-  "capabilities: binary store/restore" "             " 28
+#AT_STOP_222
+#AT_START_223
+at_fn_group_banner 223 'capabs_raw01.at:25' \
+  "capabilities: binary store/restore" "             " 31
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "209. $at_setup_line: testing $at_desc ..."
+  $as_echo "223. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -55713,14 +57202,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_209
-#AT_START_210
-at_fn_group_banner 210 'onetop01.at:21' \
-  "tar --one-top-level" "                            " 29
+#AT_STOP_223
+#AT_START_224
+at_fn_group_banner 224 'onetop01.at:21' \
+  "tar --one-top-level" "                            " 32
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "210. $at_setup_line: testing $at_desc ..."
+  $as_echo "224. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -56024,14 +57513,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_210
-#AT_START_211
-at_fn_group_banner 211 'onetop02.at:21' \
-  "tar --one-top-level --show-transformed" "         " 29
+#AT_STOP_224
+#AT_START_225
+at_fn_group_banner 225 'onetop02.at:21' \
+  "tar --one-top-level --show-transformed" "         " 32
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "211. $at_setup_line: testing $at_desc ..."
+  $as_echo "225. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -56350,14 +57839,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_211
-#AT_START_212
-at_fn_group_banner 212 'onetop03.at:21' \
-  "tar --one-top-level --transform" "                " 29
+#AT_STOP_225
+#AT_START_226
+at_fn_group_banner 226 'onetop03.at:21' \
+  "tar --one-top-level --transform" "                " 32
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "212. $at_setup_line: testing $at_desc ..."
+  $as_echo "226. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -56661,14 +58150,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_212
-#AT_START_213
-at_fn_group_banner 213 'onetop04.at:21' \
-  "tar --one-top-level --transform" "                " 29
+#AT_STOP_226
+#AT_START_227
+at_fn_group_banner 227 'onetop04.at:21' \
+  "tar --one-top-level --transform" "                " 32
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "213. $at_setup_line: testing $at_desc ..."
+  $as_echo "227. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -56937,14 +58426,14 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_213
-#AT_START_214
-at_fn_group_banner 214 'onetop05.at:21' \
-  "tar --one-top-level restoring permissions" "      " 29
+#AT_STOP_227
+#AT_START_228
+at_fn_group_banner 228 'onetop05.at:21' \
+  "tar --one-top-level restoring permissions" "      " 32
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 (
-  $as_echo "214. $at_setup_line: testing $at_desc ..."
+  $as_echo "228. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -57507,13 +58996,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_214
-#AT_START_215
-at_fn_group_banner 215 'gtarfail.at:22' \
-  "gtarfail" "                                       " 30
+#AT_STOP_228
+#AT_START_229
+at_fn_group_banner 229 'gtarfail.at:21' \
+  "gtarfail" "                                       " 33
 at_xfail=no
 (
-  $as_echo "215. $at_setup_line: testing $at_desc ..."
+  $as_echo "229. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -57521,7 +59010,7 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/gtarfail.at:27:
+$as_echo "$at_srcdir/gtarfail.at:26:
 
 test -z \"\$STAR_TESTSCRIPTS\" && exit 77
 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77
@@ -57529,7 +59018,7 @@ tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b \$STAR_TESTSCRIPTS
 
 tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail.tar
 "
-at_fn_check_prepare_notrace 'an embedded newline' "gtarfail.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "gtarfail.at:26"
 ( $at_check_trace;
 
 test -z "$STAR_TESTSCRIPTS" && exit 77
@@ -57550,7 +59039,7 @@ echo >>"$at_stdout"; $as_echo "-rw-r--r-- jes/glone       518 2001-05-25 14:41 v
 -rw-rw-rw- jes/glone    148753 1998-09-15 13:08 billyboy.jpg
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/gtarfail.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/gtarfail.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -57559,13 +59048,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_215
-#AT_START_216
-at_fn_group_banner 216 'gtarfail2.at:22' \
-  "gtarfail2" "                                      " 30
+#AT_STOP_229
+#AT_START_230
+at_fn_group_banner 230 'gtarfail2.at:21' \
+  "gtarfail2" "                                      " 33
 at_xfail=no
 (
-  $as_echo "216. $at_setup_line: testing $at_desc ..."
+  $as_echo "230. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -57573,14 +59062,14 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/gtarfail2.at:27:
+$as_echo "$at_srcdir/gtarfail2.at:26:
 
 test -z \"\$STAR_TESTSCRIPTS\" && exit 77
 tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77
 
 tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail2.tar
 "
-at_fn_check_prepare_notrace 'an embedded newline' "gtarfail2.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "gtarfail2.at:26"
 ( $at_check_trace;
 
 test -z "$STAR_TESTSCRIPTS" && exit 77
@@ -57604,7 +59093,7 @@ lrwxrwxrwx jes/glone         0 2001-08-29 10:53 build/psmake/archconf.c -> ../ar
 lrwxrwxrwx jes/glone         0 2001-08-29 10:54 build/psmake/astoi.c -> ../../lib/astoi.c
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/gtarfail2.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/gtarfail2.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -57613,13 +59102,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_216
-#AT_START_217
-at_fn_group_banner 217 'multi-fail.at:22' \
-  "multi-fail" "                                     " 30
+#AT_STOP_230
+#AT_START_231
+at_fn_group_banner 231 'multi-fail.at:21' \
+  "multi-fail" "                                     " 33
 at_xfail=no
 (
-  $as_echo "217. $at_setup_line: testing $at_desc ..."
+  $as_echo "231. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -57627,7 +59116,7 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/multi-fail.at:27:
+$as_echo "$at_srcdir/multi-fail.at:26:
 
 test -z \"\$STAR_TESTSCRIPTS\" && exit 77
 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e \$STAR_TESTSCRIPTS \$STAR_DATA_URL || exit 77
@@ -57640,7 +59129,7 @@ tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 \$ST
 tar --utc -tvM -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \\
                -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&-
 "
-at_fn_check_prepare_notrace 'an embedded newline' "multi-fail.at:27"
+at_fn_check_prepare_notrace 'an embedded newline' "multi-fail.at:26"
 ( $at_check_trace;
 
 test -z "$STAR_TESTSCRIPTS" && exit 77
@@ -57712,7 +59201,7 @@ echo >>"$at_stdout"; $as_echo "drwxrwsr-x joerg/bs          0 2003-10-11 14:32 O
 -rw-r--r-- joerg/bs       2756 2003-10-07 17:53 OBJ/i386-sunos5-gcc/table.o
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/multi-fail.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/multi-fail.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -57721,13 +59210,13 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_217
-#AT_START_218
-at_fn_group_banner 218 'ustar-big-2g.at:22' \
-  "ustar-big-2g" "                                   " 30
+#AT_STOP_231
+#AT_START_232
+at_fn_group_banner 232 'ustar-big-2g.at:21' \
+  "ustar-big-2g" "                                   " 33
 at_xfail=no
 (
-  $as_echo "218. $at_setup_line: testing $at_desc ..."
+  $as_echo "232. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -57735,7 +59224,8 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/ustar-big-2g.at:27:
+$as_echo "$at_srcdir/ustar-big-2g.at:26:
+test \"\${TARTEST_SKIP_LARGE_FILES:-0}\" != 0 && exit 77
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -57746,8 +59236,9 @@ tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 \$STAR_TEST
 
 tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2
 "
-at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-2g.at:27"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ustar-big-2g.at:26"
 ( $at_check_trace;
+test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -57766,7 +59257,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 2147483647 2002-06-15 14:53
 -rw-r--r-- jes/glone          0 2002-06-15 14:53 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -57788,13 +59279,13 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_218
-#AT_START_219
-at_fn_group_banner 219 'ustar-big-8g.at:22' \
-  "ustar-big-8g" "                                   " 30
+#AT_STOP_232
+#AT_START_233
+at_fn_group_banner 233 'ustar-big-8g.at:21' \
+  "ustar-big-8g" "                                   " 33
 at_xfail=no
 (
-  $as_echo "219. $at_setup_line: testing $at_desc ..."
+  $as_echo "233. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -57802,7 +59293,8 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/ustar-big-8g.at:27:
+$as_echo "$at_srcdir/ustar-big-8g.at:26:
+test \"\${TARTEST_SKIP_LARGE_FILES:-0}\" != 0 && exit 77
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -57813,8 +59305,9 @@ tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f \$STAR_TEST
 
 tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2
 "
-at_fn_check_prepare_notrace 'an embedded newline' "ustar-big-8g.at:27"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ustar-big-8g.at:26"
 ( $at_check_trace;
+test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -57833,7 +59326,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 8589934591 2002-06-15 15:08
 -rw-r--r-- jes/glone          0 2002-06-15 14:53 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -57855,13 +59348,13 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_219
-#AT_START_220
-at_fn_group_banner 220 'pax-big-10g.at:22' \
-  "pax-big-10g" "                                    " 30
+#AT_STOP_233
+#AT_START_234
+at_fn_group_banner 234 'pax-big-10g.at:21' \
+  "pax-big-10g" "                                    " 33
 at_xfail=no
 (
-  $as_echo "220. $at_setup_line: testing $at_desc ..."
+  $as_echo "234. $at_setup_line: testing $at_desc ..."
   $at_traceon
 
 
@@ -57869,7 +59362,8 @@ at_xfail=no
 unset TAR_OPTIONS
 
 { set +x
-$as_echo "$at_srcdir/pax-big-10g.at:27:
+$as_echo "$at_srcdir/pax-big-10g.at:26:
+test \"\${TARTEST_SKIP_LARGE_FILES:-0}\" != 0 && exit 77
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -57880,8 +59374,9 @@ tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff \$STAR_TESTS
 
 tar --utc -tvjf \$STAR_TESTSCRIPTS/pax-big-10g.tar.bz2
 "
-at_fn_check_prepare_notrace 'an embedded newline' "pax-big-10g.at:27"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "pax-big-10g.at:26"
 ( $at_check_trace;
+test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
 
 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
 
@@ -57900,7 +59395,7 @@ echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 10737418240 2002-06-15 21:18
 -rw-r--r-- jes/glone           0 2002-06-15 14:53 file
 " | \
   $at_diff - "$at_stdout" || at_failed=:
-at_fn_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:27"
+at_fn_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:26"
 $at_failed && at_fn_log_failure
 $at_traceon; }
 
@@ -57922,4 +59417,4 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
 read at_status <"$at_status_file"
-#AT_STOP_220
+#AT_STOP_234
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 2a837576..6b804d58 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004-2008, 2010-2017 Free Software Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -60,6 +60,8 @@ done
 
 m4_define([AT_SKIP_TEST],[exit 77])
 
+m4_define([AT_SKIP_LARGE_FILES],[test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && AT_SKIP_TEST])
+
 dnl AT_TARBALL_PREREQ(tarball, md5sum) - Check if test tarball exists
 dnl in $TEST_DATA_DIR. If it does not, try to download it from
 dnl $TEST_DATA_URL. If download fails, or it the file's md5 sum does not
@@ -202,6 +204,7 @@ m4_include([version.at])
 
 m4_include([pipe.at])
 
+AT_BANNER([Options])
 m4_include([options.at])
 m4_include([options02.at])
 m4_include([options03.at])
@@ -214,6 +217,36 @@ m4_include([opcomp04.at])
 m4_include([opcomp05.at])
 m4_include([opcomp06.at])
 
+AT_BANNER([Checkpoints])
+m4_pushdef([CPT_CHECK],
+[AT_CHECK([
+mkdir t
+cd t
+for i in 0 1 2 3 4 5 6 7 8 9
+do
+  genfile --length 10240 --file $i
+done
+TAR_OPTIONS=-Hgnu
+export TAR_OPTIONS
+$1
+],m4_shift($@))])
+m4_include([checkpoint/defaults.at])
+m4_include([checkpoint/interval.at])
+m4_include([checkpoint/dot.at])
+m4_include([checkpoint/dot-compat.at])
+m4_include([checkpoint/dot-int.at])
+m4_popdef([CPT_CHECK])
+
+AT_BANNER([Compression])
+m4_include([compress.m4])
+TAR_CHECK_COMPRESS(gzip, gz, tgz)
+TAR_CHECK_COMPRESS(bzip2, bz2, tbz2)
+TAR_CHECK_COMPRESS(xz, xz, txz)
+dnl: omit lzma, because it would fail due to magic number mismatch
+TAR_CHECK_COMPRESS(lzip, lz)
+TAR_CHECK_COMPRESS(lzop, lzo)
+TAR_CHECK_COMPRESS(zstd, zst, tzst)
+
 AT_BANNER([Positional options])
 m4_include([positional01.at])
 m4_include([positional02.at])
@@ -405,6 +438,9 @@ m4_include([sparsemv.at])
 m4_include([spmvp00.at])
 m4_include([spmvp01.at])
 m4_include([spmvp10.at])
+m4_include([sptrcreat.at])
+m4_include([sptrdiff00.at])
+m4_include([sptrdiff01.at])
 
 AT_BANNER([Updates])
 m4_include([update.at])
@@ -488,4 +524,3 @@ m4_include([star/ustar-big-2g.at])
 m4_include([star/ustar-big-8g.at])
 
 m4_include([star/pax-big-10g.at])
-
diff --git a/tests/time01.at b/tests/time01.at
index 5846ad07..758c6013 100644
--- a/tests/time01.at
+++ b/tests/time01.at
@@ -1,6 +1,6 @@
 # Test time stamps for GNU tar.  -*- Autotest -*-
 #
-# Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2012-2019 Free Software Foundation, Inc.
 #
 # This 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/tests/time02.at b/tests/time02.at
index 5285b9ef..be6c600b 100644
--- a/tests/time02.at
+++ b/tests/time02.at
@@ -1,6 +1,6 @@
 # Test clamping mtime GNU tar.  -*- Autotest -*-
 #
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 #
 # This 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/tests/truncate.at b/tests/truncate.at
index a743e4b7..823545d8 100644
--- a/tests/truncate.at
+++ b/tests/truncate.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005, 2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
@@ -33,18 +32,18 @@ AT_KEYWORDS([truncate filechange])
 AT_TAR_CHECK([
 genfile --file foo --length 200k
 genfile --file baz
-genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
+genfile --run --checkpoint 10 --length 195k --truncate foo -- \
+  tar -vcf bar foo baz
 echo Exit status: $?
 echo separator
 genfile --file foo --seek 195k --length 5k --pattern=zeros
-tar dvf bar],
-[1],
+tar dvf bar|sed '/foo: Mod time differs/d'],
+[0],
 [foo
 baz
 Exit status: 1
 separator
 foo
-foo: Mod time differs
 baz
 ],
 [tar: foo: File shrank by 5120 bytes; padding with zeros
diff --git a/tests/update.at b/tests/update.at
index 95a3bd1c..5ea5373d 100644
--- a/tests/update.at
+++ b/tests/update.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2005-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2005-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/update01.at b/tests/update01.at
index 9a2f5b01..0bdea898 100644
--- a/tests/update01.at
+++ b/tests/update01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/update02.at b/tests/update02.at
index 43e90dc1..b8cddafc 100644
--- a/tests/update02.at
+++ b/tests/update02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/update03.at b/tests/update03.at
index 1171581a..192134f4 100644
--- a/tests/update03.at
+++ b/tests/update03.at
@@ -1,6 +1,6 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 # Test suite for GNU tar.
-# Copyright 2016-2017 Free Software Foundation, Inc.
+# Copyright 2016-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
diff --git a/tests/verbose.at b/tests/verbose.at
index 82da8827..ea7d1beb 100644
--- a/tests/verbose.at
+++ b/tests/verbose.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2007, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/verify.at b/tests/verify.at
index b3503522..2590c797 100644
--- a/tests/verify.at
+++ b/tests/verify.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/version.at b/tests/version.at
index 2d497523..c166307d 100644
--- a/tests/version.at
+++ b/tests/version.at
@@ -1,6 +1,5 @@
 # Checking tar version                              -*- Autotest -*-
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/volsize.at b/tests/volsize.at
index 9587cb0a..764a7810 100644
--- a/tests/volsize.at
+++ b/tests/volsize.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2006-2009, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2006-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/volume.at b/tests/volume.at
index e7c12aca..0cc8987d 100644
--- a/tests/volume.at
+++ b/tests/volume.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2004, 2006-2007, 2013-2014, 2016-2017 Free Software
-# Foundation, Inc.
+# Copyright 2004-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xattr01.at b/tests/xattr01.at
index a53d3d0d..2276d7c8 100644
--- a/tests/xattr01.at
+++ b/tests/xattr01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xattr02.at b/tests/xattr02.at
index c0ea1943..4dc5efa2 100644
--- a/tests/xattr02.at
+++ b/tests/xattr02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xattr03.at b/tests/xattr03.at
index b637705b..71d24867 100644
--- a/tests/xattr03.at
+++ b/tests/xattr03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2012-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xattr04.at b/tests/xattr04.at
index d9dc201a..520ddce4 100644
--- a/tests/xattr04.at
+++ b/tests/xattr04.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2012-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xattr05.at b/tests/xattr05.at
index 462bd328..6c2762b1 100644
--- a/tests/xattr05.at
+++ b/tests/xattr05.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2012-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xattr06.at b/tests/xattr06.at
index c314fcfc..7ecf9d39 100644
--- a/tests/xattr06.at
+++ b/tests/xattr06.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2012-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2012-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xattr07.at b/tests/xattr07.at
index 3a97118d..f7f3a6d4 100644
--- a/tests/xattr07.at
+++ b/tests/xattr07.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2011, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2011-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xform-h.at b/tests/xform-h.at
index 3ca2b32e..8729dbf8 100644
--- a/tests/xform-h.at
+++ b/tests/xform-h.at
@@ -1,8 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009-2010, 2013-2014, 2016-2017 Free Software Foundation,
-# Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xform01.at b/tests/xform01.at
index 83a3e551..6f4d3bac 100644
--- a/tests/xform01.at
+++ b/tests/xform01.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2010, 2013-2014, 2016-2017 Free Software Foundation, Inc.
+# Copyright 2010-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xform02.at b/tests/xform02.at
index e7ea1a03..85d1df57 100644
--- a/tests/xform02.at
+++ b/tests/xform02.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright 2009-2010, 2013-2017 Free Software Foundation, Inc.
+# Copyright 2009-2019 Free Software Foundation, Inc.
 
 # This file is part of GNU tar.
 
diff --git a/tests/xform03.at b/tests/xform03.at
index 47f52f14..e8f358c0 100644
--- a/tests/xform03.at
+++ b/tests/xform03.at
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 #
 # Test suite for GNU tar.
-# Copyright 2017 Free Software Foundation, Inc.
+# Copyright 2017-2019 Free Software Foundation, Inc.
 #
 # This file is part of GNU tar.
 #
@@ -21,12 +21,14 @@
 AT_SETUP([transforming hard link targets])
 AT_KEYWORDS([transform xform link])
 
-AT_TAR_CHECK([
+AT_TAR_WITH_HOOK(
+[AT_CHECK([sed "/tar: Removing leading \`\/*\/' from/d" stderr])],
+[AT_TAR_CHECK([
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b
+dir=$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -34,8 +36,6 @@ find t -type f
 [0],
 [t/dir/c/b
 ],
-[tar: Removing leading `/' from member names
-tar: Removing leading `/' from hard link targets
-])
+[stderr])])
 AT_CLEANUP
 
-- 
GitLab