Imported Upstream version 2.8.6 upstream/2.8.6
authorDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 3 Jan 2022 06:17:04 +0000 (15:17 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 3 Jan 2022 06:17:04 +0000 (15:17 +0900)
93 files changed:
NEWS
README
bootstrap.conf
configure.ac
docs/HACKING
docs/INSTALL.quick
docs/man-db.lsm
include/manconfig.h.in
init/systemd/man-db.service.in
lib/Makefile.am
lib/README
lib/debug.c
lib/encodings.c
lib/encodings.h
lib/glcontainers.c [new file with mode: 0644]
lib/glcontainers.h [new file with mode: 0644]
lib/hashtable.c [deleted file]
lib/hashtable.h [deleted file]
lib/lower.c [deleted file]
lib/lower.h [deleted file]
lib/orderfiles.c
lib/orderfiles.h
lib/pathsearch.c
lib/pathsearch.h
lib/sandbox.c
lib/security.c
lib/security.h
lib/wordfnmatch.c
lib/wordfnmatch.h
lib/xchown.c [deleted file]
lib/xchown.h [deleted file]
libdb/db_btree.c
libdb/db_delete.c
libdb/db_gdbm.c
libdb/db_lookup.c
libdb/db_ndbm.c
libdb/db_storage.h
libdb/mydbm.h
m4/man-arg-manual.m4 [new file with mode: 0644]
m4/man-arg-systemdsystemunitdir.m4
m4/man-arg-systemdtmpfilesdir.m4
m4/man-gnu-nroff.m4
manual/Makefile.am
manual/intro.me
po/POTFILES.in
po/ast.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/eo.po
po/es.po
po/fi.po
po/fr.po
po/id.po
po/it.po
po/ja.po
po/man-db.pot
po/nl.po
po/pl.po
po/pt.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sr.po
po/sv.po
po/tr.po
po/vi.po
po/zh_CN.po
po/zh_TW.po
src/accessdb.c
src/catman.c
src/check_mandirs.c
src/descriptions.c
src/descriptions.h
src/descriptions_store.c
src/globbing.c
src/globbing.h
src/globbing_test.c
src/lexgrog_test.c
src/man.c
src/manconv_main.c
src/mandb.c
src/manp.c
src/manp.h
src/manpath.c
src/straycats.c
src/ult_src.c
src/ult_src.h
src/whatis.c
src/zsoelim.h
src/zsoelim.l
src/zsoelim_main.c

diff --git a/NEWS b/NEWS
index 411983b..4306aab 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,38 @@
+man-db 2.8.6 (3 August 2019)
+============================
+
+Major changes since man-db 2.8.5:
+
+       Fixes:
+       ------
+
+       * If more than one of "../man", "man", "../share/man", and
+         "share/man" exist relative to a directory on $PATH, then all of
+         them are now added to the automatically-determined manpath;
+         previously, only the first was considered.
+
+       * Remove arbitrary limit on manpath size.
+
+       * The systemd database maintenance service now runs mandb with the
+         --quiet option, avoiding excess log messages.
+
+       * Default to --without-systemdsystemunitdir and
+         --without-systemdtmpfilesdir on non-Linux systems.
+
+       * Fix failure to link libman using the Darwin linker.
+
+       * "apropos -w" now works when given a non-lower-case pattern.
+
+       Improvements:
+       -------------
+
+       * Convert most list and hash table code to Gnulib's container types:
+         these are more flexible and normally more concise than home-grown
+         equivalents.
+
+       * There is a new configure option --disable-manual, which causes the
+         man-db manual not to be built or installed.
+
 man-db 2.8.5 (5 January 2019)
 =============================
 
@@ -645,8 +680,8 @@ Major changes since man-db 2.5.9:
 
        * As promised in the release notes for man-db 2.5.8, man-db no
          longer ships its own copy of libpipeline
-         (http://libpipeline.nongnu.org/).  You must build and install that
-         library separately.
+         (https://nongnu.org/libpipeline/).  You must build and install
+         that library separately.
 
        * Search the full manpath when expanding .so directives in manual
          pages.  As part of this, '.so name.1' should now work as well as
@@ -735,7 +770,7 @@ Major changes since man-db 2.5.7:
          context.  Thanks to the Debian Perl maintainers for the idea.
 
        * Allow building with an external libpipeline
-         (http://libpipeline.nongnu.org/), which has been split out from
+         (https://nongnu.org/libpipeline/), which has been split out from
          man-db.  This is a transitional measure: a future version of
          man-db will stop shipping its own copy of libpipeline.
 
diff --git a/README b/README
index c3af25b..e507b95 100644 (file)
--- a/README
+++ b/README
@@ -133,6 +133,10 @@ used.
      manual files when a manual page is read.  This flag suppresses this
      behaviour.
 
+--disable-manual
+     Don't build or install the man-db manual.  This may be useful when
+     cross-compiling, or to reduce the installation size.
+
 
 INSTALL
 =======
@@ -280,7 +284,7 @@ Contacting the maintainer
 =========================
 
 The current maintainer of man-db is Colin Watson <cjwatson@debian.org>.
-Please feel free to contact me with any queries or problems you may have. If
-you are using the Debian GNU/Linux or GNU/Hurd system, I welcome bug reports
-against the man-db package by way of the Debian bug tracking system
-(https://bugs.debian.org/).
+Please feel free to contact me with any queries or problems you may have.
+You can report bugs here:
+
+  https://savannah.nongnu.org/bugs/?group=man-db
index 4e6c149..daa5171 100644 (file)
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 
-GNULIB_REVISION=d271f868a8df9bbec29049d01e056481b7a1a263
+GNULIB_REVISION=34881aff4043847f2640d90cf9aa325cc3ad08d6
 
 # gnulib modules used by this package.
 gnulib_modules="
   argp
+  array-list
   canonicalize
   closedir
   dirent
   dirname
   error
+  fcntl
   flock
   fnmatch-gnu
   fstat
@@ -36,9 +38,14 @@ gnulib_modules="
   gitlog-to-changelog
   glob
   gnupload
+  hash-map
+  hash-pjw-bare
+  hash-set
   idpriv-drop
   idpriv-droptemp
+  lchown
   lib-ignore
+  linkedhash-list
   localcharset
   lock
   memmem
@@ -50,6 +57,7 @@ gnulib_modules="
   openat
   opendir
   progname
+  rbtree-list
   regex
   rename
   setenv
@@ -57,6 +65,8 @@ gnulib_modules="
   signal
   sigprocmask
   stat-time
+  stdbool
+  strcase
   strcasestr
   strerror
   strsep
@@ -66,6 +76,10 @@ gnulib_modules="
   warnings
   xalloc
   xgetcwd
+  xlist
+  xmap
+  xset
+  xstdopen
   xstrndup
   xvasprintf
 "
index 9051687..aeeb5a1 100644 (file)
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
 m4_pattern_forbid([^MAN_])
 
 # Initialise and check we're in the correct directory.
-AC_INIT([man-db], [2.8.5], [cjwatson@debian.org])
+AC_INIT([man-db], [2.8.6], [cjwatson@debian.org])
 AC_CONFIG_AUX_DIR([build-aux])
 AM_INIT_AUTOMAKE([1.11 -Wall -Wno-override -Werror foreign dist-xz no-dist-gzip parallel-tests])
 AM_MAINTAINER_MODE
@@ -16,7 +16,7 @@ AC_CONFIG_HEADER([config.h])
 AC_CANONICAL_HOST
 
 # Define below date and version information to be put into man pages etc.
-date=2019-01-05
+date=2019-08-03
 AC_SUBST([date])dnl
 roff_version=`echo AC_PACKAGE_VERSION | sed 's/-/\\-/g'`
 AC_SUBST([roff_version])dnl
@@ -43,6 +43,7 @@ MAN_ARG_OVERRIDE_DIR
 MAN_ARG_SYSTEMDTMPFILESDIR
 MAN_ARG_SYSTEMDSYSTEMUNITDIR
 MAN_ARG_MANDIRS
+MAN_ARG_MANUAL
 
 # Check $PATH for the following programs and append suitable options.
 AC_PROG_CC
@@ -59,6 +60,13 @@ case $host_os in
                dnl environment:
                CFLAGS="$CFLAGS -YPOSIX"
                ;;
+       *darwin*)
+               dnl libman intentionally has an undefined "sandbox" symbol
+               dnl which is supplied by each application.  The Darwin
+               dnl linker refuses to do this by default, and needs some
+               dnl help.
+               CFLAGS="$CFLAGS -Wl,-flat_namespace,-undefined,suppress"
+               ;;
 esac
 if test "$GCC" = yes
 then
@@ -339,8 +347,8 @@ then
        AC_MSG_ERROR([flex is required when building from revision control])
 fi
 gl_INIT
-AC_CHECK_HEADERS([fcntl.h sys/file.h linux/fiemap.h])
-AC_CHECK_FUNCS([lchown posix_fadvise])
+AC_CHECK_HEADERS([sys/file.h linux/fiemap.h])
+AC_CHECK_FUNCS([posix_fadvise])
 
 # Internationalization support.
 AM_GNU_GETTEXT([external])
index 359a173..b675f9f 100644 (file)
@@ -78,7 +78,8 @@ argument type is correct.
 
 You may assume C89 (e.g. no need to support K&R-style function definitions),
 but please do not assume C99 (e.g. do not use nested functions or //
-comments).
+comments).  However, it's OK to use C99 runtime facilities that are provided
+by Gnulib, such as <stdbool.h>.
 
 
 Testing
index 4286959..dd9410d 100644 (file)
@@ -5,7 +5,7 @@ the Quick install below.
 
 man-db requires several external packages:
 
-       * libpipeline >= 1.5.0 (http://libpipeline.nongnu.org/)
+       * libpipeline >= 1.5.0 (https://nongnu.org/libpipeline/)
        * flex >= 2.5.30 (http://flex.sf.net/)
        * a database library, one of:
          GDBM (https://www.gnu.org.ua/software/gdbm/)
index 9f6de84..3cd17c2 100644 (file)
@@ -1,7 +1,7 @@
 Begin4
 Title:         man-db
-Version:       2.8.5
-Entered-date:  2019-01-05
+Version:       2.8.6
+Entered-date:  2019-08-03
 Description:   This package provides the man command. This utility is
                the primary way of examining the on-line help files
                (manual pages).  Other utilities provided include the
@@ -19,7 +19,7 @@ Author:               jwe@che.utexas.edu (John W Eaton)
                cjwatson@debian.org (Colin Watson)
 Maintained-by: cjwatson@debian.org (Colin Watson)
 Primary-site:  https://savannah.nongnu.org/download/man-db/
-               1.8M man-db-2.8.5.tar.xz
+               1.8M man-db-2.8.6.tar.xz
 Alternate-site:        http://ftp.debian.org/debian/pool/main/m/man-db/
 Platforms:     Requires GNU groff 1.16.
                Optionally uses GDBM or Berkeley DB (any version with 1.85
index 5c3ad64..d9605c9 100644 (file)
@@ -33,6 +33,8 @@
 #ifndef MANCONFIG_H
 #define MANCONFIG_H
 
+#include <stdbool.h>
+
 #include "xvasprintf.h"
 
 /* STD_SECTIONS must contain all of your man hierarchy subdirectories. The
 
 /* #define FAVOUR_STRAYCATS */
 
-/* The maximum number of manual page hierarchies expected in the manpath.  
-   Also the maximum amount of non-comment lines in the config file. */
-#define MAXDIRS 128
-
 /* CATMODE is the mode of the formatted cat pages that we create. The man-db
    package can be run in 4 main modes, 3 of which are relatively secure and
    allow the cats to be non world writable. The `wide open' mode requires
@@ -340,7 +338,7 @@ extern struct compression comp_list[];
 extern char *create_tempdir (const char *template)
        ATTRIBUTE_WARN_UNUSED_RESULT;
 
-extern int debug_level;                /* shows whether -d issued */
+extern bool debug_level;       /* shows whether -d issued */
 extern void init_debug (void);
 extern void debug (const char *message, ...) ATTRIBUTE_FORMAT_PRINTF(1, 2);
 extern void debug_error (const char *message, ...)
index 25be57d..b970913 100644 (file)
@@ -10,7 +10,7 @@ ExecStart=+/usr/bin/install -d -o @cache_top_owner@ -g @cache_top_owner@ -m 0755
 # Expunge old catman pages which have not been read in a week.
 ExecStart=/usr/bin/find /var/cache/man -type f -name *.gz -atime +6 -delete
 # Regenerate man database.
-ExecStart=@bindir@/mandb
+ExecStart=@bindir@/mandb --quiet
 User=@cache_top_owner@
 Nice=19
 IOSchedulingClass=idle
index ba5684f..30f48f5 100644 (file)
@@ -41,12 +41,10 @@ libman_la_SOURCES = \
        decompress.h \
        encodings.c \
        encodings.h \
-       hashtable.c \
-       hashtable.h \
+       glcontainers.c \
+       glcontainers.h \
        linelength.c \
        linelength.h \
-       lower.c \
-       lower.h \
        orderfiles.c \
        orderfiles.h \
        pathsearch.c \
@@ -59,8 +57,6 @@ libman_la_SOURCES = \
        util.c \
        wordfnmatch.c \
        wordfnmatch.h \
-       xchown.c \
-       xchown.h \
        xregcomp.c \
        xregcomp.h
 
index ba2c691..115bb74 100644 (file)
@@ -10,11 +10,11 @@ cleanup.*                   author - Markus Armbruster, Colin Watson
 debug.c                                author - Colin Watson
 decompress.*                   author - Colin Watson
 encodings.*                    author - Colin Watson
-hashtable.*                    author - Wilf., Colin Watson
+glcontainers.*                 author - Colin Watson
 linelength.*                   author - Martin Schulze, Jon Tombs, Colin Watson
-lower.*                                author - Wilf., Colin Watson
+orderfiles.*                   author - Colin Watson
 pathsearch.*                   author - Colin Watson
-pipeline.*                     author - James Clark, Colin Watson
+sandbox.*                      author - Colin Watson
 security.*                     author - John W. Eaton, Wilf., Colin Watson
 tempfile.c                     author - Colin Watson
 util.c                         author - John W. Eaton, Wilf., Colin Watson
index 1b75e63..dd5ade8 100644 (file)
@@ -23,6 +23,7 @@
 #  include "config.h"
 #endif
 
+#include <stdbool.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdarg.h>
 
 #include "manconfig.h"
 
-int debug_level = 0;
+bool debug_level = false;
 
 void init_debug (void)
 {
        const char *man_debug = getenv ("MAN_DEBUG");
        if (man_debug && STREQ (man_debug, "1"))
-               debug_level = 1;
+               debug_level = true;
 }
 
 static void vdebug (const char *message, va_list args)
index ec8fb6b..ccccdbb 100644 (file)
@@ -25,6 +25,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -640,27 +641,27 @@ out:
 
 /* Can we take this input encoding and produce this output encoding, perhaps
  * with the help of some iconv pipes? */
-static int compatible_encodings (const char *input, const char *output)
+static bool compatible_encodings (const char *input, const char *output)
 {
        if (STREQ (input, output))
-               return 1;
+               return true;
 
        /* If the input is ASCII, recoding should be easy. Try it. */
        if (STREQ (input, "ANSI_X3.4-1968"))
-               return 1;
+               return true;
 
        /* If the input is UTF-8, it's either a simple recoding of whatever
         * we want or else it probably won't work at all no matter what we
         * do. We might as well try it for now.
         */
        if (STREQ (input, "UTF-8"))
-               return 1;
+               return true;
 
        /* If the output is ASCII, this is probably because the caller
         * explicitly asked for it, so we have little choice but to try.
         */
        if (STREQ (output, "ANSI_X3.4-1968"))
-               return 1;
+               return true;
 
 #ifdef MULTIBYTE_GROFF
        /* Special case for some CJK UTF-8 locales, which take UTF-8 input
@@ -673,10 +674,10 @@ static int compatible_encodings (const char *input, const char *output)
             STREQ (input, "EUC-KR") ||
             STREQ (input, "EUC-TW")) &&
            STREQ (output, "UTF-8"))
-               return 1;
+               return true;
 #endif /* MULTIBYTE_GROFF */
 
-       return 0;
+       return false;
 }
 
 /* Return the default groff device for the given character set. This may be
@@ -723,16 +724,16 @@ const char *get_default_device (const char *charset_from_locale,
 }
 
 /* Is this a known *roff device name? */
-int is_roff_device (const char *device)
+bool is_roff_device (const char *device)
 {
        const struct device_entry *entry;
 
        for (entry = device_table; entry->roff_device; ++entry) {
                if (STREQ (entry->roff_device, device))
-                       return 1;
+                       return true;
        }
 
-       return 0;
+       return false;
 }
 
 /* Find the input encoding expected by groff, and set the LESSCHARSET
@@ -741,13 +742,13 @@ int is_roff_device (const char *device)
 const char *get_roff_encoding (const char *device, const char *source_encoding)
 {
        const struct device_entry *entry;
-       int found = 0;
+       bool found = false;
        const char *roff_encoding = NULL;
 
        if (device) {
                for (entry = device_table; entry->roff_device; ++entry) {
                        if (STREQ (entry->roff_device, device)) {
-                               found = 1;
+                               found = true;
                                roff_encoding = entry->roff_encoding;
                                break;
                        }
index 9967a89..b745dae 100644 (file)
@@ -20,6 +20,8 @@
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include <stdbool.h>
+
 const char *get_groff_preconv (void);
 char *get_page_encoding (const char *lang);
 const char *get_source_encoding (const char *lang);
@@ -28,7 +30,7 @@ const char *get_locale_charset (void);
 char *find_charset_locale (const char *charset);
 const char *get_default_device (const char *locale_charset,
                                const char *source_encoding);
-int is_roff_device (const char *device);
+bool is_roff_device (const char *device);
 const char *get_roff_encoding (const char *device,
                               const char *source_encoding);
 const char *get_output_encoding (const char *device);
diff --git a/lib/glcontainers.c b/lib/glcontainers.c
new file mode 100644 (file)
index 0000000..732cbe4
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * glcontainers.c: common Gnulib container helpers
+ *
+ * Copyright (C) 2019 Colin Watson.
+ *
+ * This file is part of man-db.
+ *
+ * man-db is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * man-db 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 man-db; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "gl_xlist.h"
+#include "gl_xmap.h"
+#include "gl_xset.h"
+#include "hash-pjw-bare.h"
+
+#include "manconfig.h"
+
+#include "glcontainers.h"
+
+bool string_equals (const void *s1, const void *s2)
+{
+       return STREQ ((const char *) s1, (const char *) s2);
+}
+
+size_t string_hash (const void *s)
+{
+       return hash_pjw_bare (s, strlen ((const char *) s));
+}
+
+void plain_free (const void *s)
+{
+       /* gl_list declares the argument as const, but there doesn't seem to
+        * be a good reason for this.
+        */
+       free ((void *) s);
+}
+
+gl_list_t new_string_list (gl_list_implementation_t implementation,
+                          bool allow_duplicates)
+{
+       return gl_list_create_empty (implementation, string_equals,
+                                    string_hash, plain_free,
+                                    allow_duplicates);
+}
+
+gl_map_t new_string_map (gl_map_implementation_t implementation,
+                        gl_mapvalue_dispose_fn vdispose_fn)
+{
+       return gl_map_create_empty (implementation, string_equals, string_hash,
+                                   plain_free, vdispose_fn);
+}
+
+gl_set_t new_string_set (gl_set_implementation_t implementation)
+{
+       return gl_set_create_empty (implementation, string_equals, string_hash,
+                                   plain_free);
+}
diff --git a/lib/glcontainers.h b/lib/glcontainers.h
new file mode 100644 (file)
index 0000000..acaabd5
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * glcontainers.h: interface to common Gnulib container helpers
+ *
+ * Copyright (C) 2019 Colin Watson.
+ *
+ * This file is part of man-db.
+ *
+ * man-db is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * man-db 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 man-db; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef MAN_GLCONTAINERS_H
+#define MAN_GLCONTAINERS_H
+
+#include <stdbool.h>
+#include <stdlib.h>
+
+#include "gl_list.h"
+#include "gl_map.h"
+#include "gl_set.h"
+
+/* These types are compatible with those required by Gnulib container
+ * initialisation.
+ */
+
+bool string_equals (const void *s1, const void *s2);
+size_t string_hash (const void *s);
+void plain_free (const void *s);
+
+/* Convenience functions. */
+
+gl_list_t new_string_list (gl_list_implementation_t implementation,
+                          bool allow_duplicates);
+gl_map_t new_string_map (gl_map_implementation_t implementation,
+                        gl_mapvalue_dispose_fn vdispose_fn);
+gl_set_t new_string_set (gl_set_implementation_t implementation);
+
+/* Iterator macros. */
+
+#define GL_LIST_FOREACH_START(list, item) \
+       do { \
+               gl_list_iterator_t list##_iter = gl_list_iterator (list); \
+               while (gl_list_iterator_next (&list##_iter, \
+                                             (const void **) &item, NULL))
+
+#define GL_LIST_FOREACH_END(list) \
+               gl_list_iterator_free (&list##_iter); \
+       } while (0)
+
+#define GL_MAP_FOREACH_START(map, key, value) \
+       do { \
+               gl_map_iterator_t map##_iter = gl_map_iterator (map); \
+               while (gl_map_iterator_next (&map##_iter, \
+                                            (const void **) &key, \
+                                            (const void **) &value))
+
+#define GL_MAP_FOREACH_END(map) \
+               gl_map_iterator_free (&map##_iter); \
+       } while (0)
+
+#endif /* MAN_GLCONTAINERS_H */
diff --git a/lib/hashtable.c b/lib/hashtable.c
deleted file mode 100644 (file)
index 85fbb04..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * hashtable.c: in core hash table routines.
- *  
- * Copyright (C) 1994, 1995 Graeme W. Wilford. (Wilf.)
- * Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 Colin Watson.
- *
- * This file is part of man-db.
- *
- * man-db is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * man-db 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 man-db; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- *
- * All of these routines except hashtable_free() can be found in K&R II.
- *
- * Sat Aug 20 15:01:02 BST 1994  Wilf. (G.Wilford@ee.surrey.ac.uk) 
- */
-
-/* which hash function do we want ? */
-/* #define PROLOGUE */
-#define KRII 
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif /* HAVE_CONFIG_H */
-
-#include <string.h>
-#include <stdlib.h>
-
-#include "manconfig.h"
-#include "hashtable.h"
-
-#if defined(PROLOGUE)
-#define HASHSIZE 2048
-#elif defined(KRII)
-#define HASHSIZE 2001
-#else
-#error hash function not defined
-#endif
-
-/* Return hash value for string. */
-static unsigned int hash (const char *s, size_t len)
-{
-       unsigned int hashval = 0;
-       size_t i;
-
-       for (i = 0; i < len && s[i]; ++i)
-#if defined(KRII)
-               hashval = s[i] + 31 * hashval;
-       return hashval % HASHSIZE;
-#elif defined(PROLOGUE)
-               hashval = (hashval << 1) + s[i];
-       return hashval & (HASHSIZE - 1);
-#endif
-}
-
-void null_hashtable_free (void *defn ATTRIBUTE_UNUSED)
-{
-}
-
-/* Create a hashtable. */
-struct hashtable *hashtable_create (hashtable_free_ptr free_defn)
-{
-       struct hashtable *ht = XMALLOC (struct hashtable);
-       ht->hashtab = XCALLOC (HASHSIZE, struct nlist *);
-       ht->unique = 0;
-       ht->identical = 0;
-       ht->free_defn = free_defn;
-       return ht;
-}
-
-/* Return pointer to hash entry structure containing s, or NULL if it
- * doesn't exist.
- */
-struct nlist *hashtable_lookup_structure (const struct hashtable *ht,
-                                         const char *s, size_t len)
-{
-       struct nlist *np;
-
-       for (np = ht->hashtab[hash (s, len)]; np; np = np->next) {
-               if (strncmp (s, np->name, len) == 0)
-                       return np;
-       }
-       return NULL;
-}
-
-/* Return pointer to definition of s, or NULL if it doesn't exist. */
-void *hashtable_lookup (const struct hashtable *ht, const char *s, size_t len)
-{
-       struct nlist *np = hashtable_lookup_structure (ht, s, len);
-       if (np)
-               return np->defn;
-       else
-               return NULL;
-}
-
-/* Return structure containing definition (never NULL). */
-struct nlist *hashtable_install (struct hashtable *ht,
-                                const char *name, size_t len, void *defn)
-{
-       struct nlist *np;
-
-       np = hashtable_lookup_structure (ht, name, len);
-       if (np) {
-               if (np->defn)
-                       ht->free_defn (np->defn);
-       } else {
-               unsigned int hashval;
-
-               np = XMALLOC (struct nlist);
-               np->name = xstrndup (name, len);
-               hashval = hash (name, len);
-
-               /* record uniqueness if debugging */
-               if (debug_level) {
-                       if (ht->hashtab[hashval])
-                               ht->identical++;
-                       else
-                               ht->unique++;
-               }
-
-               /* point to last entry with this hash */
-               np->next = ht->hashtab[hashval];
-
-               /* attach to hashtab array */
-               ht->hashtab[hashval] = np;
-       }
-
-       np->defn = defn;
-
-       return np;
-}
-
-/* Remove structure containing name from the hash tree. */
-void hashtable_remove (struct hashtable *ht, const char *name, size_t len)
-{
-       struct nlist *np, *prev;
-       unsigned int hashval = hash (name, len);
-
-       for (np = ht->hashtab[hashval], prev = NULL; np;
-            prev = np, np = np->next) {
-               if (strncmp (name, np->name, len) == 0) {
-                       if (prev)
-                               prev->next = np->next;
-                       else
-                               ht->hashtab[hashval] = np->next;
-                       if (np->defn)
-                               ht->free_defn (np->defn);
-                       free (np->name);
-                       free (np);
-                       return;
-               }
-       }
-}
-
-struct hashtable_iter {
-       struct nlist **bucket;
-       struct nlist *np;
-};
-
-/* Iterate over hash.  Do not modify hash while iterating. */
-struct nlist *hashtable_iterate (const struct hashtable *ht,
-                                struct hashtable_iter **iterp)
-{
-       struct hashtable_iter *iter = *iterp;
-
-       if (!iter)
-               *iterp = iter = XZALLOC (struct hashtable_iter);
-
-       if (iter->np && iter->np->next)
-               return iter->np = iter->np->next;
-
-       if (iter->bucket)
-               ++iter->bucket;
-       else
-               iter->bucket = ht->hashtab;
-
-       while (iter->bucket < ht->hashtab + HASHSIZE) {
-               if (*iter->bucket)
-                       return iter->np = *iter->bucket;
-               ++iter->bucket;
-       }
-
-       free (iter);
-       *iterp = NULL;
-       return NULL;
-}
-
-/* Free up the hash tree (garbage collection). Also call the free_defn()
- * hook to free up values if necessary.
- */
-void hashtable_free (struct hashtable *ht)
-{
-       int i;
-
-       if (!ht)
-               return;
-
-       debug ("hashtable_free: %d entries, %d (%d%%) unique\n",
-              ht->unique + ht->identical,
-              ht->unique,
-              ht->unique ? (ht->unique * 100) / (ht->unique + ht->identical)
-                         : 0);
-
-       for (i = 0; i < HASHSIZE; i++) {
-               struct nlist *np;
-
-               np = ht->hashtab[i];
-               while (np) {
-                       struct nlist *next;
-
-                       if (np->defn)
-                               ht->free_defn (np->defn);
-                       free (np->name);
-                       next = np->next;
-                       free (np);
-                       np = next;
-               }
-       }
-
-       free (ht->hashtab);
-       free (ht);
-}
diff --git a/lib/hashtable.h b/lib/hashtable.h
deleted file mode 100644 (file)
index 3924518..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * hashtable.h: contains struct nlist
- *  
- * Copyright (C) 1994, 1995 Graeme W. Wilford. (Wilf.)
- * Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 Colin Watson.
- *
- * This file is part of man-db.
- *
- * man-db is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * man-db 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 man-db; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- *
- * Sat Aug 20 15:01:02 BST 1994  Wilf. (G.Wilford@ee.surrey.ac.uk) 
- */
-
-#ifndef _HASHTABLE_H
-#define _HASHTABLE_H
-
-typedef void (*hashtable_free_ptr) (void *defn);
-
-struct hashtable {
-       struct nlist **hashtab;         /* the storage array */
-       int unique;                     /* unique hash values */
-       int identical;                  /* identical hash values */
-       hashtable_free_ptr free_defn;   /* function to free a hash entry */
-};
-
-struct nlist {
-        struct nlist *next;    /* next in the chain */
-        char *name;            /* the _name_ */
-        void *defn;            /* the _definition_ */
-};
-
-struct hashtable_iter;
-
-extern void null_hashtable_free (void *defn);
-
-extern struct hashtable *hashtable_create (hashtable_free_ptr free_defn);
-extern struct nlist *hashtable_lookup_structure (const struct hashtable *ht,
-                                                const char *s, size_t len);
-extern void *hashtable_lookup (const struct hashtable *ht,
-                              const char *s, size_t len);
-extern struct nlist *hashtable_install (struct hashtable *ht,
-                                       const char *name, size_t len,
-                                       void *defn);
-extern struct nlist *hashtable_iterate (const struct hashtable *ht,
-                                       struct hashtable_iter **iterp);
-extern void hashtable_remove (struct hashtable *ht, const char *s, size_t len);
-extern void hashtable_free (struct hashtable *ht);
-
-#endif /* _HASHTABLE_H */
diff --git a/lib/lower.c b/lib/lower.c
deleted file mode 100644 (file)
index e620fb7..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * lower.c: return lower-case copy of a string
- *
- * Copyright (C) 1994, 1995 Graeme W. Wilford. (Wilf.)
- * Copyright (C) 2003, 2008 Colin Watson.
- *
- * This file is part of man-db.
- *
- * man-db is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * man-db 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 man-db; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif /* HAVE_CONFIG_H */
-
-#include <string.h>
-#include <ctype.h>
-
-#include "manconfig.h"
-
-#include "lower.h"
-
-/* return lowered version of s */
-char *lower (const char *s)
-{
-       char *low, *p;
-
-       p = low = xmalloc (strlen (s) + 1);
-
-       while (*s)
-               *p++ = CTYPE (tolower, *s++);
-
-       *p = *s;
-       return low;
-}
diff --git a/lib/lower.h b/lib/lower.h
deleted file mode 100644 (file)
index 571de33..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * lower.h: interface to return lower-case copy of a string
- *
- * Copyright (C) 1994, 1995 Graeme W. Wilford. (Wilf.)
- * Copyright (C) 2003, 2008 Colin Watson.
- *
- * This file is part of man-db.
- *
- * man-db is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * man-db 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 man-db; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-char *lower (const char *s);
index d67f4d8..b1a1790 100644 (file)
 #include <string.h>
 #include <unistd.h>
 
-#include "manconfig.h"
+#include "gl_hash_map.h"
+#include "gl_rbtree_list.h"
+#include "gl_xlist.h"
+#include "gl_xmap.h"
 
-#include "hashtable.h"
+#include "manconfig.h"
 
-struct hashtable *physical_offsets = NULL;
+#include "glcontainers.h"
 
 #if defined(HAVE_LINUX_FIEMAP_H)
+gl_map_t physical_offsets = NULL;
+
 int compare_physical_offsets (const void *a, const void *b)
 {
-       const char *left = *(const char **) a;
-       const char *right = *(const char **) b;
-       uint64_t *left_offset_p = hashtable_lookup (physical_offsets,
-                                                   left, strlen (left));
-       uint64_t *right_offset_p = hashtable_lookup (physical_offsets,
-                                                    right, strlen (right));
+       const char *left = (const char *) a;
+       const char *right = (const char *) b;
+       const uint64_t *left_offset_p = gl_map_get (physical_offsets, left);
+       const uint64_t *right_offset_p = gl_map_get (physical_offsets, right);
        uint64_t left_offset = left_offset_p ? *left_offset_p : UINT64_MAX;
        uint64_t right_offset = right_offset_p ? *right_offset_p : UINT64_MAX;
 
@@ -70,12 +73,13 @@ int compare_physical_offsets (const void *a, const void *b)
                return 0;
 }
 
-void order_files (const char *dir, char **basenames, size_t n_basenames)
+void order_files (const char *dir, gl_list_t *basenamesp)
 {
+       gl_list_t basenames = *basenamesp, sorted_basenames;
        int dir_fd_open_flags;
        int dir_fd;
        struct statfs fs;
-       size_t i;
+       const char *name;
 
        dir_fd_open_flags = O_SEARCH | O_DIRECTORY;
 #ifdef O_PATH
@@ -96,15 +100,17 @@ void order_files (const char *dir, char **basenames, size_t n_basenames)
         * a small number of contiguous blocks, which seems a reasonable
         * assumption for manual pages.
         */
-       physical_offsets = hashtable_create (&free);
-       for (i = 0; i < n_basenames; ++i) {
+       physical_offsets = gl_map_create_empty (GL_HASH_MAP, string_equals,
+                                               string_hash, NULL, plain_free);
+       sorted_basenames = new_string_list (GL_RBTREE_LIST, false);
+       GL_LIST_FOREACH_START (basenames, name) {
                struct {
                        struct fiemap fiemap;
                        struct fiemap_extent extent;
                } fm;
                int fd;
 
-               fd = openat (dir_fd, basenames[i], O_RDONLY);
+               fd = openat (dir_fd, name, O_RDONLY);
                if (fd < 0)
                        continue;
 
@@ -117,24 +123,30 @@ void order_files (const char *dir, char **basenames, size_t n_basenames)
                if (ioctl (fd, FS_IOC_FIEMAP, (unsigned long) &fm) == 0) {
                        uint64_t *offset = XMALLOC (uint64_t);
                        *offset = fm.fiemap.fm_extents[0].fe_physical;
-                       hashtable_install (physical_offsets, basenames[i],
-                                          strlen (basenames[i]), offset);
+                       /* Borrow the key from basenames; since
+                        * physical_offsets has a shorter lifetime, we don't
+                        * need to duplicate it.
+                        */
+                       gl_map_put (physical_offsets, name, offset);
                }
 
                close (fd);
-       }
-       qsort (basenames, n_basenames, sizeof *basenames,
-              compare_physical_offsets);
-       hashtable_free (physical_offsets);
+               gl_sortedlist_add (sorted_basenames, compare_physical_offsets,
+                                  xstrdup (name));
+       } GL_LIST_FOREACH_END (basenames);
+       gl_map_free (physical_offsets);
        physical_offsets = NULL;
        close (dir_fd);
+       gl_list_free (basenames);
+       *basenamesp = sorted_basenames;
 }
 #elif defined(HAVE_POSIX_FADVISE)
-void order_files (const char *dir, char **basenames, size_t n_basenames)
+void order_files (const char *dir, gl_list_t *basenamesp)
 {
+       gl_list_t basenames = *basenamesp;
        int dir_fd_open_flags;
        int dir_fd;
-       size_t i;
+       const char *name;
 
        dir_fd_open_flags = O_SEARCH | O_DIRECTORY;
 #ifdef O_PATH
@@ -147,18 +159,18 @@ void order_files (const char *dir, char **basenames, size_t n_basenames)
        /* While we can't actually order the files, we can at least ask the
         * kernel to preload them.
         */
-       for (i = 0; i < n_basenames; ++i) {
-               int fd = openat (dir_fd, basenames[i], O_RDONLY | O_NONBLOCK);
+       GL_LIST_FOREACH_START (basenames, name) {
+               int fd = openat (dir_fd, name, O_RDONLY | O_NONBLOCK);
                if (fd >= 0) {
                        posix_fadvise (fd, 0, 0, POSIX_FADV_WILLNEED);
                        close (fd);
                }
-       }
+       } GL_LIST_FOREACH_END (basenames);
 
        close (dir_fd);
 }
 #else
-void order_files (const char *dir, char **basenames, size_t n_basenames)
+void order_files (const char *dir, gl_list_t *basenamesp)
 {
 }
 #endif
index b4e6689..dae41cc 100644 (file)
@@ -20,4 +20,6 @@
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-void order_files (const char *dir, char **basenames, size_t n_basenames);
+#include "gl_list.h"
+
+void order_files (const char *dir, gl_list_t *basenamesp);
index 402f7d1..c733c3a 100644 (file)
@@ -24,6 +24,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 
 #include "manconfig.h"
 #include "pathsearch.h"
 
-static int pathsearch (const char *name, const mode_t bits)
+static bool pathsearch (const char *name, const mode_t bits)
 {
        char *cwd = NULL;
        char *path = getenv ("PATH");
        char *pathtok;
        const char *element;
        struct stat st;
-       int ret = 0;
+       bool ret = false;
 
        if (!path)
                /* Eh? Oh well. */
-               return 0;
+               return false;
 
        if (strchr (name, '/')) {
                /* Qualified name; look directly. */
                if (stat (name, &st) == -1)
-                       return 0;
+                       return false;
                if (S_ISREG (st.st_mode) && (st.st_mode & bits))
-                       return 1;
-               return 0;
+                       return true;
+               return false;
        }
 
        pathtok = path = xstrdup (path);
@@ -81,7 +82,7 @@ static int pathsearch (const char *name, const mode_t bits)
                free (filename);
 
                if (S_ISREG (st.st_mode) && (st.st_mode & bits)) {
-                       ret = 1;
+                       ret = true;
                        break;
                }
        }
@@ -91,22 +92,22 @@ static int pathsearch (const char *name, const mode_t bits)
        return ret;
 }
 
-int pathsearch_executable (const char *name)
+bool pathsearch_executable (const char *name)
 {
        return pathsearch (name, 0111);
 }
 
-int directory_on_path (const char *dir)
+bool directory_on_path (const char *dir)
 {
        char *cwd = NULL;
        char *path = getenv ("PATH");
        char *pathtok;
        const char *element;
-       int ret = 0;
+       bool ret = false;
 
        if (!path)
                /* Eh? Oh well. */
-               return 0;
+               return false;
 
        pathtok = path = xstrdup (path);
 
@@ -119,7 +120,7 @@ int directory_on_path (const char *dir)
                }
 
                if (STREQ (element, dir)) {
-                       ret = 1;
+                       ret = true;
                        break;
                }
        }
index 970fbee..d9b024d 100644 (file)
 #ifndef PATHSEARCH_H
 #define PATHSEARCH_H
 
-/* Return non-zero if NAME is found as an executable regular file on the
- * $PATH.
+#include <stdbool.h>
+
+/* Return true if NAME is found as an executable regular file on the $PATH,
+ * otherwise false.
  */
-int pathsearch_executable (const char *name);
+bool pathsearch_executable (const char *name);
 
-/* Return non-zero if DIR matches an entry on the $PATH. */
-int directory_on_path (const char *dir);
+/* Return true if DIR matches an entry on the $PATH, otherwise false. */
+bool directory_on_path (const char *dir);
 
 #endif /* PATHSEARCH_H */
index c097482..2292443 100644 (file)
@@ -43,6 +43,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
@@ -86,14 +87,14 @@ static void gripe_seccomp_filter_unavailable (void)
               "CONFIG_SECCOMP_FILTER\n");
 }
 
-static int search_ld_preload (const char *needle)
+static bool search_ld_preload (const char *needle)
 {
        const char *ld_preload_env;
        static char *ld_preload_file = NULL;
 
        ld_preload_env = getenv ("LD_PRELOAD");
        if (ld_preload_env && strstr (ld_preload_env, needle) != NULL)
-               return 1;
+               return true;
 
        if (!ld_preload_file) {
                int fd;
@@ -118,9 +119,9 @@ static int search_ld_preload (const char *needle)
         * for you.
         */
        if (strstr (ld_preload_file, needle) != NULL)
-               return 1;
+               return true;
 
-       return 0;
+       return false;
 }
 
 /* Can we load a seccomp filter into this process?
@@ -128,20 +129,20 @@ static int search_ld_preload (const char *needle)
  * This guard allows us to call sandbox_load in code paths that may
  * conditionally do so again.
  */
-static int can_load_seccomp (void)
+static bool can_load_seccomp (void)
 {
        const char *man_disable_seccomp;
        int seccomp_status;
 
        if (seccomp_filter_unavailable) {
                gripe_seccomp_filter_unavailable ();
-               return 0;
+               return false;
        }
 
        man_disable_seccomp = getenv ("MAN_DISABLE_SECCOMP");
        if (man_disable_seccomp && *man_disable_seccomp) {
                debug ("seccomp filter disabled by user request\n");
-               return 0;
+               return false;
        }
 
        /* Valgrind causes the child process to make some system calls we
@@ -158,13 +159,13 @@ static int can_load_seccomp (void)
        if (search_ld_preload ("/vgpreload")) {
                debug ("seccomp filter disabled while running under "
                       "Valgrind\n");
-               return 0;
+               return false;
        }
 
        seccomp_status = prctl (PR_GET_SECCOMP);
 
        if (seccomp_status == 0)
-               return 1;
+               return true;
 
        if (seccomp_status == -1) {
                if (errno == EINVAL)
@@ -177,7 +178,7 @@ static int can_load_seccomp (void)
        else
                debug ("unknown return value from PR_GET_SECCOMP: %d\n",
                       seccomp_status);
-       return 0;
+       return false;
 }
 #endif /* HAVE_LIBSECCOMP */
 
@@ -264,7 +265,7 @@ static scmp_filter_ctx make_seccomp_filter (int permissive)
         * Since I currently know of no library with suitable syscall lists,
         * the syscall lists here are taken from
         * systemd:src/shared/seccomp-util.c, last updated from commit
-        * 67eb5b380a7b7eed82f658190bff4ca2d83e9abe (2017-11-30).
+        * bca5a0eaccc849a669b4279e4bfcc6507083a07b (2019-08-01).
         */
 
        /* systemd: SystemCallFilter=@default */
@@ -304,6 +305,7 @@ static scmp_filter_ctx make_seccomp_filter (int permissive)
        SC_ALLOW ("pause");
        SC_ALLOW ("prlimit64");
        SC_ALLOW ("restart_syscall");
+       SC_ALLOW ("rseq");
        SC_ALLOW ("rt_sigreturn");
        SC_ALLOW ("sched_yield");
        SC_ALLOW ("set_robust_list");
@@ -572,8 +574,8 @@ man_sandbox *sandbox_init (void)
        return sandbox;
 }
 
-static void _sandbox_load (man_sandbox *sandbox, int permissive) {
 #ifdef HAVE_LIBSECCOMP
+static void _sandbox_load (man_sandbox *sandbox, int permissive) {
        if (can_load_seccomp ()) {
                scmp_filter_ctx ctx;
 
@@ -603,8 +605,13 @@ static void _sandbox_load (man_sandbox *sandbox, int permissive) {
                                       "can't load seccomp filter");
                }
        }
-#endif /* HAVE_LIBSECCOMP */
 }
+#else /* !HAVE_LIBSECCOMP */
+static void _sandbox_load (man_sandbox *sandbox ATTRIBUTE_UNUSED,
+                          int permissive ATTRIBUTE_UNUSED)
+{
+}
+#endif /* HAVE_LIBSECCOMP */
 
 /* Enter a sandbox for processing untrusted data. */
 void sandbox_load (void *data)
@@ -630,6 +637,7 @@ void sandbox_free (void *data) {
 
 #ifdef HAVE_LIBSECCOMP
        seccomp_release (sandbox->ctx);
+       seccomp_release (sandbox->permissive_ctx);
 #endif /* HAVE_LIBSECCOMP */
 
        free (sandbox);
index e739d50..7d66eaf 100644 (file)
@@ -27,6 +27,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -94,12 +95,12 @@ void init_security (void)
 #endif /* MAN_OWNER */
 }
 
-int running_setuid (void)
+bool running_setuid (void)
 {
 #ifdef MAN_OWNER
        return ruid != euid;
 #else /* !MAN_OWNER */
-       return 0;
+       return false;
 #endif
 }
 
index 63ef533..fdfadc4 100644 (file)
@@ -22,6 +22,7 @@
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include <stdbool.h>
 #include <pwd.h>
 
 /* security.c */
@@ -29,7 +30,7 @@ extern void drop_effective_privs (void);
 extern void regain_effective_privs (void);
 extern void drop_privs (void *data);
 extern void init_security (void);
-extern int running_setuid (void);
+extern bool running_setuid (void);
 #ifdef MAN_OWNER
 extern struct passwd *get_man_owner (void);
 #endif /* MAN_OWNER */
index 0ec2650..613035b 100644 (file)
@@ -24,6 +24,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdlib.h>
 #include <ctype.h>
 
 
 #include "manconfig.h"
 
-#include "lower.h"
 #include "wordfnmatch.h"
 
 /* TODO: How on earth do we allow multiple-word matches without
  * reimplementing fnmatch()?
  */
-int word_fnmatch (const char *lowpattern, const char *string)
+bool word_fnmatch (const char *pattern, const char *string)
 {
-       char *lowstring = lower (string);
-       char *begin = lowstring, *p;
+       char *dupstring = xstrdup (string);
+       const char *begin = dupstring;
+       char *p;
 
-       for (p = lowstring; *p; p++) {
-               if (CTYPE (islower, *p) || *p == '_')
+       for (p = dupstring; *p; p++) {
+               if (CTYPE (isalpha, *p) || *p == '_')
                        continue;
 
                /* Check for multiple non-word characters in a row. */
@@ -51,14 +52,14 @@ int word_fnmatch (const char *lowpattern, const char *string)
                        begin++;
                else {
                        *p = '\0';
-                       if (fnmatch (lowpattern, begin, 0) == 0) {
-                               free (lowstring);
-                               return 1;
+                       if (fnmatch (pattern, begin, FNM_CASEFOLD) == 0) {
+                               free (dupstring);
+                               return true;
                        }
                        begin = p + 1;
                }
        }
 
-       free (lowstring);
-       return 0;
+       free (dupstring);
+       return false;
 }
index 0fc29f0..82e7cf7 100644 (file)
@@ -20,4 +20,6 @@
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-int word_fnmatch (const char *lowpattern, const char *string);
+#include <stdbool.h>
+
+bool word_fnmatch (const char *lowpattern, const char *string);
diff --git a/lib/xchown.c b/lib/xchown.c
deleted file mode 100644 (file)
index 7f284fa..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * xchown.c: chown replacement function
- *
- * Copyright (C) 2016 Mihail Konev.
- *
- * man-db is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * man-db 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 man-db; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif /* HAVE_CONFIG_H */
-
-#include <unistd.h>
-
-#include "gettext.h"
-#define _(String) gettext (String)
-
-#include "error.h"
-#include "manconfig.h"
-
-void xchown (const char *path, uid_t owner, gid_t group)
-{
-       int rc;
-       rc = chown (path, owner, group);
-       if (rc)
-               error (FATAL, 0, _("can't chown %s"), path);
-}
-
-#ifdef HAVE_LCHOWN
-void xlchown (const char *path, uid_t owner, gid_t group)
-{
-       int rc;
-       rc = lchown (path, owner, group);
-       if (rc)
-               error (FATAL, 0, _("can't chown %s"), path);
-}
-#endif
diff --git a/lib/xchown.h b/lib/xchown.h
deleted file mode 100644 (file)
index 8a035b2..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * xchown.h: chown replacement function
- *
- * Copyright (C) 2016 Mihail Konev.
- *
- * man-db is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * man-db 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 man-db; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * */
-
-#ifndef _XCHOWN_H
-#define _XCHOWN_H
-
-void xchown (const char *path, uid_t owner, gid_t group);
-#ifdef HAVE_LCHOWN
-void xlchown (const char *path, uid_t owner, gid_t group);
-#endif /* HAVE_LCHOWN */
-
-#endif /* _XCHOWN_H */
index 4469bf6..b4e426c 100644 (file)
 #include <stdio.h>
 #include <errno.h>
 #include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
 
 #include <sys/file.h> /* for flock() */
 #include <sys/types.h> /* for open() */
 #include <sys/stat.h>
 
-#if HAVE_FCNTL_H
-#  include <fcntl.h>
-#endif
-
-#include <unistd.h>
-
+#include "gl_hash_set.h"
+#include "gl_xset.h"
 #include "stat-time.h"
 #include "timespec.h"
 
 #include "manconfig.h"
 
 #include "error.h"
-#include "hashtable.h"
+#include "glcontainers.h"
 
 #include "mydbm.h"
 #include "db_storage.h"
 
-struct hashtable *loop_check_hash;
+gl_set_t loop_check;
 
 /* the Berkeley database libraries do nothing to arbitrate between concurrent
    database accesses, so we do a simple flock(). If the db is opened in
@@ -182,26 +180,27 @@ int btree_exists (DB *db, datum key)
 static datum btree_findkey (DB *db, u_int flags)
 {
        datum key, data;
+       char *loop_check_key;
 
        memset (&key, 0, sizeof key);
        memset (&data, 0, sizeof data);
 
        if (flags == R_FIRST) {
-               if (loop_check_hash) {
-                       hashtable_free (loop_check_hash);
-                       loop_check_hash = NULL;
+               if (loop_check) {
+                       gl_set_free (loop_check);
+                       loop_check = NULL;
                }
        }
-       if (!loop_check_hash)
-               loop_check_hash = hashtable_create (&free);
+       if (!loop_check)
+               loop_check = new_string_set (GL_HASH_SET);
 
        if (((db->seq) (db, (DBT *) &key, (DBT *) &data, flags))) {
                memset (&key, 0, sizeof key);
                return key;
        }
 
-       if (hashtable_lookup (loop_check_hash,
-                             MYDBM_DPTR (key), MYDBM_DSIZE (key))) {
+       loop_check_key = xstrndup (MYDBM_DPTR (key), MYDBM_DSIZE (key));
+       if (gl_set_search (loop_check, loop_check_key)) {
                /* We've seen this key already, which is broken. Return NULL
                 * so the caller doesn't go round in circles.
                 */
@@ -209,11 +208,11 @@ static datum btree_findkey (DB *db, u_int flags)
                       "Attempting to recover ...\n",
                       (int) MYDBM_DSIZE (key), MYDBM_DPTR (key));
                memset (&key, 0, sizeof key);
+               free (loop_check_key);
                return key;
        }
 
-       hashtable_install (loop_check_hash,
-                          MYDBM_DPTR (key), MYDBM_DSIZE (key), NULL);
+       gl_set_add (loop_check, loop_check_key);
 
        return copy_datum (key);
 }
index 4ac6401..d1e9938 100644 (file)
 #include <stdlib.h>
 #include <unistd.h>
 
+#include "error.h"
+#include "gl_list.h"
+
 #include "gettext.h"
 #define _(String) gettext (String)
 
 #include "manconfig.h"
 
-#include "error.h"
+#include "glcontainers.h"
 
 #include "mydbm.h"
 #include "db_storage.h"
@@ -74,30 +77,29 @@ int dbdelete (MYDBM_FILE dbf, const char *name, struct mandata *info)
                MYDBM_DELETE (dbf, key);
                MYDBM_FREE_DPTR (cont);
        } else {                                        /* 2+ entries */
-               char **names, **ext;
+               gl_list_t refs;
+               struct name_ext this_ref, *ref;
+               size_t this_index;
                char *multi_content = NULL;
                datum multi_key;
-               int refs, i, j;
 
                /* Extract all of the extensions associated with
                   this key */
 
-               refs = list_extensions (MYDBM_DPTR (cont) + 1, &names, &ext);
+               refs = list_extensions (MYDBM_DPTR (cont) + 1);
 
-               for (i = 0; i < refs; ++i)
-                       if (STREQ (names[i], name) &&
-                           STREQ (ext[i], info->ext))
-                               break;
+               this_ref.name = name;
+               this_ref.ext = info->ext;
+               this_index = gl_list_indexof (refs, &this_ref);
 
-               if (i >= refs) {
-                       free (names);
-                       free (ext);
+               if (this_index == (size_t) -1) {
+                       gl_list_free (refs);
                        MYDBM_FREE_DPTR (cont);
                        MYDBM_FREE_DPTR (key);
                        return NO_ENTRY;
                }
 
-               multi_key = make_multi_key (names[i], ext[i]);
+               multi_key = make_multi_key (name, info->ext);
                if (!MYDBM_EXISTS (dbf, multi_key)) {
                        error (0, 0,
                               _( "multi key %s does not exist"),
@@ -106,14 +108,13 @@ int dbdelete (MYDBM_FILE dbf, const char *name, struct mandata *info)
                }
                MYDBM_DELETE (dbf, multi_key);
                MYDBM_FREE_DPTR (multi_key);
+               gl_list_remove_at (refs, this_index);
 
-               /* refs *may* be 1 if all manual pages with this name
-                  have been deleted. In this case, we'll have to remove
-                  the key too */
+               /* If all manual pages with this name have been deleted,
+                  we'll have to remove the key too. */
 
-               if (refs == 1) {
-                       free (names);
-                       free (ext);
+               if (!gl_list_size (refs)) {
+                       gl_list_free (refs);
                        MYDBM_FREE_DPTR (cont);
                        MYDBM_DELETE (dbf, key);
                        MYDBM_FREE_DPTR (key);
@@ -121,26 +122,19 @@ int dbdelete (MYDBM_FILE dbf, const char *name, struct mandata *info)
                }
 
                /* create our new multi content */
-               for (j = 0; j < refs; ++j)
-                       if (i != j)
-                               multi_content = appendstr (multi_content,
-                                                          "\t", names[j],
-                                                          "\t", ext[j],
-                                                          (void *) 0);
+               GL_LIST_FOREACH_START (refs, ref)
+                       multi_content = appendstr (multi_content,
+                                                  "\t", ref->name,
+                                                  "\t", ref->ext,
+                                                  (void *) 0);
+               GL_LIST_FOREACH_END (refs);
 
                MYDBM_FREE_DPTR (cont);
-
-               /* if refs = 2 do something else. Doesn't really matter as
-                  the gdbm db file does not shrink any after a deletion
-                  anyway */
-
                MYDBM_SET (cont, multi_content);
-
                if (MYDBM_REPLACE (dbf, key, cont))
                        gripe_replace_key (MYDBM_DPTR (key));
 
-               free (names);
-               free (ext);
+               gl_list_free (refs);
        }
 
        MYDBM_FREE_DPTR (key);
index f3aaa94..d8fb988 100644 (file)
 #include <sys/stat.h>
 #include <unistd.h>
 
+#include "gl_hash_map.h"
+#include "gl_rbtree_list.h"
+#include "gl_xlist.h"
+#include "gl_xmap.h"
+#include "hash-pjw-bare.h"
 #include "stat-time.h"
 #include "timespec.h"
 
 #include "manconfig.h"
 
-#include "hashtable.h"
 #include "cleanup.h"
+#include "glcontainers.h"
 
 #include "mydbm.h"
 
-static struct hashtable *parent_sortkey_hash;
-
-struct sortkey {
-       datum key;
-       struct sortkey *next;
-};
+static gl_map_t parent_keys;
 
 /* setjmp/longjmp handling to defend against _gdbm_fatal exiting under our
  * feet.  Not thread-safe, but there is no plan for man-db to ever use
@@ -103,129 +103,111 @@ man_gdbm_wrapper man_gdbm_open_wrapper (const char *name, int flags)
        return wrap;
 }
 
-static void parent_sortkey_hashtable_free (void *defn)
-{
-       /* Automatically free child hashtables on removal. */
-       hashtable_free ((struct hashtable *) defn);
-}
-
-static void sortkey_hashtable_free (void *defn)
+static int datum_compare (const void *a, const void *b)
 {
-       struct sortkey *key = (struct sortkey *) defn;
-       MYDBM_FREE_DPTR (key->key);
-       free (key);
-}
-
-static int sortkey_compare (const void *a, const void *b)
-{
-       const struct sortkey **left = (const struct sortkey **) a;
-       const struct sortkey **right = (const struct sortkey **) b;
+       const datum *left = (const datum *) a;
+       const datum *right = (const datum *) b;
        int cmp;
        size_t minsize;
 
        /* Sentinel NULL elements sort to the end. */
-       if (!MYDBM_DPTR ((*left)->key))
+       if (!MYDBM_DPTR (*left))
                return 1;
-       else if (!MYDBM_DPTR ((*right)->key))
+       else if (!MYDBM_DPTR (*right))
                return -1;
 
-       if (MYDBM_DSIZE ((*left)->key) < MYDBM_DSIZE ((*right)->key))
-               minsize = MYDBM_DSIZE ((*left)->key);
+       if (MYDBM_DSIZE (*left) < MYDBM_DSIZE (*right))
+               minsize = MYDBM_DSIZE (*left);
        else
-               minsize = MYDBM_DSIZE ((*right)->key);
-       cmp = strncmp (MYDBM_DPTR ((*left)->key), MYDBM_DPTR ((*right)->key),
-                      minsize);
+               minsize = MYDBM_DSIZE (*right);
+       cmp = strncmp (MYDBM_DPTR (*left), MYDBM_DPTR (*right), minsize);
        if (cmp)
                return cmp;
-       else if (MYDBM_DSIZE ((*left)->key) < MYDBM_DSIZE ((*right)->key))
+       else if (MYDBM_DSIZE (*left) < MYDBM_DSIZE (*right))
                return 1;
-       else if (MYDBM_DSIZE ((*left)->key) > MYDBM_DSIZE ((*right)->key))
+       else if (MYDBM_DSIZE (*left) > MYDBM_DSIZE (*right))
                return -1;
        else
                return 0;
 }
 
+static bool datum_equals (const void *a, const void *b)
+{
+       return datum_compare (a, b) == 0;
+}
+
+static size_t datum_hash (const void *value)
+{
+       const datum *d = value;
+       return hash_pjw_bare (MYDBM_DPTR (*d), MYDBM_DSIZE (*d));
+}
+
+static void datum_free (const void *value)
+{
+       MYDBM_FREE_DPTR (*(datum *) value);
+}
+
 static datum empty_datum = { NULL, 0 };
 
-/* We keep a hashtable of filenames to sorted lists of keys. Each list is
- * stored both with links from each element to the next and in a hashtable,
- * so that both sequential access and random access are quick. This is
- * necessary for a reasonable ordered implementation of nextkey.
+/* We keep a map of filenames to sorted lists of keys.  Each list is stored
+ * using a hash-based implementation that allows lookup by name and
+ * traversal to the next item in O(log n) time, which is necessary for a
+ * reasonable ordered implementation of nextkey.
  */
 datum man_gdbm_firstkey (man_gdbm_wrapper wrap)
 {
-       struct hashtable *sortkey_hash;
-       struct sortkey **keys, *firstkey;
-       int numkeys = 0, maxkeys = 256;
-       int i;
-
-       /* Build the raw list of keys and sort it. */
-       keys = xnmalloc (maxkeys, sizeof *keys);
-       keys[0] = xmalloc (sizeof **keys);
-       keys[0]->key = gdbm_firstkey (wrap->file);
-       while (MYDBM_DPTR (keys[numkeys]->key)) {
-               if (++numkeys >= maxkeys) {
-                       maxkeys *= 2;
-                       keys = xnrealloc (keys, maxkeys, sizeof *keys);
-               }
-               keys[numkeys] = xmalloc (sizeof **keys);
-               keys[numkeys]->key =
-                       gdbm_nextkey (wrap->file, keys[numkeys - 1]->key);
+       gl_list_t keys;
+       datum *key;
+
+       /* Build the raw sorted list of keys. */
+       keys = gl_list_create_empty (GL_RBTREE_LIST, datum_equals, datum_hash,
+                                    datum_free, false);
+       key = XMALLOC (datum);
+       *key = gdbm_firstkey (wrap->file);
+       while (MYDBM_DPTR (*key)) {
+               datum *next;
+
+               gl_sortedlist_add (keys, datum_compare, key);
+               next = XMALLOC (datum);
+               *next = gdbm_nextkey (wrap->file, *key);
+               key = next;
        }
-       free (keys[numkeys]);
-       keys[numkeys] = NULL;   /* simplifies the empty case */
-       qsort (keys, numkeys, sizeof *keys, &sortkey_compare);
-
-       /* Link the elements together and insert them into a hash. */
-       sortkey_hash = hashtable_create (&sortkey_hashtable_free);
-       for (i = 0; i < numkeys; ++i) {
-               if (i < numkeys - 1)
-                       keys[i]->next = keys[i + 1];
-               else
-                       keys[i]->next = NULL;
-               hashtable_install (sortkey_hash,
-                                  MYDBM_DPTR (keys[i]->key),
-                                  MYDBM_DSIZE (keys[i]->key),
-                                  keys[i]);
-       }
-       firstkey = keys[0];
-       free (keys);    /* element memory now owned by hashtable */
-
-       if (!parent_sortkey_hash) {
-               parent_sortkey_hash = hashtable_create
-                       (&parent_sortkey_hashtable_free);
-               push_cleanup ((cleanup_fun) hashtable_free,
-                             parent_sortkey_hash, 0);
+
+       if (!parent_keys) {
+               parent_keys = new_string_map (GL_HASH_MAP,
+                                             (gl_listelement_dispose_fn)
+                                             gl_list_free);
+               push_cleanup ((cleanup_fun) gl_map_free, parent_keys, 0);
        }
 
        /* Remember this structure for use by nextkey. */
-       hashtable_install (parent_sortkey_hash,
-                          wrap->name, strlen (wrap->name), sortkey_hash);
+       gl_map_put (parent_keys, xstrdup (wrap->name), keys);
 
-       if (firstkey)
-               return copy_datum (firstkey->key);
+       if (gl_list_size (keys))
+               return copy_datum (*(datum *) gl_list_get_at (keys, 0));
        else
-               return empty_datum; /* dptr is NULL, so no copy needed */
+               return empty_datum;
 }
 
 datum man_gdbm_nextkey (man_gdbm_wrapper wrap, datum key)
 {
-       struct hashtable *sortkey_hash;
-       struct sortkey *sortkey;
+       gl_list_t keys;
+       gl_list_node_t node, next_node;
 
-       if (!parent_sortkey_hash)
+       if (!parent_keys)
                return empty_datum;
-       sortkey_hash = hashtable_lookup (parent_sortkey_hash,
-                                        wrap->name, strlen (wrap->name));
-       if (!sortkey_hash)
+       keys = (gl_list_t) gl_map_get (parent_keys, wrap->name);
+       if (!keys)
                return empty_datum;
 
-       sortkey = hashtable_lookup (sortkey_hash,
-                                   MYDBM_DPTR (key), MYDBM_DSIZE (key));
-       if (!sortkey || !sortkey->next)
+       node = gl_sortedlist_search (keys, datum_compare, &key);
+       if (!node)
+               return empty_datum;
+       next_node = gl_list_next_node (keys, node);
+       if (!next_node)
                return empty_datum;
 
-       return copy_datum (sortkey->next->key);
+       return copy_datum (*(datum *) gl_list_node_value (keys, next_node));
 }
 
 struct timespec man_gdbm_get_time (man_gdbm_wrapper wrap)
@@ -255,14 +237,8 @@ void man_gdbm_close (man_gdbm_wrapper wrap)
        if (!wrap)
                return;
 
-       if (parent_sortkey_hash) {
-               struct hashtable *sortkey_hash =
-                       hashtable_lookup (parent_sortkey_hash,
-                                         wrap->name, strlen (wrap->name));
-               if (sortkey_hash)
-                       hashtable_remove (parent_sortkey_hash,
-                                         wrap->name, strlen (wrap->name));
-       }
+       if (parent_keys)
+               gl_map_remove (parent_keys, wrap->name);
 
        free (wrap->name);
        gdbm_close (wrap->file);
index 140a505..28cd90e 100644 (file)
@@ -26,6 +26,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdio.h>
 #include <errno.h>
 #include <ctype.h>
 #include <stdlib.h>
 #include <unistd.h>
 
+#include "error.h"
 #include "fnmatch.h"
+#include "gl_array_list.h"
+#include "gl_xlist.h"
 #include "regex.h"
 #include "xvasprintf.h"
 
@@ -42,8 +46,7 @@
 
 #include "manconfig.h"
 
-#include "error.h"
-#include "lower.h"
+#include "glcontainers.h"
 #include "wordfnmatch.h"
 #include "xregcomp.h"
 
@@ -145,19 +148,12 @@ void free_mandata_elements (struct mandata *pinfo)
        free (pinfo->name);                     /* free the real name */
 }
 
-/* Go through the linked list of structures, free()ing the 'content' and the
- * structs themselves.
- */
+/* Free a mandata structure and its elements. */
 void free_mandata_struct (struct mandata *pinfo)
 {
-       while (pinfo) {
-               struct mandata *next;
-
-               next = pinfo->next;
+       if (pinfo)
                free_mandata_elements (pinfo);
-               free (pinfo);                   /* free the structure */
-               pinfo = next;
-       }
+       free (pinfo);
 }
 
 /* Get the key that should be used for a given name. The caller is
@@ -165,7 +161,13 @@ void free_mandata_struct (struct mandata *pinfo)
  */
 char *name_to_key (const char *name)
 {
-       return lower (name);
+       char *low, *p;
+
+       p = low = xmalloc (strlen (name) + 1);
+       while (*name)
+               *p++ = CTYPE (tolower, *name++);
+       *p = *name;
+       return low;
 }
 
 /* return char ptr array to the data's fields */
@@ -218,39 +220,43 @@ void split_content (char *cont_ptr, struct mandata *pinfo)
        pinfo->whatis = *(data);
 
        pinfo->addr = cont_ptr;
-       pinfo->next = (struct mandata *) NULL;
+}
+
+static bool name_ext_equals (const void *elt1, const void *elt2)
+{
+       const struct name_ext *ref1 = elt1, *ref2 = elt2;
+       return STREQ (ref1->name, ref2->name) && STREQ (ref1->ext, ref2->ext);
 }
 
 /* Extract all of the names/extensions associated with this key. Each case
  * variant of a name will be returned separately.
  *
- * names and ext should be pointers to valid memory which will be filled in
- * with the address of the allocated arrays of names and extensions. The
- * caller is expected to free these arrays.
+ * This returns a newly-allocated list of struct name_ext, which the caller
+ * is expected to free.
  */
-int list_extensions (char *data, char ***names, char ***ext)
+gl_list_t list_extensions (char *data)
 {
-       int count = 0;
-       int bound = 4;  /* most multi keys will have fewer than this */
-
-       *names = xnmalloc (bound, sizeof **names);
-       *ext   = xnmalloc (bound, sizeof **ext);
-       while (((*names)[count] = strsep (&data, "\t")) != NULL) {
-               (*ext)[count] = strsep (&data, "\t");
-               if ((*ext)[count])
-                       ++count;
-               else
+       gl_list_t list = gl_list_create_empty (GL_ARRAY_LIST, name_ext_equals,
+                                              NULL, plain_free, true);
+       char *name;
+
+       while ((name = strsep (&data, "\t")) != NULL) {
+               char *ext;
+               struct name_ext *name_ext;
+
+               ext = strsep (&data, "\t");
+               if (!ext)
                        break;
 
-               if (count >= bound) {
-                       bound *= 2;
-                       *names = xnrealloc (*names, bound, sizeof **names);
-                       *ext   = xnrealloc (*ext,   bound, sizeof **ext);
-               }
+               name_ext = XMALLOC (struct name_ext);
+               /* Don't copy these; they will point into the given string. */
+               name_ext->name = name;
+               name_ext->ext = ext;
+               gl_list_add_last (list, name_ext);
        }
 
-       debug ("found %d names/extensions\n", count);
-       return count;
+       debug ("found %zd names/extensions\n", gl_list_size (list));
+       return list;
 }
 
 /* These should be bitwise-ored together. */
@@ -261,16 +267,22 @@ int list_extensions (char *data, char ***names, char ***ext)
 /*
  There are three possibilities on lookup:
 
- 1) No data exists, lookup will fail, returned structure will be NULL.
- 2) One data item exists. Item is returned as first in set of structures.
- 3) Many items exist. They are all returned, in a multiple structure set.
+ 1) No data exists, lookup will fail, zero-length list will be returned.
+ 2) One data item exists. Item is returned as first in list of structures.
+ 3) Many items exist. They are all returned, in a multiple structure list.
  */
-static struct mandata *dblookup (MYDBM_FILE dbf, const char *page,
-                                const char *section, int flags)
+static gl_list_t dblookup (MYDBM_FILE dbf, const char *page,
+                          const char *section, int flags)
 {
+       gl_list_t infos;
        struct mandata *info = NULL;
        datum key, cont;
 
+       infos = gl_list_create_empty (GL_ARRAY_LIST, NULL, NULL,
+                                     (gl_listelement_dispose_fn)
+                                     free_mandata_struct,
+                                     true);
+
        memset (&key, 0, sizeof key);
        memset (&cont, 0, sizeof cont);
 
@@ -278,41 +290,44 @@ static struct mandata *dblookup (MYDBM_FILE dbf, const char *page,
        cont = MYDBM_FETCH (dbf, key);
        MYDBM_FREE_DPTR (key);
 
-       if (MYDBM_DPTR (cont) == NULL) {        /* No entries at all */
-               return info;                    /* indicate no entries */
-       } else if (*MYDBM_DPTR (cont) != '\t') {        /* Just one entry */
+       if (MYDBM_DPTR (cont) == NULL)          /* No entries at all */
+               ;
+       else if (*MYDBM_DPTR (cont) != '\t') {  /* Just one entry */
+               bool matches = false;
+
                info = infoalloc ();
                split_content (MYDBM_DPTR (cont), info);
                if (!info->name)
                        info->name = xstrdup (page);
                if (!(flags & MATCH_CASE) || STREQ (info->name, page)) {
                        if (section == NULL)
-                               return info;
-                       if (flags & EXACT) {
+                               matches = true;
+                       else if (flags & EXACT) {
                                if (STREQ (section, info->ext))
-                                       return info;
+                                       matches = true;
                        } else {
                                if (STRNEQ (section, info->ext,
                                            strlen (section)))
-                                       return info;
+                                       matches = true;
                        }
                }
-               free_mandata_struct (info);
-               return NULL;
-       } else {                                /* multiple entries */
-               char **names, **ext;
-               struct mandata *ret = NULL;
-               int refs, i;
+               if (matches)
+                       gl_list_add_last (infos, info);
+               else
+                       free_mandata_struct (info);
+       } else {                                /* Multiple entries */
+               gl_list_t refs;
+               struct name_ext *ref;
 
                /* Extract all of the case-variant-names/extensions
                 * associated with this key.
                 */
 
-               refs = list_extensions (MYDBM_DPTR (cont) + 1, &names, &ext);
+               refs = list_extensions (MYDBM_DPTR (cont) + 1);
 
                /* Make the multi keys and look them up */
 
-               for (i = 0; i < refs; ++i) {
+               GL_LIST_FOREACH_START (refs, ref) {
                        datum multi_cont;
 
                        memset (&multi_cont, 0, sizeof multi_cont);
@@ -321,22 +336,22 @@ static struct mandata *dblookup (MYDBM_FILE dbf, const char *page,
                         * suitable.
                         */
 
-                       if ((flags & MATCH_CASE) && !STREQ (names[i], page))
+                       if ((flags & MATCH_CASE) && !STREQ (ref->name, page))
                                continue;
 
                        if (section != NULL) {
                                if (flags & EXACT) {
-                                       if (!STREQ (section, ext[i]))
+                                       if (!STREQ (section, ref->ext))
                                                continue;
                                } else {
-                                       if (!STRNEQ (section, ext[i],
+                                       if (!STRNEQ (section, ref->ext,
                                                     strlen (section)))
                                                continue;
                                }
                        }
 
                        /* So the key is suitable ... */
-                       key = make_multi_key (names[i], ext[i]);
+                       key = make_multi_key (ref->name, ref->ext);
                        debug ("multi key lookup (%s)\n", MYDBM_DPTR (key));
                        multi_cont = MYDBM_FETCH (dbf, key);
                        if (MYDBM_DPTR (multi_cont) == NULL) {
@@ -346,46 +361,58 @@ static struct mandata *dblookup (MYDBM_FILE dbf, const char *page,
                        }
                        MYDBM_FREE_DPTR (key);
 
-                       /* allocate info struct, fill it in and
-                          point info to the next in the list */
-                       if (!ret)
-                               ret = info = infoalloc ();
-                       else
-                               info = info->next = infoalloc ();
+                       /* Allocate info struct and add it to the list. */
+                       info = infoalloc ();
                        split_content (MYDBM_DPTR (multi_cont), info);
                        if (!info->name)
-                               info->name = xstrdup (names[i]);
-               }
+                               info->name = xstrdup (ref->name);
+                       gl_list_add_last (infos, info);
+               } GL_LIST_FOREACH_END (refs);
 
-               free (names);
-               free (ext);
+               gl_list_free (refs);
                MYDBM_FREE_DPTR (cont);
-               return ret;
        }
+
+       return infos;
 }
 
-struct mandata *dblookup_all (MYDBM_FILE dbf, const char *page,
-                             const char *section, int match_case)
+gl_list_t dblookup_all (MYDBM_FILE dbf, const char *page,
+                       const char *section, bool match_case)
 {
        return dblookup (dbf, page, section,
                         ALL | (match_case ? MATCH_CASE : 0));
 }
 
 struct mandata *dblookup_exact (MYDBM_FILE dbf, const char *page,
-                               const char *section, int match_case)
+                               const char *section, bool match_case)
 {
-       return dblookup (dbf, page, section,
-                        EXACT | (match_case ? MATCH_CASE : 0));
+       gl_list_t infos = dblookup (dbf, page, section,
+                                   EXACT | (match_case ? MATCH_CASE : 0));
+       struct mandata *info = NULL;
+
+       if (gl_list_size (infos)) {
+               /* Return the first item and free the rest of the list. */
+               info = (struct mandata *) gl_list_get_at (infos, 0);
+               gl_list_set_at (infos, 0, NULL);        /* steal memory */
+       }
+       gl_list_free (infos);
+       return info;
 }
 
-struct mandata *dblookup_pattern (MYDBM_FILE dbf, const char *pattern,
-                                 const char *section, int match_case,
-                                 int pattern_regex, int try_descriptions)
+gl_list_t dblookup_pattern (MYDBM_FILE dbf, const char *pattern,
+                           const char *section, bool match_case,
+                           bool pattern_regex, bool try_descriptions)
 {
-       struct mandata *ret = NULL, *tail = NULL;
+       gl_list_t infos;
+       struct mandata *tail = NULL;
        datum key, cont;
        regex_t preg;
 
+       infos = gl_list_create_empty (GL_ARRAY_LIST, NULL, NULL,
+                                     (gl_listelement_dispose_fn)
+                                     free_mandata_struct,
+                                     true);
+
        if (pattern_regex)
                xregcomp (&preg, pattern,
                          REG_EXTENDED | REG_NOSUB |
@@ -405,7 +432,7 @@ struct mandata *dblookup_pattern (MYDBM_FILE dbf, const char *pattern,
 #endif /* !BTREE */
                struct mandata info;
                char *tab;
-               int got_match;
+               bool got_match;
 
                memset (&info, 0, sizeof (info));
 
@@ -460,13 +487,11 @@ struct mandata *dblookup_pattern (MYDBM_FILE dbf, const char *pattern,
                if (!got_match)
                        goto nextpage_tab;
 
-               if (!ret)
-                       ret = tail = infoalloc ();
-               else
-                       tail = tail->next = infoalloc ();
+               tail = infoalloc ();
                memcpy (tail, &info, sizeof (info));
                info.name = NULL; /* steal memory */
                MYDBM_SET_DPTR (cont, NULL); /* == info.addr */
+               gl_list_add_last (infos, tail);
 
 nextpage_tab:
                if (tab)
@@ -489,5 +514,5 @@ nextpage:
        if (pattern_regex)
                regfree (&preg);
 
-       return ret;
+       return infos;
 }
index af97032..992173a 100644 (file)
 
 #include <stdlib.h>
 #include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
 
 #include <sys/file.h> /* for flock() */
 #include <sys/types.h> /* for open() */
 #include <sys/stat.h>
 
-#if HAVE_FCNTL_H
-#  include <fcntl.h>
-#endif
-
-#include <unistd.h>
-
 #include "stat-time.h"
 #include "timespec.h"
 #include "xvasprintf.h"
index 6db37bb..a04196b 100644 (file)
@@ -26,6 +26,8 @@
 #ifndef DB_STORAGE_H
 #define DB_STORAGE_H
 
+#include "gl_list.h"
+
 /* These definitions give an inherent precedence to each particular type
    of manual page:
    
@@ -52,7 +54,6 @@
 #include "mydbm.h"
 
 struct mandata {
-       struct mandata *next;           /* ptr to next structure, if any */
        char *addr;                     /* ptr to memory containing the fields */
 
        char *name;                     /* Name of page, if != key */
@@ -71,15 +72,19 @@ struct mandata {
        struct timespec mtime;          /* mod time for file */
 }; 
 
+struct name_ext {
+       const char *name;
+       const char *ext;
+};
+
 /* used by the world */
-extern struct mandata *dblookup_all (MYDBM_FILE dbf, const char *page,
-                                    const char *section, int match_case);
+extern gl_list_t dblookup_all (MYDBM_FILE dbf, const char *page,
+                              const char *section, bool match_case);
 extern struct mandata *dblookup_exact (MYDBM_FILE dbf, const char *page,
-                                      const char *section, int match_case);
-extern struct mandata *dblookup_pattern (MYDBM_FILE dbf, const char *page,
-                                        const char *section, int match_case,
-                                        int pattern_regex,
-                                        int try_descriptions);
+                                      const char *section, bool match_case);
+extern gl_list_t dblookup_pattern (MYDBM_FILE dbf, const char *page,
+                                  const char *section, bool match_case,
+                                  bool pattern_regex, bool try_descriptions);
 extern int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base);
 extern int dbdelete (MYDBM_FILE dbf, const char *name, struct mandata *in);
 extern void dbprintf (const struct mandata *info);
@@ -97,7 +102,8 @@ extern datum make_multi_key (const char *page, const char *ext);
 #define infoalloc() XZALLOC (struct mandata)
 
 extern char *name_to_key (const char *name);
-extern int list_extensions (char *data, char ***names, char ***ext);
+/* Returns a list of struct name_ext. */
+extern gl_list_t list_extensions (char *data);
 extern void gripe_replace_key (const char *data);
 extern const char *dash_if_unset (const char *str);
 
index 567e96a..32053e3 100644 (file)
@@ -90,12 +90,9 @@ void man_gdbm_close (man_gdbm_wrapper wrap);
 
 # elif defined(NDBM) && !defined(GDBM) && !defined(BTREE)
 
+#  include <fcntl.h>
 #  include <ndbm.h>
 
-#  if HAVE_FCNTL_H
-#   include <fcntl.h>
-#  endif
-
 /* Berkeley db routines emulate ndbm but don't add .dir & .pag, just .db! */
 #  ifdef _DB_H_ /* has Berkeley db.h been included? */
 #   define BERKELEY_DB
diff --git a/m4/man-arg-manual.m4 b/m4/man-arg-manual.m4
new file mode 100644 (file)
index 0000000..a9c1d37
--- /dev/null
@@ -0,0 +1,13 @@
+# man-arg-manual.m4 serial 1
+dnl MAN_ARG_MANUAL
+dnl Add a --disable-manual option.
+dnl This may be useful when cross-compiling, or to reduce the installation
+dnl size.
+
+AC_DEFUN([MAN_ARG_MANUAL],
+[
+AC_ARG_ENABLE([manual],
+[AS_HELP_STRING([--disable-manual], [don't build or install the man-db manual])],
+       [enable_manual="$enableval"], [enable_manual=yes])
+AM_CONDITIONAL([BUILD_MANUAL], [test "$enable_manual" = yes])
+])
index 3901964..3321414 100644 (file)
@@ -1,18 +1,24 @@
-# man-arg-systemdsystemunitdir.m4 serial 2
+# man-arg-systemdsystemunitdir.m4 serial 3
 dnl MAN_ARG_SYSTEMDSYSTEMUNITDIR
 dnl Add a --with-systemdsystemunitdir option.
 
 AC_DEFUN([MAN_ARG_SYSTEMDSYSTEMUNITDIR],
 [
+AC_REQUIRE([AC_CANONICAL_HOST])
 AC_ARG_WITH([systemdsystemunitdir],
 [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files (disable with "no")])],
        [], [dnl
        # The default is not prefix-sensitive, since systemd's prefix is not
        # necessarily the same as man-db's.
-       m4_pushdef([AC_ARG_VAR])dnl No need for precious variable handling.
-       PKG_CHECK_VAR([with_systemdsystemunitdir], [systemd], [systemdsystemunitdir],
-                     [], [with_systemdsystemunitdir=/lib/systemd/system])
-       m4_popdef([AC_ARG_VAR])])
+       case $host_os in
+       linux*)
+               m4_pushdef([AC_ARG_VAR])dnl No need for precious variable handling.
+               PKG_CHECK_VAR([with_systemdsystemunitdir], [systemd], [systemdsystemunitdir],
+                             [], [with_systemdsystemunitdir=/lib/systemd/system])
+               m4_popdef([AC_ARG_VAR])
+               ;;
+       *)      with_systemdsystemunitdir=no ;;
+       esac])
 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
 AM_CONDITIONAL([INSTALL_SYSTEMD_TIMER], [test "$with_systemdsystemunitdir" != "no"])
 ])
index 6254d4b..ae7195f 100644 (file)
@@ -1,18 +1,24 @@
-# man-arg-systemdtmpfilesdir.m4 serial 3
+# man-arg-systemdtmpfilesdir.m4 serial 4
 dnl MAN_ARG_SYSTEMDTMPFILESDIR
 dnl Add a --with-systemdtmpfilesdir option.
 
 AC_DEFUN([MAN_ARG_SYSTEMDTMPFILESDIR],
 [
+AC_REQUIRE([AC_CANONICAL_HOST])
 AC_ARG_WITH([systemdtmpfilesdir],
 [AS_HELP_STRING([--with-systemdtmpfilesdir=DIR], [Directory for systemd tmpfiles configuration (disable with "no")])],
        [], [dnl
        # The default is not prefix-sensitive, since systemd's prefix is not
        # necessarily the same as man-db's.
-       m4_pushdef([AC_ARG_VAR])dnl No need for precious variable handling.
-       PKG_CHECK_VAR([with_systemdtmpfilesdir], [systemd], [tmpfilesdir],
-                     [], [with_systemdtmpfilesdir=/usr/lib/tmpfiles.d])
-       m4_popdef([AC_ARG_VAR])])
+       case $host_os in
+       linux*)
+               m4_pushdef([AC_ARG_VAR])dnl No need for precious variable handling.
+               PKG_CHECK_VAR([with_systemdtmpfilesdir], [systemd], [tmpfilesdir],
+                             [], [with_systemdtmpfilesdir=/usr/lib/tmpfiles.d])
+               m4_popdef([AC_ARG_VAR])
+               ;;
+       *)      with_systemdtmpfilesdir=no ;;
+       esac])
 AC_SUBST([systemdtmpfilesdir], [$with_systemdtmpfilesdir])
 AM_CONDITIONAL([INSTALL_SYSTEMD_TMPFILES], [test "$with_systemdtmpfilesdir" != "no"])
 ])
index 2b9fa77..9aab841 100644 (file)
@@ -1,4 +1,4 @@
-# man-gnu-nroff.m4 serial 2
+# man-gnu-nroff.m4 serial 3
 dnl
 dnl Check to see if nroff is GNU nroff, take nroff path as arg.
 dnl
@@ -9,7 +9,7 @@ AC_CACHE_VAL([man_cv_prog_gnu_nroff],
   [if test `$1 <<EOF | tr -d '\n'
 \\n(.g
 EOF
-` -eq 1
+` = 1
    then
        man_cv_prog_gnu_nroff=yes
    else
index 783ab2a..8da1883 100644 (file)
@@ -39,6 +39,8 @@ dist_noinst_DATA = \
        $(ME_FILES) \
        options-only.me \
        print-options
+
+if BUILD_MANUAL
 noinst_DATA = \
        $(MANUAL).cat \
        $(MANUAL).ps
@@ -58,25 +60,25 @@ version: $(top_srcdir)/configure.ac
        echo '.ds V $(roff_version)' > $@
 
 $(MANUAL).pp: $(ME_FILES) version
-       $(SOELIM) -I$(srcdir) man_db.me | tbl > $@
+       $(SOELIM) -I$(srcdir) man_db.me | tbl > $@.new && mv -f $@.new $@
 
 .pp.dvi:
-       $(TROFF) -me -Tdvi $< > $@
+       $(TROFF) -me -Tdvi $< > $@.new && mv -f $@.new $@
 
 .pp.ps:
-       $(TROFF) -me -Tps $< > $@
+       $(TROFF) -me -Tps $< > $@.new && mv -f $@.new $@
 
 .pp.tdvi:
-       $(TROFF) -me -Tdvi $< | grodvi -d > $@
+       $(TROFF) -me -Tdvi $< | grodvi -d > $@.new && mv -f $@.new $@
 
 .tdvi.tps:
-       dvips -f -t a4 $< > $@
+       dvips -f -t a4 $< > $@.new && mv -f $@.new $@
 
 .pp.cat:
-       LC_ALL=C nroff -me $< > $@
+       LC_ALL=C nroff -me $< > $@.new && mv -f $@.new $@
 
 .pp.html:
-       $(TROFF) -me -Thtml -P-I$* $< > $@
+       $(TROFF) -me -Thtml -P-I$* $< > $@.new && mv -f $@.new $@
 
 # Automake defines these targets already, so we need to use -local.
 dvi-local: $(MANUAL).dvi
@@ -103,3 +105,4 @@ install-data-hook:
 
 uninstall-hook:
        rm -rf "$(DESTDIR)$(docdir)"
+endif
index e83de89..a2b4572 100644 (file)
@@ -315,6 +315,9 @@ Normally,
 will automatically try to create cat files corresponding to manual files
 when a manual page is read.
 This flag suppresses this behaviour.
+.ip \-\-disable\-manual
+Don't build or install the \*M manual.
+This may be useful when cross-compiling, or to reduce the installation size.
 .if r MAN-OPTIONS-ONLY \{
 .lp
 MAN\-OPTIONS\-END
index 7fdf9b9..0bff2a4 100644 (file)
@@ -1,5 +1,4 @@
 lib/security.c
-lib/xchown.c
 lib/xregcomp.c
 libdb/db_delete.c
 libdb/db_lookup.c
index 236e97f..53bfa91 100644 (file)
--- a/po/ast.po
+++ b/po/ast.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.8.0-pre2\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2018-07-11 17:43+0100\n"
 "Last-Translator: enolp <enolp@softastur.org>\n"
 "Language-Team: Asturian <ubuntu-l10n-ast@lists.ubuntu.com>\n"
@@ -19,59 +19,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Lokalize 2.0\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "nun pue afitase l'UID efeutivu"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "l'usuariu man de setuid «%s» nun esiste"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "nun pue facese chown a %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "fatal: espresión regular «%s»: %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "nun esiste la clave múltiple %s"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "nun pue bloquiáse la caché del índiz %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "caché del índiz %s toyida"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "nun pue trocase la clave %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "namái %d campu nel conteníu"
 msgstr[1] "namái %d campos nel conteníu"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "receición fallida na clave múltiple %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Toyóse la base de datos de %s. Volvi construyila con mandb --create"
@@ -91,64 +86,64 @@ msgstr "alvertencia: %s ye de la versión %s, esperábase la %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatal: nun pue inxertase l'identificador de versión en %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[BASE DE DATOS DE MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "La base de datos de man por defeutu ye %s%s,"
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "emite mensaxes de depuración"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "nun pue abrise %s pa la llectura"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SEICIÓN...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "CAMÍN"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "afita'l camín de gueta de páxines de manual a CAMIN"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "FICHERU"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "usa esti ficheru de configuración del usuariu"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "el comandu man falló col estáu de salida %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "nun pue lleese la base de datos %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "conteníu NULL pa la clave: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,116 +152,121 @@ msgstr ""
 "\n"
 "Anovando los ficheros cat pa la seición %s de la xerarquía man %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "nun pue escribise en %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "nun pue anovase %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "alvertencia: %s/man%s/%s.%s*: estensiones en conflictu"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "nun pue anovase la caché del índiz %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "alvertencia: %s: enllaz simbólicu o solicitú ROFF «.so» incorreutos"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "alvertencia: %s: inorando'l ficheru baleru"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "alvertecia: %s: falló l'analís de whatis pa %s(%s)"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "nun pue guetase'l direutoriu %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "nun pue facese chown a %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "alvertencia: nun pue crease'l direutoriu cat %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "nun pue facese chmod a %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "nun pue camudase al direutoriu %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "nun pue crease la caché del índiz %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Anovando la caché del índiz pal camín «%s/%s». Espera..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "fecho.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Purgando les entraes vieyes de la base de datos de %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "alvertencia: fallu al atroxar la entrada de %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "alvertencia: %s: inorando'l nome falsu de ficheru"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "CAMÍN SEICIÓN NOME"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "ESTENSIÓN"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "llenda la gueta a la triba de la estensión ESTENSIÓN"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "gueta páxines distinguiendo les mayúscules (por defeutu)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "gueta páxines ensin distinguir les mayúscules (por defeutu)"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "interpreta'l nome de la páxina como una espresión regular"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "el nome de la páxina contién comodinos"
 
@@ -277,194 +277,194 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "alvertencia: el whatis de %s perpase %d byte, truncando."
 msgstr[1] "alvertencia: el whatis de %s perpase %d bytes, truncando."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "nun pue abrise %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "FICHERU..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Lo predeterminao ye --man y --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "analiza como páxina man"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "analiza como páxina cat"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "amuesa la informacón de whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "amuesa una serie de peñeres aldovinaes de prepocesamientu"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "CODIFICACIÓN"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "usa la codificación esbillada de salida"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: opciones incompatibles"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "el comandu coló col estáu %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SEICIÓN] PÁXINA..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "reafita toles opciones"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "ALVERTENCIES"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "activa toles alvertencies de groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Moos principales d'operación:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "equival a whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "equival a apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "gueta testu en toles páxines"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "amuesa l'allugamientu físicu de les páxines man"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "amuesa l'allugamientu físicu de los ficheros cat"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interpreta los argumentos de PÁXINA como nomes de ficheru llocal"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "usáu por catman pa reformatiar les páxines cat anticuaes"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "amuesa la salida de la páxina fonte cola codificación CODIFICACIÓN"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Gueta de páxines de manual:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOCALE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "define la locale d'esta gueta específica de man"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SISTEMA"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "usa les páxines de manual d'otros sistemes"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LLISTA"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "usa una llista de seiciones separtada per comes"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "amuesa toles páxines que concasen cola espresión regular"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "amuesa les páxines que concasen col comodín"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "fai que --regex y --wildcard concasen namái colos nome de páxina, non les "
 "descripciones"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "alcuentra toles páxines de manual que concasen"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "forcia una comprobación de consistencia de la caché"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "nun prueba les sopáxines, por exemplu «man foo bar» => «man foo-bar»"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Control de salida formatiada:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAXINADOR"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "usa'l programa PAXINADOR p'amosar la salida"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "CADENA"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "apurre'l paxinador «less» con una llinia de comandos"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "amuesa la traducción ASCII de ciertos caráuteres latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "desactiva la separtación con guiones"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "desactiva la xustificación"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -474,34 +474,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "usa %s pa formatiar páxines"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "PRESÉU"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "usa %s col preséu esbilláu"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "RESTOLADOR"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "usa %s o RESTOLADOR p'amosar la salida en HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUCIÓN"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -509,83 +509,83 @@ msgstr ""
 "usa groff y amuésase pente gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "usa groff y forcia la producción de ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Nun hai entrada de manual pa %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Alternativamente, ¿qué páxina de manual quies de la seición %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "¿Qué páxina de manual quies?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Nun hai entrada de manual pa %s na seición %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 "Mira «%s» pa más ayuda cuando nun heba páxines de manual disponibles.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "inorando'l preprocesador desconocíu «%c»"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "nun pue renomase %s a %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "nun pue afitase la data en %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "nun pue desenllazase %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "nun pue crease'l cat temporal pa %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "nun pue crease'l direutoriu temporal"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "nun pue crease'l ficheru temporal %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "nun pue desaniciase'l direutoriu %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- siguiente: %s [ volver (retrocesu) | saltar (Ctrl-D) | colar (Ctrl-"
 "C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -594,27 +594,27 @@ msgstr ""
 "\n"
 "nun pue escribise en %s nel mou catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Nun pue convertise %s a un nome de cat"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: basase en referencies whatis ta anticuao\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "falló'l comandu mandb col estáu de salida %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "fallu internu: la triba de candidatu %d ta fuera de rangu"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr "Páxina de manual"
 
@@ -627,349 +627,347 @@ msgstr "nun pue escribise na salida estándar"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: caraúter incompletu na fin del búfer"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CÓDIGU[:...] -t CÓDIGU [NOME_DE_FICHERU]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CODIGU[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "codificaciones posibles del testu orixinal"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CÓDIGU"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "codificación pa la salida"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "produz delles alvertencies"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "has especificar una codificación d'entrada"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "has especificar una codificación de salida"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[CAMÍN_DE_MAN]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "trabaya de mou silenciosu quitante cuando heba alvertencies «falses»"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "nun gueta o amiesta cats güerfanos a les bases de datos"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "nun purga les entraes obsoletes de les bases de datos"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "produz namái bases de datos d'usuariu"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "crea bases de datos nueves en cuentes d'anovales"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "comprueba que les páxines de manual seyan correutes"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "NOME_DE_FICHERU"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "namái anueva la entrada pa esti nome de ficheru"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "nun pue desaniciase %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "nun pue escribise en %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "nun pue lleese dende %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Procesando les páxines de manual so %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Desaniciando'l direutoriu cat obsoletu %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "alvertencia: nun hai denguna direutiva MANDB_MAP en %s, usando'l to manpath"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d sodireutoriu man contenía páxines de manual más nueves.\n"
 msgstr[1] "%d sodireutorios man conteníen páxines de manual más nueves.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "Amestóse %d páxina de manual.\n"
 msgstr[1] "Amestáronse %d páxines de manual.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "Amestóse %d cat güérfanu.\n"
 msgstr[1] "Amestáronse %d cats güérfanos.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "Purgóse %d entrada vieya de la base de datos.\n"
 msgstr[1] "Purgáronse %d entraes vieyes de la base de datos.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Nun hai bases de datos creaes."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr ""
 "nun pue dase sentíu al ficheru de configuración de los caminos de man %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "alvertencia: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "alvertencia: %s nun ye un direutoriu"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "la llista de los caminos de man ye perllarga"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "alvertencia: $PATH nun s'afitó"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "alvertencia: $PATH ta baleru"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "alvertencia: afitóse $MANPATH , amestando al principiu %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "alvertencia: afitóse $MANPATH , amestando %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "alvertencia: afitóse $MANPATH , inxertando %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "alvertencia: afitóse $MANPATH , inorando %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "nun pue analizase la llista de direutorios «%s»"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "nun pue abrise'l ficheru de configuración de los caminos de man %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "alvertencia: el direutoriu obligatoriu %s nun esiste"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "nun pue determinase'l direutoriu actual"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "alvertencia: %s nun apenza per %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "amuesa caminos rellativos de cat"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "amuesa'l camín de man global enteru"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "alvertencia: nun s'afitaron caminos de man globales nel ficheru de "
 "configuración %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "alvertencia: %s ye un enllaz simbólicu inservible"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "nun pue resolvese %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Comprobando los cats güerfanos so %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "alvertencia: nun pue anovase la caché del índiz %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s fai referencia a sigo mesmu"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "PALLABRA_CLAVE..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "La opción --regex ta activada por defeutu"
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "amuesa mensaxes d'alvertencia detallaos"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "interpreta cada pallabra clave como una espresión regular"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "gueta coincidencies exautes en cada pallabra clave"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "Les pallabres clave contienen comodinos"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "rique que toles pallabres clave concasen"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "nun axusta la salida al anchor de la terminal"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "gueta namái estes seiciones (separtaes per comes)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "define la locale d'esta gueta"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "¿%s qué?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "alvertencia: %s contién un bucle de punteros"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(asuntu desconocíu)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nun hai nada afayadizo.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: les solicitúes .so tán perañeraes o son recursives"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: alvertancia: fallu na solicitú .so"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: alvertencia: llinia nueva na solicitú .so, inorando"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: alvertencia: solicitú .lf malformada, inorando"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: alvertencia: llinia nueva na solicitú .lf, inorando"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: comilles ensin zarrar na solicitú roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "cambéu de compatibilidá (inórase)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "la llista de los caminos de man ye perllarga"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "nun pue restaurase'l direutoriu de trabayu anterior"
 
index 5ac3acb..56e7d0f 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.0-pre1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2015-08-04 08:34+0200\n"
 "Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -17,27 +17,22 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n!=1;\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "no es pot establir l'uid efectiu"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "l'usuari man setuid «%s» no existeix"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "no es pot fer «chown» a %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "fatal: expreg «%s»: %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "la clau múltiple %s no existeix"
@@ -45,36 +40,36 @@ msgstr "la clau múltiple %s no existeix"
 # Potser «%s» és de la cache i no de l'índex, aleshores seria:
 # «no es pot blocar la cache d'índexs %s» o semblant.  ivb
 # Després de consultar-ho, tens raó. jm
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "no es pot blocar la memòria cau d'índex %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "la memòria cau d'índex %s està corrompuda"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "no es pot reemplaçar la clau %s"
 
 # I què tal «només hi ha...».  ivb
 # yep. jm
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "només hi ha %d camp en el contingut"
 msgstr[1] "només hi ha %d camps en el contingut"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "recepció errònia en clau múltiple %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "La base de dades %s està corrompuda; reconstruïu-la amb mandb --create"
@@ -94,66 +89,66 @@ msgstr "avís: %s té versió %s, s'espera %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatal: no s'ha pogut inserir un identificador de versió en %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[BASE DE DADES DE MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "La base de dades de man per defecte és %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "produeix informació de depuració"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "no es pot obrir %s per a lectura"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SECCIÓ…]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "CAMÍ"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "estableix el camí de cerca de pàgines de manual a CAMÍ"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "FITXER"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "empra aquest fitxer de configuració de l'usuari"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "l'ordre de man ha fallat amb l'estat d'eixida %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "no es pot llegir la base de dades %s"
 
 # Potser siga només «per», en tot cas crec que «de» és més adequat.  ivb
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "contingut NUL de la clau: %s"
 
 # Alguna guia d'estil proposava «S'estan actualitzant...».  ivb
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -163,122 +158,127 @@ msgstr ""
 "S'estan actualitzant els fitxers cat per a la secció %s de la jerarquia de "
 "man %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "no es pot escriure en %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "no es pot actualitzar %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "avís: %s/man%s/%s.%s*: extensions en competència"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "no es pot actualitzar la memòria cau d'índex %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "avís: %s: enllaç simbòlic o petició ROFF «.so» incorrecte"
 
 # «es descarta...»  ivb
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "avís: %s: es descarta un fitxer buit"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "avís: %s: l'anàlisi de whatis per a %s(%s) ha fallat"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "no es pot cercar el directori %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "no es pot fer «chown» a %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "avís: no es pot crear el directori de cat %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "no es pot fer «chmod» a %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "no es pot canviar al directori %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "no es pot crear la memòria cau d'índex %s"
 
 # S'està... Per/per a/de?  ivb
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "S'està actualitzant la memòria cau d'índex del camí «%s/%s». Espereu…"
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "fet.\n"
 
 # S'estan...  ivb
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "S'estan purgant entrades antigues de la base de dades en %s…\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "avís: no s'ha pogut desar l'entrada per a %s(%s)"
 
 # Aquesta accepció d'«ignorar» és un anglicisme. Descartar?  ivb
 # Sí, de fet ho volia haver marcat amb "jm". jm
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "avís: %s: s'ha descartat un nom de fitxer estrany"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "CAMÍ SECCIÓ NOM"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "EXTENSIÓ"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "limita la cerca al tipus d'extensió EXTENSIÓ"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr ""
 "cerca les pàgines sense diferenciar majúscules i minúscules (per defecte)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "cerca les pàgines diferenciant majúscules i minúscules"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "interpreta el nom de la pàgina com si fora una expressió regular"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "el nom de la pàgina conté comodins"
 
@@ -290,195 +290,195 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "avís: el whatis per a %s s'excedeix en %d octet, es truncarà."
 msgstr[1] "avís: el whatis per a %s s'excedeix en %d octets, es truncarà."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "no es pot obrir %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "FITXER…"
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Els valors per defecte són --man i --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "analitza com si fora una pàgina de manual"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "analitza com si fora una pàgina de cat"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "mostra informació whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "mostra sèries endevinades de filtres de preprocés"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "CODIFICACIÓ"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "empra la codificació d'eixida seleccionada"
 
 # Frase completa: «les opcions són incompatibles»  ivb
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: les opcions són incompatibles"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "l'ordre ha finalitzat amb l'estat %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SECCIÓ] PÀGINA…"
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "reestableix totes les opcions als seus valors per defecte"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "AVISOS"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "habilita els avisos del groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Modes principals de funcionament:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "equivalent a «whatis»"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "equivalent a «apropos»"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "cerca text a totes les pàgines"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "mostra la ubicació física de les pàgines de manual"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "mostra la ubicació física dels fitxers cat"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interpreta els arguments PÀGINA com a noms de fitxers locals"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "emprat per catman per a reformatar pàgines de cat antiquades"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "mostra el font de la pàgina codificat amb CODIFICACIÓ"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Cerca de pàgines de manual:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOCALE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "defineix el locale per a aquesta cerca de manuals concreta"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SISTEMA"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "empra pàgines de manual d'altres sistemes"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LLISTA"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "empra una llista de seccions separada per dos punts"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "mostra totes les pàgines que concorden amb una expressió regular"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "mostra totes les pàgines que concorden amb un comodí"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "fes que --regex i --wildcard concorden només amb noms de pàgines, no "
 "descripcions"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "cerca totes les pàgines de manual coincidents"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "força una comprovació de consistència de la memòria cau"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "no proves subpàgines, p. ex. «man foo bar» → «man foo-bar»"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Control de l'eixida formatada"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGINADOR"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "empra el programa PAGINADOR per a mostrar l'eixida"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "CADENA"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "proveeix el paginador «less» amb un indicador"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "mostra traduccions ASCII d'alguns caràcters latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "inhabilita la separació sil·làbica"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "inhabilita el sagnat"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -488,34 +488,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "empra %s per a formatar les pàgines"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "DISPOSITIU"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "empra %s amb el dispositiu seleccionat"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "NAVEGADOR"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "empra %s o NAVEGADOR per a mostrar l'eixida HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUCIÓ"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -523,32 +523,32 @@ msgstr ""
 "empra groff i mostra a través de gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "utilitza groff i força la producció de ditroff"
 
 # per/per a/de?  ivb
 # crec que és millor per a. jm
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "No hi ha una entrada de manual per a %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Alternativament, quina pàgina de manual voleu de la secció %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Quina pàgina de manual voleu?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "No hi ha una entrada de manual per a %s a la secció %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
@@ -556,12 +556,12 @@ msgstr ""
 "disponibles.\n"
 
 # «es descarta el...»  ivb
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "es descarta el preprocessador desconegut «%c»"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "no es pot reanomenar %s a %s"
@@ -569,43 +569,43 @@ msgstr "no es pot reanomenar %s a %s"
 # Segurament es referirà a l'{a,m,c}time; hores/dates?  ivb
 # I en eixe cas, què sugereixes? jm
 # Allò que s'use majoritàriament pel cas, només era per assegurar-me.  ivb
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "no es poden establir les hores en %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "no es pot desenllaçar %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "no es pot crear un fitxer cat temporal per a %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "no es pot crear un directori temporal"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "no es pot obrir el fitxer temporal %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "no es pot eliminar el directori %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- següent: %s [ visualitza (retorn) | omet (Ctrl-D) | surt (Ctrl-C ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -614,29 +614,29 @@ msgstr ""
 "\n"
 "no es pot escriure a %s en el mode catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "No es pot convertir %s a nom cat"
 
 # Lo de sempre, deprecated? jm
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: basar-se en referències whatis està desaconsellat\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "l'ordre de mandb ha fallat amb l'estat d'eixida %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr ""
 "s'ha produït un error intern: el candidat de tipus %d està fora de rang"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Pàgina de manual "
 
@@ -649,311 +649,306 @@ msgstr "no es pot escriure a l'eixida estàndard"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: caràcter incomplet al final del búfer"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CODI[:…] -t CODI [NOMFITXER]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CODI[:…]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "codificacions possibles del text original"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CODI"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "codificació per a l'eixida"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "produeix menys avisos"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "s'ha d'especificar una codificació d'entrada"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "s'ha d'especificar una codificació d'eixida"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[CAMÍ DE MAN]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "treballa silenciosament, excepte per a avisos estranys"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "no cerques o afegisques cats orfes a les bd"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "no purgues entrades obsoletes de les bd"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "produeix només bases de dades d'usuari"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "crea db noves, en comptes d'actualitzar-les"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "comprova que les pàgines de manual són correctes"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "NOMFITXER"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "actualitza només l'entrada per a aquest nom de fitxer"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "no es pot eliminar %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "no es pot escriure en %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "no es pot llegir de %s"
 
 # Si es refereix a un directori, «sota».  ivb
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Processant pàgines de manual sota %s…\n"
 
 # S'estan...  ivb
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "S'està suprimint el directori de cats obsolet %s…\n"
 
 # s'està utilitzant/s'utilitza/s'utilitzarà  ivb
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "avís: no hi ha directives MANDB_MAP en %s, s'utilitzarà el vostre camí de man"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d subdirectori de man contenia pàgines de manual més noves.\n"
 msgstr[1] "%d subdirectoris de man contenien pàgines de manual més noves.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "S'ha afegit %d pàgina de manual.\n"
 msgstr[1] "S'han afegit %d pàgines de manual.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "S'ha afegit %d cat orfe.\n"
 msgstr[1] "S'han afegit %d cats orfes.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "S'ha purgat %d entrada vella de la base de dades.\n"
 msgstr[1] "S'han purgat %d entrades velles de la base de dades.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "No s'ha creat cap base de dades."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "no s'enten el fitxer de configuració del camí de man %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "avís: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "avís: %s no és un directori"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "la llista de camí de man és massa llarga"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "avís: $PATH no està establert"
 
 # Frase completa.  ivb
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "avís: $PATH està buit"
 
 # Frase completa.  ivb
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "avís: $MANPATH està establert, s'afegirà al principi %s"
 
 # Frase completa.  ivb
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "avís: $MANPATH està establert, s'afegirà %s"
 
 # Frase completa.  ivb
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "avís: $MANPATH està establert, s'inserirà %s"
 
 # Frase completa. Anglicisme.  ivb
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "avís: $MANPATH establert, es descartarà %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "no es pot analitzar sintàcticament la llista de directoris «%s»"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "no es pot obrir el fitxer de configuració del camí de man %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "avís: el directori requerit %s no existeix"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "no es pot determinar el directori actual"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "avís: %s no comença amb %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "mostra els camins de cat relatius"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "mostra el camí de man global sencer"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "avís: no hi ha camins de man globals establerts al fitxer de configuració %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "avís: %s és un enllaç simbòlic trencat"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "no es pot resoldre %s"
 
 # S'estan...  ivb
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "S'estan cercant cats orfes sota %s…\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "no es pot actualitzar la memòria cau d'índex %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s es referència a ell mateix"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "PARAULACLAU…"
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "L'opció --regex està habilitada per defecte."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "mostra missatges d'avís detallats"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "interpreta cada paraula clau com si fora una expressió regular"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "cerca coincidències exactes en cada paraula clau"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "les paraules clau contenen comodins"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "requereix que concorden totes les paraules clau"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "no ajustes l'eixida a l'amplada del terminal"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "cerca només en aquestes seccions (separades per punts i coma)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "defineix el locale per a aquesta cerca"
 
 # «comor?»  ivb
 # «el que tu has dit entendre no he pogut» yoda
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s què?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "avís: %s conté un bucle de punters"
@@ -962,52 +957,55 @@ msgstr "avís: %s conté un bucle de punters"
 # Gènere? Nombre? És bo posar-ne un comentari.  ivb
 # Pareix que es refereix al resultat d'un whois. «whois desconegut?» jm
 # Arreglat en 2.4.0pre. jm
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(assumpte desconegut)"
 
 # «res d'apropiat»?  ivb
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: res d'apropiat.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr ""
 "%s:%d: les peticions de .so estan niuades amb massa profunditat o són "
 "recursives"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: avís: ha fallat la petició de .so"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: avís: nova línia a la petició de .so, es descarta"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: avís: la petició de .lf és malformada, es descarta"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: avís: nova línia a la petició .lf, es descarta"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: cometa no terminada a la petició roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "commutador de compatibilitat (descartat)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "la llista de camí de man és massa llarga"
+
 #, fuzzy
 #~ msgid "can't restore previous working directory"
 #~ msgstr "no es pot crear un directori temporal"
index 0a4ee42..32d6fac 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.6.1-pre1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2012-04-07 19:04+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -18,47 +18,42 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "nelze nastavit platné uid"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "uživatel manuálových stránek „%s“ použitý v setuid neexistuje"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "nelze změnit vlastnictví %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "Fatální chyba: regulární výraz „%s“: %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "vícenásobný klíč %s neexistuje"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "nelze zamknout rejstřík %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "rejstřík %s je poškozen"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "nelze nahradit klíč %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
@@ -66,12 +61,12 @@ msgstr[0] "pouze %d položka v obsahu"
 msgstr[1] "pouze %d položky v obsahu"
 msgstr[2] "pouze %d položek v obsahu"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "nelze získat vícenásobný klíč %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Databáze %s je poškozena; znovu ji sestavte pomocí „mandb --create“"
@@ -91,64 +86,64 @@ msgstr "varování: soubor %s je verze %s, ale očekávána je verze %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatální chyba: nelze vložit identifikátor verze do souboru %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MANUÁLOVÁ DATABÁZE]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "Výchozí manuálová databáze je %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "vysílat ladicí zprávy"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "soubor %s nelze otevřít pro čtení"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[ODDÍL…]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "CESTA"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "nastavit cestu pro vyhledávání v manuálových stránkách na CESTA"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "SOUBOR"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "použít tento soubor s uživatelským nastavením"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "příkaz man skončil s návratovým kódem %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "databázi %s nelze číst"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "položka pod klíčem %s je prázdná"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,116 +152,121 @@ msgstr ""
 "\n"
 "Aktualizují se katalogové soubory pro oddíl %s v manuálové hierarchii %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "nelze zapisovat do %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "nelze aktualizovat %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "varování: %s/man%s/%s.%s*: neslučitelné přípony"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "nelze aktualizovat rejstřík %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "varování: %s: chybný symbolický odkaz nebo požadavek „.so“ od ROFF"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "varování: %s: ignoruje se prázdný soubor"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "varování: %s: selhalo zpracování programem whatis pro %s(%s)"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "nelze prohledat složku %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "nelze změnit vlastnictví %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "varování: nelze vytvořit složku %s pro katalogy"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "nelze změnit oprávnění k %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "nelze se přepnout do složky %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "nelze vytvořit rejstřík %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Aktualizuje se rejstřík pro cestu „%s/%s“. Čekejte…"
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "dokončeno.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Mažou se staré databázové záznamy v %s…\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "varování: selhalo uchování záznamu pro %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "varování: %s: ignoruje se falešný název souboru"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "CESTA ODDÍL NÁZEV"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "PŘÍPONA"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "omezit hledání na přípony typu PŘÍPONA"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "při hledání stránek nerozlišovat velikost písmen (výchozí)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "při hledání stránek rozlišovat velikost písmen"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "považovat název stránky za regulární výraz"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "název stránky obsahuje divoké znaky"
 
@@ -278,196 +278,196 @@ msgstr[0] "varování: program whatis pro %s překročil %d bajt, bude zkrácen"
 msgstr[1] "varování: program whatis pro %s překročil %d bajty, bude zkrácen"
 msgstr[2] "varování: program whatis pro %s překročil %d bajtů, bude zkrácen"
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "nelze otevřít soubor %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "SOUBOR…"
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Výchozí jsou --man a --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "zpracovat jako manuálové stránky"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "zpracovat jako katalogové stránky"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "zobrazit informace programu whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "zobrazit předpokládanou sérii předzpracujících filtrů"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "KÓDOVÁNÍ"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "použít vybrané výstupní kódování"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: nekompatibilní přepínače"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "příkaz skončil s návratovým kódem %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[ODDÍL] STRÁNKA…"
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "nastavit všechny přepínače na jejich výchozí hodnoty"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "VAROVÁNÍ"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "povolit varování od programu groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Hlavní režimy operací:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "to stejné jako program whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "to stejné jako program apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "hledat text ve všech stránkách"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "vypsat fyzické umístění manuálové stránky (či stránek)"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "vypsat fyzické umístění katalogového souboru (či souborů)"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr ""
 "vykládat si argument(y) STRÁNKA jako název místního souboru (či souborů)"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "použít program catman k přeformátování neaktuálních stránek"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "vypsat zdrojovou stránku kódovanou v KÓDOVÁNÍ"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Hledání manuálových stránek:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOCALE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr ""
 "definovat národní prostředí LOCALE pro toto konkrétní hledání v manuálových "
 "stránkách"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTÉM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "použít manuálové stránky z jiných systémů"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "SEZNAM"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "použít dvojtečkami oddělovaný seznam oddílů"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "zobrazit všechny stránky odpovídající regulárnímu výrazu"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "zobrazit všechny stránky odpovídající divokým znakům"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "nechť se --regex a --wildcard porovnávají jen s názvem stránky, ne s popisem"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "najít všechny odpovídající manuálové stránky"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "vynutit kontrolu konzistence mezipaměti"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "nezkoušet podstránky, např. „man hokus pokus“ => „man hokus-pokus“"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Řízení formátovaného výstupu:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "ZOBRAZOVAČ"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "použít program ZOBRAZOVAČ k zobrazení výstupu"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "ŘETĚZEC"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "poskytne zobrazovací program „less“ s příkazovým řádkem"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "některé znaky latin1 zobrazovat přepisem do ASCII"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "vypnout dělní slov"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "vypnout zarovnávání"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -477,34 +477,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "používat program %s k formátování stránek"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "ZAŘÍZENÍ"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "používat program %s s vybraným zařízením"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "PROHLÍŽEČ"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "použít %s nebo PROHLÍŽEČ k zobrazení výstupu v HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "ROZLIŠENÍ"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -512,82 +512,82 @@ msgstr ""
 "použít program groff a zobrazit přes gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "použít program groff a přimět ho vytvořit ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Manuálová stránka pro %s nebyla nalezena\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Respektive, kterou manuálovou stránku z oddílu %s si přejete?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Kterou manuálovou stránku si přejete?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Manuálová stránka pro %s nebyla v oddíle %s nalezena\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Pokud nejsou manuálové stránky dostupné, použijte pro nápovědu „%s“.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "ignoruje se neznámé předzpracování „%c“"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "%s nelze přejmenovat na %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "nelze nastavit čas na %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "nelze smazat %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "nelze vytvořit dočasný katalog pro %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "nelze vytvořit dočasnou složku"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "nelze otevřít dočasný soubor %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "nelze odstranit složku %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- následující: %s [zobrazit (enter) | přeskočit (Ctrl-D) | ukončit "
 "(Ctrl-C)]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -596,27 +596,27 @@ msgstr ""
 "\n"
 "do %s nelze v režimu catman zapisovat"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "%s nelze převést na název katalogu"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: spoléhat se na to, co program whatis považuje za neschválené\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "program mandb skončil s návratovým kódem %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "interní chyba: kandidující typ %d je mimo rozsah"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Manuálová stránka "
 
@@ -629,108 +629,108 @@ msgstr "nelze zapisovat na standardní výstup"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: neúplný znak na konci vyrovnávací paměti"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f KÓD[:…] -t KÓD [SOUBOR]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "KÓD[:…]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "možná kódování originálního textu"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "KÓD"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "kódování pro výstup"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "produkovat méně varování"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "je nutné zadat vstupní kódování"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "je nutné zadat výstupní kódování"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[CESTA_K_MANUÁLOVÝM_STRÁNKÁM]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "pracovat tiše, s výjimkou „falešných“ varování"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "nehledat a nepřidávat do databáze bezprizorní katalogy"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "nemazat z databáze zastaralé záznamy"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "vytvořit pouze uživatelskou databázi"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "vytvořit databázi raději od píky, než ji aktualizovat"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "zkontrolovat, zda jsou manuálové stránky v pořádku"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "SOUBOR"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "aktualizovat jen záznam pro tento soubor"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "nelze odstranit soubor %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "nelze zapisovat do souboru %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "nelze číst ze souboru %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Zpracovávají se manuálové stránky ve složce %s…\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Odstraňuje se zastaralá složka katalogů %s…\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "varování: v souboru %s není direktiva MANDB_MAP, použije se program manpath"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -738,7 +738,7 @@ msgstr[0] "%d manuálová podsložka obsahovala nové manuálové stránky.\n"
 msgstr[1] "%d manuálové podsložky obsahovaly nové manuálové stránky.\n"
 msgstr[2] "%d manuálových podsložek obsahovalo nové manuálové stránky.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
@@ -746,7 +746,7 @@ msgstr[0] "%d manuálová stránka byla přidána.\n"
 msgstr[1] "%d manuálové stránky byly přidány.\n"
 msgstr[2] "%d manuálových stránek bylo přidáno.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
@@ -754,7 +754,7 @@ msgstr[0] "Byl přidán %d bezprizorní katalog.\n"
 msgstr[1] "Byly přidány %d bezprizorní katalogy.\n"
 msgstr[2] "Bylo přidáno %d bezprizorních katalogů.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
@@ -762,219 +762,217 @@ msgstr[0] "Byl vymazán %d starý databázový záznam.\n"
 msgstr[1] "Byly vymazány %d staré databázové záznamy.\n"
 msgstr[2] "Bylo vymazáno %d starých databázových záznamů.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Nebyla vytvořena žádná databáze."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "ze souboru %s  s nastavením nelze zjistit cesty k manuálovým stránkám"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "varování: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "varování: %s není složka"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "cesta k manuálovým stránkám je příliš dlouhá"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "varování: proměnná $PATH není nastavena"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "varování: prázdná proměnná $PATH"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "varování: proměnná $MANPATH nastavena, na začátek přidáno %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "varování: proměnná $MANPATH nastavena, na konec přidáno %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "varování: proměnná $MANPATH nastavena, vloženo %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "varování: proměnná $MANPATH nastavena, ignorováno %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "seznam složek „%s“ nelze zpracovat"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "nelze otevřít soubor %s s nastavením cest k manuálovým stránkám"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "varování: povinná složka %s neexistuje"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "nelze zjistit aktuální složku"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "varování: cesta %s nezačíná na %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "zobrazovat relativní cesty ke katalogům"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "zobrazovat celé globální cesty k manuálovým stránkám"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "varování: v souboru %s s nastavením nejsou nastaveny žádné globální cesty k "
 "manuálovým stránkám"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "varování: %s je symbolický odkaz ukazující na neexistující soubor"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "cestu %s nelze zpracovat"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Kontrolují se bezprizorní katalogy ve složce %s…\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "varování: rejstřík %s nelze aktualizovat"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "stránka %s se odkazuje sama na sebe"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "KLÍČOVÉ_SLOVO…"
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "Přepínač --regex je standardně zapnutý."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "vypisovat podrobné varovné zprávy"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "každé klíčové slovo považovat za regulární výraz"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "každé klíčové slovo hledat na přesnou shodu"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "klíčové slovo (či slova) obsahují divoké znaky"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "požadovat shodu všech klíčových slov"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "neořezávat výstup na šířku terminálu"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "prohledávat jen tyto oddíly (oddělené dvojtečkou)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "definovat národní prostředí pro toto hledání"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "Co má příkaz %s provést?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "varování: %s obsahuje zacyklený ukazatel"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(neznámý předmět)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nic neodpovídá.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: požadavky .so se zanořily příliš hluboko nebo jsou rekurzivní"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: varování: selhal požadavek .so"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: varování: nový řádek v požadavku .so, ignorován"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: varování: vadný požadavek .lf, ignorován"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: varování: nový řádek v požadavku .lf, ignorován"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: nezakončené uvozovky v požadavku roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "přepínač pro účely kompatibility (ignorován)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "cesta k manuálovým stránkám je příliš dlouhá"
+
 #, fuzzy
 #~ msgid "can't restore previous working directory"
 #~ msgstr "nelze vytvořit dočasnou složku"
index 54fed42..cd4a191 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -20,7 +20,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2016-12-12 23:42+0100\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -31,59 +31,54 @@ msgstr ""
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "kan ikke sætte effektivt uid"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "en manualbruger »%s« som er setuid findes ikke"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "kan ikke skifte ejer på %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "fatalt: regulært udtryk »%s«: %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "multinøglen %s findes ikke"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "kan ikke låse indekscachen %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "indekscachen %s er ødelagt"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "kan ikke erstatte nøglen %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "kun %d felt i indhold"
 msgstr[1] "kun %d felter i indhold"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "fejlagtig hentning på multinøgle %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Databasen %s er beskadiget; genopbyg med mandb --create"
@@ -103,64 +98,64 @@ msgstr "advarsel: %s er version %s, %s forventes\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatalt: kan ikke indsætte versionsidentifikator i %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MANUALDATABASE]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "Manualdatabasen er som standard %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "vis fejlsøgningsbeskeder"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "kan ikke åbne %s for læsning"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[AFSNIT...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "STI"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "angiv søgesti for manualsider med STI"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "FIL"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "brug denne brugers konfigurationsfil"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "man-kommandoen mislykkedes med slutstatus %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "kan ikke læse databasen %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "NULL-indhold for nøgle: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -169,120 +164,125 @@ msgstr ""
 "\n"
 "Opdaterer katalogfiler for afsnit %s i man-hierarkiet %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "kan ikke skrive indenfor %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "kan ikke opdatere %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "advarsel: %s/man%s/%s.%s*: filendelser i konflikt"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "kan ikke opdatere indekscachen %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "advarsel: %s: fejlagtig symbolsk lænke eller ROFF ».so-anmodning«"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "advarsel: %s: ignorerer tom fil"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "advarsel: %s: whatis-tolkning for %s(%s) mislykkedes"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "kan ikke søge i kataloget %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "kan ikke skifte ejer på %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "advarsel: kan ikke oprette katalogmappe %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "kan ikke ændre rettigheder på %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "kan ikke skifte til kataloget %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "kan ikke oprette indekscachen %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Opdaterer indekscache for søgestien »%s/%s«. Vent..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "færdig.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Tømmer gamle databaseindgange i %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "advarsel: det mislykkedes at lagre indgang for %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "advarsel: %s: ignorerer fejlagtigt filnavn"
 
 # Koden tyder på, det er betegnelsen på tre separate argumenter, derfor:
 # "STI AFSNIT NAVN"
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "STI AFSNIT NAVN"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "FILENDELSE"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "begræns søgning til filendelser med typen FILENDELSE"
 
 # evt. "med versalfølsomhed slået fra"
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "se efter sider uden at være versalfølsom (standard)"
 
 # "med versalfølsomhed slået til"
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "se efter sider versalfølsomt"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "fortolk sidenavn som et regulært udtryk"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "sidenavnet indeholder jokertegn"
 
@@ -293,199 +293,199 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "advarsel: whatis for %s overskrider %d byte, forkorter."
 msgstr[1] "advarsel: whatis for %s overskrider %d byte, forkorter."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "kan ikke åbne %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "FIL..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Standarderne er --man og --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "fortolk som en manualside"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "fortolk som en katalogside"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "vis whatis-information"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "vis gættet serie af forhåndsbehandlede filtre"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "KODNING"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "brug valgt uddatakodning"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: inkompatible tilvalg"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "kommandoen afsluttede med status %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[AFSNIT] SIDE..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "nulstil alle tilvalg til deres standardværdier"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "ADVARSLER"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "aktiver advarsler fra groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Hovedtilstande for handling:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "svarende til whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "svarende til apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "søg efter tekst på alle sider"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "vis fysisk placering af manualsider"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "vis fysisk placering af katalogfiler"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "fortolk SIDE-argumenter som lokale filnavne"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr ""
 "bruges af katalogmanual til at omformatere katalogsider der skal opdateres"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "uddatakildeside kodet i KODNING"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Finder manualsider:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "SPROG"
 
 # denne specifikke
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "definere sproget for netop denne manualsøgning"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTEM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "brug manualsider fra andre systemer"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTE"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "brug kolonadskilt afsnitsliste"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "vis alle sider der matcher regulært udtryk"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "vis alle sider der matcher jokertegn"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr "få --regex og --wildcard til at finde sidenavne og ikke beskrivelser"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "find alle matchende manualsider"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "fremtving konsistenskontrol af mellemlager"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "forsøg ikke med undersider, f.eks. »man foo bar« => »man foo-bar«"
 
 # "Kontrollerer formaterede uddata:"
 # Det er en slags overskrift, så:
 # "Tilvalg for formateret uddata"
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Tilvalg for formateret uddata:"
 
 # Der menes nok et program som less. Ordlisten foreslår bl.a. "tekstviser"
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "TEKSTVISER"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "brug programmet TEKSTVISER til at vise uddata"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "STRENG"
 
 # dette er hjælpeteksten til tilvalget -r til ma
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "brug tekstviseren »less« med den angivne prompt"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "vis ASCII-oversættelse af visse latin1-tegn"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "brug ikke orddeling"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "brug ikke justering"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -495,34 +495,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "brug %s til formatsider"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "ENHED"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "brug %s med valgt enhed"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "BROWSER"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "brug %s eller BROWSER til at vise HTML-uddata"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "OPLØSNING"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -530,81 +530,81 @@ msgstr ""
 "brug groff og vis igennem gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "brug groff og tving den til at producere ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Ingen manualindgang for %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Eller hvilken manualside vil du have fra afsnit %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Hvilken manualside vil du have?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Ingen manualindgang for %s i afsnit %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Se »%s« for hjælp når manualsider ikke er tilgængelige.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "ignorerer ukendt forbehandler »%c«"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "kan ikke omdøbe %s til %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "kan ikke sætte tider på %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "kan ikke aflænke %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "kan ikke oprette midlertidigt katalog for %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "kan ikke oprette midlertidig mappe"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "kan ikke åbne midlertidig fil %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "kan ikke fjerne kataloget %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- næste: %s [ vis (retur) | overspring (Ctrl-D) | afslut (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -613,27 +613,27 @@ msgstr ""
 "\n"
 "kan ikke skrive til %s i tilstanden katalogmanual"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Kan ikke konvertere %s til katalognavn"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: at stole på whatis-referencer er forældet\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "mandb-kommandoen mislykkedes med slutstatus %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "intern fejl: kandidattype %d uden for gyldigt interval"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Manualside "
 
@@ -646,346 +646,344 @@ msgstr "kan ikke skrive til standarduddata"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: ufuldstændigt tegn ved slutningen af mellemlageret"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f KODNING[:...] -t KODNING [FILNAVN]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "KODNING[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "mulige kodninger af oprindelig tekst"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "KODNING"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "kodning for uddata"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "giv færre advarsler"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "inddatakodning skal angives"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "uddatakodning skal angives"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANSTI]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "arbejd stille, undtagen for »bogus-advarsler«"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "kig ikke efter og tilføj ikke vildfarne katalogsider til databaserne"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "afinstaller ikke forældede punkter fra databaserne"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "producer kun brugerdatabaser"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "opret databaser fra bunden af i stedet for at opdatere"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "kontroller manualsider for korrekthed"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "FILNAVN"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "opdater kun punktet for dette filnavn"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "kan ikke fjerne %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "kan ikke skrive til %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "kan ikke læse fra %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Bearbejder manualsider under %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Fjerner forældet katalogside %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "advarsel: intet MANDB_MAP-direktiv i %s, bruger din manualsøgesti"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d manualunderkatalog indeholdt nyere manualsider.\n"
 msgstr[1] "%d manualunderkataloger indeholdt nyere manualsider.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d manualside blev tilføjet.\n"
 msgstr[1] "%d manualsider blev tilføjet.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d vildfaren katalogside blev tilføjet.\n"
 msgstr[1] "%d vildfarne katalogsider blev tilføjet.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d gammel databaseindgang blev tømt.\n"
 msgstr[1] "%d gamle databaseindgange blev tømt.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Ingen databaser er oprettet."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "kan ikke forstå konfigurationsfilen for manualsøgesti %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "advarsel: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "advarsel: %s er ikke et katalog"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "manualsøgesti-liste er for lang"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "advarsel: $PATH er ikke sat"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "advarsel: tom $PATH"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "advarsel: $MANPATH er sat, tilføjer %s før"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "advarsel: $MANPATH er sat, tilføjer %s efter"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "advarsel: $MANPATH er sat, indsætter %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "advarsel: $MANPATH er sat, ignorerer %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "kan ikke tolke mappeliste »%s«"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "kan ikke åbne konfigurationsfilen for manualsøgesti %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "advarsel: det obligatoriske katalog %s findes ikke"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "kan ikke bestemme aktuelt katalog"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "advarsel: %s begynder ikke med %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "vis relative katalogstier"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "vis den samlede globale manualsti"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "advarsel: ingen globale manualsøgestier angivet i konfigurationsfilen %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "advarsel: %s er en vildfaren symbolsk lænke"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "kan ikke slå %s op"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Undersøger vildfarne katalogsider under %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "advarsel: kan ikke opdatere indekscachen %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s refererer til sig selv"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "NØGLEORD..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "Tilvalget --regex er aktiveret som standard."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "vis uddybende advarselsbeskeder"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "fortolk hvert nøgleord som et regulært udtryk"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "søg i hvert nøgleord for nøjagtigt match"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "nøgleordene indeholder jokertegn"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "alle nøgleord skal matche"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "tilpas ikke uddata til terminalbredde"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "søg kun i disse afsnit (kolonadskilt)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "definer sproget for denne søgning"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s hvad?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "advarsel: %s indeholder en pegerløkke"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(ukendt emne)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: ingenting egnet.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: .so-forespørgsler er indlejret for dybt eller rekursivt"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: advarsel: .so-forespørgsel mislykkedes"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: advarsel: linjeskift i .so-forespørgsel; ignorerer"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: advarsel: forkert udformet .lf-forespørgsel; ignorerer"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: advarsel: linjeskift i .lf-forespørgsel; ignorerer"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: ikke afsluttet anførelsestegn i roff-forespørgsel"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "skift af kompatibilitet (ignoreret)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "manualsøgesti-liste er for lang"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "kan ikke gendanne tidligere arbejdsmappe"
 
index 80e403b..484bed1 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2016-12-12 16:39+0100\n"
 "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -25,59 +25,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 1.8.11\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "Effektive Benutzerkennung kann nicht gesetzt werden"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "Der von »man« verwandte Benutzer »%s« existiert nicht"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "Besitzer und/oder Gruppe von %s können nicht geändert werden"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "Fatal: Suchausdruck »%s«: %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "Suchschlüssel %s existiert nicht"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "Indexcache %s kann nicht gesperrt werden"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "Indexcache %s fehlerhaft"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "Schlüssel %s kann nicht ersetzt werden"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "nur %d Feld im Inhalt enthalten"
 msgstr[1] "nur %d Felder im Inhalt enthalten"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "Suchschlüssel %s kann nicht eingelesen werden"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Datenbank %s beschädigt; mit »mandb --create« neu erstellen"
@@ -97,64 +92,64 @@ msgstr "Warnung: %s hat Versionsnummer %s, erwartet wurde %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "Fatal: Versionsnummer konnte nicht in %s eingefügt werden"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[HANDBUCHDATENBANK]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "Die Handbuchdatenbank benutzt standardmäßig %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "Hinweise zur Fehlersuche werden ausgegeben"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "%s kann nicht zum Lesen geöffnet werden"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[ABSCHNITT ...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "PFAD"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "Suchpfad für Handbuchseiten auf PFAD setzen"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "DATEI"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "diese Benutzerkonfigurationsdatei verwenden"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "Man-Befehl schlug mit Exit-Status %d fehl"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "Datenbank %s kann nicht gelesen werden"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "Inhalt für Suchschlüssel ist NULL: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -164,118 +159,123 @@ msgstr ""
 "»cat«-Dateien des Abschnitts %s der Handbuchhierarchie %s werden "
 "aktualisiert.\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "innerhalb von %s kann nicht geschrieben werden"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "%s kann nicht aktualisiert werden"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "Warnung: %s/man%s/%s.%s*: konkurrierende Dateierweiterungen"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "Indexcache %s kann nicht aktualisiert werden"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr ""
 "Warnung: %s: ungültige symbolische Verknüpfung oder »roff«-».so«-Anfrage"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "Warnung: %s: leere Datei wird ignoriert"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "Warnung: %s: whatis-Verarbeitung für %s(%s) fehlgeschlagen"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "Verzeichnis %s kann nicht durchsucht werden"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "Besitzer und/oder Gruppe von %s können nicht geändert werden"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "Warnung: »cat«-Verzeichnis %s kann nicht angelegt werden"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "Zugriffsrechte von %s können nicht geändert werden"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "Es konnte nicht ins Verzeichnis %s gewechselt werden"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "Indexcache %s kann nicht erzeugt werden"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Indexcache des Pfades »%s/%s« wird aktualisiert. Bitte warten ..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "fertig.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Alte Datenbankeinträge in %s werden gelöscht ...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "Warnung: Eintrag für (%s)%s konnte nicht abgelegt werden"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "Warnung: %s: fehlerhafter Dateiname wird ignoriert"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "PFAD ABSCHNITT NAME"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "ERWEITERUNG"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "Suche auf Erweiterungstyp ERWEITERUNG beschränken"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr ""
 "Nach Seiten suchen ohne Groß- und Kleinschreibung zu beachten (Standard)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "Nach Seiten unter Beachtung von Groß- und Kleinschreibung suchen"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "jeden Seitennamen als RegEx interpretieren"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "der Seitenname enthält Platzhalter"
 
@@ -288,199 +288,199 @@ msgstr[0] ""
 msgstr[1] ""
 "Warnung: whatis-Eintrag für %s ist größer als %d Bytes, verkürze ihn."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "%s kann nicht geöffnet werden"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "DATEI ..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Die Standards sind »--man« und »--whatis«."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "als Handbuchseite verarbeiten"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "als »cat«-Seite verarbeiten"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "whatis-Informationen anzeigen"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "vermutete Serie der Vorverarbeitungsfilter anzeigen"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "KODIERUNG"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "ausgewählte Ausgabekodierung verwenden"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: inkompatible Optionen"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "Befehl mit Exit-Status %d beendet: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[ABSCHNITT] SEITE ..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "Alle Optionen auf ihre Standardwerte zurücksetzen"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "WARNUNGEN"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "groff-Warnungen aktivieren"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Hauptbetriebsmodi:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "Ersatz für »whatis«"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "Ersatz für »apropos«"
 
 # (mes) NEU
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "Text in allen Seiten suchen"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "Speicherort der Handbuchseite(n) ausgeben"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "Speicherort der »cat«-Datei(en) ausgeben"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "SEITEN-Argument(e) als lokale(n) Dateinamen interpretieren"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "von »catman« verwendet um veraltete »cat«-Seiten neu zu formatieren"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "Quellseiten mit KODIERUNG kodiert ausgeben"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Handbuchseiten finden: "
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOCALE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "Locale für diese spezielle Handbuchsuche definieren"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTEM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "Handbuchseiten von anderen Systemen verwenden"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTE"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "kommaseparierte Abschnittsliste verwenden"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "alle mit dem regulären Ausdruck übereinstimmenden Seiten anzeigen"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "alle mit dem Platzhalter übereinstimmenden Seiten anzeigen"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "»--regex« und »--wildcard« werden nur gegen den Seitennamen geprüft, nicht "
 "die Beschreibungen"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "alle übereinstimmenden Handbuchseiten finden"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "Konsistenzkontrolle des Caches erzwingen"
 
 # (mes) neu
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr ""
 "keine Unterseiten versuchen, zum Beispiel »man foo bar« => »man foo-bar«"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Formatierte Ausgabe kontrollieren:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "ANZEIGEPROGRAMM"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "ANZEIGEPROGRAMM zur Darstellung der Ausgabe verwenden"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "ZEICHENKETTE"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "das »less«-Anzeigeprogramm mit einer Eingabeaufforderung ausstatten"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "ASCII-Übersetzungen einiger Latin1-Zeichen anzeigen"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "Silbentrennung abschalten"
 
 # (mes) Was trifft es: Ausrichtung, Begründung, Blocksatz, Einstellung,
 # Justierung, Rechtfertigung
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "Blocksatz abschalten"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -490,34 +490,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "%s zur Seitenformatierung verwenden"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "GERÄT"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "%s mit ausgewähltem Gerät verwenden"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "BROWSER"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "%s oder BROWSER zur Anzeige von HTML-Ausgabe verwenden"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "AUFLÖSUNG"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -525,84 +525,84 @@ msgstr ""
 "»groff« verwenden und mit »gxditview« (X11) anzeigen:\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "»groff« verwenden und ditroff-Ausgabe erzwingen"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Kein Handbucheintrag für %s vorhanden\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr ""
 "(Welche Handbuchseiten wollen Sie aus Abschnitt %s alternativ haben?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Welche Handbuchseiten möchten Sie haben?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Kein Handbucheintrag für %s im Abschnitt %s vorhanden\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Siehe auch »%s« für Hilfe, wenn Handbuchseiten nicht verfügbar sind.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "Ignoriere unbekannten Präprozessor »%c«"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "%s kann nicht in %s umbenannt werden"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "Es können keine Zeiten für %s gesetzt werden"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "%s kann nicht gelöscht werden"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "Es kann keine temporäre »cat«-Datei für %s erzeugt werden"
 
 # (mes) NEU
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "Temporäres Verzeichnis kann nicht erzeugt werden."
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "Temporäre Datei %s kann nicht geöffnet werden"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "Verzeichnis %s kann nicht entfernt werden"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- nächste: %s [ Anzeigen (Return) | Überspringen (Strg+D) | Beenden "
 "(Strg+C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -611,27 +611,27 @@ msgstr ""
 "\n"
 "im »catman«-Modus kann nicht nach %s geschrieben werden"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "%s kann nicht in »cat«-Namen umgewandelt werden"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: es wird davon abgeraten, auf »whatis«-Referenzen zu vertrauen\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "»mandb«-Befehl schlug fehl mit Beendigungs-Status %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "interner Fehler: Kandidatentyp %d außerhalb des Bereichs"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Handbuchseite "
 
@@ -644,349 +644,347 @@ msgstr "es kann nicht nach Standardausgabe geschrieben werden"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: unvollständiges Zeichen am Ende des Puffers"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f KODIERUNG[: ...] -t KODIERUNG [DATEINAME]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "KODIERUNG[: ...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "mögliche Kodierungen des Originaltextes"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "KODIERUNG"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "Kodierung der Ausgabe"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "weniger Warnungen erzeugen"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "es muss eine Eingabekodierung angegeben werden"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "es muss eine Ausgabekodierung angegeben werden"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[HANDBUCHPFAD]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "still arbeiten, mit Ausnahme von »fehlerhaften« Warnungen"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr ""
 "nicht nach herrenlosen »cat«-Datein suchen oder zu den Datenbanken hinzufügen"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "keine veralteten Einträge aus den Datenbanken löschen"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "nur Benutzerdatenbanken erzeugen"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "Datenbanken von Grund auf neu generieren, statt sie zu aktualisieren"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "Handbuchseiten auf Korrektheit überprüfen"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "DATEINAME"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "nur den Eintrag für diesen Dateinamen aktualisieren"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "%s kann nicht entfernt werden"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "es kann nicht nach %s geschrieben werden"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "%s kann nicht ausgelesen werden"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Handbuchseiten unter %s werden verarbeitet ...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "veraltetes »cat«-Verzeichnis %s wird entfernt ...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "Warnung: keine MANDB_MAP-Anweisungen in %s, ihr Handbuchpfad wird verwendet"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d Handbuchverzeichnis enthielt neuere Handbuchseiten.\n"
 msgstr[1] "%d Handbuchverzeichnisse enthielten neuere Handbuchseiten.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d Handbuchseite wurde hinzugefügt.\n"
 msgstr[1] "%d Handbuchseiten wurden hinzugefügt.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d herrenlose »cat«-Datei wurde hinzugefügt.\n"
 msgstr[1] "%d herrenlose »cat«-Dateien wurden hinzugefügt.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d alter Datenbankeintrag wurde entfernt.\n"
 msgstr[1] "%d alte Datenbankeinträge wurden entfernt.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Keine Datenbanken erstellt."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "Die Handbuchpfad-Konfigurationsdatei %s kann nicht ausgewertet werden."
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "Warnung: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "Warnung: %s ist kein Verzeichnis"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "Handbuchpfad-Liste zu lang"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "Warnung: $PATH nicht gesetzt"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "Warnung: $PATH ist leer"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "Warnung: $MANPATH ist gesetzt, füge vorn %s an"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "Warnung: $MANPATH ist gesetzt, hänge %s an"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "Warnung: $MANPATH ist gesetzt, füge %s ein"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "Warnung: $MANPATH ist gesetzt, ignoriere %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "Verzeichnisliste »%s« kann nicht verarbeitet werden"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "Handbuchpfad-Konfigurationsdatei %s kann nicht geöffnet werden"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "Warnung: erforderliches Verzeichnis %s existiert nicht"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "momentanes Verzeichnis kann nicht festgestellt werden"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "Warnung: %s fängt nicht mit %s an"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "relative »cat«-Pfade anzeigen"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "den gesamten globalen Handbuchpfad (MANPATH) anzeigen"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "Warnung: Keine globalen Handbuchpfade (MANPATH) in Konfigurationsdatei %s "
 "gesetzt"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "Warnung: %s ist eine freihängende symbolische Verknüpfung"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "%s kann nicht aufgelöst werden"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Handbuchseiten ohne »cat«-Dateien in %s werden gesucht ...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "Warnung: Indexcache %s kann nicht aktualisiert werden"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s bezieht sich auf sich selbst"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "SCHLÜSSELWORT ..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "Die »--regex«-Option ist standardmäßig aktiviert."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "ausführliche Warnmeldungen anzeigen"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "jedes Schlüsselwort als RegEx interpretieren"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "mit jedem Schlüsselwort nach exakten Treffern suchen"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "das bzw. die Schlüsselwort(e) enthalten Platzhalter"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "alle Schlüsselwörter müssen übereinstimmen"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "Ausgabe nicht an Terminalbreite anpassen"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "nur diese Abschnitte durchsuchen (durch Doppelpunkte getrennt)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "Locale für diese Suche definieren"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s was bitte?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "Warnung: %s enthält zyklische Verweise"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(unbekanntes Thema)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nichts passendes.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: ».so«-Anfragen sind zu tief verschachtelt oder rekursiv"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: Warnung: ».so«-Anfrage fehlgeschlagen"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: Warnung: Zeilenumbruch in ».so«-Anfrage; ignoriert"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: Warnung: falsch formatierte ».lf«-Anfrage; ignoriert"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: Warnung: Zeilenumbruch in ».lf«-Anfrage; ignoriert"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: nicht geschlossene Anführungszeichen in »roff«-Anfrage"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "Kompatibilitätsparameter (ignoriert)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "Handbuchpfad-Liste zu lang"
+
 # (mes) NEU
 #~ msgid "can't restore previous working directory"
 #~ msgstr "Vorheriges Arbeitsverzeichnis kann nicht wiederhergestellt werden."
index 11698db..5073d87 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.8.0-pre2\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2018-06-05 23:10-0300\n"
 "Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -19,59 +19,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "ne eblas difini la faktan uid"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "la man-uzanto kun setuid \"%s\" ne ekzistas"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "ne eblas apliki chown %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "neriparebla: regex '%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "plur-ŝlosilo %s ne ekzistas"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "ne eblas ŝlosi la indeksan kaŝmemoron %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "la indeksa kaŝmemoro %s fuŝas"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "ne eblas anstataŭigi la ŝlosilon %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "nur %d kampo en enhavo"
 msgstr[1] "nur %d kampoj en enhavo"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "malĝusta havigo per plur-ŝlosilo %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "La datumbazon %s fuŝas; rekonstruu per mandb --create"
@@ -91,64 +86,64 @@ msgstr "averto: %s estas versio %s, ni atendas %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "neripareble: ne eblas enmeti versi-identiganton en %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MAN-DATUMBAZO]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "La man-datumbazo apriore estas %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "sendi rafinigajn mesaĝojn"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "ne eblas malfermi %s por legi"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SEKCIO...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "VOJO"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "difini serĉvojo por manlibraj paĝoj al VOJO"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "DOSIERO"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "uzi tiun ĉi uzant-agorda dosiero"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "komando man fiaskis kun elir-stato %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "ne eblas legi la datumbazon %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "Enhavo NULL por ŝlosilo: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,116 +152,121 @@ msgstr ""
 "\n"
 "Ĝisdatigo de cat-dosieroj por sekcio %s de man-hierarkio %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "ne eblas skribi ene de %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "Ne eblas ĝisdatigi %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "averto: %s/man%s/%s.%s*: konkurantaj sufiksoj"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "ne eblas ĝisdatigi la indeksan kaŝmemoron %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "averto: %s: malĝusta symlink aŭ peto de ROFF '.so'"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "averto: %s: ni preteratentas malplenan dosieron"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "averto: %s: analizo de whatis por %s(%s) fiaskis"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "ne eblas serĉi la dosierujon %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "ne eblas apliki chown %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "averto: ne eblas krei la catdir %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "ne eblas apliki chmod %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "ne eblas ŝanĝi al la dosierujo %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "ne eblas krei la indeksan kaŝmemoron %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Ĝisdatigo de indeksa kaŝmemoro por la vojo '%s/%s'. Atendu..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "farite.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Viŝo de malnovaj datumbazaj enigoj en %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "averto: fiasko dum konservo de elemento por %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "averto: %s: ni preteratentas aĉan dosiernomon"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "VOJO SEKCIO NOMO"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "SUFIKSO"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "limigi serĉon al la sufiksa tipo SUFIKSO"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "serĉi paĝojn sen-usklece (aprioras)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "serĉi paĝojn usklece"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "interpreti paĝ-nomon kiel regulesprimon"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "la paĝ-nomo enhavas ĵokerojn"
 
@@ -277,193 +277,193 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "averto: whatis por %s troigas %d bajton, ni tranĉas."
 msgstr[1] "averto: whatis por %s troigas %d bajtojn, ni tranĉas."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "ne eblas malfermi %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "DOSIERO..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "La aprioroj estas --man kaj --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "analizi kiel man-paĝo"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "analizi kiel cat-paĝo"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "montri informon de whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "montri supozitan serion da antaŭprocezaj filtriloj"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "ENKODIGO"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "uzi la elektitan eligan enkodigon"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: nekongruaj modifiloj"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "komando ĉesis kun stato %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SEKCIO] PAĜO..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "redifini ĉiujn modifilojn al iliaj aprioraj valoroj"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "AVERTOJ"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "ebligi avertojn el groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Ĉefaj reĝimoj de operacio:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "samfunkcia al whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "samfunkcia al apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "serĉi tekston en ĉiuj paĝoj"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "montri fizikan lokon de man-paĝo(j)"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "montri fizikan lokon de cat-dosiero(j)n"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interpreti argumento(j)n de PAĜO kiel loka(j)n dosiernomo(j)n"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "uzata de catman por restrukturigi malaktualajn cat-paĝojn"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "eligi font-paĝon enkoditan laŭ ENKODIGO"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Trovo de manlibraj paĝoj:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOKAĴARO"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "difini la lokaĵaron por tiu ĉi specifa serĉo de man"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SISTEMO"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "uzi manlibrajn paĝojn el aliaj sistemoj"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTO"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "uzi dupunkto-apartitan sekcio-liston"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "montri ĉiujn paĝojn kongruajn al regulesprimo"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "montri ĉiujn paĝojn kongruajn al ĵokero"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "igi ke --regex kaj --wildcard kongruu nur al paĝ-nomoj, ne al priskriboj"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "trovi ĉiujn kongruajn manlibrajn paĝojn"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "devigi kontrolon pri kaŝmemora kohero"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "ne provi subpaĝojn, ekz 'man foo bar' => 'man foo-bar'"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Regado de strukturita eligo:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAĜILO"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "uzi la programon PAĜILO por montri eligon"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "ĈENO"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "provizi komandinviton al la paĝilo 'less'"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "montri mapigon ASCII por kelkaj signoj latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "malaktivigi vorto-dividon"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "malaktivigi ĝisrandigon"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -473,34 +473,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "uzi %s por strukturigi paĝojn"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "APARATO"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "uzi %s kun elektita aparato"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "FOLIUMILO"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "uzi %s aŭ FOLIUMILO por montri eligon HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "DISTINGIVO"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -508,81 +508,81 @@ msgstr ""
 "uzi groff kaj montri per gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "uzi groff kaj devigi ĝin produkti ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Neniu manlibra elemento por %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Alternative, kiun manlibran paĝon vi volas el sekcio %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Kiun manlibran paĝon vi volas?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Neniu manlibra elemento por %s en sekcio %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Konsultu '%s' por helpo kiam manlibraj paĝoj ne disponeblas.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "ni preteratentas nekonatan antaŭprocezilon '%c'"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "ne eblas renomigi %s al %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "ne eblas difini horon en %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "ne eblas forigi %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "ne eblas krei provizoran cat por %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "ne eblas krei provizoran dosierujon"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "ne eblas malfermi la provizoran dosieron %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "ne eblas forigi la dosierujon %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- sekva: %s [ vidi (enigklavo) | salti (Ctrl-D) | eliri (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -591,27 +591,27 @@ msgstr ""
 "\n"
 "ne eblas skribi al %s sub reĝimo catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Ne eblas konverti %s al cat-nomo"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: fini je whatis refs estas malrekomendinde\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "komando mandb fiaskis kun elir-stato %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "interna eraro: kanditata tipo %d estas for de intervalo"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Manlibra paĝo "
 
@@ -624,345 +624,343 @@ msgstr "ne eblas skribi al la ĉefeligujo"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: nekompleta signo ĉe fino de bufro"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f KODO[:...] -t KODO [DOSIERNOMO]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "KODO[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "eblaj enkodigoj de la originala teksto"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "KODO"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "enkodigo por eligo"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "produkti malpli da avertoj"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "devas indiki enigan enkodigon"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "devas indiki eligan enkodigon"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MAN-VOJO]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "labori kviete, krom por averto pri 'aĉeco'"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "ne serĉi aŭ aldoni perditajn dosierojn cat al la dbs"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "ne forpurigi malaktualajn elementojn el la dbs"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "produkti nur datumbazojn de uzantoj"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "krei datumbazon elkomence, prefere ol ĝisdatigante"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "kontroli korektecon de manlibraj paĝoj"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "DOSIERNOMO"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "ĝisdatigi nur la elementon por tiu ĉi dosiernomo"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "ne eblas forigi %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "ne eblas skribi al %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "ne eblas legi el %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Procezado de manlibraj paĝoj sub %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Forigado de malaktuala cat-dosierujo %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "averto: neniu instrukcio MANDB_MAP en %s, ni uzas vian man-vojon"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d man-subdosierujo enhavis pli novajn manlibrajn paĝojn.\n"
 msgstr[1] "%d man-subdosierujoj enhavis pli novajn manlibrajn paĝojn.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d manlibra paĝo estis aldonata.\n"
 msgstr[1] "%d manlibraj paĝoj estis aldonataj.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d perdita cat estis aldonata.\n"
 msgstr[1] "%d perditaj cat estis aldonataj.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d malnova datumbaza elemento estis forpurigata.\n"
 msgstr[1] "%d malnovaj datumbazaj elementoj estis forpurigataj.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Neniu datumbazo estis kreata."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "ne eblas kompreni la man-vojan agordan dosieron %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "averto: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "averto: %s ne estas dosierujo"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "man-voja listo tro longas"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "averto: $PATH ne estas difinita"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "averto: malplena $PATH"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "averto: $MANPATH estas difinita, ni antaŭmetas %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "averto: $MANPATH estas difinita, ni postmetas %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "averto: $MANPATH estas difinita, ni enmetas %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "averto: $MANPATH estas difinita, ni preteratentas %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "ne eblas analizi dosierujan liston '%s'"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "ne eblas malfermi la man-vojan agordan dosieron %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "averto: la deviga dosierujo %s ne ekzistas"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "ne eblas determini la nunan dosierujon"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "averto: %s ne komenciĝas per %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "montri relativajn cat-vojojn"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "montri la tutan mallokan man-vojon"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "averto: neniu malloka man-vojo estas difinita en la agorda dosiero %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "averto: %s estas sentrafa simbol-ligilo"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "ne eblas solvi %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Kontrolo pri perditaj cat sub %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "averto: ne eblas ĝisdatigi la indeksan kaŝmemoron %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s estas mem-referenca"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "ŜLOSILVORTO..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "La modifilo --regex estas ebligita apriore."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "montri detaligajn avertajn mesaĝojn"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "interpreti ĉiun ŝlosilvorton kiel regulesprimon"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "serĉi ĉiun ŝlosilvorton por entuta kongruo"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "la ŝlosilvorto(j) enhavas ĵokerojn"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "postuli ke ĉiuj ŝlosilvortoj kongruu"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "ne adapti eligon al la terminala larĝo"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "serĉi nur tiujn ĉi sekciojn (dupunkt-apartite)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "difini la lokaĵaron por tiu ĉi serĉo"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s kio?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "averto: %s enhavas adresmontrilan ciklon"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(nekonata temo)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nenio taŭga.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: petoj .so estas nestitaj tro profunde aŭ estas rekursigaj"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: averto: peto .so fiaskis"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: averto: novlinio en peto .so, ni preteratentas"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: averto: misformita peto .lf, ni preteratentas"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: averto: novlinio en peto .lf, ni preteratentas"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: nefinigita citilo en peto roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "kongrueca aktivigilo (preteratentita)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "man-voja listo tro longas"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "ne eblas restarigi antaŭan kurantan dosierujon"
 
index a9371c5..3bdbf77 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.8.0-pre2\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2018-02-27 15:52+0100\n"
 "Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
 "Language-Team: Spanish <es@tp.org.es>\n"
@@ -19,59 +19,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 2.0.6\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "no se puede asignar el uid efectivo"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "el usuario setuid a man «%s» no existe"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "no se puede cambiar propietario con chown %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "error fatal: regex `%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "la clave múltiple %s no existe"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "no se puede bloquear el caché de índices %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "caché de índices %s corrompido"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "no se puede reemplazar la clave %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "únicamente en %d campo en el contenido"
 msgstr[1] "únicamente en %d campos en el contenido"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "no se ha obtener en clave múltiple %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Base de datos %s corrompida; reconstrúyala con mandb --create"
@@ -91,64 +86,64 @@ msgstr "aviso: %s tiene la versión %s, aunque se esperaba %s.\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatal: no se puede insertar identificador de versión dentro de %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MAN BASEDATOS]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "La base de datos predeterminadoa a %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "emite mensajes de depuración"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "no se puede abrir %s para leer"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SECCIÓN...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "RUTA"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "establece ruta de búsqueda para páginas del manual a ruta PATH"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "FICHERO"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "emplee este fichero de configuración de usuario"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "orden man fallada con estado de salida %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "no se puede leer la base de datos %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "Contenido NULO para clave: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,116 +152,121 @@ msgstr ""
 "\n"
 "Actualizando los ficheros cat para la sección %s de la jerarquía de man %s.\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "no se puede escribir en %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "incapaz de actualizar %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "aviso: %s/man%s/%s.%s*: extensiones en conflicto"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "no se puede actualizar el caché de índices %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "aviso: %s: enlace simbólico o solicitud `.so' de ROFF defectuoso"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "aviso: %s: ignorando fichero vacío"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "aviso: %s: ha fallado la exploración de whatis para %s(%s)"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "no se puede buscar en el directorio %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "no se puede cambiar propietario con chown %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "aviso: no se pudo crear directorio para «cat» %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "no se puede ejecutar el chmod %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "no se puede cambiar al directorio %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "no se puede crear el caché de índices %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Actualizando el caché de índices para la ruta `%s/%s'. Aguarde..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "terminado.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Purgando entradas antiguas en la base de datos en %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "aviso: ha fallado al almacenar entrada para %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "aviso: %s: ignorando nombre espurio de fichero"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "NOMBRE SECCIONAL ENRUTADO"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "EXTENSIÓN"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "búsqueda limitada para tipo de extensión EXTENSION"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "busca páginas no distinguible de mayúsculas (predeterminado)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "busca páginas distinguiendo mayúsculas"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "interpreta nombre de página como un expreg"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "el nombre de la página contiene comodines"
 
@@ -277,194 +277,194 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "aviso: whatis para %s excede de %d byte, truncando."
 msgstr[1] "aviso: whatis para %s excede de %d bytes, truncando."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "no se puede abrir %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "FICHERO..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Los predeterminados son --man y --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "interpreta como página man"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "interpreta como página cat"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "muestra información whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "muestra series adivinadas de filtros de preprocesado"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "CODIFICACIÓN"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "emplee salida codificada seleccionada"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: opciones incompatibles"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "la orden salió con estado %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SECCIÓN] PÁGINA..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "restablece todas las opciones a sus valores predeterminados"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "AVISO"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "activa avisos desde groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Modos principales de operación:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "equivalente a whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "equivalente a propósito"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "busca para texto dentro de todas las páginas"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "escribe localización física de página(s) man"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "escribe localización física de fichero(s) cat"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interpreta argumento(s) PAGE como nombre(s) de fichero(s) local(es)"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "empleado por catman para reformatear fuera de fechas de páginas cat"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "página origen codificada por salida en codificación ENCODING"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Encontrando páginas del manual:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOCALE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "define la localización para esta búsqueda de man particular"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTEM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "emplea páginas del manual desde otros sistemas"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTADO"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "emplea el punto y coma separando lista de sección"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "muestra todas las páginas coincidentes con expreg"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "muestra todas las páginas coincidentes con comodín"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "make --regex y --wildcard coincide nombres de página exclusiva, no "
 "descripciones"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "encuentra todas las páginas del manual coincidentes"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "fuerza una comprobación de caché consistente"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "no intenta subpáginas, p. e. 'man foo bar' → 'man foo-bar'"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Controlando formateado de salida:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGINADOR"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "emplea paginador PAGER de programa para enseñar la salida"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "CADENA TEXTUAL"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "proporciona el paginador «less» con una petición"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "enseña traslado de ASCII de ciertos caracteres latín1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "apaga guión"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "apaga justificación"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -474,34 +474,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "emplee %s para formato de páginas"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "DISPOSITIVO"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "emplee %s con dispositivo seleccionado"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "EXPLORADOR"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "emplea %s o explorador BROWSER para enseñar salida HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUCIÓN"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -509,82 +509,82 @@ msgstr ""
 "emplea groff y enseña a través de gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "utiliza groff y lo fuerza para producir ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Ninguna entrada del manual para %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr ""
 "(Alternativamente, ¿cual página de manual quiere desde la sección %s?\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "¿Qué página del manual desea?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Ningún registro del manual para %s en sección %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Vea «%s» para ayudar cuando las páginas man no estén disponibles.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "se ignora el preprocesador desconocido «%c»"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "no se puede renombrar %s a %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "no se puede establecer hora en %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "no se puede desenlazar %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "no puede crear flujo cat temporal para %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "no puede crear un directorio temporal"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "no puede abrir temporalmente el fichero %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "no se puede quitar el directorio %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- próxima: %s [ ver (return) | siguiente (Ctrl-D) | salir (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -593,27 +593,27 @@ msgstr ""
 "\n"
 "no se puede escribir en %s en modo catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "No se puede convertir %s a un nombre de tipo cat"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: depender de las referencias de whatis está en desuso.\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "orden mandb fallada con estado de salida %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "error interno: tipo candidato %d fuera del rango"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Página de manual "
 
@@ -626,109 +626,109 @@ msgstr "no puede escribir por salida común"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: carácter incompleto al final del búfer"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CÓDIGO[:...] -t CÓDIGO [NOMBREFICHERO]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CÓDIGO[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "posible codificaciones de texto original"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CÓDIGO"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "codificando para salida"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "produce menos advertencias"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "debe especificar una codificación de entrada"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "debe específicamente una codificación de salida"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[RUTAMAN]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "funciona silenciosamente, excepto para avisos 'espúreos'"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "no buscar o añadir bandeja de car para la bbdd"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "no purgar entradas obsoletas desde las bbdd"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "produce solo bases de datos del usuario"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "crea bbdd desde restos mejor que actualizando"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "comprueba páginas de manual para corrección"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "NOMBREFICHERO"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "actualiza tan solo la entrada para este nombre de fichero"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "no se puede quitar %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "no puede escribir a %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "no puede leer desde %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Procesando las páginas de manual bajo %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Quitando el directorio cat obsoleto %s...\n"
 
 # manpath es algo específico, debe estar presente. nl
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "aviso: no hay directivas MANDB_MAP en %s, se utilizará su ruta man (manpath)"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -737,14 +737,14 @@ msgstr[0] ""
 "\n"
 msgstr[1] "%d subdirectorios man contenían páginas de manual más recientes.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d página del manual fue añadida.\n"
 msgstr[1] "%d páginas del manual fueron añadidas.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
@@ -753,226 +753,224 @@ msgstr[1] ""
 "%d bandejas cat fueron añadidas.\n"
 "\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "Se han eliminado %d entrada antigua en la base de datos.\n"
 msgstr[1] "Se han eliminado %d entradas antiguas en la base de datos.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Ninguna base de datos creada."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "no se puede comprender el fichero de configuración %s de rutas de man"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "aviso: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "aviso: %s no es un directorio"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "listado de ruta manpath demasiado larga"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "aviso: $PATH no asignada"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "aviso: ruta $PATH vacía"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "aviso: el conjunto $MANPATH, se antepondrá %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "aviso: $MANPATH asignada, agregando %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "aviso: $MANPATH asignada, insertando %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "aviso: $MANPATH asignada, ignorando %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "no se puede interpretar la lista de directorios «%s»"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "no se puede abrir el fichero de configuración de rutas de man %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "aviso: directorio obligatorio %s no existe"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "no se puede determinar el directorio actual"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "aviso: %s no comienza con %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "muestra rutas catpath relativas"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "muestra la ruta manpath global completa"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "aviso: no se han asignado rutas man globales dentro del fichero de "
 "configuración %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "aviso: %s es un enlace simbólico cuyo destino no existe"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "no puede resolver %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Controlando si hay páginas cat sin fuentes bajo %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "aviso: no se pudo actualizar el caché de índices %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s está referenciado a sí mismo"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "PALABRACLAVE..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "La opción --regex está activada por defecto."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "escribe mensajes de advertencia detallados"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "interpreta cada palabra clave como una expreg"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "busca cada palabra clave por coincidente exacto"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "la(s) palabra(s) clave(s) contienen comodines"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "requiere todas las palabras claves a coincidir"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "no cortar salida para ancho del terminal"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "busca solo estas secciones (separados por dos puntos)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "define la localización para esta búsqueda"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s ¿qué?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "aviso: %s contiene un bucle de puntero"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(asunto desconocido)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nada apropiado.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: .so solicita anidado demasiado profunda o son recursivas"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: aviso: petición .so fallada"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: advertencia: línea nueva dentro de petición .so, ignorando"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: aviso: petición .lf mal formada, ignorandando"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: aviso: nuevo línea en petición -lf, ignorando"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: comilla indeterminada en petición roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "interruptor de compatibilidad (ignorado)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "listado de ruta manpath demasiado larga"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "no se puede restaurar el anterior directorio de trabajo"
 
index 0f66fa4..afef597 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.0-pre1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2015-07-28 21:52+0300\n"
 "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -18,59 +18,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 1.8.3\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "voimassaolevaa UID:ta ei voi asettaa"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr ""
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr ""
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr ""
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr ""
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr ""
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr ""
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr ""
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] ""
 msgstr[1] ""
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr ""
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr ""
@@ -91,181 +86,186 @@ msgstr ""
 msgid "fatal: unable to insert version identifier into %s"
 msgstr ""
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr ""
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr ""
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr ""
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr ""
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[OSIO...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "POLKU"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "aseta opastesivujen hakupoluksi POLKU"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "TIEDOSTO"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 #, fuzzy
 msgid "use this user configuration file"
 msgstr "opastepolkujen asetustiedostoa %s ei voi avata"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr ""
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "tietokantaa %s ei voi lukea"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr ""
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
 "Updating cat files for section %s of man hierarchy %s\n"
 msgstr ""
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr ""
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr ""
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr ""
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr ""
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr ""
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "varoitus: %s: ei huomioida tyhjää tiedostoa"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr ""
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr ""
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr ""
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr ""
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr ""
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr ""
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr ""
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr ""
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "valmis.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr ""
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr ""
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr ""
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr ""
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr ""
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr ""
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr ""
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr ""
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr ""
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "sivun nimi sisältää jokerimerkkejä"
 
@@ -276,333 +276,333 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr ""
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "TIEDOSTO..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr ""
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "jäsennä man-sivuna"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "jäsennä cat-sivuna"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "näytä whatis-tiedot"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "näytä arvattu sarja esikäsittelysuotimia"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "MERKISTÖ"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "käytä valittua tulosteen merkistöä"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, fuzzy, c-format
 msgid "%s: incompatible options"
 msgstr ": epäyhteensopivat valitsimet"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr ""
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[OSIO] SIVU..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "palauta kaikki valitsimet oletusarvoihinsa"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "VAROITUKSET"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr ""
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Päätoimintatilat:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "whatis-vastine"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "apropos-vastine"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "etsi tekstiä kaikilta sivuilta"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "näytä opastesivu(je)n fyysinen sijainti"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "näytä cat-sivu(je)n fyysinen sijainti"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "tulkitse SIVU-argumentti paikallisena tiedostonimenä"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr ""
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr ""
 
-#: src/man.c:296
+#: src/man.c:286
 #, fuzzy
 msgid "Finding manual pages:"
 msgstr " Opastesivu "
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr ""
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr ""
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "JÄRJESTELMÄ"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr ""
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr ""
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr ""
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr ""
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr ""
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr ""
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr ""
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr ""
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Muotoillun tulosteen hallinta:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr ""
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr ""
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "MERKKIJONO"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr ""
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr ""
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr ""
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr ""
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 msgstr ""
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr ""
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "LAITE"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr ""
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "SELAIN"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr ""
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUUTIO"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 msgstr ""
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr ""
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, fuzzy, c-format
 msgid "No manual entry for %s\n"
 msgstr "Sovellukselle %s ei ole opastesivua"
 
-#: src/man.c:612
+#: src/man.c:599
 #, fuzzy, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "Minkä opastesivun haluat osiosta %s?\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Minkä opastesivun haluat?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, fuzzy, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Sovellukselle %s ei ole opastesivua"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "ei huomioida tuntematonta esikäsittelintä \"%c\""
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr ""
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr ""
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr ""
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, fuzzy, c-format
 msgid "can't create temporary cat for %s"
 msgstr "varoitus: väliaikaistiedostoa %s ei voi luoda"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, fuzzy, c-format
 msgid "can't create temporary directory"
 msgstr "nykyistä hakemistoa ei voi määrittää"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, fuzzy, c-format
 msgid "can't open temporary file %s"
 msgstr "opastepolkujen asetustiedostoa %s ei voi avata"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr ""
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
 "cannot write to %s in catman mode"
 msgstr ""
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr ""
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr ""
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "mandb-komento epäonnistui paluuarvolla %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr ""
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Opastesivu "
 
@@ -615,347 +615,345 @@ msgstr "tiedostoon %s ei voi kirjoittaa"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: epätäydellinen merkki puskurin lopussa"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr ""
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr ""
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "alkuperäisen tekstin mahdolliset merkistöt"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr ""
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "tulosteen merkistö"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "tuota vähemmän varoituksia"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "syötteen merkistö on annettava"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "tulosteen merkistö on annettava"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr ""
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr ""
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr ""
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr ""
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr ""
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr ""
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr ""
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "TIEDOSTONIMI"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr ""
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "tiedostoa %s ei voi poistaa"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "tiedostoon %s ei voi kirjoittaa"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "tiedostosta %s ei voi lukea"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Käsitellään opastesivuja hakemistossa %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Poistetaan vanhentunut cat-hakemisto %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d man-alihakemisto sisälsi uudempia opastesivuja.\n"
 msgstr[1] "%d man-alihakemistoa sisälsi uudempia opastesivuja.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, fuzzy, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] " Opastesivu "
 msgstr[1] " Opastesivu "
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, fuzzy, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d jotain .. ööö.. kulkukissaa lisättiin.\n"
 msgstr[1] "%d jotain .. ööö.. kulkukissaa lisättiin.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, fuzzy, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d vanhaa tietokantamerkintää poistettiin.\n"
 msgstr[1] "%d vanhaa tietokantamerkintää poistettiin.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Tietokantoja ei luotu."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr ""
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "varoitus: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "varoitus: %s ei ole hakemisto"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "opastepolkujen luettelo on liian pitkä"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "varoitus: polkumuuttujaa $PATH ei ole asetettu"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "varoitus: tyhjä polkumuuttuja $PATH"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr ""
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "varoitus: $MANPATH asetettu, lisätään loppuun %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr ""
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr ""
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr ""
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "opastepolkujen asetustiedostoa %s ei voi avata"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "varoitus: välttämätön hakemisto %s ei ole olemassa"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "nykyistä hakemistoa ei voi määrittää"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "varoitus: %s ei ala merkkijonolla %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr ""
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr ""
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "varoitus: asetustiedostossa %s ei ole asetettu järjestelmänlaajuisia "
 "opastepolkuja"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "varoitus: %s on rikkinäinen symlinkki"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr ""
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr ""
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr ""
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s viittaa itseensä"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "AVAINSANA..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr ""
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr ""
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr ""
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr ""
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "avainsana(t) sisältävät jokerimerkkejä"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr ""
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "älä katkaise tulostetta päätteen leveyteen"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr ""
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr ""
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s mikä?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "varoitus: %s sisältää osoitinsilmukan"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(tuntematon aihe)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: ei mitään sopivaa.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr ""
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr ""
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr ""
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "yhteensopivuusvalitsin (jätetään huomiotta)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "opastepolkujen luettelo on liian pitkä"
+
 #, fuzzy
 #~ msgid "can't restore previous working directory"
 #~ msgstr "nykyistä hakemistoa ei voi määrittää"
index 705232b..49dbc67 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2016-12-23 19:34+0100\n"
 "Last-Translator: David Prévot <david@tilapin.org>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -20,59 +20,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1\n"
 "X-Generator: Lokalize 1.2\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "impossible de positionner le propriétaire (UID) effectif"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "l'utilisateur man privilégié (setuid) « %s » n'existe pas"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "impossible de changer le propriétaire de %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "erreur fatale : expression rationnelle « %s » : %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "la clef multiple %s n'existe pas"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "impossible de verrouiller le cache d'index %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "le cache d'index %s est endommagé"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "impossible de remplacer la clef %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "il n'y a qu'un champ dans le contenu"
 msgstr[1] "il n'y a que %d champs dans le contenu"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "mauvais accès sur la clef multiple %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "La base %s est corrompue, reconstruisez-la avec mandb --create"
@@ -92,64 +87,64 @@ msgstr "attention : %s a pour version %s au lieu de %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "erreur fatale : impossible d'insérer l'identifiant de version dans %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[BASE DE DONNÉES DE MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "La base de données par défaut est %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "affichage des messages de débogage"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "impossible d'ouvrir %s en lecture"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SECTION...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "CHEMIN"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "configure le chemin de recherche des pages de manuel à CHEMIN"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "FICHIER"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "utilise ce fichier de configuration utilisateur"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "la commande man a échoué avec %d comme code de retour"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "impossible de lire la base de données %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "contenu vide (NULL) pour la clef : %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -158,116 +153,121 @@ msgstr ""
 "\n"
 "Mise à jour des fichiers préformatés pour la section %s de %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "impossible d'écrire dans %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "impossible de mettre %s à jour"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "attention : %s/man%s/%s.%s* : extensions en conflit"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "impossible de mettre à jour le cache d'index %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "attention : %s : lien symbolique ou directive ROFF « .so » incorrect"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "attention : %s : fichier vide ignoré"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "attention : %s : la recherche de whatis sur %s(%s) a échoué"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "impossible de chercher dans le répertoire %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "impossible de changer le propriétaire de %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "attention : impossible de créer le répertoire de pages préformatées %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "impossible de changer les droits de %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "impossible d'aller dans le répertoire %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "impossible de créer le cache d'index %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Mise à jour du cache d'index pour le chemin « %s/%s ». Attendez…"
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "terminé.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Effacement des entrées inutiles de %s en cours…\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "attention : impossible de stocker l'entrée pour %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "attention : %s : nom de fichier erroné, ignoré"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "CHEMIN SECTION NOM"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "EXTENSION"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "limite la recherche aux extensions EXTENSION"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "recherche les pages sans distinguer la casse (par défaut)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "recherche les pages en distinguant la casse"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "considère le nom de page comme une expression rationnelle"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "le nom de page contient des caractères joker"
 
@@ -278,196 +278,196 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "attention : whatis pour %s dépasse d'un octet, excédent tronqué."
 msgstr[1] "attention : whatis pour %s dépasse de %d octets, excédent tronqué."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "FICHIER..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Les options par défaut sont --man et --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "lit les fichiers en tant que pages de manuel"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "lit les fichiers en tant que pages préformattées"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "affiche les renseignements comme whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "affiche la liste supposée des filtres de pré-traitement"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "ENCODAGE"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "utilise l'encodage d'affichage choisi"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s : options incompatibles"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "commande terminée avec %d comme code de retour : %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SECTION] PAGE..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "réinitialise les valeurs par défaut des options"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "AVERTISSEMENTS"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "active les avertissements de groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Modes opératoires principaux :"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "équivalent à whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "équivalent à apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "recherche le texte dans toutes les pages"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "affiche l'emplacement des pages du manuel"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "affiche l'emplacement des fichiers « cat »"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interprète l'argument PAGE comme un nom de fichier"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "utilisé par catman pour reformater les pages trop vieilles"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "affiche le code source converti en ENCODAGE"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Recherche des pages de manuel :"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOCALE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "définit la locale pour cette recherche de manuel"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTÈME"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "utilise les pages de manuel d'autres systèmes"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTE"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "utilise la liste des sections séparées par des deux-points"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "montre toutes les pages correspondant à l'expression rationnelle"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "montre toutes les pages correspondant au caractère joker"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "correspond seulement aux noms de pages avec --regex et --wildcard, pas aux "
 "descriptions"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "trouve toutes les pages correspondantes"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "force une vérification de cohérence du cache"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr ""
 "ne prend pas en compte les sous-commandes, par exemple « man truc bidule » "
 "=> « man truc-bidule »"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Contrôle du format d'affichage :"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "AFFICHEUR"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "utilise de programme AFFICHEUR pour l'affichage"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "CHAÎNE"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "donne une chaîne d'invite à « less »"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "affiche un équivalent ASCII de certains caractères latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "désactive la césure"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "désactive la justification"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -477,34 +477,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "utilise %s pour formater les pages"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "PÉRIPHÉRIQUE"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "utilise %s avec le périphérique sélectionné"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "NAVIGATEUR"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "utilise %s ou NAVIGATEUR pour l'affichage HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RÉSOLUTION"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -512,84 +512,84 @@ msgstr ""
 "utilise groff et affiche avec gditview (X11) :\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "utilise groff en le forçant à produire ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Aucune entrée de manuel pour %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Sinon, quelle page de manuel de la section %s voulez-vous ?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Quelle page de manuel voulez-vous ?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Aucune entrée de manuel pour %s en section %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 "voir « %s » pour obtenir de l'aide quand les pages de manuel ne sont pas "
 "disponibles.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "le préprocesseur « %c » est inconnu et ignoré"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "impossible de renommer %s en %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "impossible de changer la date de %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "impossible de supprimer %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "impossible de créer une page « cat » temporaire pour %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "impossible de créer le répertoire temporaire"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "impossible d'ouvrir le fichier temporaire %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "impossible de supprimer le répertoire %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- prochain : %s [ voir (entrée) | passer (Ctrl-D) | quitter (Ctrl-"
 "C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -598,28 +598,28 @@ msgstr ""
 "\n"
 "impossible d'écrire vers %s en mode catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Impossible de convertir %s en nom de page préformatée"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr ""
 "%s : il est conseillé de ne plus se baser sur les références de whatis\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "la commande mandb a échoué avec le code de retour %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "erreur interne : le type candidat %d est hors de portée"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Page de manuel "
 
@@ -632,351 +632,349 @@ msgstr "impossible d'écrire vers la sortie standard"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv : caractère incomplet en fin de tampon"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CODE[:...] -t CODE [NOM_DE_FICHIER]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CODE[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "encodages possibles du texte d'origine"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CODE"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "encodage de l'affichage"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "crée moins d'avertissements"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "l'encodage d'entrée doit être précisé"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "l'encodage de sortie doit être précisé"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANPATH]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "n'affiche rien à part les avertissement de dysfonctionnement"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "ne cherche ni n'ajoute de fichiers « cat » parasites dans la base"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "ne supprime pas les entrées obsolètes de la base"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "produit seulement les bases utilisateur"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "crée les bases du début plutôt qu'une mise à jour"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "vérifie la validité des pages de manuel"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "NOM_DE_FICHIER"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "met seulement à jour l'entrée correspondant à ce nom de fichier"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "impossible de supprimer %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "impossible d'écrire dans %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "impossible de lire à partir de %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Traitement des pages du manuel sous %s…\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Suppression du répertoire « cat » obsolète %s…\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "attention : aucune directive MANDB_MAP dans %s, votre fichier manpath est "
 "utilisé"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "Un sous-répertoire de manuel contient de nouvelles pages.\n"
 msgstr[1] "%d sous-répertoires de manuel contiennent de nouvelles pages.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "Une page de manuel a été ajoutée.\n"
 msgstr[1] "%d pages de manuel ont été ajoutées.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "Une page sans source a été ajoutée.\n"
 msgstr[1] "%d pages sans source ont été ajoutées.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "Une entrée inutile de la base a été supprimée.\n"
 msgstr[1] "%d entrées inutiles de la base ont été supprimées.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Aucune base de données créée."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "le fichier de configuration de manpath %s est bizarre"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "attention : %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "attention : %s n'est pas un répertoire"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "la liste de manpath est trop longue"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "attention : la variable $PATH n'est pas positionnée"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "attention : la variable $PATH est vide"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr ""
 "attention : la variable $MANPATH est positionnée, elle est précédée de %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr ""
 "attention : la variable $MANPATH est positionnée, elle est suivie de %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "attention : la variable $MANPATH est positionnée, %s est inséré"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "attention : la variable $MANPATH est positionnée, %s est ignoré"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "impossible de parcourir la liste de répertoire « %s »"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "impossible d'ouvrir le fichier de configuration de manpath %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "attention : le répertoire requis %s n'existe pas"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "impossible de déterminer quel est le répertoire courant"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "attention : %s ne commence pas par %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "affiche les chemins d'accès relatifs aux pages «\\ cat\\ »"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "affiche les chemins complets de pages de manuel"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "attention : aucun chemin de pages de manuel dans le fichier de configuration "
 "%s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "attention : %s est un lien symbolique flottant"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "impossible de résoudre %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Recherche des fichiers préformatés sans sources sous %s…\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "attention : impossible de mettre à jour le cache d'index %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s s'auto-référence"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "MOT-CLEF..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "L'option --regex est activée par défaut. "
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "affiche des messages d'avertissement étendus"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "interprète chaque mot-clef comme une expression régulière"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "recherche une correspondance exacte de chaque mot-clef"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "les mots-clefs contiennent des jokers"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "tous les mots-clefs doivent correspondre"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "ne réduit pas l'affichage à la largeur du terminal"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "recherche limitée à ces sections (séparées par des deux-points)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "définit la locale pour cette recherche"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s comment ?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "attention : %s contient une référence circulaire"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(sujet inconnu)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s : rien d'adéquat\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d : requêtes .so imbriquées trop profondément ou récursivement"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: attention : requête .so échouée"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: attention : retour à la ligne dans une requête .so, ignorée"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: attention : anomalie dans la requête .lf , ignorée"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: attention : retour à la ligne dans une requête .lf, ignorée"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: guillemet non fermé dans une requête roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "changement de compatibilité (ignoré)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "la liste de manpath est trop longue"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "impossible de restaurer le répertoire de travail précédent"
 
index 57ffa5c..c84515f 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.6.6-pre2\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2014-08-10 19:00+0700\n"
 "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -17,59 +17,54 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "tidak dapat menset uid efektif"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "setuid pengguna man \"%s\" tidak ada"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "tidak dapat chown %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "fatal: regex `%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "multi kunci %s tidak ada"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "tidak dapat mengunci persediaan indeks %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "persediaan indeks %s tidak lengkap"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "tidak dapat menggantikan kunci %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "hanya bagian %d ada dalam isi"
 msgstr[1] "hanya bagian %d ada dalam isi"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "pengambilan buruk di multi kunci %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Basis data %s terkorupsi; membuat kembali dengan mandb --create"
@@ -89,64 +84,64 @@ msgstr "peringatan: %s  memiliki versi %s, diduga %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatal: tidak dapat memasukan pengidentifikasi versi kedalam %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[BASIS DATA MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "Basis data man baku ke %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "keluarkan pesan penelusuran"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "tidak dapat membuka %s untuk pembacaan"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[BAGIAN...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "JALUR"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "tentukan jalur pencarian untuk halaman buku panduan ke JALUR"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "BERKAS"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "gunakan berkas konfigurasi pengguna ini"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "perintah man gagal dengan status keluar %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "tidak dapat membaca basis data %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "isi KOSONG untuk kunci: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -155,116 +150,121 @@ msgstr ""
 "\n"
 "Memperbarui berkas cat untuk bagian %s dari struktur man %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "tidak dapat menulis didalam %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "tidak dapat memperbarui %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "peringatan: %s/man%s/%s.%s*: ekstensi berkompetisi"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "tidak dapat mengupdate persediaan indeks %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "peringatan: %s: symlink buruk atau ROFF `.so' diminta"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "peringatan: %s: mengabaikan berkas kosong"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "peringatan: %s: whatis parse untuk %s(%s) gagal"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "tidak dapat mencari direktori %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "tidak dapat chown %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "peringatan: tidak dapat membuat catdir %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "tidak dapat chmod %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "tidak  dapat mengubah direktori %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "tidak dapat membuat persediaan indeks %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Memperbarui persediaan indeks untuk jalur `%s/%s'. Mohon tunggu..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "selesai.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Menghapus masukan basis data lama dalam %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "peringatan: gagal untuk menyimpan masukan untuk %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "peringatan: %s: mengabaikan nama berkas palsu"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "NAMA JALUR BAGIAN"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "EKSTENSI"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "batasi pencarian ke tipe ekstensi EKSTENSI"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "cari untuk halaman dengan tidak membedakan besar huruf (baku)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "cari untuk halaman dengan membedakan besar huruf"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "intepretasikan nama halaman sebagai sebuah regex"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "nama halaman berisi huruf bebas"
 
@@ -275,194 +275,194 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "peringatan: whatis untuk %s melebihi %d bytes, dipotong."
 msgstr[1] "peringatan: whatis untuk %s melebihi %d bytes, dipotong."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "tidak dapat membuka %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "BERKAS..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Baku adalah --man dan --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "parse sebagai halaman man"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "parse sebagai halaman cat"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "tampilkan informasi whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "tampilkan urutan terkaan dari preproses penyaring"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "PENGKODEAN"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "gunakan pengkodean keluaran yang dipilih"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: pilihan tidak kompatibel"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "perintah keluar dengan status %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[BAGIAN] HALAMAN..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "reset semua pilihan ke nilai bakunya"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "PERINGATAN"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "aktifkan peringatan dari groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Mode operasi utama:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "sama dengan whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "sama dengan apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "cari teks dalam seluruh halaman"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "tampilkan lokasi aktual dari halaman man"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "tampilkan lokasi aktual dari halaman cat"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interpretasikan HALAMAN argumen sebagai nama berkas lokal"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr ""
 "digunakan oleh catman untuk mereformat keluaran dari halaman tanggal cat"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "keluaran sumber halaman dikodekan dalam PENGKODEAN"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Mencari halaman manual:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOKAL"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "definisikan lokal untuk pencarian man ini"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SISTEM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "gunakan halaman manual dari sistem lain"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "DAFTAR"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "gunakan daftar bagian dipisahkan oleh kolon"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "tampilkan seluruh halaman yang cocok dengan regex"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "tampilkan seluruh halaman yang cocok dengan huruf bebas"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "buat pencocokan nama halaman --regex dan --wildcard saja, bukan deskripsi"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "cari seluruh halaman buku panduan yang cocok"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "paksa sebuah pemeriksaan konsistensi persediaan"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "jangan coba halaman dalam, contoh 'man foo bar' => 'man foo-bar'"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Mengontrol keluaran terformat:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGER"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "gunakan aplikasi PAGER untuk menampilkan keluaran"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "STRING"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "sediakan pager `less' dengan sebuah prompt"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "tampilkan terjemahan ASCII dari beberapa karakter latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "non-aktifkan hyphenasi"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "non-aktifkan hyphenasi"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -472,34 +472,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "gunakan %s untuk memformat halaman"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "PERANGKAT"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "gunakan %s dengan perangkat yang dipilih"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "BROWSER"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "gunakan %s atau BROWSER untuk menampilkan keluaran HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUSI"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -507,84 +507,84 @@ msgstr ""
 "gunakan groff dan tampilkan melalui gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "gunakan groff dan paksa itu untuk menghasilkan ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Tidak ada masukan buku panduan untuk %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr ""
 "(Secara alternatif, halaman buku panduan mana yang anda inginkan dari bagian "
 "%s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Halaman buku panduan mana yang anda inginkan?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Tidak ada masukan buku panduan untuk %s dalam bagian%s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Lihat '%s' untuk bantuan ketika halaman manual tidak tersedia.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "mengabaikan preprosesor tidak dikenal `%c'"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "tidak dapat mengubah nama %s ke %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "tidak dapat menset waktu di %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "tidak dapat unlink %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "tidak dapat membuat cat sementara untuk %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "tidak dapat membuat direktori sementara"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "tidak dapat membuka berkas sementara %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "tidak dapat menghapus direktori %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- selanjutnya: %s [ lihat (return) | lewat (Ctrl-D) | berhenti (Ctrl-"
 "C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -593,27 +593,27 @@ msgstr ""
 "\n"
 "tidak dapat menulis ke %s dalam mode catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Tidak dapat mengubah %s ke nama cat"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: bergantung ke referensi whatis sudah ditinggalkan\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "perintah mandb gagal dengan status keluar %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "internal error: tipe kandidat %d diluar dari jangkauan"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Halaman buku panduan "
 
@@ -626,108 +626,108 @@ msgstr "tidak dapat menulis ke standar keluaran"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: karakter tidak lengkap di akhir dari penyangga"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f KODE[:...] -t KODE [NAMA BERKAS]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "KODE[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "pengkodean yang memungkinkan dari teks asli"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "KODE"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "pengkodean untuk keluaran"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "menghasilkan peringatan lebih sedikit"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "harus menspesifikasikan sebuah pengkodean masukan"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "harus menspesifikasikan sebuah pengkodean keluaran"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[JALUR MAN]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "bekerja secara halus, kecuali untuk peringatan 'palsu'"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "jangan mencari atau menambahkan cats menyimpang ke basis data"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "jangan menghapus masukan yang sudah ditinggalkan dari basis data"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "hanya menghasilkan basis data pengguna"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "membuat basis data dari serpihan, daripada memperbaruinya"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "memeriksa halaman buku panduan untuk kebenarannya"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "NAMA BERKAS"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "perbarui hanya masukan untuk nama berkas ini"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "tidak dapat menghapus %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "tidak dapat menulis ke %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "tidak dapat membaca dari %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Memproses halaman buku panduan dibawah %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Memeriksa untuk cats menyimpang dibawah %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "peringatan: tidak ada direktif MANDB_MAP dalam %s, menggunakan jalur man anda"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -738,238 +738,236 @@ msgstr[1] ""
 "%d man subdirektori berisi halaman buku panduan lebih baru. halaman buku "
 "panduan telah ditambahkan.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d Halaman buku panduan \n"
 msgstr[1] "%d Halaman buku panduan \n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d cats menyimpang telah ditambahkan.\n"
 msgstr[1] "%d cats menyimpang telah ditambahkan.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d masukan basis data lama telah dihapus.\n"
 msgstr[1] "%d masukan basis data lama telah dihapus.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Tidak ada basis data yang dibuat."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "tidak dapat menerima berkas konfigurasi manpath %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "peringatan: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "peringatan: %s bukan sebuah direktori"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "daftar manpath terlalu panjang"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "peringatan: $PATH belum diset"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "peringatan: $PATH kosong"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "peringatan: $MANPATH set, mengawali %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "peringatan: $MANPATH set, menambahkan %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "peringatan: $MANPATH set, memasukan %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "peringatan: $MANPATH set, mengabaikan %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "tidak dapat mengambil daftar direktori `%s'"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "tidak dapat membuka berkas konfigurasi manpath %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "peringatan: direktori wajib %s tidak ada"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "tidak dapat menentukan direktori sekarang"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "peringatan: %s tidak dimulai dengan  %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "tampilkan relative catpaths"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "tampilkan seluruh global manpath"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "peringatan: tidak ada global manpath diset dalam berkas konfigurasi %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "peringatan: %s adalah sebuah sambungan simbolik yang rusak"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "tidak dapat meresolf %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Memeriksa untuk cats menyimpang dibawah %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "peringatan: tidak dapat memperbarui persediaan indeks %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s adalah mereferensikan dirinya sendiri"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "KATA KUNCI..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "Pilihan --regex aktif secara baku."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "tampikan pesan peringatan bertele-tele"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "intepretasikan setiap kata kunci sebagai sebuah regex"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "cari setiap kata kunci untuk pencocokan yang tepat"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "kata kunci berisi huruf bebas"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "membutuhkan semua kata kunci untuk mencocokan"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "jangan trim keluaran ke lebar terminal"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "hanya cari di bagian ini"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "definisikan lokal untuk pencarian ini"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s apa?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "peringatan: %s berisi sebuah penunjuk loop"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(subjek tidak diketahui)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: tidak ada yang sesuai.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: permintaan .so nested terlalu dalam atau rekursif"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: peringatan: permintaan .so gagal"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: peringatan: baris baru dalam permintaan .so, diabaikan"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: peringatan: salah bentuk permintaan .lf, diabaikan"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: peringatan: baris baru dalam permintaan .lf, diabaikan"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: quote tidak terselesaikan dalam permintaan roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "pilihan untuk kompabilitas saja (diabaikan)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "daftar manpath terlalu panjang"
+
 #, fuzzy
 #~ msgid "can't restore previous working directory"
 #~ msgstr "tidak dapat membuat direktori sementara"
index b99e421..2798877 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.4.3\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2005-12-10 17:30+0100\n"
 "Last-Translator: Giuseppe Sacco <eppesuig@debian.org>\n"
 "Language-Team: Italian <tp@linux.it>\n"
@@ -16,59 +16,54 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "impossibile impostare lo uid effettivo"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "non esiste l'utente man con setuid \"%s\""
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "impossibile fare chown su %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "errore grave: regex \"%s\": %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "non esiste la chiave multipla %s"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "impossibile bloccare l'indice %s nella cache"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "indice %s della cache corrotto"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "impossibile rimpiazzare la chiave %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, fuzzy, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "trovati solo %d campi"
 msgstr[1] "trovati solo %d campi"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "fetch errato sulla chiave multipla %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Il database %s è corrotto; lo si ricrei con mandb --create"
@@ -88,65 +83,65 @@ msgstr "attenzione: %s ha versione %s, invece dell'attesa %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "errore grave: impossibile inserire l'identificatore di versione in %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr ""
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr ""
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr ""
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "impossibile aprire %s in lettura"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr ""
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr ""
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr ""
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr ""
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 #, fuzzy
 msgid "use this user configuration file"
 msgstr "impossibile aprire il file di configurazione dei percorsi man %s"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "comando man fallito con stato d'uscita %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "impossibile leggere il database %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "contenuto NULL per la chiave: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -155,117 +150,122 @@ msgstr ""
 "\n"
 "Aggiornamento dei file cat della sezione %s della gerarchia di manuali %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "impossibile scrivere all'interno di %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "impossibile aggiornare %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "attenzione: %s/man%s/%s.%s*: estensioni in conflitto"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "impossibile aggiornare l'indice %s della cache"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "attenzione: %s: link simbolico o richiesta ROFF \".so\" errato(a)"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "attenzione: %s: viene ignorato un file vuoto"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "attenzione: %s: analisi whatis per %s(%s) fallita"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "impossibile ricercare nella directory %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "impossibile fare chown su %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "attenzione: impossibile creare la directory %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "impossibile fare chmod su %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "impossibile posizionarsi nella directory %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "impossibile creare l'indice %s della cache"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr ""
 "Aggiornamento dell'indice della cache per il percorso \"%s/%s\". Attendere..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "fatto.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Rimozione delle vecchie voci di basi dati in %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "attenzione: c'è stato un errore memorizzando il dato %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "attenzione: %s: vengono ignorati i nomi di file fasulli"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr ""
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr ""
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr ""
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr ""
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr ""
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr ""
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr ""
 
@@ -276,308 +276,308 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "attenzione: whatis per %s eccede di %d byte, troncato."
 msgstr[1] "attenzione: whatis per %s eccede di %d byte, troncato."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "impossibile aprire %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr ""
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr ""
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr ""
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr ""
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr ""
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr ""
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr ""
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr ""
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, fuzzy, c-format
 msgid "%s: incompatible options"
 msgstr ": opzioni incompatibili"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "comando terminato con stato d'uscita %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr ""
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr ""
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr ""
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr ""
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr ""
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr ""
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr ""
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr ""
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr ""
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr ""
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr ""
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr ""
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr ""
 
-#: src/man.c:296
+#: src/man.c:286
 #, fuzzy
 msgid "Finding manual pages:"
 msgstr " Pagina di manuale "
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr ""
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr ""
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr ""
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr ""
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr ""
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr ""
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr ""
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr ""
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr ""
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr ""
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr ""
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr ""
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr ""
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr ""
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr ""
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr ""
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr ""
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr ""
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr ""
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 msgstr ""
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr ""
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr ""
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr ""
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr ""
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr ""
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr ""
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 msgstr ""
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr ""
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Non c'è il manuale per %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, fuzzy, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "Quale pagina di manuale si desidera della sezione %s?\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Quale pagina di manuale si desidera?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Non c'è il manuale per %s nella sezione %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 "Si veda \"%s\" per l'aiuto quando le pagine di manuali non sono presenti.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "preprocessore \"%c\" sconosciuto, lo ignoro"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "impossibile rinominare %s in %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "impossibile impostare la data per %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "impossibile fare unlink di %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "impossibile creare un file 'cat' temporaneo per %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, fuzzy, c-format
 msgid "can't create temporary directory"
 msgstr "impossibile creare un file 'cat' temporaneo per %s"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "impossibile aprire il file temporaneo %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "impossibile rimuovere la directory %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- successivo: %s [ mostra (return) | salta (Ctrl-D) | esci (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -586,27 +586,27 @@ msgstr ""
 "\n"
 "impossibile scrivere in %s in modo catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Impossibile convertire %s nel nome cat"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: confidare nei whatis refs è obsoleto\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "comando mandb fallito con stato d'uscita %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "errore interno: il tipo %d candidato è oltre il limite"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Pagina di manuale "
 
@@ -619,107 +619,107 @@ msgstr "impossibile scrivere in %s"
 msgid "iconv: incomplete character at end of buffer"
 msgstr ""
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr ""
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr ""
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr ""
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr ""
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr ""
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr ""
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr ""
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr ""
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr ""
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr ""
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr ""
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr ""
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr ""
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr ""
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr ""
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr ""
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr ""
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "impossibile rimuovere %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "impossibile scrivere in %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "impossibile leggere da %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Lavorazione delle pagine di manuale sotto a %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, fuzzy, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Ricerca degli stray cat sotto a %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "attenzione: nessuna direttiva MANDB_MAP in %s, uso del tuo manpath"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, fuzzy, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -730,240 +730,238 @@ msgstr[1] ""
 "%d sottodirectory man contenevano nuove pagine di manuale.\n"
 "Sono state aggiunte %d pagine di manuale\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, fuzzy, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] " Pagina di manuale "
 msgstr[1] " Pagina di manuale "
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, fuzzy, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d stray cat sono stati aggiunti.\n"
 msgstr[1] "%d stray cat sono stati aggiunti.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, fuzzy, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d vecchie voci di database sono state rimosse.\n"
 msgstr[1] "%d vecchie voci di database sono state rimosse.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, fuzzy, c-format
 msgid "No databases created."
 msgstr "Il database non è stato aggiornato."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "il file di configurazione dei percorsi man %s non ha senso"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "attenzione: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "attenzione: %s non è una directory"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "la lista dei percorsi manpath è troppo lunga"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "attenzione: $PATH non impostata"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "attenzione: $PATH vuota"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "attenzione: $MANPATH già impostata, aggiungo in testa %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "attenzione: $MANPATH già impostata, aggiungo in coda %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "attenzione: $MANPATH già impostata, inserisco %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "attenzione: $MANPATH già impostata, ignoro %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "impossibile analizzare la lista di directory \"%s\""
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "impossibile aprire il file di configurazione dei percorsi man %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "attenzione: la directory essenziale %s non esiste"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "impossibile determinare la directory corrente"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "attenzione: %s non inizia con %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr ""
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr ""
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "attenzione: nessun percorso man globale impostato nel file di configurazione "
 "%s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "attenzione: %s è un link simbolico spezzato"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "impossibile risolvere %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Ricerca degli stray cat sotto a %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "attenzione: impossibile aggiornare l'index %s della cache"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s è auto referenziante"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr ""
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr ""
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr ""
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr ""
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr ""
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr ""
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr ""
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr ""
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr ""
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr ""
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s cosa?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "attenzione: %s contiene un riferimeno a se stesso"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(oggetto sconosciuto)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: niente di appropriato.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr ""
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr ""
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr ""
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr ""
 
+#~ msgid "manpath list too long"
+#~ msgstr "la lista dei percorsi manpath è troppo lunga"
+
 #, fuzzy
 #~ msgid "can't restore previous working directory"
 #~ msgstr "impossibile creare un file 'cat' temporaneo per %s"
index c041bfe..4443f87 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db-2.6.5\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2013-06-27 19:41+0900\n"
 "Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -18,58 +18,53 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "実効 UID を設定できません"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "setuid された man ユーザー \"%s\" は存在しません"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "%s の所有者を変更 (chown) できません"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "致命的: 正規表現 `%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "複合キー %s は存在しません"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "index キャッシュ %s をロックできません"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "index キャッシュ %s が壊れています"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "キー %s を置換できません"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "中身が %d フィールドしかありません"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "複合キー %s は不正な呼び出しです"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr ""
@@ -91,64 +86,64 @@ msgstr "警告: %1$s のバージョンは %3$s が予期されますが、実
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "致命的: %s にバージョン識別子を挿入できません"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MAN DATABASE]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "man データベースのデフォルトを %s%s にします。"
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "デバッグメッセージを表示する"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "%s を読み込み用に開けません"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SECTION...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "PATH"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "man ページ用の検索パスを PATH に設定する"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "FILE"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "このユーザ設定ファイルを使用する"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "man コマンドが終了ステータス %d で失敗しました"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "データベース %s を読み込めません"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "キー %s の内容は NULL です"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,117 +152,122 @@ msgstr ""
 "\n"
 "man 階層 %2$s のセクション %1$s の cat ファイルを更新しています\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "%s に書き込めません"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "%s を更新できません"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "警告: %s/man%s/%s.%s*: 拡張子が競合しています"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "index キャッシュ %s を更新できません"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr ""
 "警告: %s: シンボリックリンクまたは ROFF の `.so' 要求に誤りがあります"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "警告: %s: 空ファイルを無視しています"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "警告: %s: whatis が %s(%s) の解釈に失敗しました"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "ディレクトリー %s を検索できません"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "%s の所有者を変更 (chown) できません"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "警告: cat ディレクトリー %s を作成できません"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "%s の許可属性を変更 (chmod) できません"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "ディレクトリ %s に移動できません"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "index キャッシュ %s を作成できません"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "パス `%s/%s' の index キャッシュを更新しています。お待ちください..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "完了しました。\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "%s 内の古いデータベース要素を取り除いています...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "警告: %s(%s) 用の要素の保存に失敗しました"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "警告: %s: おかしなファイル名を無視しています"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "PATH SECTION NAME"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "EXTENSION"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "検索対象を拡張子が EXTENSION のものに限定する"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "大文字小文字を区別しないでページを検索する (デフォルト)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "大文字小文字を区別してページを検索する"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "ページ名を正規表現として解釈する"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "ページ名をワイルドカードとして解釈する"
 
@@ -277,194 +277,194 @@ msgid "warning: whatis for %s exceeds %d byte, truncating."
 msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "警告: %s 用の whatis が %d バイトを超えています。切り詰めます。"
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "%s をオープンできません"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "FILE..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "デフォルトは --man および --whatis です。"
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "man ページとして構文解析する"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "cat ページとして構文解析する"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "whatis 情報を表示する"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "推測した一連の事前処理フィルターを表示"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "ENCODING"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "選択した出力エンコーディングを使用する"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: 相互に利用できないオプションです"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "コマンドはステータス %d で終了しました: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SECTION] PAGE..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "すべてのオプションをデフォルト値にリセットする"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "WARNINGS"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "groff からの警告を有効にする"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "操作の主なモード:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "whatis と同様"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "apropos と同様"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "すべてのページのテキストを検索する"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "マニュアルページの物理的な位置を表示する"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "整形済みファイルの物理的な位置を表示する"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "PAGE 引数をローカルファイル名として解釈する"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "catman によって古い整形済みページを再整形するために使用される"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "ソースページのエンコーディングが ENCODING であるとみなして出力する"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "マニュアルページの探し方:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOCALE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "この man の検索用のロケールを定義する"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTEM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "ほかのシステムからのマニュアルページを使用する"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LIST"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "セクションリストとしてコロン (:) で区切られた LIST を使用する"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "正規表現に一致したすべてのページを表示する"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "ワイルドカードに一致したすべてのページを表示する"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "--regex と --wildcard がページ名のみに一致するようにし、説明には一致しないよ"
 "うにする"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "全ての一致したマニュアルページを探し出す"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "キャッシュ一貫性の確認を強制する"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "サブページの試行、例えば 'man foo bar' => 'man foo-bar' を行わない"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "整形された出力の制御:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGER"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "出力を表示するプログラムとして PAGER を使用する"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "STRING"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "`less' ページャーのプロンプトを指定する"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "一部の latin1 文字を ASCII 文字に変換して表示する"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "ハイフンによる行末処理を無効にする"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "均等割り付けを無効にする"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -474,34 +474,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "ページ整形に %s を使用する"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "DEVICE"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "選択した DEVICE 向けに %s を使用する"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "BROWSER"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "HTML 出力を表示するために %s または BROWSER を使用する"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUTION"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -509,82 +509,82 @@ msgstr ""
 "groff を使用し、 gxditview (X11) を通して表示する:\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "groff を使用し、強制的に ditroff を生成する"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "%s というマニュアルはありません\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(セクション %s からどのマニュアルページを代わりに表示しますか?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "マニュアルページを指定してください\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "%s というマニュアルはセクション %s にはありません\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 "マニュアルページが利用できない場合のヘルプについては '%s'を見てください。\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "不明な前処理系 `%c' を無視しています"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "%s の名前を %s に変更できません"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "%s の時刻を設定できません"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "%s を削除(unlink)できません"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "%s 用の一時的な整形済みファイルを作成できません"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "一時ディレクトリを作成できません"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "一時ファイル %s を開けません"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "ディレクトリ %s を削除できません"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- 次は: %s [ 閲覧 (return) | スキップ (Ctrl-D) | 終了 (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -593,27 +593,27 @@ msgstr ""
 "\n"
 "catman モードで %s に書き込みできません"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "%s を整形済みファイル名に変換できません"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: whatis の参照に頼ることは勧められなくなっています\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "mandb コマンドが終了ステータス %d で失敗しました"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "内部エラー: 候補の種類 %d は範囲内にありません"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " マニュアルページ "
 
@@ -626,110 +626,110 @@ msgstr "標準出力に書き込めません"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: バッファの末尾に不完全な文字があります"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CODE[:...] -t CODE [FILENAME]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CODE[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "原文の推定エンコーディング"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CODE"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "出力用エンコーディング"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "警告を少なくする"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "入力エンコーディングを指定しなければいけません"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "出力エンコーディングを指定しなければいけません"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANPATH]"
 
 # Translator's NOTE: work..., don't look..., produce..., create are from:
 # Translator's NOTE: http://lists.debian.or.jp/debian-doc/199812/msg00016.html
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "'ファイル名の不一致'による警告以外何も出力しない"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "roff のない cat ファイルを検索、DB へ追加しない"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "古くなったエントリーを DB から削除しない"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "ユーザ用データベースのみを生成"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "データベースを更新せず、一から作成し直す"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "マニュアルページの正確さをチェック"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "FILENAME"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "このファイル名の要素だけを更新"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "%s を削除できません"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "%s に書き込めません"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "%s から読み込めません"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "%s 配下のマニュアルページを処理しています...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "古い cat ディレクトリ %s を削除しています...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "警告: %s に MANDB_MAP の指定はありません。あなたの manpath を使用します"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -737,235 +737,233 @@ msgstr[0] ""
 "%d 個のマニュアルページ子ディレクトリに新しいマニュアルページが含まれていまし"
 "た。\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d 個のマニュアルページが追加されました。\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "roff のない cat ファイルが %d 個追加されました。\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d 個の古いデータベース要素が除去されました。\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "データベースは作成されませんでした。"
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "manpath 設定ファイル %s の内容を解釈できません"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "警告: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "警告: %s はディレクトリではありません"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "manpath リストが長すぎます"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "警告: $PATH が設定されていません"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "警告: $PATH が定義されていません"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "警告: $MANPATH が設定されています。%s の設定に追加します"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "警告: $MANPATH が設定されています。%s の設定を追加します"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "警告: $MANPATH が設定されています。%s の設定を挿入します"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "警告: $MANPATH が設定されています。%s を無視します"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "ディレクトリリスト `%s' を解析できません"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "manpath 設定ファイル %s をオープンできません"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "警告: 必要なディレクトリ %s が存在しません"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "カレントディレクトリを決定できません"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "警告: %s は %s で始まっていません"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "相対 catpath を表示"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "グローバルな manpath 全体を表示"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "警告: 設定ファイル %s にグローバルな manpath の設定がありません"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "警告: %s はシンボリックリンクが切れています"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "%s を解決できません"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "%s 配下の roff がない cat ファイルをチェックしています...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "警告: index キャッシュ %s を更新できません"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s は自分自身を参照しています"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "KEYWORD..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "--regex オプションはデフォルトで有効です。"
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "冗長な警告メッセージを表示する"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "各キーワードを正規表現として解釈する"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "各検索語に完全に一致するものを検索"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "キーワードでワイルドカードを使用する"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "全検索語に一致するものを検索"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "出力を端末幅に切り詰めない"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "これらのセクションのみ検索する (コロン区切り)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "検索するロケールを定義する"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s キーワードは何ですか?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "警告: %s にはループしているポインタが含まれています"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(不明な題名です)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: 適切なものはありませんでした。\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: .so 要求の入れ子が深すぎる、または再帰しています"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: 警告: .so 要求の処理に失敗しました"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: 警告: .so 要求の中に改行があります。無視しています"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: 警告: 誤った形式の .lf 要求です。無視しています"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: 警告: .lf 要求の中に改行があります。無視しています"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: roff 要求の中に終端されていないクォートがあります"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "互換性のためのスイッチです (無視されます)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "manpath リストが長すぎます"
+
 #, fuzzy
 #~ msgid "can't restore previous working directory"
 #~ msgstr "一時ディレクトリを作成できません"
index 289a31e..626b4a0 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: man-db 2.8.5\n"
+"Project-Id-Version: man-db 2.8.6\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\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"
@@ -18,59 +18,54 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr ""
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr ""
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr ""
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr ""
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr ""
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr ""
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr ""
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr ""
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] ""
 msgstr[1] ""
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr ""
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr ""
@@ -90,180 +85,185 @@ msgstr ""
 msgid "fatal: unable to insert version identifier into %s"
 msgstr ""
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr ""
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr ""
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr ""
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr ""
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr ""
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr ""
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr ""
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr ""
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr ""
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr ""
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr ""
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr ""
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
 "Updating cat files for section %s of man hierarchy %s\n"
 msgstr ""
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr ""
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr ""
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr ""
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr ""
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr ""
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr ""
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr ""
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr ""
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr ""
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr ""
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr ""
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr ""
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr ""
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr ""
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr ""
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr ""
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr ""
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr ""
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr ""
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr ""
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr ""
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr ""
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr ""
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr ""
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr ""
 
@@ -274,332 +274,332 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr ""
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr ""
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr ""
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr ""
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr ""
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr ""
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr ""
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr ""
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr ""
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr ""
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr ""
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr ""
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr ""
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr ""
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr ""
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr ""
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr ""
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr ""
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr ""
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr ""
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr ""
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr ""
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr ""
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr ""
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr ""
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr ""
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr ""
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr ""
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr ""
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr ""
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr ""
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr ""
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr ""
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr ""
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr ""
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr ""
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr ""
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr ""
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr ""
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr ""
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr ""
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr ""
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr ""
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr ""
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 msgstr ""
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr ""
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr ""
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr ""
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr ""
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr ""
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr ""
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 msgstr ""
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr ""
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr ""
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr ""
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr ""
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr ""
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr ""
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr ""
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr ""
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr ""
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr ""
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr ""
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr ""
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr ""
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
 "cannot write to %s in catman mode"
 msgstr ""
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr ""
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr ""
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr ""
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr ""
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr ""
 
@@ -612,341 +612,336 @@ msgstr ""
 msgid "iconv: incomplete character at end of buffer"
 msgstr ""
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr ""
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr ""
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr ""
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr ""
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr ""
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr ""
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr ""
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr ""
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr ""
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr ""
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr ""
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr ""
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr ""
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr ""
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr ""
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr ""
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr ""
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr ""
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr ""
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr ""
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr ""
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr ""
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr ""
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr ""
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr ""
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr ""
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr ""
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr ""
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr ""
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr ""
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr ""
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr ""
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr ""
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr ""
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr ""
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr ""
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr ""
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr ""
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr ""
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr ""
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr ""
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr ""
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr ""
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr ""
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr ""
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr ""
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr ""
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr ""
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr ""
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr ""
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr ""
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr ""
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr ""
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr ""
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr ""
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr ""
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr ""
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr ""
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr ""
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr ""
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr ""
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr ""
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr ""
index 1fa1551..c61addc 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db-2.5.7-pre1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2009-11-16 08:36+0100\n"
 "Last-Translator: Erwin Poeze <erwin.poeze@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -19,59 +19,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "kan de effectieve UID niet instellen"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "de SETUID-gebruiker '%s' bestaat niet"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "kan eigenaar van %s niet wijzigen"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "fatale fout: reguliere expressie '%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "multisleutel %s bestaat niet"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "kan index-cache %s niet vergrendelen"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "index-cache %s is beschadigd"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "kan sleutel %s niet vervangen"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, fuzzy, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "slechts %d velden in de inhoud"
 msgstr[1] "slechts %d velden in de inhoud"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "onjuiste treffer voor multisleutel %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Database %s is beschadigd; maak deze opnieuw aan met 'mandb --create'"
@@ -91,64 +86,64 @@ msgstr "waarschuwing: %s heeft versie %s, terwijl %s verwacht wordt\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatale fout: kan geen versie-indicatie invoegen in %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MAN-GEGEVENSBANK]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "De standaard man-database is %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "debug-uitvoer produceren"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "kan %s niet openen om te lezen"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SECTIE...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "PAD"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "pad waarin naar man-pagina's gezocht moet worden"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "BESTAND"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "te gebruiken configuratiebestand"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "'man' is mislukt met afsluitwaarde %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "kan database %s niet lezen"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "NULL-inhoud voor sleutel %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,118 +152,123 @@ msgstr ""
 "\n"
 "Bijwerken van cat-bestanden voor sectie %s van man-hiërachie %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "kan in %s niet schrijven"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "kan %s niet bijwerken"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "waarschuwing: botsende subsecties in %s/man%s/%s.%s*"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "kan index-cache %s niet bijwerken"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr ""
 "waarschuwing: %s: onjuiste symbolische koppeling of onjuist roff-'.so'-"
 "verzoek"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "waarschuwing: %s: leeg bestand wordt genegeerd"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "waarschuwing: %s: ontleden van %s(%s) voor 'whatis' is mislukt"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "kan map %s niet doorzoeken"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "kan eigenaar van %s niet wijzigen"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "waarschuwing: kan cat-map %s niet aanmaken"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "kan de toegangsrechten van %s niet wijzigen"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "kan niet naar map %s gaan"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "kan index-cache %s niet aanmaken"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Bijwerken van index-cache voor pad '%s/%s'.  Even geduld..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "voltooid.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Verwijderen van oude databaseitems uit %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "waarschuwing: opslaan van item voor %s(%s) is mislukt"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "waarschuwing: %s: onjuiste bestandsnaam wordt genegeerd"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "PAD SECTIE NAAM"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "SUBSECTIE"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "het zoeken beperken tot deze subsectie"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "hoofdletterongevoelig naar pagina's zoeken"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "hoofdlettergevoelig naar pagina's zoeken"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "paginanaam als reguliere expressies begrijpen"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "de paginanaam bevat jokertekens"
 
@@ -279,193 +279,193 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "waarschuwing: de 'whatis' voor %s is meer dan %d bytes -- afgekapt"
 msgstr[1] "waarschuwing: de 'whatis' voor %s is meer dan %d bytes -- afgekapt"
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "kan %s niet openen"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "BESTAND..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Standaard zijn de opties '--man' en '--whatis'."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "argumenten begrijpen als 'man'-pagina's"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "argumenten begrijpen als 'cat'-pagina's"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "'whatis'-informatie tonen"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "de gegokte reeks voorbewerkingsfilters tonen"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "CODERING"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "uitvoer in deze codering produceren"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: opties gaan niet samen"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "opdracht eindigde met afsluitwaarde %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SECTIE] PAGINA..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "alle opties op hun standaardwaarden terugzetten"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "WAARSCHUWINGEN"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "(deze) waarschuwingen van 'groff' doorgeven"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Werkingsmodus:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "als 'whatis' fungeren"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "als 'apropos' fungeren"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "zoek de tekst in alle pagina's"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "de locatie van man-pagina's tonen"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "de locatie van cat-pagina's tonen"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "paginanaam als lokale bestandsnaam begrijpen"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "(gebruikt door 'catman' bij heropmaken)"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "brontekst uitvoeren omgezet naar deze codering"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Gevonden man-pagina's:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "TAALCODE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "te gebruiken taalregio voor deze zoekopdracht"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTEEMNAAM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "man-pagina's van deze andere Unix-systemen tonen"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "SECTIES"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "te doorzoeken secties (scheiden met dubbele punten)"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "alle pagina's tonen die voldoen aan de reguliere expressie"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "alle pagina's tonen die voldoen aan het jokerteken"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "laat --regex en --wildcard alleen paginanamen weergeven, geen beschrijvingen"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "alle passende pagina's vinden, niet alleen eerste"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "een cache-consistentiecontrole afdwingen"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "probeer geen subpagina's, b.v. 'man foo bar' => 'man foo-bar'"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Uitvoerbesturing:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PROGRAMMA"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "dit programma gebruiken om de uitvoer te tonen"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "TEKENREEKS"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "deze tekens als prompt van 'less' gebruiken"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "een ASCII-versie van sommige Latin1-tekens tonen"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "woordafbreken uitschakelen"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "uitvullen uitschakelen"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -475,34 +475,34 @@ msgstr ""
 "  e - [n]eqn   p - pic     t - tbl\n"
 "  g - grap     r - refer   v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "'%s' gebruiken om pagina's op te maken"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "APPARAAT"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "'%s' gebruiken met dit apparaat"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "PROGRAMMA"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "'%s' of PROGRAMMA gebruiken voor HTML-uitvoer"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUTIE"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -510,81 +510,81 @@ msgstr ""
 "'groff' gebruiken en uitvoer tonen via 'gxditview';\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "'groff' gebruiken en \"ditroff\" laten produceren"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Er is geen pagina over %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Of anders: welke man-pagina wilt u zien uit sectie %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Welke man-pagina wilt u zien?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Er is geen pagina over %s in sectie %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Zie '%s' voor hulp als man-pagina's niet beschikbaar zijn.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "onbekende preprocessor '%c' wordt genegeerd"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "kan %s niet hernoemen naar %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "kan tijdsstempels van %s niet zetten"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "kan %s niet verwijderen"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "kan geen tijdelijk cat-bestand aanmaken voor %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "kan geen tijdelijk map aanmaken"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "kan tijdelijk bestand %s niet openen"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "kan map %s niet verwijderen"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- volgende: %s [ Enter=zien | Ctrl-D=overslaan | Ctrl-C=afsluiten ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -593,27 +593,27 @@ msgstr ""
 "\n"
 "kan niet naar %s schrijven in 'catman'-modus"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Kan %s niet omzetten naar een cat-naam"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: vertrouwen op 'whatis'-referenties wordt ontraden\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "'mandb' is mislukt met afsluitwaarde %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "**interne fout**: kandidaattype %d valt buiten bereik"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Handleidingspagina "
 
@@ -626,108 +626,108 @@ msgstr "kan niet naar standaarduitvoer schrijven"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: onvolledig teken aan eind van buffer"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CODERING[:...] -t CODERING [BESTANDSNAAM]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CODERING[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "mogelijke codering(en) van originele tekst"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CODERING"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "codering van de uitvoer"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "minder waarschuwingen produceren"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "specificatie van een invoercodering ontbreekt"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "specificatie van een uitvoercodering ontbreekt"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANPAD]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "minder waarschuwingen produceren"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "losse cat-bestanden niet aan database toevoegen"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "verouderde items niet uit database verwijderen"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "alleen gebruikersdatabase produceren"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "database niet bijwerken maar opnieuw aanmaken"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "de man-pagina's op correctheid controleren"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "BESTAND"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "alleen het item voor dit bestand bijwerken"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "kan %s niet verwijderen"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "kan niet naar %s schrijven"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "kan niet uit %s lezen"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Verwerken van pagina's onder %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, fuzzy, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Zoeken naar losse cat-bestanden onder %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "waarschuwing: geen 'MANDB_MAP'-opdrachten in %s; uw man-pad wordt gebruikt"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, fuzzy, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -738,240 +738,238 @@ msgstr[1] ""
 "%d man-mappen bevatten nieuwere pagina's,\n"
 "%d man-pagina's werden toegevoegd.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, fuzzy, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] " Handleidingspagina "
 msgstr[1] " Handleidingspagina "
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, fuzzy, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d losse cat-bestanden werden toegevoegd.\n"
 msgstr[1] "%d losse cat-bestanden werden toegevoegd.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, fuzzy, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d verouderde databaseitems werden verwijderd.\n"
 msgstr[1] "%d verouderde databaseitems werden verwijderd.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Geen databases aangemaakt."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "de inhoud van man-pad-configuratiebestand %s is onbegrijpelijk"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "waarschuwing: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "waarschuwing: %s is geen map"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "man-pad-lijst is te lang"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "waarschuwing: $PATH is niet ingesteld"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "waarschuwing: $PATH is leeg"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "waarschuwing: $MANPATH is ingesteld -- %s wordt voorgevoegd"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "waarschuwing: $MANPATH is ingesteld -- %s wordt achtergevoegd"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "waarschuwing: $MANPATH is ingesteld -- %s wordt ingevoegd"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "waarschuwing: $MANPATH is ingesteld -- %s wordt genegeerd"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "kan mappenlijst '%s' niet ontleden"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "kan man-pad-configuratiebestand %s niet openen"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "waarschuwing: vereiste map %s bestaat niet"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "kan huidige map niet bepalen"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "waarschuwing: %s begint niet met %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "de relatieve cat-paden weergeven"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "het volledige globale man-pad weergeven"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "waarschuwing: geen algemeen man-pad ingesteld in configuratiebestand %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "waarschuwing: %s is een doelloze symbolische koppeling"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "kan %s niet herleiden"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Zoeken naar losse cat-bestanden onder %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "waarschuwing: kan index-cache %s niet bijwerken"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s refereert aan zichzelf"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "SLEUTELWOORD..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "De optie '--regex' is standaard."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "breedsprakige waarschuwingen produceren"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "sleutelwoorden als reguliere expressies begrijpen"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "sleutelwoorden moeten exact overeenkomen"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "de sleutelwoorden bevatten jokertekens"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "alle sleutelwoorden moeten gevonden worden"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "de uitvoer niet aan de terminalbreedte aanpassen"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 #, fuzzy
 msgid "search only these sections (colon-separated)"
 msgstr "alleen in deze sectie zoeken"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "te gebruiken taalregio voor deze zoekopdracht"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s wat?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "waarschuwing: %s bevat een pointer-lus"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(onderwerp onbekend)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: niets gevonden.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: '.so'-verzoeken zijn te diep genest of recursief"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: waarschuwing: '.so'-verzoek is mislukt"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: waarschuwing: regeleindeteken in '.so'-verzoek -- genegeerd"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: waarschuwing: onjuist '.lf'-verzoek -- genegeerd"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: waarschuwing: regeleindeteken in '.lf'-verzoek -- genegeerd"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: onafgesloten aanhaling in 'roff'-verzoek"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "compatibiliteitsoptie (genegeerd)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "man-pad-lijst is te lang"
+
 #, fuzzy
 #~ msgid "can't restore previous working directory"
 #~ msgstr "kan geen tijdelijk map aanmaken"
index ad22e03..14a59e0 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2016-12-21 20:46+0100\n"
 "Last-Translator: Robert Luberda <robert@debian.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -20,47 +20,42 @@ msgstr ""
 "|| n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 2.0\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "nie można ustawić efektywnego identyfikatora użytkownika"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "użytkownik \"%s\" nie istnieje"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "nie można zmienić właściciela %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "błąd krytyczny: wyrażenie regularne \"%s\": %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "wielowymiarowy klucz %s nie istnieje"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "nie można zablokować bufora indeksu %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "bufor indeksu %s uszkodzony"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "nie można zamienić klucza %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
@@ -68,12 +63,12 @@ msgstr[0] "tylko %d pole w zmiennej content"
 msgstr[1] "tylko %d pola w zmiennej content"
 msgstr[2] "tylko %d pól w zmiennej content"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "błąd pobierania klucza wielowymiarowego %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr ""
@@ -95,65 +90,65 @@ msgstr "ostrzeżenie: %s jest w wersji %s, podczas gdy oczekiwano %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "błąd krytyczny: nie można dodać identyfikatora wersji do %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[BAZA DANYCH MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "Domyślną bazą danych jest %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "wyświetla komunikaty diagnostyczne"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "nie można otworzyć %s do odczytu"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SEKCJA...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "ŚCIEŻKA"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "ustawia ścieżkę wyszukiwania stron podręcznika na ŚCIEŻKĘ"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "PLIK"
 
 #
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "używa tego pliku konfiguracyjnego użytkownika"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "polecenie man zakończyło się błędem %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "nie można odczytać bazy danych %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "Pusta (NULL) zawartość klucza %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -162,117 +157,122 @@ msgstr ""
 "\n"
 "Aktualizowanie preformatowanych stron w sekcji %s hierarchii stron %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "nie można zapisać w %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "nie można zaktualizować %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "ostrzeżenie: %s/man%s/%s.%s*: konkurujące rozszerzenia"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "nie można zaktualizować bufora indeksu %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr ""
 "ostrzeżenie: %s złe dowiązanie symboliczne lub błędne żądanie \".so\" ROFF"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "ostrzeżenie: %s: ignorowanie pustego pliku"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "ostrzeżenie: %s: przetwarzanie whatis %s(%s) się nie powiodło"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "nie można przeszukać katalogu %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "nie można zmienić właściciela %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "ostrzeżenie: błąd tworzenia katalogu preformatowanych stron %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "nie można zmienić praw dostępu %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "nie można przejść do katalogu %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "nie można utworzyć bufora indeksu %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Aktualizowanie bufora indeksu dla ścieżki \"%s/%s\". Proszę czekać..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "zakończono.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Usuwanie starych wpisów w bazie danych %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "ostrzeżenie: błąd podczas zachowywania wpisu dla %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "ostrzeżenie: %s: ignorowanie niepoprawnej nazwy pliku"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "ŚCIEŻKA SEKCJA NAZWA"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "ROZSZERZENIE"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "ogranicza wyszukiwanie do podanego typu ROZSZERZENIA"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "wyszukuje strony ignorując wielkość liter (domyślnie)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "wyszukuje strony biorąc pod uwagę wielkość liter"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "interpretuje każde nazwę strony jako wyr. regularne"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "nazwa strony zawiera znaki dopasowywania"
 
@@ -286,195 +286,195 @@ msgstr[1] ""
 msgstr[2] ""
 "ostrzeżenie: whatis dla argumentu %s przekracza %d bajtów, obcinanie."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "nie można otworzyć %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "PLIK..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Domyślnymi opcjami są --man i --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "przetwarza jako stronę podręcznika"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "przetwarza jako stronę cat"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "pokazuje informacje whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "pokazuje serię odgadniętych filtrów preprocesora"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "KODOWANIE"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "używa wybranego wyjściowego kodowania znaków"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: niekompatybilne opcje"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "polecenie zwróciło kod błędu %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SEKCJA] STRONA..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "przywraca wszystkim opcjom ich wartości domyślne"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "OSTRZEŻENIA"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "włącza ostrzeżenia groffa"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Główne tryby działania:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "odpowiednik whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "odpowiednik apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "szuka tekstu we wszystkich stronach"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "wyświetla lokalizacje stron(y) podręcznika"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "wyświetla lokalizacje preformatowanych plików cat"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interpretuje argumenty STRONA jako nazwy lokalnych plików"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr ""
 "używane przez catman do ponownego sformatowania przestarzałych stron cat"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "wypisuje stronę źródłową przekształconą do KODOWANIA"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Wyszukiwanie stron podręcznika ekranowego:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "UST_JĘZYKOWE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "określa ustawienia językowe tego wyszukiwania stron"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTEM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "używa stron podręcznika z innych systemów"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTA"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "używa rozdzielonej dwukropkami listy sekcji"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "wyświetla wszystkie strony pasujące do wyr. regularnego"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "wyświetla wszystkie strony pasujące do maski dopasowania"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "powoduje, że --regex i --wildcard pasują tylko do nazw stron, a nie do opisów"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "wyszukuje wszystkie pasujące strony podręcznika"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "wymusza sprawdzanie spójności"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "nie próbuje podstron, np. \"man foo bar\" => \"man foo-bar\""
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Kontrolowanie sformatowanego wyjścia:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGER"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "używa programu PAGER do wyświetlenia wyjścia"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "ŁAŃCUCH"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "ustawia linię zachęty programu \"less\""
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "wyświetla odpowiedniki ASCII pewnych znaków latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "wyłącza podział wyrazów na końcu linii"
 
 #
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "wyłącza wyrównywanie linii"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -484,34 +484,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "używa %s do formatowania stron"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "URZĄDZENIE"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "używa %s z podanym urządzeniem"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "PRZEGLĄDARKA"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "używa %s lub PRZEGLĄDARKI do wyświetlenia wyjścia w HTML-u"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "ROZDZIELCZOŚĆ"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -519,84 +519,84 @@ msgstr ""
 "używa groffa i wyświetla przez gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "używa groffa i wymusza na nim wyprodukowanie ditroffa"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Brak podręcznika dla %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Albo: jakiej strony z sekcji %s podręcznika potrzebujesz?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Jakiej strony podręcznika potrzebujesz?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Brak podręcznika dla %s w sekcji %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 "Proszę przeczytać \"%s\", aby uzyskać pomoc,\n"
 " gdy strony podręcznika nie są dostępne.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "ignorowanie nieznanego preprocesora \"%c\""
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "nie można zmienić nazwy %s na %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "nie można ustawić czasów na %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "nie można usunąć %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "nie można utworzyć tymczasowego pliku cat dla %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "nie można utworzyć katalogu tymczasowego"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "nie można otworzyć pliku tymczasowego %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "nie można usunąć katalogu %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- następna: %s [ przeglądaj (return) | pomiń (Ctrl-D) | zakończ (Ctrl-"
 "C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -605,28 +605,28 @@ msgstr ""
 "\n"
 "nie można zapisać do %s w trybie catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Nie można skonwertować %s do nazwy preformatowanej strony podręcznika"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: poleganie na odnośnikach whatis jest niezalecane\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "polecenie mandb zakończyło się błędem %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr ""
 "błąd wewnętrzny: typ kandydata %d poza zakresem dopuszczalnych wartości"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Strona podręcznika ekranowego "
 
@@ -639,107 +639,107 @@ msgstr "nie można pisać na standardowe wyjście"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: niekompletny znak na końcu bufora"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f KOD[:...] -t KOD [PLIK]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "KOD[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "możliwe kodowania oryginalnego tekstu"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "KOD"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "kodowanie wyjścia"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "podaje mniej ostrzeżeń"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "należy podać kodowanie wejścia"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "należy podać kodowanie wyjścia"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANPATH]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "tryb cichy, poza ostrzeżeniami o nieprawidłowościach"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "nie szuka i nie dodaje zabłąkanych plików cat do db"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "nie czyści przestarzałych wpisów z bazy danych"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "tworzy tylko bazy danych użytkownika"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "tworzy nowe bazy danych, zamiast aktualizować istniejące"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "sprawdza poprawność stron podręcznika"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "NAZWA_PLIKU"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "aktualizuje wpis dotyczący tej nazwy pliku"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "nie można usunąć %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "nie można pisać do %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "nie można czytać z %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Przetwarzanie stron podręcznika w %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Usuwanie przestarzałego katalogu stron preformatowanych %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "ostrzeżenie: w %s brak dyrektyw MANDB_MAP, używanie ścieżki manpath"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -747,7 +747,7 @@ msgstr[0] "%d podkatalog man zawierał nowsze strony podręcznika.\n"
 msgstr[1] "%d podkatalogi man zawierały nowsze strony podręcznika.\n"
 msgstr[2] "%d podkatalogów man zawierało nowsze strony podręcznika.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
@@ -755,7 +755,7 @@ msgstr[0] "Dodano %d stronę podręcznika.\n"
 msgstr[1] "Dodano %d strony podręcznika.\n"
 msgstr[2] "Dodano %d stron podręcznika.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
@@ -763,7 +763,7 @@ msgstr[0] "Dodano %d zabłąkaną preformatowaną stronę podręcznika.\n"
 msgstr[1] "Dodano %d zabłąkane preformatowane strony podręcznika.\n"
 msgstr[2] "Dodano %d zabłąkanych preformatowanych stron podręcznika.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
@@ -771,218 +771,216 @@ msgstr[0] "Usunięto %d stary wpis z bazy danych.\n"
 msgstr[1] "Usunięto %d stare wpisy z bazy danych.\n"
 msgstr[2] "Usunięto %d starych wpisów z bazy danych.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Nie utworzono żadnej bazy danych."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "plik konfiguracyjny manpath %s jest pozbawiony sensu"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "ostrzeżenie: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "ostrzeżenie: %s nie jest katalogiem"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "zbyt długa lista ścieżek poszukiwań stron podręcznika"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "ostrzeżenie: nie ustawiono zmiennej $PATH"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "ostrzeżenie: zmienna $PATH jest pusta"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "ostrzeżenie: zmienna $MANPATH jest ustawiona, dodawanie %s na początku"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "ostrzeżenie: zmienna $MANPATH jest ustawiona, dodawania %s na końcu"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "ostrzeżenie: zmienna $MANPATH jest ustawiona, wstawianie %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "ostrzeżenie: zmienna $MANPATH jest ustawiona, %s zignorowane"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "nie można przetworzyć listy katalogów \"%s\""
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "nie można otworzyć pliku konfiguracyjnego %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "ostrzeżenie: obowiązkowy katalog %s nie istnieje"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "nie można określić katalogu bieżącego"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "ostrzeżenie: %s nie zaczyna się od %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "wyświetla względne ścieżki cat"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "pokazuje całą globalną ścieżkę manpath"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "ostrzeżenie: w pliku konfiguracyjnym %s nie ustawiono systemowych ścieżek man"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "ostrzeżenie: %s jest wiszącym dowiązaniem symbolicznym"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "nie można rozwiązać %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Poszukiwanie nie powiązanych stron preformatowanych w %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "ostrzeżenie: nie można zaktualizować bufora indeksu %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s odwołuje się do samego siebie"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "SŁOWO_KLUCZ..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "Opcja --regex jest domyślnie włączona."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "wyświetla szczegółowe ostrzeżenia"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "interpretuje każde słowo kluczowe jako wyr. regularne"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "szuka każdego słowa kluczowego dla pełnego dopasowania"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "słowa kluczowe zawierają znaki dopasowywania"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "żąda dopasowania wszystkich słów kluczowych"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "nie przycina wyjścia do szerokości terminalu"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "przeszukuje tylko te sekcje (rozdzielone średnikami)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "ustawienia językowe tego wyszukiwania"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "co %s?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "ostrzeżenie: %s zawiera pętlę wskaźników"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(temat nieznany)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nic odpowiedniego.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: żądania.so zbyt głębokie lub rekurencyjne"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: ostrzeżenie: błędne żądanie .so"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: ostrzeżenie: znak nowej linii w żądaniu .so, ignorowanie"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: ostrzeżenie: zniekształcone żądanie .lf, ignorowanie"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: ostrzeżenie: znak nowej linii w żądaniu .lf, ignorowanie"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: niedopasowany cudzysłów w żądaniu roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "ignorowana, dla zachowania kompatybilności"
 
+#~ msgid "manpath list too long"
+#~ msgstr "zbyt długa lista ścieżek poszukiwań stron podręcznika"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "nie można przywrócić poprzedniego katalogu roboczego"
 
index 50e1525..66da12f 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.8.0-pre2\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2018-10-11 19:40+0100\n"
 "Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
 "Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
@@ -19,59 +19,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\\n\n"
 "X-Generator: Gtranslator 2.91.7\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "impossível definir uid efectiva"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "o utilizador setuid \"%s\" não existe"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "impossível chown %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "fatal: regex `%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "chave múltipla %s não existe"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "impossível bloquear a cache de índice %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "cache de índice %s corrompida"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "impossível substituir chave %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "só %d campo no conteúdo"
 msgstr[1] "só %d campos no conteúdo"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "má obtenção em chave múltipla %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Base de dados %s corrompida; refaça-a com mando --create"
@@ -91,64 +86,64 @@ msgstr "aviso: %s 'versão %s, esperada %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatal: impossível inserir identificador de versão em %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[BASE DE DADOS MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "A base de dados man predefinida é %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "emite mensagens de depuração"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "Impossível abrir %s para leitura"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SECÇÃO...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "CAMINHO"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "define caminho para páginas do manual para CAMINHO"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "FICHEIRO"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "usa este ficheiro de configuração do utilizador"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "comando man falhou com estado de saída %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "impossível ler base de dados %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "Conteúdo NULL para chave: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,116 +152,121 @@ msgstr ""
 "\n"
 "A actualizar ficheiros cat para a secção %s da hierarquia man %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "impossível escrever dentro de %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "impossível actualizar %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "aviso: %s/man%s/%s.%s*: extensões concorrentes"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "impossível actualizar a cache de índice %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "aviso: %s: má ligação simbólica ou pedido ROFF \".so\""
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "aviso: %s: a ignorar ficheiro vazio"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "aviso: %s: falha na análise whatis para %s(%s)"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "impossível procurar na pasta %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "impossível chown %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "aviso: impossível criar catdir %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "impossível chmod %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "impossível mudar para a pasta %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "impossível criar cache de índice %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "A actualizar cache de índice para caminho \"%s/%s\". Aguarde..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "feito.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "A purgar entradas da base de dados antigas em %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "aviso: falha ao armazenar entrada para %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "aviso: %s: a ignorar nome de ficheiro fictício"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "CAMINHO SECÇÃO NOME"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "EXTENSÃO"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "limita procura a extensão de tipo EXTENSÃO"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "procura páginas sem diferenciar maiúsculas (predefinição)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "procura páginas diferenciando maiúsculas"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "interpreta o nome da página como regex"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "o nome da página contém caracteres universais"
 
@@ -277,194 +277,194 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "aviso: whatis para %s excede %d byte, a truncar"
 msgstr[1] "aviso: whatis para %s excede %d bytes, a truncar."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "impossível abrir %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "FICHEIRO..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "As predefinições são --man e --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "analisa como página man"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "analisa como página cat"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "mostra informação whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "mostra série adivinhada de filtros de pré-processamento"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "CODIFICAÇÃO"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "usa a codificação de saída seleccionada"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: opções incompatíveis"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "comando saiu com estado %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SECÇÃO] PÁGINA..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "repõe as predefinições de todas as opções"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "AVISOS"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "activa avisos de groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Principais modos de operação:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "equivalente a whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "equivalente a apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "procura texto em todas as páginas"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "imprime localização física da(s) página(s) man"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "imprime localização física da(s) página(s) cat"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interpreta argumento(s) de PÁGINA como nome(s) de ficheiros local(is)"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "usado por catman para reformatar páginas cat fora do prazo"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "imprime página fonte codificada em CODIFICAÇÃO"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Procurar páginas do manual:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "IDIOMA"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "define o idioma para esta procura man em particular"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SISTEMA"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "usa páginas do manual de outros sistemas"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTA"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "usa lista de secções separadas por vírgula"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "mostra todas as páginas que cumpram a regex"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "mostra todas as páginas que cumpram o carácter universal"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "faz com que --regex e --wildcard correspondam só a nomes de página, não "
 "descrições"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "encontra todas as páginas do manual correspondentes"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "força uma verificação de consistência da cache"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "não tenta sub-páginas, e.g. \"man foo bar\" => \"man foo-bar\""
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "A controlar saída formatada:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGINADOR"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "usa o programa PAGINADOR para mostrar a saída"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "CADEIA"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "fornece um prompt ao paginador \"less\""
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "mostra tradução ASCII de certos caracteres latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "desliga a hifenização"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "desliga a justificação"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -474,34 +474,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "usa %s para formatar as páginas"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "DISPOSITIVO"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "usa %s com o dispositivo seleccionado"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "NAVEGADOR"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "usa %s ou NAVEGADOR para mostrar saída HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUÇÃO"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -509,82 +509,82 @@ msgstr ""
 "usa o groff e mostra através de gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "usa o groff e força-o a produzir ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Sem entrada de manual para %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(em alternativa, que página do manual deseja para a secção %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Que página do manual deseja?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Sem entrada de manual para %s na secção %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 "Veja \"%s\" para ajuda quando as páginas do manual não estão disponíveis.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "a ignorar pré-processador \"%c\" desconhecido"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "impossível renomear %s para %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "impossível definir horas em %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "impossível desligar %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "impossível criar cat temporário para %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "impossível criar pasta temporária"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "impossível abrir ficheiro temporário %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "impossível remover pasta %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- seguinte: %s [ ver (return) | saltar (Ctrl-D) | sair (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -593,27 +593,27 @@ msgstr ""
 "\n"
 "impossível escrever em %s em modo catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Impossível converter %s para nome cat"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: confiar em refs whatis está obsoleto\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "comando mandb falhou com estado de saída %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "erro interno: tipo de candidato %d fora do intervalo"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Página do manual "
 
@@ -626,345 +626,343 @@ msgstr "impossível escrever na saída padrão"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: carácter incompleto no final do buffer"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CÓDIGO[:...] -t CÓDIGO [NOMEFICHEIRO]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CÓDIGO[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "possíveis codificações do texto original"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CÓDIGO"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "codificação para saída"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "produz menos avisos"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "tem de especificar uma codificação de entrada"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "tem de especificar uma codificação de saída"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[CAMINHOMAN]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "trabalha em silêncio, excepto para aviso \"fictício\""
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "não procura ou adiciona cats perdidos às bases de dados"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "não purga entradas obsoletas das bases de dados"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "produz só bases de dados do utilizador"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "cria bases de dados de raiz, em vez de actualizar"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "verificar páginas do manual por correcção"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "NOMEFICHEIRO"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "actualiza só a entrada para este nome de ficheiro"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "impossível remover %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "impossível escrever em %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "impossível ler de %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "A processar páginas do manual sob %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "A remover pasta cat obsoleta %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "aviso: sem directivas MANDB_MAP em %s, a usar o seu manpath"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d sub-pasta man continha páginas do manual mais recentes.\n"
 msgstr[1] "%d sub-pastas man continham páginas do manual mais recentes.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d página do manual adicionada.\n"
 msgstr[1] "%d páginas do manual adicionadas.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d cat perdido adicionado.\n"
 msgstr[1] "%d cats perdidos adicionados.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d entrada de base de dados antiga purgada.\n"
 msgstr[1] "%d entradas de base de dados antigas purgadas.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Não se criaram bases de dados."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "impossível fazer sentido do ficheiro de configuração manpath %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "aviso: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "aviso: %s não é uma pasta"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "lista manpath muito longa"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "aviso: $PATH não definido"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "aviso: $PATH vazio"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "aviso: $MANPATH definido, a prepor %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "aviso: $MANPATH definido, a anexar %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "aviso: $MANPATH definido, a inserir %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "aviso: $MANPATH definido, a ignorar %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "impossível analisar lista de pastas \"%s\""
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "impossível abrir o ficheiro de configuração manpath %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "aviso: pasta obrigatória %s não existe"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "impossível determinar a pasta actual"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "aviso: %s não começa com %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "mostrar catpaths relativos"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "mostrar todo o manpath global"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "aviso: sem manpath globais definidos no ficheiro de configuração %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "aviso: %s é uma ligação simbólica pendente"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "impossível resolver %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "A procurar cats perdidos sob %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "aviso: impossível actualizar a cache de índice %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s referencia-se a si própria"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "PALAVRA-CHAVE..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "A opção --regex está activa por predefinição."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "imprime mensagens de aviso verbosas"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "interpreta cada palavra-chave como regex"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "procura cada palavra-chave por correspondência exacta"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "as palavras-chave contêm caracteres universais"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "requer que todas as palavra-chave correspondam"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "não cortar saída para a largura do terminal"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "procurar só nestas secções (separado por dois-pontos)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "define o idioma para esta procura"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s o quê?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "aviso: %s contém um ciclo de ponteiro"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(assunto desconhecido)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nada apropriado.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: pedidos .so aninhados demais ou são recursivos"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: aviso: pedido .so falhou"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: aviso: newline em pedido .so, a ignorar"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: aviso: pedido .lf mal formado, a ignorar"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: avido: newline em pedido .lf, a ignorar"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: aspa não terminada em pedido roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "troca de compatibilidade (ignorada)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "lista manpath muito longa"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "impossível restaurar pasta de trabalho anterior"
 
index fd766fc..16d3399 100644 (file)
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.8.0-pre2\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2018-02-02 17:02-0200\n"
 "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -25,59 +25,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Virtaal 1.0.0-beta1\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "não foi possível definir o uid efetivo"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "o usuário man setuid \"%s\" não existe"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "não foi possível fazer chown em %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "fatal: regex \"%s\": %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "a multichave %s não existe"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "não foi possível travar o cache de índice %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "o cache de índice %s está corrompido"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "não foi possível substituir a chave %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "apenas %d campo no conteúdo"
 msgstr[1] "apenas %d campos no conteúdo"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "busca ruim na multichave %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Banco de dados %s corrompido; reconstrua-o com mandb --create"
@@ -97,64 +92,64 @@ msgstr "aviso: %s é versão %s, esperava-se %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatal: não foi possível de inserir o identificador de versão em %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[BANDO-DE-DADOS MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "O banco de dados man tem como padrão %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "emite mensagens de depuração"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "não foi possível abrir %s para leitura"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[SEÇÃO...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "CAMINHO"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "define o caminho de pesquisa por páginas de manual com CAMINHO"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "ARQUIVO"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "usa esse arquivo de configuração de usuário"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "o comando man falhou com estado de saída %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "não foi possível ler o banco de dados %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "conteúdo NULL para a chave: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -163,116 +158,121 @@ msgstr ""
 "\n"
 "Atualizando arquivos cat para seção %s da hierarquia man %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "não foi possível escrever dentro de %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "não foi possível de atualizar %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "aviso: %s/man%s/%s.%s*: extensões conflitantes"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "não foi possível atualizar cache de índice %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "aviso: %s: link simbólico ruim ou requisição \".so\" ROFF"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "aviso: %s: ignorando arquivo vazio"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "aviso: %s: análise por whatis para %s(%s) falhou"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "não foi possível pesquisar no diretório %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "não foi possível fazer chown em %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "aviso: não foi possível criar o catdir %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "não foi possível fazer chmod em %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "não foi possível mudar para o diretório %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "não foi possível criar cache de índice %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Atualizando o cache de índice para o caminho \"%s/%s\". Aguarde..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "feito.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Descartando entradas antigas de banco de dados em %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "aviso: falha ao armazenar entradas para %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "aviso: %s: ignorando nome de arquivo inválido"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "CAMINHO SEÇÃO NOME"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "EXTENSÃO"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "limita a pesquisa ao tipo de extensão EXTENSÃO"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "procura por páginas sem diferenciar maiúsculo de minúsculo (padrão)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "procura por páginas diferenciando maiúsculo de minúsculo"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "interpreta o nome da páginas como uma expressão regular"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "o nome da página contém caracteres curingas"
 
@@ -283,194 +283,194 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "aviso: whatis para %s excede %d byte, truncando."
 msgstr[1] "aviso: whatis para %s excede %d bytes, truncando."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "não foi possível abrir %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "ARQUIVO..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Os padrões são --man e --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "analisa como uma página man"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "analisa como uma página cat"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "mostra informação whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "mostra séries adivinhadas de filtros de pré-processamento"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "CODIFICAÇÃO"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "usa a codificação de saída selecionada"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: opções incompatíveis"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "o comando saiu com status %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[SEÇÃO] PÁGINA..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "redefine todas opções para seus valores padrão"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "AVISOS"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "habilita avisos do groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Modos principais de operação:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "equivalente a whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "equivalente a apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "pesquisa pelo texto em todas as páginas"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "emite localização física da(s) página(s) man"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "emite localização física do(s) arquivo(s) cat"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "interpreta argumento(s) PÁGINA como nome(s) de arquivo(s) local(is)"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "usado por catman para reformatar páginas cat desatualizadas"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "emite a página fonte codificada em CODIFICAÇÃO"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Localizando as páginas de manual:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOCALIDADE"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "define a localidade para esta pesquisa de man em particular"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SISTEMA"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "usa páginas de manual para outros sistemas"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTA"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "usa lista de seções separada por dois-pontos"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "mostra todas as páginas que coincidem com a expressão regular"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "mostra todas as páginas que coincidem com o caractere curinga"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "faz --regex e --wildcard coincidirem apenas nomes de páginas, e não "
 "descrições"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "localiza todas as páginas de manual correspondentes"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "força uma verificação de consistência de cache"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "não tenta subpáginas, ex.: \"man foo bar\" => \"man foo-bar\""
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Controlando saída formatada:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGINADOR"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "usa o programa PAGINADOR para exibir a saída"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "TEXTO"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "fornece ao paginador \"less\" com uma pergunta"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "exibe a tradução ASCII de certos caracteres latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "desliga hifenização"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "desliga justificação"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -480,34 +480,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "usa %s para formatar páginas"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "DISPOSITIVO"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "usa %s com o dispositivo selecionado"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "NAVEGADOR"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "usa %s ou NAVEGADOR para exibir a saída HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "RESOLUÇÃO"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -515,82 +515,82 @@ msgstr ""
 "usa groff e exibe por meio de gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "usa groff e força-o a produzir ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Nenhuma entrada de manual para %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Alternativamente, qual a página de manual desejada da seção %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Qual a página de manual desejada?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Nenhuma entrada de manual para %s na seção %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 "Veja \"%s\" para ajuda quando as páginas de manual não estiverem "
 "disponíveis.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "ignorando pré-processador desconhecido \"%c\""
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "não foi possível renomear %s para %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "não foi possível definir os horários de %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "não foi possível remover o link %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "não foi possível criar o cat temporário para %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "não foi possível criar o diretório temporário"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "não foi possível abrir o arquivo temporário %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "não foi possível remover o diretório %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr "--Man-- próxima: %s [ ver (Enter) | pular (Ctrl-D) | sair (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -599,27 +599,27 @@ msgstr ""
 "\n"
 "não foi possível escrever em %s no modo catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Não foi possível converter %s para um nome cat"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: o uso de whatis refs está obsoleto\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "o comando mandb falhou com status de saída %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "erro interno: tipo de candidato %d fora da faixa"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Página de manual "
 
@@ -632,347 +632,345 @@ msgstr "não foi possível escrever para a saída padrão"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: caractere incompleto no final do buffer"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CÓDIGO[:...] -t CÓDIGO [NOME-DE-ARQUIVO]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CÓDIGO[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "codificações possíveis do texto original"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CÓDIGO"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "codificação para a saída"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "produz menos avisos"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "deve-se especificar uma codificação de entrada"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "deve-se especificar uma codificação de saída"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[CAMINHO-MAN]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "trabalha silenciosamente, exceto para aviso de erro"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "não procura ou adiciona cats errantes aos bancos de dados"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "não descarta entradas obsoletas dos bancos de dados"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "produz apenas bancos de dados de usuário"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "cria banco de dados do zero, ao invés de atualizá-los"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "verifica a exatidão de páginas de manual"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "NOME-DE-ARQUIVO"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "atualiza apenas a entrada deste nome de arquivo"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "não foi possível remover %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "não posso escrever em %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "não foi possível ler de %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Processando as páginas de manual sob %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Removendo diretório cat obsoleto %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "aviso: nenhuma diretiva MANDB_MAP em %s, usando o seu caminho man"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d subdiretório man continha páginas de manual novas.\n"
 msgstr[1] "%d subdiretórios man continham páginas de manual novas.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d página de manual foi adicionada.\n"
 msgstr[1] "%d páginas de manual foram adicionadas.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d cat errante foi adicionado.\n"
 msgstr[1] "%d cats errantes foram adicionados.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d entrada antiga no banco de dados foi descartada.\n"
 msgstr[1] "%d entradas antigas no banco de dados foram descartadas.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Nenhum banco de dados criado."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "não há sentido algum no arquivo de configuração de caminho man %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "aviso: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "aviso: %s não é um diretório"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "lista de caminho man muito longa"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "aviso: $PATH não definido"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "aviso: $PATH vazio"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "aviso: $MANPATH definido, acrescentando %s ao início"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "aviso: $MANPATH definido, acrescentando %s ao final"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "aviso: $MANPATH definido, inserindo %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "aviso: $MANPATH definido, ignorando %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "não foi possível analisar a lista de diretórios \"%s\""
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "não foi possível abrir o arquivo de configuração do caminho man %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "aviso: diretório obrigatório %s não existe"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "não foi possível determinar o diretório atual"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "aviso: %s não começa com %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "mostra caminhos cat relativos"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "mostra o caminho man global inteiro"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "aviso: nenhum caminho man global definido no arquivo de configuração %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "aviso: %s é um link simbólico perdido"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "não foi possível resolver %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Verificando por cats errantes sob %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "aviso: não foi possível atualizar o cache de índice %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s referencia a si mesmo"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "PALAVRA-CHAVE..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "A opção --regex está habilitada por padrão."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "emite mensagens de aviso detalhadas"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "interpreta cada palavra-chave como uma expressão regular"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "pesquisa cada palavra-chave por correspondência exata"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "a(s) palavra-chave(s) não podem conter caracteres coringas"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "exige correspondência de todas as palavra-chaves"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "não corta a saída para a largura do terminal"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "pesquisa apenas nestas seções (separadas por dois-pontos)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "define a localidade para esta pesquisa"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s o quê?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "aviso: %s contém um laço de ponteiros"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(assunto desconhecido)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nada apropriado.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr ""
 "%s:%d: requisições de .so aninhadas com muita profundidade ou são recursivas"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: aviso: requisição .so falhou"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: aviso: nova-linha na requisição de .so, ignorando"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: aviso: requisição de .lf malformada, ignorando"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: aviso: nova-linha na requisição de .lf, ignorando"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: aspas não terminadas na requisição de roff"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "troca de compatibilidade (ignorado)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "lista de caminho man muito longa"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "não foi possível restaurar o diretório de trabalho anterior"
 
index 1c945ce..98ec79c 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.4.2-pre1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2003-10-27 08:40+0200\n"
 "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -16,59 +16,54 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "nu se poate seta uid efectiv"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "utilizatorul man setuidat \"%s\" nu existã"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "nu se poate face chown pe %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "fatal: regex `%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "multi key %s nu existã"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "nu se poate face lock pe index cache %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "index cache %s este corupt"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "nu s-a putut înlocui cheia %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, fuzzy, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "numai %d câmpuri în conþinut"
 msgstr[1] "numai %d câmpuri în conþinut"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "aducere(fetch) incorectã în multi chei %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Baza de date %s e coruptã; reconstruiþi cu mandb --create"
@@ -88,65 +83,65 @@ msgstr "avertisment: %s este versiunea %s, se a
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "fatal: nu se poate insera identificatorul de versiune în %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr ""
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr ""
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr ""
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "nu se poate deschide %s pentru citire"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr ""
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr ""
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr ""
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr ""
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 #, fuzzy
 msgid "use this user configuration file"
 msgstr "nu se poate deschide fiºierul de configurare al cãii de man %s"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "comanda man a eºuat cu stare de ieºire %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "nu se poate citi baza de date %s."
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "conþinut NULL pentru cheia: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -155,116 +150,121 @@ msgstr ""
 "\n"
 "Se înnoiesc(update) fiºierele cat pentru secþiunea %s a ierarhiei man %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "nu se poate scrie în %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "nu se poate înnoi(update) %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "avertisment: %s/man%s/%s.%s*: extensii concurente"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "nu se poate înnoi(update) index cache %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "avertisment: %s: symlink eronat sau cerere ROFF `.so'"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "avertisment: %s: se ignorã fiºierul vid."
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "avertisment: %s: analiza(parse) whatis pentru %s(%s) eºuatã"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "nu se poate cãuta directorul %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "nu se poate face chown pe %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "avertisment: nu se poate crea catdir %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "nu se poate face chmod pe %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "nu se poate schimba în directorul %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "nu se poate crea index cache-ului %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Se înnoieºte(update) index cache-ul pentru calea `%s%s'. Aºteptaþi..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "efectuat.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Se curãþã(purge) intrãrile vechi ale bazei de date în %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "avertisment: am eºuat în depozitarea intrãrii pentru %s (%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "avertisment: %s: se ignorã numele de fiºier fals(bogus)"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr ""
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr ""
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr ""
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr ""
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr ""
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr ""
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr ""
 
@@ -275,309 +275,309 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "avertisment: whatis pentru %s depãºeºte %d octeþi, se trunchiazã."
 msgstr[1] "avertisment: whatis pentru %s depãºeºte %d octeþi, se trunchiazã."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "nu se poate deschide %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr ""
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr ""
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr ""
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr ""
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr ""
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr ""
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr ""
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr ""
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, fuzzy, c-format
 msgid "%s: incompatible options"
 msgstr ": opþiuni incompatibile"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "comanda a ieºit cu starea %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr ""
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr ""
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr ""
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr ""
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr ""
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr ""
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr ""
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr ""
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr ""
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr ""
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr ""
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr ""
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr ""
 
-#: src/man.c:296
+#: src/man.c:286
 #, fuzzy
 msgid "Finding manual pages:"
 msgstr " Paginã de manual "
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr ""
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr ""
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr ""
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr ""
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr ""
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr ""
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr ""
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr ""
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr ""
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr ""
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr ""
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr ""
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr ""
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr ""
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr ""
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr ""
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr ""
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr ""
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr ""
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 msgstr ""
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr ""
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr ""
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr ""
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr ""
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr ""
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr ""
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 msgstr ""
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr ""
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, fuzzy, c-format
 msgid "No manual entry for %s\n"
 msgstr "Nu existã intrare în manual pentru %s"
 
-#: src/man.c:612
+#: src/man.c:599
 #, fuzzy, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "Ce paginã de manual doriþi din secþiunea %s?\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Ce paginã de manual doriþi?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, fuzzy, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Nu existã intrare în manual pentru %s"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr ""
 "Citiþi `%s' pentru ajutor în caz cã paginile de manual nu sunt disponibile.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "se ignorã preprocesorul necunoscut `%c'"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "nu se poate redenumi %s în %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "nu se poate seta timpul pe %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "nu se poate scoate linkul(unlink) la %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, fuzzy, c-format
 msgid "can't create temporary cat for %s"
 msgstr "nu se poate crea un nume de fiºier temporar"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, fuzzy, c-format
 msgid "can't create temporary directory"
 msgstr "nu se poate crea un nume de fiºier temporar"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, fuzzy, c-format
 msgid "can't open temporary file %s"
 msgstr "nu se poate deschide fiºierul de configurare al cãii de man %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "nu se poate ºterge directorul %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- urmãtor: %s [ vizualizare (return) | omitere (Ctrl-D) | ieºire (Ctrl-"
 "C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -586,27 +586,27 @@ msgstr ""
 "\n"
 "nu se poate scrie în %s în modul catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Nu pot converti %s în nume cat"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: încrederea în referinþele whatis este învechitã\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "comanda mandb a eºuat cu stare de ieºire %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "eroare internã: candidatul tip %d depãºeºte domeniul"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Paginã de manual "
 
@@ -619,109 +619,109 @@ msgstr "nu se poate scrie 
 msgid "iconv: incomplete character at end of buffer"
 msgstr ""
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr ""
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr ""
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr ""
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr ""
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr ""
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr ""
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr ""
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr ""
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr ""
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr ""
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr ""
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr ""
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr ""
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr ""
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr ""
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr ""
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr ""
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "nu se poate ºterge %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "nu se poate scrie în %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "nu se poate citi din %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Se proceseazã paginile de manual sub %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, fuzzy, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Se verificã cat-urile rãtãcite sub %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "avertisment: nu existã directive MANDB_MAP în %s, se foloseºte calea voastrã "
 "de man"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, fuzzy, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -732,239 +732,237 @@ msgstr[1] ""
 "%d subdirectoare man conþin pagini de manual noi.\n"
 "%d pagini de manual au fost adãugate.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, fuzzy, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] " Paginã de manual "
 msgstr[1] " Paginã de manual "
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, fuzzy, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d cat-uri rãtãcite au fost adãugate.\n"
 msgstr[1] "%d cat-uri rãtãcite au fost adãugate.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, fuzzy, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d intrãri vechi în baza de date au fost eliminate.\n"
 msgstr[1] "%d intrãri vechi în baza de date au fost eliminate.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, fuzzy, c-format
 msgid "No databases created."
 msgstr "Nici o bazã de date înnoitã (updated)."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "nu pot înþelege fiºierul de configuraþie pentru cale man %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "avertisment: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "avertisment: %s nu este un director"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "lista de cãi man este prea lungã"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "avertisment: nu este setat $PATH"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, fuzzy, c-format
 msgid "warning: empty $PATH"
 msgstr "avertisment: %PATH vid"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "avertisment: $MANPATH setat, se adaugã la început(prepending) %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "avertisment: $MANPATH setat, se adaugã(append) %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "avertisment: $MANPATH setat, se insereazã %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "avertisment: $MANPATH setat, se ignorã %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "nu se poate analiza(parse) lista de directoare `%s'"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "nu se poate deschide fiºierul de configurare al cãii de man %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "avertisment: directorul necesar %s nu existã"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "nu se poate determina directorul curent"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "avertisment: %s nu începe cu %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr ""
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr ""
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "avertisment: nu existã cãi man globale setate în fiºierul de configurare %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "avertisment: %s este un symlink nesigur(dangling)"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "nu se poate rezolva %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Se verificã cat-urile rãtãcite sub %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "avertisment: nu se poate înnoi(update) index cache-ul %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s este auto-referinþã(self-referencing)"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr ""
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr ""
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr ""
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr ""
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr ""
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr ""
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr ""
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr ""
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr ""
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr ""
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s ce?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "avertisment: %s conþine o buclã pointer"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(subiect necunoscut)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: nimic potrivit.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr ""
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr ""
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr ""
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr ""
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr ""
 
+#~ msgid "manpath list too long"
+#~ msgstr "lista de cãi man este prea lungã"
+
 #, fuzzy
 #~ msgid "can't restore previous working directory"
 #~ msgstr "nu se poate crea un nume de fiºier temporar"
index 7523891..6e0f7da 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.8.0-pre2\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2018-01-23 05:37+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
@@ -20,47 +20,42 @@ 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"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "не удалось установить эффективный uid"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "setuid man пользователь \"%s\" не существует"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "не удалось выполнить функцию chown %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "неустранимая ошибка: regex `%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "многомерный ключ %s не существует"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "не удалось заблокировать индексный кэш %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "индексный кэш %s повреждён"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "не удалось заменить ключ %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
@@ -68,12 +63,12 @@ msgstr[0] "в содержимом только %d поле"
 msgstr[1] "в содержимом только %d поля"
 msgstr[2] "в содержимом только %d полей"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "неверная выборка по многомерному ключу %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "База данных %s повреждена; пересборка командой mandb --create"
@@ -93,64 +88,64 @@ msgstr "предупреждение: %s имеет версию %s, а ожид
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "неустранимая ошибка: не удалось вставить идентификатор версии в %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[БАЗА ДАННЫХ MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "По умолчанию база данных man расположена в %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "показывать сообщения отладки"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "не удалось открыть %s на чтение"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[СЕКЦИЯ...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "ПУТЬ"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "установить путь поиска справочных страниц в значение ПУТЬ"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "использовать указанный пользовательских файл настроек"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "команда man завершилась неудачно (код выхода %d)"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "не удалось прочитать базу данных %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "содержимое ключа равно NULL: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -159,117 +154,122 @@ msgstr ""
 "\n"
 "Обновление cat файлов в разделе %s man иерархии %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "не удалось записать в %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "не удалось обновить %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "предупреждение: %s/man%s/%s.%s*: конкурирующие расширения"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "не удалось обновить индексный кэш %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr ""
 "предупреждение: %s: неверная символическая ссылка или запрос ROFF `.so'"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "предупреждение: %s: игнорируется пустой файл"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "предупреждение: %s: whatis анализ %s(%s) не удался"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "не удалось найти каталог %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "не удалось выполнить функцию chown %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "предупреждение: не удалось создать cat каталог %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "не удалось выполнить функцию chmod %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "не удалось сменить каталог на %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "не удалось создать индексный кэш %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Обновление индексного кэша для пути `%s/%s'. Ждите..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "завершено.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Удаление старых записей базы данных в %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "предупреждение: не удалось сохранить запись для %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "предупреждение: %s: игнорируется фальшивое имя файла"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "ПУТЬ СЕКЦИЯ ИМЯ"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "РАСШИРЕНИЕ"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "искать только с заданным РАСШИРЕНИЕМ"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "не учитывать регистр при поиске (по умолчанию)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "учитывать регистр при поиске"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "считать имя страницы регулярным выражением"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "имя страницы содержит групповые символы"
 
@@ -284,193 +284,193 @@ msgstr[1] ""
 msgstr[2] ""
 "предупреждение: результат whatis для %s превысил %d байт, обрезается."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "не удалось открыть %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "ФАЙЛ..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "По умолчанию используются --man и --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "анализировать как man-страницу"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "анализировать как cat-страницу"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "показать информацию whatis"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "показать серию предположений фильтров предварительной обработки"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "КОДИРОВКА"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "использовать выбранную кодировку выходных данных"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: несовместимые параметры"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "команда завершилась с кодом %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[СЕКЦИЯ] СТРАНИЦА..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "сбросить все параметры в значения по умолчанию"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "ПРЕДУПРЕЖДЕНИЯ"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "включить предупреждения от groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Основные режимы работы:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "эквивалентно whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "эквивалентно apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "искать текст по всем справочным страницам"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "показывать физическое расположение man страницы"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "показывать физическое расположение cat файла(ов)"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "воспринимать аргумент(ы) СТРАНИЦА как имя файл(ов)"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "используется catman для переформатирования устаревших cat страниц"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "вывести исходную страницу в КОДИРОВКЕ"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Поиск справочных страниц:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "ЛОКАЛЬ"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "задать локаль для поиска"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "СИСТЕМА"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "использовать справочные страницы от других систем"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "СПИСОК"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "использовать список секций, указанных через двоеточие"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "показать все страницы, удовлетворяющие регулярному выражению"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "показать все страницы, удовлетворяющие групповым символам"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "искать совпадение --regex и --wildcard только в именах страниц, без описаний"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "поиск всех подходящих справочных страниц"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "выполнить проверку целостности кэша"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "не затрагивать подстраницы, например, 'man foo bar' => 'man foo-bar'"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Управление форматированием вывода:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "ПЕЙДЖЕР"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "использовать программу ПЕЙДЖЕР для вывода на экран"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "СТРОКА"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "использовать пейджер `less' с подсказкой"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "показать трансляцию ASCII определённых символов latin1"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "выключить перенос слов"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "выключить выравнивание"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -480,34 +480,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "использовать %s для форматирования страниц"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "УСТРОЙСТВО"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "использовать %s на выбранном устройстве"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "БРАУЗЕР"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "использовать %s или БРАУЗЕР для показа HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "РАЗРЕШЕНИЕ"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -515,81 +515,81 @@ msgstr ""
 "использовать groff и показывать с помощью gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "использовать groff и заставить его генерировать ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Нет справочной страницы для %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Или же, какая именно из справочных страниц раздела %s вам нужна?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Какая справочная страница вам нужна?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Нет справочной страницы для %s в разделе %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Смотрите '%s' в справке, если недоступны справочные страницы.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "игнорирование неизвестного препроцессора `%c'"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "не удалось переименовать %s в %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "не удалось установить время доступа для %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "не удалось выполнить функцию unlink %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "не удалось создать временный cat файл %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "не удалось создать временный каталог"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "не удалось открыть временный файл %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "не удалось удалить каталог %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- след: %s [ просм (ввод) | пропуск (Ctrl-D) | выход (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -598,27 +598,27 @@ msgstr ""
 "\n"
 "не удалось записать в %s в режиме catman"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Не удалось преобразовать %s в cat имя"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: полагаться на ссылки whatis настоятельно не рекомендуется\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "команда mandb завершилась неудачно (код выхода %d)"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "внутренняя ошибка: тип кандидата %d вне диапазона"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Справочная страница "
 
@@ -631,107 +631,107 @@ msgstr "не удалось записать в стандартный выхо
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: неполный символ в конце буфера"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f КОДИРОВКА[:...] -t КОДИРОВКА [ИМЯ-ФАЙЛА]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "КОДИРОВКА[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "возможные кодировки исходного текста"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "КОДИРОВКА"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "кодировка вывода"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "выводить некоторые предупреждения"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "должна быть указана кодировка входных данных"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "должна быть указана кодировка выходных данных"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANPATH]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "не выводить сообщения, за исключением 'фиктивных' предупреждений"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "не искать или добавлять побочные cat в dbs"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "не вычищать устаревшие записи из dbs"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "создать только пользовательские базы данных"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "создать dbs с нуля, а не обновлять"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "проверить справочные страницы на правильность"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "ИМЯ-ФАЙЛА"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "обновить запись только для этого файла"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "не удалось удалить %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "не удалось записать в %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "не удалось прочитать из %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Обработка справочных страниц в %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Удаляется устаревший каталог cat %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "предупреждение: нет директивы MANDB_MAP в %s, используется ваш manpath"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -739,7 +739,7 @@ msgstr[0] "В %d man-подкаталоге содержатся более но
 msgstr[1] "В %d man-подкаталогах содержатся более новые справочные страницы.\n"
 msgstr[2] "В %d man-подкаталогах содержатся более новые справочные страницы.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
@@ -747,7 +747,7 @@ msgstr[0] "Добавлена %d справочная страница.\n"
 msgstr[1] "Добавлено %d справочные страницы.\n"
 msgstr[2] "Добавлено %d справочных страниц.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
@@ -755,7 +755,7 @@ msgstr[0] "Добавлена %d побочная cat-страница.\n"
 msgstr[1] "Добавлено %d побочные cat-страницы.\n"
 msgstr[2] "Добавлено %d побочных cat-страниц.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
@@ -763,220 +763,218 @@ msgstr[0] "Вычищена %d старая запись базы данных.\
 msgstr[1] "Вычищено %d старые записи базы данных.\n"
 msgstr[2] "Вычищено %d старых записей базы данных.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Базы данных не созданы."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "нет правильного manpath файла настроек %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "предупреждение: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "предупреждение: %s не является каталогом"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "список manpath слишком длинный"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "предупреждение: переменная среды $PATH не установлена"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "предупреждение: переменная среды $PATH пуста"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr ""
 "предупреждение: найдена переменная среды $MANPATH, добавляется к началу %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr ""
 "предупреждение: найдена переменная среды $MANPATH, добавляется в конец %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "предупреждение: найдена переменная среды $MANPATH, вставляется в %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "предупреждение: найдена переменная среды $MANPATH, игнорируется %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "не удалось разобрать список каталогов `%s'"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "не удалось открыть manpath файл настроек %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "предупреждение: обязательный каталог %s не существует"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "не удалось определить текущий каталог"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "предупреждение: %s не начинается с %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "показать относительные catpath"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "показать весь глобальный manpath"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "предупреждение: не установлены глобальные manpath в файле настроек %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "предупреждение: %s ссылается на несуществующий объект"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "не удалось определить %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Проверка побочных cat в %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "предупреждение: не удалось обновить индексный кэш %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s ссылается на себя"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "КЛЮЧ..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "Параметр --regex включён по умолчанию."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "выводить подробные предупреждающие сообщения"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "считать каждый ключ регулярным выражением"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "искать точное совпадения каждого ключа"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "ключ(и) содержит групповые символы"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "требуется совпадение всех ключей"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "не обрезать вывод по ширине терминала"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "искать только в этих секциях (разделяются двоеточиями)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "задать локаль для этого поиска"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s что?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "warning: %s содержит циклический указатель"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(неизвестный объект)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: ничего подходящего не найдено.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: .so запрашивает слишком глубокую вложенность или это рекурсия"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: предупреждение: .so запрос завершился неудачно"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: предупреждение: новая строка в .so запросе, игнорируется"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr ""
 "%s:%d: предупреждение: неправильно сформированный .lf запрос, игнорируется"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: предупреждение: новая строка в .lf запросе, игнорируется"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: незакрытая кавычка в roff запросе"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "для совместимости (игнорируется)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "список manpath слишком длинный"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "не удалось восстановить предыдущий рабочий каталог"
 
index abc7a2a..d8020dd 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2016-12-18 06:38+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -18,47 +18,42 @@ msgstr ""
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "не могу да подесим стварни јиб"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "подесииб ман корисник „%s“ не постоји"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "не могу да променим власника „%s“"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "кобно: регизр „%s“: %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "вишеструки кључ %s не постоји"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "не могу да закључам оставу индекса „%s“"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "остава индекса „%s“ је оштећена"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "не могу да заменим кључ „%s“"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
@@ -66,12 +61,12 @@ msgstr[0] "само %d поље у садржају"
 msgstr[1] "само %d поља у садржају"
 msgstr[2] "само %d поља у садржају"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "лоша набавка на вишеструком кључу „%s“"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "База података „%s“ је оштећена; изградите поново са „mandb --create“"
@@ -91,64 +86,64 @@ msgstr "упозорење: „%s“ је у издању %s, очекивах %
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "кобно: не могу да уметнем одредника издања у „%s“"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[БАЗА ПОДАТАКА МАН-а]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "База података мана се пребацује на %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "исписује поруке за исправљање грешака"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "не могу да отворим „%s“ за читање"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[ОДЕЉАК...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "ПУТАЊА"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "поставља путању претраге за странице упутства на ПУТАЊУ"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "ДАТОТЕКА"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "користи ову корисничку датотеку подешавања"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "наредба мана није успела са излазним стањем „%d“"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "не могу да прочитам базу података „%s“"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "НИШТАВАН садржај за кључ: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,116 +152,121 @@ msgstr ""
 "\n"
 "Ажурирам кат датотеке за одељак %s манове хијерархије %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "не могу да пишем у „%s“"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "не могу да ажурирам „%s“"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "упозорење: %s/man%s/%s.%s*: конкурентна проширења"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "не могу да ажурирам оставу индекса „%s“"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "упозорење: %s: лоша симболичка веза или РОФФ „.so“ захтев"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "упозорење: %s: занемарујем празну датотеку"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "упозорење: %s: није успела обрада шта-је за %s(%s)"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "не могу да претражим директоријум „%s“"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "не могу да променим власника „%s“"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "упозорење: не могу да направим катдир „%s“"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "не могу да променим режим „%s“"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "не могу да пређем у директоријум „%s“"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "не могу да направим оставу индекса „%s“"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Ажурирам оставу индекса за путању „%s/%s“. Сачекајте..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "готово.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Избацујем старе уносе базе података у „%s“...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "упозорење: нисам успео да ускладиштим унос за %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "упозорење: %s: занемарујем нетачан назив датотеке"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "ПУТАЊА ОДЕЉАК НАЗИВ"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "ПРОШИРЕЊЕ"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "ограничава претрагу на врсту проширења ПРОШИРЕЊЕ"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "тражи странице без обзира на величину слова (основно)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "тражи странице с обзиром на величину слова"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "тумачи назив странице као регуларни израз"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "назив странице садржи џокере"
 
@@ -278,193 +278,193 @@ msgstr[0] "упозорење: шта-је за „%s“ премашује %d 
 msgstr[1] "упозорење: шта-је за „%s“ премашује %d бајта, скраћујем."
 msgstr[2] "упозорење: шта-је за „%s“ премашује %d бајтова, скраћујем."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "не могу да отворим „%s“"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "ДАТОТЕКА..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Основно је „--man“ и „--whatis“."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "обрађује као ман страницу"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "обрађује као кат страницу"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "приказује шта-је податке"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "приказује погођене серије пропусника предобраде"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "КОДИРАЊЕ"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "користи изабрано кодирање излаза"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: несагласне опције"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "наредба је изашла са стањем %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[ОДЕЉАК] СТРАНИЦА..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "враћа све опције на њихове основне вредности"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "УПОЗОРЕЊА"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "укључује упозорења из гроф-а"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Главни режими рада:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "исто што и шта-је"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "исто што и „apropos“"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "тражи текст на свим страницама"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "исписује физичко место ман странице(а)"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "исписује физичко место кат датотеке(а)"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "тумачи аргумент(е) СТРАНИЦЕ као месни(е) назив(е) датотеке"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "користи га катман да поново обликује застареле кат странице"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "излазна страница извора је кодирана у КОДИРАЊУ"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Проналажење страница упутства:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "ЈЕЗИК"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "одређује језик за ову нарочиту претрагу мана"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "СИСТЕМ"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "користи странице упутства са других система"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "СПИСАК"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "користи двотачком раздвојени списак одељка"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "приказује све странице које одговарају регуларном изразу"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "приказује све странице које одговарају џокерима"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "„make --regex“ и „--wildcard“ поклапају само називе страница, а не описе"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "проналази све одговарајуће странице упутства"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "приморава проверу доследности оставе"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "не покушава подстранице, нпр. „man foo bar“ => „man foo-bar“"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Управљање обликованим излазом:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "СТРАНИЧАР"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "користи програм СТРАНИЧАР за приказивање излаза"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "НИСКА"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "обезбеђује страничара „less“ са упитом"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "приказује АСКРИ превод неких латин1 знакова"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "искључује преламање"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "искључује поравнавање"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -474,34 +474,34 @@ msgstr ""
 "e — [n]eqn,  p — pic,    t — tbl,\n"
 "g — grap,    r — refer,  v — vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "користи „%s“ за обликовање страница"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "УРЕЂАЈ"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "користи „%s“ са изабраним уређајем"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "ПРЕГЛЕДНИК"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "користи „%s“ или ПРЕГЛЕДНИК за приказивање ХТМЛ излаза"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "РЕЗОЛУЦИЈА"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -509,82 +509,82 @@ msgstr ""
 "користи грофа и приказује кроз гиксдитпреглед (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "користи гроф и приморава га да произведе дитроф"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Нема уноса упутства за „%s“\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Илити, коју страницу упутства желите из одељка %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Коју страницу упутства желите?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Нема уноса упутства за „%s“ у одељку %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Погледајте „%s“ за помоћ када странице упутства нису доступне.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "занемарујем неознати препроцесор „%c“"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "не могу да преименујем „%s“ у „%s“"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "не могу да подесим времена на „%s“"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "не могу да развежем „%s“"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "не могу да направим привремени кат за „%s“"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "не могу да направим привремени директоријум"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "не могу да отворим привремену датотеку „%s“"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "не могу да уклоним директоријум „%s“"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Ман-- следеће: %s [ преглед (повратница) | прескочи (Ктрл-Д) | изађи (Ктрл-"
 "Ц) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -593,27 +593,27 @@ msgstr ""
 "\n"
 "не могу да пишем у „%s“ у катман режиму"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Не могу да претворим „%s“ у кат назив"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: ослањање на упуте шта-је је застарело\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "наредба мандб није успела са излазним стањем „%d“"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "унутрашња грешка: врста кандидата „%d“ је ван опсега"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Страница упутства "
 
@@ -626,107 +626,107 @@ msgstr "не могу да пишем на стандардни излаз"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "иконв: непотпун знак на крају међумеморије"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f КОД[:...] -t КОД [НАЗИВ ДАТОТЕКЕ]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "КОД[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "могућа кодирања изворног текста"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "КОД"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "кодирање за излаз"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "производи мања упозорења"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "морате навести кодирање улаза"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "морате навести кодирање излаза"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[МАНПУТАЊА]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "ради тихо, осим за „bogus“ упозорење"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "не тражи или не додаје залутале катсе у базе података"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "не избацује застареле уносе из база података"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "производи само корисничке базе података"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "прави базе података од почетка, уместо да их освежава"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "проверава странице упутства за исправношћу"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "ДАТОТЕКА"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "ажурира само унос за ову датотеку"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "не могу да уклоним „%s“"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "не могу да пишем у „%s“"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "не могу да читам из „%s“"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Обрађујем странице упутства под „%s“...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Уклањам застареле кат директоријуме „%s“...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "упозорење: нема МАНБП_МАП смерница у „%s“, користим вашу ман-путању"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -734,7 +734,7 @@ msgstr[0] "%d ман подиректоријум је садржао новиј
 msgstr[1] "%d ман подиректоријума су садржала новије странице упутства.\n"
 msgstr[2] "%d ман подиректоријума је садржало новије странице упутства.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
@@ -742,7 +742,7 @@ msgstr[0] "%d страница упутства је додата.\n"
 msgstr[1] "%d странице упутства су додате.\n"
 msgstr[2] "%d страница упутства је додато.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
@@ -750,7 +750,7 @@ msgstr[0] "%d залутали кат је додат.\n"
 msgstr[1] "%d залутала ката су додата.\n"
 msgstr[2] "%d залуталих катова је додато.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
@@ -758,217 +758,215 @@ msgstr[0] "%d стари унос базе података је избачен.
 msgstr[1] "%d стара уноса базе података су избачена.\n"
 msgstr[2] "%d старих уноса базе података је избачено.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Нису направљене базе података."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "не могу да направим смисао датотеке подешавања манпутање „%s“"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "упозорење: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "упозорење: „%s“ није директоријум"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "списак манпутање је предуг"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "упозорење: $ПУТАЊА није подешено"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "упозорење: празно $ПУТАЊА"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "упозорење: $МАНПУТАЊА је подешено, постављам испред „%s“"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "упозорење: $МАНПУТАЊА је подешено, постављам иза „%s“"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "упозорење: $МАНПУТАЊА је подешено, умећем „%s“"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "упозорење: $МАНПУТАЊА је подешено, занемарујем „%s“"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "не могу да обрадим списак директоријума „%s“"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "не могу да отворим датотеку подешавања манпутање „%s“"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "упозорење: обавезан директоријум „%s“ не постоји"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "не могу да одредим текући директоријум"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "упозорење: „%s“ не почиње са „%s“"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "показује односне катпутање"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "показује читаву општу манпутању"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "упозорење: нису подешене опште манпутање у датотеци подешавања „%s“"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "упозорење: „%s“ је апсолутна симболичка веза"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "не могу да решим „%s“"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Тражим залутале катсе под „%s“...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "упозорење: не могу да ажурирам оставу индекса „%s“"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "„%s“ је само упутна"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "КЉУЧНА РЕЧ..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "Опција „--regex“ је унапред изабрана."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "исписује опширне поруке упозорења"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "тумачи сваку кључну реч као регуларни израз"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "тражи сваку кључну реч за тачним поклапањем"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "кључна реч садржи џокера"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "захтева све кључне речи за подударање"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "не крати излаз на ширину терминала"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "претаржује само ове одељке (раздвојене двотачком)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "одређује језик за ову претрагу"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s шта?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "упозорење: „%s“ садржи петљу показивача"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(непознат субјекат)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: ништа одговарајуће.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: „.so“ захтеви су угнежђени превише дубоко или су дубински"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: упозорење: није успео „.so“ захтев"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: упозорење: нови ред у „.so“ захтеву, занемарујем"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: упозорење: лош „.lf“ захтев, занемарујем"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: упозорење: нови ред у „.lf“ захтеву, занемарујем"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: неокончани цитат у роф захтеву"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "пребацивање сагласности (занемарено)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "списак манпутање је предуг"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "не могу да повратим претходни радни директоријум"
 
index 00392a0..c9fb4d5 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2017-01-05 01:35+0100\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -21,59 +21,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 1.8.11\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "kan inte ställa in effektivt uid"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "en manualanvändare \"%s\" som är setuid finns inte"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "kan inte byta ägare på %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "ödesdigert: reguljärt uttryck \"%s\": %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "multinyckeln %s finns inte"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "kan inte låsa indexcachen %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "indexcachen %s är trasig"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "kan inte ersätta nyckeln %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "endast %d fält i innehåll"
 msgstr[1] "endast %d fält i innehåll"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "felaktig hämtning på multinyckel %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "Databasen %s är skadad; bygg om med mandb --create"
@@ -93,65 +88,65 @@ msgstr "varning: %s är version %s, %s förväntas\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "ödesdiger: kan inte infoga versionsidentifierare i %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MANUALDATABAS]"
 
 # %s%s är en sökväg.
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "Manualdatabasen är som standard %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "avge felsökningsmeddelanden"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "kan inte öppna %s för läsning"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[AVSNITT…]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "SÖKVÄG"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "ställ in sökväg för manualsidor till SÖKVÄG"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "FIL"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "använd denna användarkonfigurationsfil"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "manualkommandot misslyckades med slutstatus %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "kan inte läsa databasen %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "NULL-innehåll för nyckel: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -160,116 +155,121 @@ msgstr ""
 "\n"
 "Uppdaterar cat-filer för avsnitt %s i man-hierarkin %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "kan inte skriva inom %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "kan inte uppdatera %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "varning: %s/man%s/%s.%s*: filändelser i konflikt"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "kan inte uppdatera indexcachen %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "varning: %s: felaktig symbolisk länk eller ROFF \".so\"-begäran"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "varning: %s: ignorerar tom fil"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "varning: %s: whatis-tolkning för %s(%s) misslyckades"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "kan inte söka i katalogen %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "kan inte byta ägare på %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "varning: kan inte skapa cat-katalog %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "kan inte ändra rättigheter på %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "kan inte byta till katalogen %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "kan inte skapa indexcachen %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "Uppdaterar indexcache för sökvägen \"%s/%s\". Vänta..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "klar.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Tömmer gamla databasposter i %s...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "varning: misslyckades med att lagra post för %s(%s)"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "varning: %s: ignorerar felaktigt filnamn"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "SÖKVÄG AVSNITT NAMN"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "ÄNDELSE"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "begränsa sökning till ändelsetyp ÄNDELSE"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "leta efter sidor skiftlägesoberoende (standard)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "leta efter sidor skiftlägesberoende"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "tolka sidnamn som ett reguljärt uttryck"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "sidnamnet innehåller jokertecken"
 
@@ -280,193 +280,193 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "varning: whatis för %s överskrider %d byte, förkortar."
 msgstr[1] "varning: whatis för %s överskrider %d byte, förkortar."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "kan inte öppna %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "FIL…"
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Standardflaggorna är --man och --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "tolka som manualsida"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "tolka som cat-sida"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "visa whatis-information"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "visa gissade serier av preprocessorfilter"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "KODNING"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "använd vald utmatningskodning"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: inkompatibla flaggor"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "kommandot avslutade med status %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[AVSNITT] SIDA…"
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "återställ alla flaggor till deras standardvärden"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "VARNINGAR"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "aktivera varningar från groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Huvudlägen för drift:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "ekvivalent med whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "ekvivalent med apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "sök efter text i alla sidor"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "skriv ut manualsidors fysiska platser"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "skriv ut fysiska platser för cat-filer"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "tolka SIDA-argument som lokala filnamn"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "används av catman för att omformatera för gamla cat-sidor"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "mata ut källsida kodad i KODNING"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Hittar manualsidor:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "LOKAL"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "definiera lokalen för denna specifika manualsökning"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SYSTEM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "använd manualsidor från andra system"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LISTA"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "använd kolonseparerad avsnittslista"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "visa alla sidor som matchar reguljärt uttryck"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "visa alla sidor som matchar jokertecken"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "få --regex och --wildcard att matcha endast sidnamn, inte beskrivningar"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "hitta alla matchande manualsidor"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "tvinga fram en konsistenskontroll av cachen"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "prova inte med undersidor, t.ex. ”man foo bar” => ”man foo-bar”"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Kontrollerar formaterad utmatning:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "SIDVISARE"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "använd programmet SIDVISARE för att visa utmatning"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "STRÄNG"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "tillhandahåll ”less”-sidvisaren med en prompt"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "visa ASCII-översättningen av vissa latin1-tecken"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "stäng av avstavning"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "stäng av justering"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -476,34 +476,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "använd %s för att formatera sidor"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "ENHET"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "använd %s med vald enhet"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "WEBBLÄSARE"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "använd %s eller WEBBLÄSARE för att visa HTML-utmatning"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "UPPLÖSNING"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -511,83 +511,83 @@ msgstr ""
 "använd groff och visa via gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "använd groff och tvinga det att skapa ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Ingen manualpost för %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Alternativt, vilken manualsida vill du ha från avsnittet %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Vilken manualsida vill du ha?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Ingen manualpost för %s i avsnittet %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Se \"%s\" för hjälp när manualsidor inte är tillgängliga.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "ignorerar okänd preprocessor \"%c\""
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "kan inte byta namn på %s till %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "kan inte ställa in tider på %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "kan inte avlänka %s"
 
 # cat är vad? catalogue? kommandot "cat"?
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "kan inte skapa temporär cat för %s"
 
 # cat är vad? catalogue? kommandot "cat"?
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "kan inte skapa temporärkatalog"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "kan inte öppna temporärfil %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "kan inte ta bort katalogen %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr ""
 "--Man-- nästa: %s [ visa (retur) | hoppa över (Ctrl-D) | avsluta (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -596,27 +596,27 @@ msgstr ""
 "\n"
 "kan inte skriva till %s i catman-läge"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Kan inte konvertera %s till cat-namn"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: förlitande på whatis-referenser är föråldrat\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "mandb-kommandot misslyckades med slutstatus %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "internt fel: kandidattypen %d utanför intervallet"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Manualsida "
 
@@ -629,345 +629,343 @@ msgstr "kan inte skriva till standard ut"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: ofullständigt tecken i slutet av buffert"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f KOD[:…] -t KOD [FILNAMN]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "KOD[:…]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "möjliga kodningar av originaltext"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "KOD"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "kodning för utmatning"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "producera färre varningar"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "måste ange en inmatningskodning"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "måste ange en utmatningskodning"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANUALSÖKVÄG]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "arbeta tyst, förutom vid felaktig varning"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "leta inte efter eller lägg till lösa cat-sidor i databasen"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "rensa inte bort föråldrade poster från databasen"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "producera endast användardatabaser"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "skapa databaser från grunden, istället för att uppdatera dem"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "kontrollera att manualsidor är korrekta"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "FILNAMN"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "uppdatera bara posten för detta filnamn"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "kan inte ta bort %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "kan inte skriva till %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "kan inte läsa från %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Bearbetar manualsidor under %s...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Tar bort föråldrad cat-katalog %s…\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "varning: inga MANDB_MAP-direktiv i %s, använder din manualsökväg"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d manualunderkatalog innehöll nyare manualsidor.\n"
 msgstr[1] "%d manualunderkataloger innehöll nyare manualsidor.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d manualsida lades till.\n"
 msgstr[1] "%d manualsidor lades till.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d lös cat-sida lades till.\n"
 msgstr[1] "%d lösa cat-sidor lades till.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d gammal databaspost rensades.\n"
 msgstr[1] "%d gamla databasposter rensades.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Inga databaser skapade."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "kan inte förstå mig på konfigurationsfilen för manualsökväg %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "varning: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "varning: %s är inte en katalog"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "manualsökvägslistan för lång"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "varning: $PATH är inte satt"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "varning: tom $PATH"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "varning: $MANPATH är satt, lägger till %s före"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "varning: $MANPATH är satt, lägger till %s efter"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "varning: $MANPATH är satt, infogar %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "varning: $MANPATH är satt, ignorerar %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "kan inte tolka kataloglista \"%s\""
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "kan inte öppna konfigurationsfilen för manualsökväg %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "varning: obligatoriska katalogen %s finns inte"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "kan inte avgöra aktuell katalog"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "varning: %s börjar inte med %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "visa relativa cat-sökvägar"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "visa hela den globala manualsökvägen"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "varning: inga globala manualsökvägar angivna i konfigurationsfilen %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "varning: %s är en lös symbolisk länk"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "kan inte slå upp %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Undersöker lösa cat-sidor under %s...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "varning: kan inte uppdatera indexcachen %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s refererar till sig själv"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "NYCKELORD…"
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "--regex-flaggan är aktiverad som standard."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "skriv ut utförliga varningsmeddelanden"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "tolka varje nyckelord som ett reguljärt uttryck"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "sök efter exakt matchning för varje nyckelord"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "nyckelord(en) innehåller jokertecken"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "kräv att alla nyckelord matchar"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "justera inte utmatning till terminalbredd"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "sök endast i dessa avsnitt (kolonseparerade)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "definiera lokalen för denna sökning"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s vad?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "varning: %s innehåller en pekarslinga"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(okänt ämne)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: ingenting lämpligt.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: .so-begäran nästlade för djupt eller är rekursiva"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: varning: misslyckades med .so-begäran"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: varning: nyrad i .so-begäran, ignorerar"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: varning: felformaterad .lf-begäran, ignorerar"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: varning: nyrad i .lf-begäran, ignorerar"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: oavslutat citat i roff-begäran"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "kompatibilitetsflagga (ignorerad)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "manualsökvägslistan för lång"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "kan inte återskapa tidigare arbetskatalog"
 
index 4258060..15c7789 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2017-04-05 11:33+0100\n"
 "Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -19,59 +19,54 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Lokalize 2.0\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "etkili uid ayarlanamıyor"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "setuid man kullanıcısı \"%s\" mevcut değil"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "%s üzerinde chown komutu kullanılamadı"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "ciddi: düzenli ifade `%s': %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "çoklu anahtar %s mevcut değil"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "%s içerik önbelleği kilitlenemez"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "%s içerik önbelleği bozuk"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "%s anahtarı değiştirilemez"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "içerikteki sadece %d alanı"
 msgstr[1] "içerikteki sadece %d alanı"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "çoklu anahtar %s bozuk getirildi"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "%s veritabanı bozuk; mandb --create ile tekrar oluşturun"
@@ -91,64 +86,64 @@ msgstr "uyarı: %s sürümü %s, beklenen %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "ciddi: %s içine sürüm tanıtıcısı eklenemiyor"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MAN VERİTABANI]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "Man veritabanı şuna sıfırlanıyor: %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "hata ayıklama iletilerini yay"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "%s okumak için açılamıyor"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[BÖLÜM...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "YOL"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "kılavuz sayfaları için arama yolunu YOL olarak ayarla"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "DOSYA"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "bu kullanıcı yapılandırma dosyasını kullan"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "çıkış durumu %d ile man komutu başarısız oldu"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "%s veritabanı okunamıyor"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "Anahtar için boş içerik: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -157,116 +152,121 @@ msgstr ""
 "\n"
 "man hiyerarşi %s, %s bölümü için cat dosyaları güncelleniyor\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "%s içine yazılamıyor"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "%s güncellenemiyor"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "uyarı: %s/man%s/%s.%s*: uzantıları çakışıyor"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "%s içerik önbelleği güncellenemedi"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "uyarı: %s: bozuk sembolik bağlantı veya ROFF `.so' talebi"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "uyarı: %s: boş dosya yoksayılıyor"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "uyarı: %s: %s(%s) için whatis ayıklaması başarısız"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "%s dizini aranamıyor"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "%s üzerinde chown komutu kullanılamadı"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "uyarı: catdir %s oluşturulamıyor"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "%s için chmod yapılamıyor"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "%s dizinine değiştirilemiyor"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "%s dizin önbelleği oluşturulamıyor"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "`%s/%s' yolunun dizin önbelleği güncelleniyor. Bekleyin..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "tamamlandı.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "%s içindeki eski veritabanı girdileri temizleniyor...\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "uyarı: %s(%s) girdisini saklama başarısız oldu"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "uyarı: %s: sahte dosya adı yoksayılıyor"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "YOL BÖLÜM ADI"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "UZANTI"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "aramayı UZANTI uzantı türüne sınırla"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "sayfaları harf duyarlılığı olmadan ara (öntanımlı)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "sayfaları harf duyarlılığı ile ara"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "sayfa adını düzenli ifade olarak yorumla"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "sayfa adı özel semboller içeriyor"
 
@@ -277,195 +277,195 @@ msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "uyarı: %s için whatis %d baytı aştı, kırpılıyor."
 msgstr[1] "uyarı: %s için whatis %d baytı aştı, kırpılıyor."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "%s açılamıyor"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "DOSYA..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Öntanımlılar --man ve --whatis."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "man sayfası olarak ayrıştır"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "cat sayfası olarak ayrıştır"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "whatis bilgisini göster"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "ön işleme filtrelerinin tahmin serilerini göster"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "KODLAMA"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "seçilen çıktı kodlamasını kullan"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: uyumsuz seçenekler"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "komut %d durumu ile çıktı: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[BÖLÜM] SAYFA..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "tüm seçenekleri öntanımlı değerlerine çevir"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "UYARILAR"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "groff uyarılarını etkinleştir"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Ana işlem kipleri:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "whatis ile eşdeğer"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "apropos ile eşdeğer"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "metni tüm sayfalarda ara"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "man sayfa(larının) fiziksel konumlarını yazdır"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "cat dosya(larının) fiziksel konumlarını yazdır"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "DOSYA argüman(lar)ını yerel dosya(lar) olarak yorumla"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr ""
 "eski cat sayfalarını tekrar biçimlendirmek için catman tarafından "
 "kullanılıyor"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "KODLAMA olarak kodlanmış çıktı kaynak dosyası"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Kılavuz sayfalarında arama:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "YEREL"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "bu özel man araması için yereli tanımla"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "SİSTEM"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "diğer sistemlerden kılavuz sayfalarını kullan"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "LİSTE"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "iki nokta ile ayrılmış bölüm listesini kullan"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "düzenli ifade ile eşleşen tüm sayfaları göster"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "özel karakter ile eşleşen tüm sayfaları göster"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "--regex ve --wildcard sadece sayfa adlarını eşleştirsin, açıklamaları değil"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "tüm eşleşen kılavuz sayfalarını bul"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "zorunlu bir önbellek düzenlilik denetimi yap"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "alt sayfaları deneme, örn. 'man foo bar' => 'man foo-bar'"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Biçimlendirilmiş çıktı denetlenmesi:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "ÇAĞRI CİHAZI"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "çıktı görüntülemek için program ÇAĞRI CİHAZI kullan"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "DİZGİ"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "`less' sayfalayıcıyı istek ile sun"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "bazı latin1 karakterlerinin ASCII çevirisini kullan"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "satır sonu karakterini kapat"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "hizalamayı kapat"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -475,34 +475,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "sayfaları biçimlemek için %s kullan"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "AYGIT"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "seçilen aygıt ile %s kullan"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "TARAYICI"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "HTML çıktısını görüntülemek için %s veya TARAYICI kullan"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "ÇÖZÜNÜRLÜK"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -510,80 +510,80 @@ msgstr ""
 "groff kullan ve gxditview (X11) aracılığı ile görüntüle:\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "groff kullan ve ditroff üretmesi için zorla"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Şunun için kılavuz girdisi yok: %s\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Ek olarak, %s bölümünden hangi kılavuz sayfasını istersiniz?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Hangi kılavuz sayfasını istersiniz?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "%s için %s bölümünde kılavuz girdisi yok\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Kılavuz sayfaları mevcut olmadığında yardım için bkz. '%s'.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "bilinmeyen ön işleyici yoksayılıyor `%c'"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "%s, %s olarak adlandırılamıyor"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "%s üzerinde zamanlar ayarlanamıyor"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "%s bağlantısı kaldırılamıyor"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "%s için geçici kategori oluşturulamıyor"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "geçici dizin oluşturulamıyor"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "%s geçici dosyası açılamıyor"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "%s dizini kaldırılamıyor"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr "--Man-- sonraki: %s [ bak (enter) | atla (Ctrl-D) | çık (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -592,27 +592,27 @@ msgstr ""
 "\n"
 "catman kipinde %s içine yazılamıyor"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "%s cat adına dönüştürülemiyor"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: whatis refs'e dayanmak artık kullanılmıyor\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "mandb komutu %d çıktı durumu ile başarısız oldu"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "dahili hata: aday türü %d aralık dışında"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr "Kılavuz sayfası"
 
@@ -625,346 +625,344 @@ msgstr "standart çıktıya yazılamıyor"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: tampon sonunda eksik karakter"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f KOD[:...] -t KOD [DOSYAADI]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "KOD[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "özgün metnin muhtemel kodlamaları"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "KOD"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "çıktı için kodlama"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "daha az uyarı üret"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "bir girdi kodlaması belirtilmeli"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "bir çıktı kodlaması belirtilmeli"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANYOLU]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "'sahte' uyarılar hariç sessiz çalış"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "veritabanlarında stray cat arama veya ekleme"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "veritabanlarından gereksiz girdileri budama"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "sadece kullanıcı veritabanlarını üret"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "veritabanlarını güncellemek yerine sıfırdan üret"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "doğrulukları için kılavuz sayfalarını denetle"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "DOSYAADI"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "bu dosya adı için sadece girdiyi güncelle"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "%s kaldırılamıyor"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "%s ögesine yazılamıyor"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "%s ögesinden okunamıyor"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "%s altındaki kılavuz sayfaları işleniyor...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "%s gereksiz cat dizini kaldırılıyor...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "uyarı: %s içinde MANDB_MAP yönergesi yok, yazdığınız manpath kullanılıyor"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d man alt dizini daha yeni kılavuz sayfaları içeriyor.\n"
 msgstr[1] "%d man alt dizini daha yeni kılavuz sayfaları içeriyor.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d kılavuz sayfası eklendi.\n"
 msgstr[1] "%d kılavuz sayfası eklendi.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d stray cat eklendi.\n"
 msgstr[1] "%d stray cat eklendi.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d eski veritabanı girdisi budandı.\n"
 msgstr[1] "%d eski veritabanı girdisi budandı.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Hiç veritabanı oluşturulmadı."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "%s manpath yapılandırma dosyası anlaşılamıyor"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "uyarı: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "uyarı: %s bir dizin değil"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "manpath listesi çok uzun"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "uyarı: $PATH ayarlanmamış"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "uyarı: boş $PATH"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "uyarı: $MANPATH ayarlanmış, %s öne ekleniyor"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "uyarı: $MANPATH ayarlanmış, %s sona ekleniyor"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "uyarı: $MANPATH ayarlanmış,%s ekleniyor"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "uyarı: $MANPATH ayarlanmış,%s yoksayılıyor"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "`%s' dizin listesi ayrıştırılamıyor"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "%s manpath yapılandırma dosyası açılamıyor"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "uyarı: zorunlu dizin %s mevcut değil"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "geçerli dizine karar verilemiyor"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "uyarı: %s, %s ile başlamıyor"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "ilişkili catpath'leri göster"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "tüm evrensel manpath'i göster"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "uyarı: %s yapılandırma dosyasında ayarlanmış evrensel hiç manpath yok."
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "uyarı: %s sarkan bir sembolik bağlantı"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "%s çözülemiyor"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "%s altında stray cat'ler aranıyor...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "uyarı: %s dizin önbelleği güncellenemiyor"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s kendini işaret ediyor"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "ANAHTARKELİME..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "--regex seçeneği öntanımlı olarak etkindir."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "ayrıntılı uyarı iletilerini göster"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "her anahtar kelimeyi düzenli ifade olarak yorumla"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "her anahtar kelimeyi tam eşleşme ile ara"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "anahtar kelime(ler) özel sembol içeriyor"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "tüm anahtar kelimelerin eşleşmesini gerektir"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "çıktıyı uçbirim genişliğine kısıtlama"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "sadece şu alanlarda ara (iki nokta ile ayrılmış)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "bu arama için dili tanımla"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s ne?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "uyarı: %s bir işaretçi döngüsü içeriyor"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(bilinmeyen konu)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: uygun bir şey yok.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: .so istekleri çok derin yuvalanmış veya içiçe çağrışım yapıyor"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: uyarı: başarısız .so isteği"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: uyarı: .so isteğinde yeni satır, yoksayılıyor"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: uyarı: bozuk .lf isteği, yoksayılıyor"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: uyarı: .lf isteği içinde yeni satır, yoksayılıyor"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: roff isteğinde kapatılmamış kesme işareti"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "uyumluluk anahtarı (yoksayıldı)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "manpath listesi çok uzun"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "önceki çalışma dizini geri yüklenemiyor"
 
index 8ffadf6..1de769c 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2016-12-13 08:08+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -23,58 +23,53 @@ msgstr ""
 "X-Generator: Gtranslator 2.91.7\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "không thể đặt UID chịu tác động"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "không có người dùng hướng dẫn \"setuid\" \"%s\""
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "không thể \"chown\" (thay đổi quyền sở hữu) %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "lỗi nghiêm trọng: biểu thức chính quy “%s”: %s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "đa khóa %s không tồn tại"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "không thể khóa bộ nhớ tạm mục lục %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "bộ nhớ tạm mục lục %s bị hỏng"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "không thể thay thế khóa %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "chỉ có %d trường trong nội dung"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "tiến trình gọi (fetch) sai với đa khóa %s"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr ""
@@ -95,64 +90,64 @@ msgstr "cảnh báo: %s là phiên bản %s, cần %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "lỗi nghiêm trọng: không thể chèn định danh phiên bản vào %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[CƠ SỞ DỮ LIỆU MAN]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "Cơ sở dữ liệu chính có giá trị mặc định là %s%s."
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "phát ra các thông điệp để gỡ lỗi"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "không thể mở %s để đọc"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[PHẦN…]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "ĐƯỜNG_DẪN"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "đặt ĐƯỜNG_DẪN đường dẫn để tìm kiếm các trang hướng dẫn"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "TẬP_TIN"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "dùng tập tin cấu hình này"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "lệnh \"man\" đã thất bại với trạng thái thoát là %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "không thể đọc cơ sở dữ liệu %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "nội dung VÔ GIÁ TRỊ cho khóa: %s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -161,118 +156,123 @@ msgstr ""
 "\n"
 "Đang cập nhật các tập tin \"cat\" cho phần %s của cây phân cấp \"man\" %s\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "không thể ghi ở trong %s"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "không thể cập nhật %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "cảnh báo: \"%s/man%s/%s.%s*\": phần mở rộng cạnh tranh với nhau"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "không thể cập nhật bộ nhớ tạm mục lục %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "cảnh báo: %s: liên kết mềm sai, hoặc yêu cầu \".so\" ROFF sai"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "cảnh báo: %s: đang bỏ qua tập tin rỗng"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr ""
 "cảnh báo: %s: việc phân tách kiểu \"whatis\" (là gì?) cho \"%s(%s)\" bị lỗi"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "không thể tìm kiếm trong danh mục %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "không thể \"chown\" (thay đổi quyền sở hữu) %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "cảnh báo: không thể tạo catdir (thư mục \"cat\") %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "không thể \"chmod\" (thay đổi chế độ đọc ghi) %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "không thể chuyển sang thư mục %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "không thể tạo bộ nhớ tạm mục lục %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr ""
 "Đang cập nhật bộ nhớ tạm mục lục cho đường dẫn \"%s/%s\". Vui lòng chờ…"
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "hoàn tất.\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "Đang tẩy các mục tin cơ sở dữ liệu cũ trong %s…\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "cảnh báo: gặp lỗi khi lưu trữ mục tin cho \"%s(%s)\""
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "cảnh báo: %s: đang bỏ qua tên tập tin giả"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "ĐƯỜNG DẪN PHẦN TÊN"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "PHẦN_MỞ_RỘNG"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "chỉ tìm kiếm phần mở rộng kiểu PHẦN MỞ RỘNG"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "không phân biệt chữ HOA/thường khi tìm (mặc định)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "phân biệt chữ HOA/thường khi tìm"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "phiên dịch tên trang như là một biểu thức chính quy"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "tên trang chứa ký tự đại diện (? * v.v.)"
 
@@ -284,194 +284,194 @@ msgstr[0] ""
 "cảnh báo: thông tin \"whatis\" (là gì?) cho %s vượt quá %d byte nên đang cắt "
 "bớt nó."
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "không thể mở %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "TẬP_TIN…"
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "Tùy chọn mặc định là \"--man\" và \"--whatis\"."
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "phân tích ndạng trang man"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "phân tích dạng trang cat"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "hiển thị thông tin whatis (là gì)"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "hiển thị dãy bộ lọc tiền xử lý đã đoán"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "BẢNG_MÃ"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "dùng bảng mã xuất đã chọn"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s: các tùy chọn không tương thích với nhau"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "lệnh đã thoát với trạng thái %d: %s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[PHẦN] TRANG…"
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "đặt lại mọi tùy chọn về giá trị mặc định"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "CẢNH_BÁO"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "bật cảnh báo từ groff"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "Chế độ thao tác chính:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "tương đương với whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "tương đương với apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "quét mọi trang tìm chuỗi"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "in ra vị trí vật lý của (các) trang man"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "in ra vị trí vật lý của (các) trang cat"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "biên dịch mỗi đối số TRANG là tên tập tin cục bộ"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "được catman dùng để định dạng lại các trang cat cũ"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "xuất trang mã nguồn đã mã hóa bằng BẢNG_MÃ"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "Đang tìm trang hướng dẫn:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "MIỀN_ĐỊA_PHƯƠNG"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "xác định miền địa phương cho việc tìm kiếm man đặc biệt"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "HỆ_THỐNG"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "dùng trang man từ hệ thống khác"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "DANH_SÁCH"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "dùng danh sách các phần định giới bằng dấu hai chấm"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "hiển thị tất cả các trang khớp mẫu biểu thức chính quy"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "hiển thị tất cả các trang khớp mẫu với ký tự đại diện"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr ""
 "làm cho tùy chọn \"--regex\" và \"--wildcard\" chỉ khớp với tên trang, không "
 "phải với phần mô tả"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "tìm tất cả các trang hướng dẫn tương ứng"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "ép buộc kiểm tra tính nhất quán của bộ nhớ tạm"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "đừng thử trang con, v.d. “man foo bar” => “man foo-bar”"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "Điều khiển định dạng cho kết xuất:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "DÀN_TRANG"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "dùng chương trình DÀN TRANG để hiển thị kết xuất"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "CHUỖI"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "cung cấp một dấu nhắc cho bộ dàn trang \"less\""
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "hiển thị bản dịch ASCII của một số ký tự Latin-1 nào đó"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "tắt chức năng gạch nối từ"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "tắt chức năng canh lề"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -481,34 +481,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "dùng %s để định dạng trang"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "THIẾT_BỊ"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "dùng %s với thiết bị đã chọn"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "TRÌNH_DUYỆT"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "dùng %s hoặc TRÌNH DUYỆT để hiển thị kết xuất HTML"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "ĐỘ_PHÂN_GIẢI"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -516,80 +516,80 @@ msgstr ""
 "dùng groff và hiển thị thông qua gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "dùng groff và ép buộc nó sản sinh ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "Không có trang hướng dẫn cho \"%s\"\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(Thay vì vậy, bạn muốn trang hướng dẫn nào từ phần %s?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "Bạn muốn trang hướng dẫn nào?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "Không có trang hướng dẫn cho %s trong phần %s\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "Hãy xem \"%s\" để tìm trợ giúp khi trang hướng dẫn không sẵn sàng.\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "đang bỏ qua bộ tiền xử lý trước không hiểu \"%c\""
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "không thể thay đổi tên %s thành %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "không thể đặt thời gian trên %s"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "không thể bỏ liên kết %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "không thể tạo \"cat\" tạm cho %s"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "không thể tạo thư mục tạm thời"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "không thể mở tập tin tạm %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "không thể gỡ bỏ thư mục %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr "--Man-- kế: %s [ xem (enter) | nhảy qua (Ctrl-D) | thoát (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -598,28 +598,28 @@ msgstr ""
 "\n"
 "không thể ghi vào %s trong chế độ \"catman\""
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "Không thể chuyển đổi %s sang tên \"cat\""
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s: nhờ các \"ref\" (tham chiếu) của lệnh \"whatis\" bị phản đối\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr ""
 "lệnh \"mandb\" (cơ sở dữ liệu hướng dẫn) gặp lỗi với trạng thái thoát là %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "lỗi nội bộ: kiểu ứng cử %d nằm ngoài phạm vi"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Trang hướng dẫn "
 
@@ -632,347 +632,345 @@ msgstr "không thể ghi vào đầu ra tiêu chuẩn"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv: gặp ký tự không hoàn thành ở kết thúc của vùng đệm"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f MÃ[:…] -t Mà[TÊN_TẬP_TIN]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "MÃ[:…]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "bảng mã có thể của văn bản gốc"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "MÃ"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "bảng mã cho kết xuất"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "tạo ra ít cảnh báo hơn"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "phải ghi rõ bảng mã đầu vào"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "phải ghi rõ bảng mã xuất ra"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[ĐƯỜNG_DẪN_MAN]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "chạy im, trừ xuất cảnh báo \"giả\""
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "đừng tìm hay thêm vào cơ sở dữ liệu các cat rải rác"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "đừng tẩy khỏi cơ sở dữ liệu các mục tin cũ"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "chỉ tạo các cơ sở dữ liệu người dùng"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "tạo lại cơ sở dữ liệu từ đầu thay cho cập nhật"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "kiểm tra các trang hướng dẫn xem có đúng không"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "TÊN_TẬP_TIN"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "chỉ cập nhật mục tin cho tên tập tin này"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "không thể gỡ bỏ %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "không thể ghi vào %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "không thể đọc từ %s"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "Đang xử lý các trang hướng dẫn dưới %s…\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "Đang gỡ bỏ các thư mục “cat” không dùng nữa %s…\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr ""
 "cảnh báo: không có chỉ thị \"MANDB_MAP\" trong “%s” nên sẽ dùng đường dẫn "
 "hướng dẫn của bạn."
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d thư mục con hướng dẫn chứa trang hướng dẫn mới hơn.\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "%d trang hướng dẫn được thêm vào.\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "%d trang \"cat\" thất lạc đã được thêm vào.\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "%d mục tin cơ sở dữ liệu cũ bị tẩy.\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "Chưa tạo cơ sở dữ liệu."
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "không thể hiểu tập tin cấu hình đường dẫn hướng dẫn %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "cảnh báo: %s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "cảnh báo: %s không phải là thư mục"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "danh sách các đường dẫn của hướng dẫn là quá dài"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr ""
 "cảnh báo: chưa đặt biến môi trường \"$PATH\"\n"
 "(đường dẫn thư mục chứa chương trình thi hành được)"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "cảnh báo: biến môi trường \"$PATH\" (đường dẫn) trống rỗng"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr ""
 "cảnh báo: tập hợp \"$MANPATH\" (đường dẫn hướng dẫn), đang thêm %s vào đầu"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "cảnh báo: tập hợp \"$MANPATH\" (đường dẫn hướng dẫn), đang phụ thêm %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "cảnh báo: tập hợp \"$MANPATH\" (đường dẫn hướng dẫn), đang chèn %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "cảnh báo: tập hợp \"$MANPATH\" (đường dẫn hướng dẫn), đang bỏ qua %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "không thể phân tách danh sách thư muc \"%s\""
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "không thể mở tập tin cấu hình đường dẫn hướng dẫn %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "cảnh báo: không có thư mục bắt buộc %s"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "không thể tháo gỡ thư mục hiện có"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "cảnh báo: %s không bắt đầu bằng %s"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "hiển thị đường dẫn tương đối cat"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "hiển thị toàn đường dẫn toàn cục"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr ""
 "cảnh báo: chưa lập đường dẫn hướng dẫn toàn cục trong tập tin cấu hình %s"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "cảnh báo: %s là liên kết mềm không chỉ vào đâu cả"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "không thể phân giải %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "Đang kiểm tra có trang \"cat\" rải rác dưới %s…\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "cảnh báo: không thể cập nhật bộ nhớ tạm mục lục %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s tham chiếu đến chính nó"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "TỪ KHÓA…"
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "Tùy chọn \"--regex\" (biểu thức chính quy) được bật theo mặc định."
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "in ra cảnh báo dạng chi tiết"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "biên dịch mỗi từ khóa như là một biểu thức chính quy"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "tìm kiếm khớp hoàn toàn từng từ khóa một"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "(các) từ khóa chứa ký tự đại diện (? * v.v.)"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "yêu cầu mọi từ khóa khớp"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "đừng xén kết xuất cho bằng bề rộng của thiết bị cuối"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "chỉ tìm kiếm trong những phần này (ngăn cách bởi dấu hai chấm)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "xác định miền địa phương cho việc tìm kiếm này"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s gì vậy?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "cảnh báo: %s chứa một vòng lặp con trỏ (pointer loop)"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(không hiểu chủ đề)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s: không có gì thích hợp cả.\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d: các yêu cầu \".so\" lồng nhau quá sâu hoặc bị đệ quy"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d: cảnh báo: yêu cầu \".so\" bị lỗi"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d: cảnh báo: yêu cầu \".so\" có chứa ký tự dòng mới nên bỏ qua"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d: cảnh báo: yêu cầu \".lf\" sai định dạng nên bỏ qua"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d: cảnh báo: yêu cầu \".lf\" có chứa ký tự dòng mới nên bỏ qua"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d: yêu cầu roff chứa đoạn trích dẫn chưa được chấm dứt"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "các tùy chọn dùng cho mục đích tương thích (bị bỏ qua)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "danh sách các đường dẫn của hướng dẫn là quá dài"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "không thể phục hồi lại tạo thư mục làm việc trước đây"
 
index aed56ac..ccd7713 100644 (file)
@@ -19,7 +19,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.7.6.1\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2017-11-15 17:53+0800\n"
 "Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -32,60 +32,55 @@ msgstr ""
 "X-Generator: Poedit 2.0.4\n"
 
 #  need-proofread
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "无法设置有效 uid"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "不存在用来将 man 程序 setuid 的用户 %s"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "无法 chown %s"
-
 #  need-proofread
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "致命错误:regex `%s':%s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "多重词条 %s 不存在"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "无法锁定索引缓存 %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "索引缓存 %s 已损坏"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "无法替换词条 %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "内容中仅有 %d 个字段"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "获取了无效的多重词条 %s"
 
 #  need-proofread
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "数据库 %s 已损坏;请用 mandb --create 命令重建"
@@ -105,67 +100,67 @@ msgstr "警告:%s 的版本是 %s,期望为 %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "致命错误:无法将版本识别符插入 %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MAN 数据库]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "默认的 man 数据库是 %s%s。"
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "输出调试信息"
 
 #  need-proofread
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "无法打开 %s 读取数据"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[章节...]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "路径"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "设置搜索手册页的路径为 PATH"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "文件"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "使用该用户设置文件"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "man 命令失败,退出状态代码为 %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "无法读取数据库 %s"
 
 #  need-proofread
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "关于 %s 词条的内容为空"
 
 #  need-proofread
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -174,120 +169,125 @@ msgstr ""
 "\n"
 "正在更新 man 目录树 %2$s 中第 %1$s 节的 cat 文件\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "无法在 %s 里写入"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "无法更新 %s"
 
 #  need-proofread
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "警告:%s/man%s/%s.%s*:互相竞争的扩展"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "无法更新索引缓存 %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "警告:%s:坏的符号链接或坏的 ROFF“.so”请求"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "警告:%s:忽略空文件"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "警告:%s:用 whatis 解读 %s(%s) 失败"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "无法搜索目录 %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "无法 chown %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "警告:无法创建 catdir %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "无法 chmod %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "无法切换到目录 %s 中"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "无法创建索引缓存 %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "正在为路径 %s/%s 更新索引缓存。请等待..."
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "完成。\n"
 
 #  need-proofread
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "正在删除 %s 里的旧数据库条目...\n"
 
 #  need-proofread
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "警告:为 %s(%s) 存储条目失败"
 
 #  need-proofread
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "警告:%s:忽略错误的文件名"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "路径 章节 名称"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "扩展"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "将搜索限制在扩展类型为“扩展”的手册页之内"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "查找手册页时不区分大小写字母 (默认)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "查找手册页时区分大小写字母"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "把页面名称当作正则表达式解读"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "页面名称里包含通配符"
 
@@ -297,193 +297,193 @@ msgid "warning: whatis for %s exceeds %d byte, truncating."
 msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "警告:对 %s 的 whatis 操作结果超过 %d 字节,正在截断。"
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "无法打开 %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "文件..."
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "默认选项是 --man 和 --whatis。"
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "当成手册页解读"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "当成 cat 页解读"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "显示 whatis 信息"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "显示所猜测的预处理过滤器序列"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "编码"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "使用选中的输出编码"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s:互不相容的选项"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "命令以代码 %d 状态退出:%s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[章节] 手册页..."
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "将所有选项都重置为默认值"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "警告"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "开启 groff 的警告"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "主要运行模式:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "等同于 whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "等同于 apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "在所有页面中搜索文字"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "输出手册页的物理位置"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "输出 cat 文件的物理位置"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "把“手册页”参数当成本地文件名来解读"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "由 catman 使用,用来对过时的 cat 页重新排版"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "以指定编码输出手册页源码"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "寻找手册页:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "区域"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "定义本次手册页搜索所采用的区域设置"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "系统"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "使用来自其它系统的手册页"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "列表"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "使用以半角冒号分隔的章节列表"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "显示所有匹配正则表达式的页面"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "显示所有匹配通配符的页面"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr "使得 --regex 和 --wildcard 仅匹配页面名称,不匹配描述信息"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "寻找所有匹配的手册页"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "强制进行缓存一致性的检查"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "不要尝试子页面,如“man foo bar” => “man foo-bar”"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "控制格式化的输出:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGER"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "使用 PAGER 程序显示输出文本"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "字符串"
 
 #  need-proofread
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "给 less 分页器提供一个提示行"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "显示某些 latin1 字符的 ASCII 翻译形式"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "关闭连字符"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "禁止两端对齐"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -493,34 +493,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "使用 %s 对手册页排版"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "设备"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "使用 %s 的指定设备"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "浏览器"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "使用 %s 或指定浏览器显示 HTML 输出"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "分辨率"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -528,81 +528,81 @@ msgstr ""
 "使用 groff 并通过 gxditview (X11) 来显示:\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "使用 groff 并强制它生成 ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "没有 %s 的手册页条目\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(换句话问,您需要第 %s 节中的什么手册页?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "您需要什么手册页?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "在第 %2$s 节中没有关于 %1$s 的手册页条目。\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "当没有手册页时,可以用 %s 命令来寻求帮助。\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "忽略未知的预处理器 `%c'"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "无法将 %s 改名为 %s"
 
 #  need-proofread
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "无法设定 %s 文件的时间"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "无法删除 (unlink) %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "无法为 %s 创建临时 cat 文件"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "无法创建临时目录"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "无法打开临时文件 %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "无法移除目录 %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr "--Man-- 下一页: %s [ 查看 (return) | 跳过 (Ctrl-D) | 退出 (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -611,23 +611,23 @@ msgstr ""
 "\n"
 "无法在 catman 模式下对 %s 写入"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "无法把 %s 转换为 cat 名称"
 
 #  need-proofread
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s:依赖于 whatis 引用是已被废弃的做法\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "mandb 命令失败,退出状态代码为 %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "内部错误:候选类型 %d 超出正常范围"
@@ -635,7 +635,7 @@ msgstr "内部错误:候选类型 %d 超出正常范围"
 #  I'm not sure this should be translated.  It comes from a less prompt string
 #  but seems to be only part of it.  (Ming)
 #  need-proofread
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " Manual page "
 
@@ -649,107 +649,107 @@ msgstr "无法对标准输出写入"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv:在缓冲区末尾有不完全的字符"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f 编码[:...] -t 编码 [文件名]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "编码[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "原始文本可能使用的编码列表"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "编码"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "输出文本所用的编码"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "少显示一些警告"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "必须指定输入所用的编码"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "必须指定输出所用的编码"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[手册路径]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "安静运行,除 bogus 警告外不输出信息"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "不要寻找或在数据库中添加孤立 cat 页面"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "不要删除数据库中过时的旧条目"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "仅生成用户数据库"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "不更新数据库,而是重新创建数据库"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "检查手册页的正确性"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "文件名"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "仅更新该文件名对应的条目"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "无法移除 %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "无法对 %s 写入"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "无法从 %s 读取"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "正在处理 %s 下的手册页...\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "正在删除过时的 cat 目录 %s...\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "警告:在 %s 中没有 MANDB_MAP 指令,使用您的手册路径设置"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
@@ -758,239 +758,237 @@ msgstr[0] "%d 个 man 子目录包含更新的手册页。\n"
 #  I'm not sure this should be translated.  It comes from a less prompt string
 #  but seems to be only part of it.  (Ming)
 #  need-proofread
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "添加了 %d 个手册页。\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "添加了 %d 个孤立 cat 页面。\n"
 
 #  need-proofread
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "删除了 %d 条旧数据库条目。\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "未创建任何数据库。"
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "无法理解手册路径设置文件 %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "警告:%s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "警告:%s 不是目录"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "手册路径列表过长"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "警告:没有设定 $PATH"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "警告:$PATH 为空"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "警告:已经设定了 $MANPATH,在前面加上 %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "警告:已经设定了 $MANPATH,在后面加上 %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "警告:已经设定了 $MANPATH,在其中插入 %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "警告:已经设定了 $MANPATH,忽略 %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "无法解析目录列表“%s”"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "无法打开手册路径设置文件 %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "警告:必需的目录 %s 不存在"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "无法确定当前目录"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "警告:%s 并非以 %s 开始"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "显示相对 cat 路径"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "显示整个全局手册路径"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "警告:在设置文件 %s 中没有设定全局手册路径"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "警告:%s 是悬空的符号链接"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "无法解析 %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "正在 %s 下查找孤立 cat 页面...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "警告:无法更新索引缓存 %s"
 
 #  need-proofread
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s 是指向自己的链接"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "关键词..."
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "默认开启 --regex 选项。"
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "输出详细的警告信息"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "把每个关键词都当作正则表达式解读"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "对每个关键词都进行严格匹配的搜索"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "关键词里包含通配符"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "要求所有的关键词都同时匹配"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "不要把输出按终端宽度截断"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "仅在这些分区中搜索(冒号分隔)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "定义本次搜索所使用的区域设置"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s 什么?\n"
 
 #  need-proofread
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "警告:%s 包含一个指针回环"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(未知的主题)"
 
 #  partially-translated
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s:没有合适结果。\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d:.so 请求嵌套太深或形成循环"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d:警告:.so 请求失败"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d:警告:.so 请求中含有换行符,将忽略"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d:警告:不合规格的 .lf 请求,将忽略"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d:警告:.lf 请求中含有换行符,将忽略"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d:roff 请求中含有未结束的引用"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "兼容性选项 (将被忽略)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "手册路径列表过长"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "无法恢复至先前的工作目录"
 
index d53785f..4badbb6 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: man-db 2.8.0-pre2\n"
 "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n"
-"POT-Creation-Date: 2019-01-05 09:27+0000\n"
+"POT-Creation-Date: 2019-08-03 11:23+0100\n"
 "PO-Revision-Date: 2018-05-09 19:02+0800\n"
 "Last-Translator: pan93412 <pan93412@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -19,58 +19,53 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Poedit 2.0.6\n"
 
-#: lib/security.c:78
+#: lib/security.c:79
 #, c-format
 msgid "can't set effective uid"
 msgstr "無法設定有效的 UID"
 
-#: lib/security.c:117
+#: lib/security.c:118
 #, c-format
 msgid "the setuid man user \"%s\" does not exist"
 msgstr "此 setuid man 使用者「%s」不存在"
 
-#: lib/xchown.c:38 lib/xchown.c:47 src/man.c:1742
-#, c-format
-msgid "can't chown %s"
-msgstr "無法 chown %s"
-
 #: lib/xregcomp.c:47
 #, c-format
 msgid "fatal: regex `%s': %s"
 msgstr "嚴重錯誤:正規表達式「%s」:%s"
 
-#: libdb/db_delete.c:103
+#: libdb/db_delete.c:105
 #, c-format
 msgid "multi key %s does not exist"
 msgstr "多重按鍵 %s 不存在"
 
-#: libdb/db_lookup.c:72
+#: libdb/db_lookup.c:75
 #, c-format
 msgid "can't lock index cache %s"
 msgstr "無法鎖定索引快取 %s"
 
-#: libdb/db_lookup.c:79
+#: libdb/db_lookup.c:82
 #, c-format
 msgid "index cache %s corrupt"
 msgstr "索引快取 %s 失敗"
 
-#: libdb/db_lookup.c:85
+#: libdb/db_lookup.c:88
 #, c-format
 msgid "cannot replace key %s"
 msgstr "無法替換按鍵 %s"
 
-#: libdb/db_lookup.c:181 libdb/db_lookup.c:192
+#: libdb/db_lookup.c:183 libdb/db_lookup.c:194
 #, c-format
 msgid "only %d field in content"
 msgid_plural "only %d fields in content"
 msgstr[0] "內容中只有 %d 個欄位"
 
-#: libdb/db_lookup.c:343
+#: libdb/db_lookup.c:358
 #, c-format
 msgid "bad fetch on multi key %s"
 msgstr "多重按鍵 %s 上失敗的提取"
 
-#: libdb/db_lookup.c:416 src/whatis.c:761
+#: libdb/db_lookup.c:443 src/whatis.c:739
 #, c-format
 msgid "Database %s corrupted; rebuild with mandb --create"
 msgstr "資料庫 %s 損壞;透過 mandb --create 重建"
@@ -90,64 +85,64 @@ msgstr "警告:%s 為版本 %s,預期為 %s\n"
 msgid "fatal: unable to insert version identifier into %s"
 msgstr "嚴重錯誤:無法插入版本識別碼至 %s"
 
-#: src/accessdb.c:60
+#: src/accessdb.c:61
 msgid "[MAN DATABASE]"
 msgstr "[MAN 資料庫]"
 
-#: src/accessdb.c:61
+#: src/accessdb.c:62
 #, c-format
 msgid "The man database defaults to %s%s."
 msgstr "man 資料庫預設值至 %s%s。"
 
-#: src/accessdb.c:64 src/catman.c:100 src/globbing_test.c:59
-#: src/lexgrog_test.c:69 src/man.c:278 src/manconv_main.c:95 src/mandb.c:111
-#: src/manpath.c:66 src/whatis.c:124 src/zsoelim_main.c:67
+#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62
+#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115
+#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69
 msgid "emit debugging messages"
 msgstr "發出偵錯訊息"
 
-#: src/accessdb.c:136
+#: src/accessdb.c:137
 #, c-format
 msgid "can't open %s for reading"
 msgstr "無法讀取 %s"
 
-#: src/catman.c:97
+#: src/catman.c:100
 msgid "[SECTION...]"
 msgstr "[章節…]"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "PATH"
 msgstr "位置"
 
-#: src/catman.c:101 src/man.c:299 src/whatis.c:134
+#: src/catman.c:104 src/man.c:289 src/whatis.c:137
 msgid "set search path for manual pages to PATH"
 msgstr "設定手冊頁面的搜尋路徑至 PATH"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "FILE"
 msgstr "檔案"
 
-#: src/catman.c:102 src/man.c:277 src/mandb.c:119 src/manpath.c:68
-#: src/whatis.c:136
+#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69
+#: src/whatis.c:139
 msgid "use this user configuration file"
 msgstr "使用這個使用者設定檔"
 
-#: src/catman.c:195
+#: src/catman.c:198
 #, c-format
 msgid "man command failed with exit status %d"
 msgstr "man 指令錯誤,離開代碼 %d"
 
-#: src/catman.c:234
+#: src/catman.c:237
 #, c-format
 msgid "cannot read database %s"
 msgstr "無法讀取資料庫 %s"
 
-#: src/catman.c:277
+#: src/catman.c:280
 #, c-format
 msgid "NULL content for key: %s"
 msgstr "金鑰的空內容:%s"
 
-#: src/catman.c:292
+#: src/catman.c:295
 #, c-format
 msgid ""
 "\n"
@@ -156,116 +151,121 @@ msgstr ""
 "\n"
 "更新 man 層次結構 %2$s 的第 %1$s 部份的 cat 檔案\n"
 
-#: src/catman.c:346
+#: src/catman.c:349
 #, c-format
 msgid "cannot write within %s"
 msgstr "無法在 %s 中寫入"
 
-#: src/catman.c:423
+#: src/catman.c:426
 #, c-format
 msgid "unable to update %s"
 msgstr "無法更新 %s"
 
-#: src/check_mandirs.c:96
+#: src/check_mandirs.c:100
 #, c-format
 msgid "warning: %s/man%s/%s.%s*: competing extensions"
 msgstr "警告:%s/man%s/%s.%s*:競爭擴展 (competing extensions)"
 
-#: src/check_mandirs.c:110 src/check_mandirs.c:621
+#: src/check_mandirs.c:114 src/check_mandirs.c:613
 #, c-format
 msgid "can't update index cache %s"
 msgstr "無法更新索引快取 %s"
 
-#: src/check_mandirs.c:238
+#: src/check_mandirs.c:242
 #, c-format
 msgid "warning: %s: bad symlink or ROFF `.so' request"
 msgstr "警告:%s:損壞的符號連結或 ROFF `.so' 請求"
 
-#: src/check_mandirs.c:296
+#: src/check_mandirs.c:298
 #, c-format
 msgid "warning: %s: ignoring empty file"
 msgstr "警告:%s:忽略空檔案"
 
-#: src/check_mandirs.c:300 src/straycats.c:285
+#: src/check_mandirs.c:302 src/straycats.c:276
 #, c-format
 msgid "warning: %s: whatis parse for %s(%s) failed"
 msgstr "警告:%s:為 %s(%s) 的 whatis 解析失敗"
 
-#: src/check_mandirs.c:327 src/check_mandirs.c:506 src/mandb.c:879
-#: src/straycats.c:80 src/straycats.c:314 src/ult_src.c:80
+#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883
+#: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81
 #, c-format
 msgid "can't search directory %s"
 msgstr "無法搜尋路徑 %s"
 
-#: src/check_mandirs.c:408 src/check_mandirs.c:431
+#: src/check_mandirs.c:378 src/man.c:1687
+#, c-format
+msgid "can't chown %s"
+msgstr "無法 chown %s"
+
+#: src/check_mandirs.c:400 src/check_mandirs.c:423
 #, c-format
 msgid "warning: cannot create catdir %s"
 msgstr "警告:無法建立 catdir %s"
 
-#: src/check_mandirs.c:463 src/man.c:1754 src/mandb.c:229
+#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233
 #, c-format
 msgid "can't chmod %s"
 msgstr "無法 chmod %s"
 
-#: src/check_mandirs.c:511
+#: src/check_mandirs.c:503
 #, c-format
 msgid "can't change to directory %s"
 msgstr "無法切換至目錄 %s"
 
-#: src/check_mandirs.c:561
+#: src/check_mandirs.c:553
 #, c-format
 msgid "can't create index cache %s"
 msgstr "無法建立索引快取 %s"
 
-#: src/check_mandirs.c:586
+#: src/check_mandirs.c:578
 #, c-format
 msgid "Updating index cache for path `%s/%s'. Wait..."
 msgstr "正在為路徑「%s/%s」更新索引快取。請等待…"
 
-#: src/check_mandirs.c:648 src/check_mandirs.c:709
+#: src/check_mandirs.c:640 src/check_mandirs.c:701
 msgid "done.\n"
 msgstr "完成。\n"
 
-#: src/check_mandirs.c:968
+#: src/check_mandirs.c:963
 #, c-format
 msgid "Purging old database entries in %s...\n"
 msgstr "正在清除 %s 中的舊資料庫項目…\n"
 
-#: src/descriptions_store.c:47
+#: src/descriptions_store.c:51
 #, c-format
 msgid "warning: failed to store entry for %s(%s)"
 msgstr "警告:無法為 %s(%s) 儲存項目"
 
-#: src/filenames.c:48 src/straycats.c:126 src/straycats.c:155
+#: src/filenames.c:48 src/straycats.c:124 src/straycats.c:153
 #, c-format
 msgid "warning: %s: ignoring bogus filename"
 msgstr "警告:%s:忽略假檔案名稱"
 
-#: src/globbing_test.c:56
+#: src/globbing_test.c:59
 msgid "PATH SECTION NAME"
 msgstr "路徑部份名稱"
 
-#: src/globbing_test.c:60 src/man.c:302
+#: src/globbing_test.c:63 src/man.c:292
 msgid "EXTENSION"
 msgstr "EXTENSION"
 
-#: src/globbing_test.c:60 src/man.c:303
+#: src/globbing_test.c:63 src/man.c:293
 msgid "limit search to extension type EXTENSION"
 msgstr "限制搜尋擴充元件類型 EXTENSION"
 
-#: src/globbing_test.c:61 src/man.c:304
+#: src/globbing_test.c:64 src/man.c:294
 msgid "look for pages case-insensitively (default)"
 msgstr "不區分大小寫搜尋頁面(預設)"
 
-#: src/globbing_test.c:62 src/man.c:305
+#: src/globbing_test.c:65 src/man.c:295
 msgid "look for pages case-sensitively"
 msgstr "區分大小寫搜尋頁面"
 
-#: src/globbing_test.c:63
+#: src/globbing_test.c:66
 msgid "interpret page name as a regex"
 msgstr "將頁面名稱解釋為正規表達式"
 
-#: src/globbing_test.c:64
+#: src/globbing_test.c:67
 msgid "the page name contains wildcards"
 msgstr "頁面名稱包含 Wildcard"
 
@@ -275,192 +275,192 @@ msgid "warning: whatis for %s exceeds %d byte, truncating."
 msgid_plural "warning: whatis for %s exceeds %d bytes, truncating."
 msgstr[0] "警告:為 %s 的 whatis 超出 %d 位元組,正在截斷。"
 
-#: src/lexgrog.l:844 src/man.c:2323 src/man.c:2405 src/man.c:2503
-#: src/manconv_main.c:167 src/straycats.c:224 src/ult_src.c:345
-#: src/ult_src.c:359 src/zsoelim.l:505
+#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448
+#: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321
+#: src/ult_src.c:335 src/zsoelim.l:512
 #, c-format
 msgid "can't open %s"
 msgstr "無法開啟 %s"
 
-#: src/lexgrog_test.c:65 src/zsoelim_main.c:64
+#: src/lexgrog_test.c:69 src/zsoelim_main.c:66
 msgid "FILE..."
 msgstr "檔案…"
 
-#: src/lexgrog_test.c:66
+#: src/lexgrog_test.c:70
 msgid "The defaults are --man and --whatis."
 msgstr "預設值為 --man 與 --whatis。"
 
-#: src/lexgrog_test.c:70
+#: src/lexgrog_test.c:74
 msgid "parse as man page"
 msgstr "解析為 man 頁面"
 
-#: src/lexgrog_test.c:71
+#: src/lexgrog_test.c:75
 msgid "parse as cat page"
 msgstr "解析為 cat 頁面"
 
-#: src/lexgrog_test.c:72
+#: src/lexgrog_test.c:76
 msgid "show whatis information"
 msgstr "顯示 whatis 資訊"
 
-#: src/lexgrog_test.c:73
+#: src/lexgrog_test.c:77
 msgid "show guessed series of preprocessing filters"
 msgstr "顯示猜測的一系列預先處理篩選器"
 
-#: src/lexgrog_test.c:74 src/man.c:294 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309
 msgid "ENCODING"
 msgstr "編碼中"
 
-#: src/lexgrog_test.c:74 src/man.c:319
+#: src/lexgrog_test.c:78 src/man.c:309
 msgid "use selected output encoding"
 msgstr "使用選擇的輸出編碼"
 
-#: src/lexgrog_test.c:118 src/man.c:553 src/man.c:562
+#: src/lexgrog_test.c:122 src/man.c:540 src/man.c:549
 #, c-format
 msgid "%s: incompatible options"
 msgstr "%s:不相容選項"
 
-#: src/man.c:163
+#: src/man.c:160
 #, c-format
 msgid "command exited with status %d: %s"
 msgstr "指令離開,回傳代碼 %d:%s"
 
-#: src/man.c:261
+#: src/man.c:251
 msgid "[SECTION] PAGE..."
 msgstr "[章節] 頁面…"
 
-#: src/man.c:279
+#: src/man.c:269
 msgid "reset all options to their default values"
 msgstr "重設所有設定至他們的預設值"
 
-#: src/man.c:280
+#: src/man.c:270
 msgid "WARNINGS"
 msgstr "警告"
 
-#: src/man.c:281
+#: src/man.c:271
 msgid "enable warnings from groff"
 msgstr "啟用來自 groff 的警告"
 
-#: src/man.c:283
+#: src/man.c:273
 msgid "Main modes of operation:"
 msgstr "動作主要模式:"
 
-#: src/man.c:284
+#: src/man.c:274
 msgid "equivalent to whatis"
 msgstr "相當於 whatis"
 
-#: src/man.c:285
+#: src/man.c:275
 msgid "equivalent to apropos"
 msgstr "相當於 apropos"
 
-#: src/man.c:286
+#: src/man.c:276
 msgid "search for text in all pages"
 msgstr "在所有頁面中搜尋文字"
 
-#: src/man.c:287
+#: src/man.c:277
 msgid "print physical location of man page(s)"
 msgstr "顯示 man 頁面的物理位置"
 
-#: src/man.c:290
+#: src/man.c:280
 msgid "print physical location of cat file(s)"
 msgstr "顯示 cat 檔案的物理位置"
 
-#: src/man.c:292
+#: src/man.c:282
 msgid "interpret PAGE argument(s) as local filename(s)"
 msgstr "解譯 PAGE 參數為本機檔案名稱"
 
-#: src/man.c:293
+#: src/man.c:283
 msgid "used by catman to reformat out of date cat pages"
 msgstr "catman 使用其重新格式化過期的 cat 頁面"
 
-#: src/man.c:294
+#: src/man.c:284
 msgid "output source page encoded in ENCODING"
 msgstr "在 ENCODING 中編碼輸出原始頁面"
 
-#: src/man.c:296
+#: src/man.c:286
 msgid "Finding manual pages:"
 msgstr "正在搜尋手冊頁面:"
 
-#: src/man.c:297 src/whatis.c:135
+#: src/man.c:287 src/whatis.c:138
 msgid "LOCALE"
 msgstr "語系"
 
-#: src/man.c:297
+#: src/man.c:287
 msgid "define the locale for this particular man search"
 msgstr "為此特定的 man 搜尋定義語言"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "SYSTEM"
 msgstr "系統"
 
-#: src/man.c:298 src/manpath.c:69 src/whatis.c:133
+#: src/man.c:288 src/manpath.c:70 src/whatis.c:136
 msgid "use manual pages from other systems"
 msgstr "從系統系統使用手冊頁面"
 
-#: src/man.c:300 src/whatis.c:131
+#: src/man.c:290 src/whatis.c:134
 msgid "LIST"
 msgstr "列表"
 
-#: src/man.c:300
+#: src/man.c:290
 msgid "use colon separated section list"
 msgstr "使用冒號分隔的部分列表"
 
-#: src/man.c:306
+#: src/man.c:296
 msgid "show all pages matching regex"
 msgstr "顯示所有符合 regex 的頁面"
 
-#: src/man.c:307
+#: src/man.c:297
 msgid "show all pages matching wildcard"
 msgstr "顯示所有符合 wildcard 的頁面"
 
-#: src/man.c:308
+#: src/man.c:298
 msgid "make --regex and --wildcard match page names only, not descriptions"
 msgstr "令 --regex 和 --wildcard 只符合頁面名稱,而不包含介紹。"
 
-#: src/man.c:310
+#: src/man.c:300
 msgid "find all matching manual pages"
 msgstr "搜尋所有符合的手冊頁面"
 
-#: src/man.c:311
+#: src/man.c:301
 msgid "force a cache consistency check"
 msgstr "強制快取一致性檢查"
 
-#: src/man.c:313
+#: src/man.c:303
 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'"
 msgstr "不要嘗試子頁面,例如「man foo bar」=>「man foo-bar」"
 
-#: src/man.c:315
+#: src/man.c:305
 msgid "Controlling formatted output:"
 msgstr "控制格式化輸出:"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "PAGER"
 msgstr "PAGER"
 
-#: src/man.c:316
+#: src/man.c:306
 msgid "use program PAGER to display output"
 msgstr "使用 PAGER 程式顯示輸出"
 
-#: src/man.c:317 src/man.c:326
+#: src/man.c:307 src/man.c:316
 msgid "STRING"
 msgstr "字串"
 
-#: src/man.c:317
+#: src/man.c:307
 msgid "provide the `less' pager with a prompt"
 msgstr "提供「較少的」pager 提示。"
 
-#: src/man.c:318
+#: src/man.c:308
 msgid "display ASCII translation of certain latin1 chars"
 msgstr "顯示某些 latin1 字元的 ASCII 轉換"
 
-#: src/man.c:321
+#: src/man.c:311
 msgid "turn off hyphenation"
 msgstr "關閉斷字"
 
-#: src/man.c:324
+#: src/man.c:314
 msgid "turn off justification"
 msgstr "關閉理由 (justification)"
 
-#: src/man.c:326
+#: src/man.c:316
 msgid ""
 "STRING indicates which preprocessors to run:\n"
 "e - [n]eqn, p - pic, t - tbl,\n"
@@ -470,34 +470,34 @@ msgstr ""
 "e - [n]eqn, p - pic, t - tbl,\n"
 "g - grap, r - refer, v - vgrind"
 
-#: src/man.c:330
+#: src/man.c:320
 #, c-format
 msgid "use %s to format pages"
 msgstr "使用 %s 格式化頁面"
 
-#: src/man.c:331
+#: src/man.c:321
 msgid "DEVICE"
 msgstr "裝置"
 
-#: src/man.c:332
+#: src/man.c:322
 #, c-format
 msgid "use %s with selected device"
 msgstr "透過選取的裝置使用 %s"
 
-#: src/man.c:333
+#: src/man.c:323
 msgid "BROWSER"
 msgstr "瀏覽器"
 
-#: src/man.c:334
+#: src/man.c:324
 #, c-format
 msgid "use %s or BROWSER to display HTML output"
 msgstr "使用 %s 或瀏覽器顯示 HTML 輸出"
 
-#: src/man.c:335
+#: src/man.c:325
 msgid "RESOLUTION"
 msgstr "解析度"
 
-#: src/man.c:337
+#: src/man.c:327
 msgid ""
 "use groff and display through gxditview (X11):\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
@@ -505,80 +505,80 @@ msgstr ""
 "透過 gxditview (X11) 使用 groff 和顯示:\n"
 "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12"
 
-#: src/man.c:339
+#: src/man.c:329
 msgid "use groff and force it to produce ditroff"
 msgstr "使用 groff 並強制其產生 ditroff"
 
-#: src/man.c:610 src/man.c:788
+#: src/man.c:597 src/man.c:733
 #, c-format
 msgid "No manual entry for %s\n"
 msgstr "沒有 %s 的手冊項目\n"
 
-#: src/man.c:612
+#: src/man.c:599
 #, c-format
 msgid "(Alternatively, what manual page do you want from section %s?)\n"
 msgstr "(或者,您想從第 %s 章節中選擇哪個手冊頁面?)\n"
 
-#: src/man.c:616
+#: src/man.c:603
 msgid "What manual page do you want?\n"
 msgstr "你想要什麼手冊?\n"
 
-#: src/man.c:785
+#: src/man.c:730
 #, c-format
 msgid "No manual entry for %s in section %s\n"
 msgstr "%2$s 部份中沒有 %1$s 的手冊項目\n"
 
-#: src/man.c:794
+#: src/man.c:739
 #, c-format
 msgid "See '%s' for help when manual pages are not available.\n"
 msgstr "當說明書不可用時,查看「%s」取得說明。\n"
 
-#: src/man.c:1402
+#: src/man.c:1347
 #, c-format
 msgid "ignoring unknown preprocessor `%c'"
 msgstr "忽略未知的預處理機「%c」"
 
-#: src/man.c:1765 src/mandb.c:220
+#: src/man.c:1710 src/mandb.c:224
 #, c-format
 msgid "can't rename %s to %s"
 msgstr "無法重新命名 %s 至 %s"
 
-#: src/man.c:1782
+#: src/man.c:1727
 #, c-format
 msgid "can't set times on %s"
 msgstr "無法在 %s 上設定時間"
 
-#: src/man.c:1791 src/man.c:1828
+#: src/man.c:1736 src/man.c:1773
 #, c-format
 msgid "can't unlink %s"
 msgstr "無法解除連結 %s"
 
-#: src/man.c:1858
+#: src/man.c:1803
 #, c-format
 msgid "can't create temporary cat for %s"
 msgstr "無法為 %s 建立暫存 cat"
 
-#: src/man.c:1968
+#: src/man.c:1913
 #, c-format
 msgid "can't create temporary directory"
 msgstr "無法建立暫存目錄"
 
-#: src/man.c:1979
+#: src/man.c:1924
 #, c-format
 msgid "can't open temporary file %s"
 msgstr "無法開啟暫存檔案 %s"
 
-#: src/man.c:2009 src/man.c:2038
+#: src/man.c:1954 src/man.c:1983
 #, c-format
 msgid "can't remove directory %s"
 msgstr "無法移除目錄 %s"
 
-#: src/man.c:2167
+#: src/man.c:2112
 #, c-format
 msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n"
 msgstr "--Man-- 下一個:%s [ 顯示 (return) | 跳過 (Ctrl-D) | 離開 (Ctrl-C) ]\n"
 
-#: src/man.c:2448
+#: src/man.c:2393
 #, c-format
 msgid ""
 "\n"
@@ -587,27 +587,27 @@ msgstr ""
 "\n"
 "無法在 catman 模式寫至 %s"
 
-#: src/man.c:2529
+#: src/man.c:2474
 #, c-format
 msgid "Can't convert %s to cat name"
 msgstr "無法轉換 %s 至 cat 名稱"
 
-#: src/man.c:3253
+#: src/man.c:3203
 #, c-format
 msgid "%s: relying on whatis refs is deprecated\n"
 msgstr "%s:依靠 whatis 的參考已經放棄\n"
 
-#: src/man.c:3401 src/man.c:4250
+#: src/man.c:3346 src/man.c:4196
 #, c-format
 msgid "mandb command failed with exit status %d"
 msgstr "mandb 指令執行失敗,回傳代碼 %d"
 
-#: src/man.c:3606
+#: src/man.c:3548
 #, c-format
 msgid "internal error: candidate type %d out of range"
 msgstr "內部錯誤:候選類型 %d 超出範圍"
 
-#: src/man.c:4191
+#: src/man.c:4137
 msgid " Manual page "
 msgstr " 手冊頁面 "
 
@@ -620,341 +620,339 @@ msgstr "無法寫至標準輸出"
 msgid "iconv: incomplete character at end of buffer"
 msgstr "iconv:在緩衝區尾端含有不完全的符號"
 
-#: src/manconv_main.c:89
+#: src/manconv_main.c:90
 msgid "-f CODE[:...] -t CODE [FILENAME]"
 msgstr "-f CODE[:...] -t CODE [ 檔案名稱 ]"
 
-#: src/manconv_main.c:92
+#: src/manconv_main.c:93
 msgid "CODE[:...]"
 msgstr "CODE[:...]"
 
-#: src/manconv_main.c:93
+#: src/manconv_main.c:94
 msgid "possible encodings of original text"
 msgstr "原始文字的可能編碼方式"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "CODE"
 msgstr "CODE"
 
-#: src/manconv_main.c:94
+#: src/manconv_main.c:95
 msgid "encoding for output"
 msgstr "輸出編碼"
 
-#: src/manconv_main.c:96 src/manpath.c:67
+#: src/manconv_main.c:97 src/manpath.c:68
 msgid "produce fewer warnings"
 msgstr "產生較少的警告"
 
-#: src/manconv_main.c:131 src/manconv_main.c:140
+#: src/manconv_main.c:132 src/manconv_main.c:141
 #, c-format
 msgid "must specify an input encoding"
 msgstr "需要指定輸入編碼"
 
-#: src/manconv_main.c:135
+#: src/manconv_main.c:136
 #, c-format
 msgid "must specify an output encoding"
 msgstr "需要指定輸出編碼"
 
-#: src/mandb.c:108
+#: src/mandb.c:112
 msgid "[MANPATH]"
 msgstr "[MANPATH]"
 
-#: src/mandb.c:112
+#: src/mandb.c:116
 msgid "work quietly, except for 'bogus' warning"
 msgstr "安靜的執行,除了「bogus」警告"
 
-#: src/mandb.c:113
+#: src/mandb.c:117
 msgid "don't look for or add stray cats to the dbs"
 msgstr "不要尋找或增加 stray cats 至資料庫"
 
-#: src/mandb.c:114
+#: src/mandb.c:118
 msgid "don't purge obsolete entries from the dbs"
 msgstr "不要從資料庫清除過期的項目"
 
-#: src/mandb.c:115
+#: src/mandb.c:119
 msgid "produce user databases only"
 msgstr "只產生使用者資料庫"
 
-#: src/mandb.c:116
+#: src/mandb.c:120
 msgid "create dbs from scratch, rather than updating"
 msgstr "從頭建立資料庫,而不是升級。"
 
-#: src/mandb.c:117
+#: src/mandb.c:121
 msgid "check manual pages for correctness"
 msgstr "檢查手冊頁面的正確性"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "FILENAME"
 msgstr "檔案名稱"
 
-#: src/mandb.c:118
+#: src/mandb.c:122
 msgid "update just the entry for this filename"
 msgstr "只更新此檔案名稱的項目"
 
-#: src/mandb.c:213
+#: src/mandb.c:217
 #, c-format
 msgid "can't remove %s"
 msgstr "無法移除 %s"
 
-#: src/mandb.c:277
+#: src/mandb.c:281
 #, c-format
 msgid "can't write to %s"
 msgstr "無法寫至 %s"
 
-#: src/mandb.c:282
+#: src/mandb.c:286
 #, c-format
 msgid "can't read from %s"
 msgstr "無法從 %s 讀取"
 
-#: src/mandb.c:450
+#: src/mandb.c:455
 #, c-format
 msgid "Processing manual pages under %s...\n"
 msgstr "正在 %s 底下處理手冊頁面…\n"
 
-#: src/mandb.c:667 src/mandb.c:693
+#: src/mandb.c:672 src/mandb.c:698
 #, c-format
 msgid "Removing obsolete cat directory %s...\n"
 msgstr "移除過時的 cat 路徑 %s…\n"
 
-#: src/mandb.c:844
+#: src/mandb.c:848
 #, c-format
 msgid "warning: no MANDB_MAP directives in %s, using your manpath"
 msgstr "警告:%s 中沒有 MANDB_MAP 指令,使用您的 manpath"
 
-#: src/mandb.c:916
+#: src/mandb.c:920
 #, c-format
 msgid "%d man subdirectory contained newer manual pages.\n"
 msgid_plural "%d man subdirectories contained newer manual pages.\n"
 msgstr[0] "%d 個 man 子目錄包含了較新的手冊頁面\n"
 
-#: src/mandb.c:921
+#: src/mandb.c:925
 #, c-format
 msgid "%d manual page was added.\n"
 msgid_plural "%d manual pages were added.\n"
 msgstr[0] "加入了 %d 個手冊頁面\n"
 
-#: src/mandb.c:925
+#: src/mandb.c:929
 #, c-format
 msgid "%d stray cat was added.\n"
 msgid_plural "%d stray cats were added.\n"
 msgstr[0] "加入了 %d 個 stray cat\n"
 
-#: src/mandb.c:930
+#: src/mandb.c:934
 #, c-format
 msgid "%d old database entry was purged.\n"
 msgid_plural "%d old database entries were purged.\n"
 msgstr[0] "清除了 %d 個舊資料庫項目。\n"
 
-#: src/mandb.c:948
+#: src/mandb.c:952
 #, c-format
 msgid "No databases created."
 msgstr "沒有建立的資料庫"
 
-#: src/manp.c:327
+#: src/manp.c:349
 #, c-format
 msgid "can't make sense of the manpath configuration file %s"
 msgstr "無法合理化 manpath 設定檔 %s"
 
-#: src/manp.c:333
+#: src/manp.c:355
 #, c-format
 msgid "warning: %s"
 msgstr "警告:%s"
 
-#: src/manp.c:339
+#: src/manp.c:361
 #, c-format
 msgid "warning: %s isn't a directory"
 msgstr "警告:%s 不是目錄"
 
-#: src/manp.c:344
-#, c-format
-msgid "manpath list too long"
-msgstr "manpath 列表太長"
-
-#: src/manp.c:675
+#: src/manp.c:692
 #, c-format
 msgid "warning: $PATH not set"
 msgstr "警告:未設定 $PATH"
 
-#: src/manp.c:682
+#: src/manp.c:699
 #, c-format
 msgid "warning: empty $PATH"
 msgstr "警告:空 $PATH"
 
-#: src/manp.c:710
+#: src/manp.c:727
 #, c-format
 msgid "warning: $MANPATH set, prepending %s"
 msgstr "警告:已設定 $MANPATH,正在前面加上 %s"
 
-#: src/manp.c:721
+#: src/manp.c:738
 #, c-format
 msgid "warning: $MANPATH set, appending %s"
 msgstr "警告:已設定 $MANPATH,正在增加 %s"
 
-#: src/manp.c:733
+#: src/manp.c:750
 #, c-format
 msgid "warning: $MANPATH set, inserting %s"
 msgstr "警告:已設定 $MANPATH,正在插入 %s"
 
-#: src/manp.c:747
+#: src/manp.c:764
 #, c-format
 msgid "warning: $MANPATH set, ignoring %s"
 msgstr "警告:已設定 $MANPATH,正在忽略 %s"
 
-#: src/manp.c:809
+#: src/manp.c:826
 #, c-format
 msgid "can't parse directory list `%s'"
 msgstr "無法解析目錄列表「%s」"
 
-#: src/manp.c:872
+#: src/manp.c:881
 #, c-format
 msgid "can't open the manpath configuration file %s"
 msgstr "無法開啟 manpath 設定檔 %s"
 
-#: src/manp.c:911
+#: src/manp.c:920
 #, c-format
 msgid "warning: mandatory directory %s doesn't exist"
 msgstr "警告:強制性目錄 %s 不存在"
 
-#: src/manp.c:1180
+#: src/manp.c:1176
 #, c-format
 msgid "can't determine current directory"
 msgstr "無法確定目前的目錄"
 
-#: src/manp.c:1383
+#: src/manp.c:1385
 #, c-format
 msgid "warning: %s does not begin with %s"
 msgstr "警告:%s 未以 %s 開頭"
 
-#: src/manpath.c:64
+#: src/manpath.c:65
 msgid "show relative catpaths"
 msgstr "顯示相對的 catpath"
 
-#: src/manpath.c:65
+#: src/manpath.c:66
 msgid "show the entire global manpath"
 msgstr "顯示整個全域 manpath"
 
-#: src/manpath.c:127
+#: src/manpath.c:128
 #, c-format
 msgid "warning: no global manpaths set in config file %s"
 msgstr "警告:沒有在設定檔 %s 設定全域 manpath"
 
-#: src/straycats.c:252 src/ult_src.c:124
+#: src/straycats.c:246 src/ult_src.c:125
 #, c-format
 msgid "warning: %s is a dangling symlink"
 msgstr "警告:%s 為懸掛的符號連結"
 
-#: src/straycats.c:255 src/ult_src.c:127 src/ult_src.c:286
+#: src/straycats.c:249 src/ult_src.c:128 src/ult_src.c:262
 #, c-format
 msgid "can't resolve %s"
 msgstr "無法解析 %s"
 
-#: src/straycats.c:319
+#: src/straycats.c:308
 #, c-format
 msgid "Checking for stray cats under %s...\n"
 msgstr "正在 %s 底下檢查 stray cats ...\n"
 
-#: src/straycats.c:359
+#: src/straycats.c:348
 #, c-format
 msgid "warning: can't update index cache %s"
 msgstr "警告:無法更新索引快取 %s"
 
-#: src/ult_src.c:324
+#: src/ult_src.c:300
 #, c-format
 msgid "%s is self referencing"
 msgstr "%s 為自我參考"
 
-#: src/whatis.c:120
+#: src/whatis.c:123
 msgid "KEYWORD..."
 msgstr "關鍵字…"
 
-#: src/whatis.c:121
+#: src/whatis.c:124
 msgid "The --regex option is enabled by default."
 msgstr "預設值啟用了 --regex 選項"
 
-#: src/whatis.c:125
+#: src/whatis.c:128
 msgid "print verbose warning messages"
 msgstr "顯示詳細的警告訊息"
 
-#: src/whatis.c:126
+#: src/whatis.c:129
 msgid "interpret each keyword as a regex"
 msgstr "將每個關鍵字解釋為正規表達式"
 
-#: src/whatis.c:127
+#: src/whatis.c:130
 msgid "search each keyword for exact match"
 msgstr "精確搜尋每個關鍵字"
 
-#: src/whatis.c:128
+#: src/whatis.c:131
 msgid "the keyword(s) contain wildcards"
 msgstr "此關鍵字包含 Wildcard"
 
-#: src/whatis.c:129
+#: src/whatis.c:132
 msgid "require all keywords to match"
 msgstr "需要符合所有關鍵字"
 
-#: src/whatis.c:130
+#: src/whatis.c:133
 msgid "do not trim output to terminal width"
 msgstr "不依終端器寬度裁切輸出"
 
-#: src/whatis.c:131
+#: src/whatis.c:134
 msgid "search only these sections (colon-separated)"
 msgstr "只搜尋這些部份(以冒號分隔)"
 
-#: src/whatis.c:135
+#: src/whatis.c:138
 msgid "define the locale for this search"
 msgstr "為這個搜尋定義語言"
 
-#: src/whatis.c:232
+#: src/whatis.c:235
 #, c-format
 msgid "%s what?\n"
 msgstr "%s 什麼?\n"
 
-#: src/whatis.c:409 src/whatis.c:427
+#: src/whatis.c:412 src/whatis.c:430
 #, c-format
 msgid "warning: %s contains a pointer loop"
 msgstr "警告:%s 包含了遞迴指標"
 
-#: src/whatis.c:421 src/whatis.c:429
+#: src/whatis.c:424 src/whatis.c:432
 msgid "(unknown subject)"
 msgstr "(未知主旨)"
 
-#: src/whatis.c:890
+#: src/whatis.c:863
 #, c-format
 msgid "%s: nothing appropriate.\n"
 msgstr "%s:什麼都不適合。\n"
 
-#: src/zsoelim.l:168
+#: src/zsoelim.l:171
 #, c-format
 msgid "%s:%d: .so requests nested too deeply or are recursive"
 msgstr "%s:%d:.so 請求巢狀過深或遞迴"
 
-#: src/zsoelim.l:183
+#: src/zsoelim.l:186
 #, c-format
 msgid "%s:%d: warning: failed .so request"
 msgstr "%s:%d:警告:失敗的 .so 請求"
 
-#: src/zsoelim.l:205
+#: src/zsoelim.l:208
 #, c-format
 msgid "%s:%d: warning: newline in .so request, ignoring"
 msgstr "%s:%d:警告:換行符號在 .so 請求中,正在忽略"
 
-#: src/zsoelim.l:265
+#: src/zsoelim.l:268
 #, c-format
 msgid "%s:%d: warning: malformed .lf request, ignoring"
 msgstr "%s:%d:警告:.If 請求格式錯誤,正在忽略"
 
-#: src/zsoelim.l:275
+#: src/zsoelim.l:278
 #, c-format
 msgid "%s:%d: warning: newline in .lf request, ignoring"
 msgstr "%s:%d:警告:換行符號在 .If 請求中,正在忽略"
 
-#: src/zsoelim.l:316
+#: src/zsoelim.l:318
 #, c-format
 msgid "%s:%d: unterminated quote in roff request"
 msgstr "%s:%d:roff 請求中未終止的引用"
 
-#: src/zsoelim_main.c:68
+#: src/zsoelim_main.c:70
 msgid "compatibility switch (ignored)"
 msgstr "相容性開關(已忽略)"
 
+#~ msgid "manpath list too long"
+#~ msgstr "manpath 列表太長"
+
 #~ msgid "can't restore previous working directory"
 #~ msgstr "無法恢復先前的工作目錄"
 
index 21f18cb..ff3fef5 100644 (file)
@@ -27,6 +27,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdio.h>
 #include <errno.h>
 #include <string.h>
@@ -70,7 +71,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
 {
        switch (key) {
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'h':
                        argp_state_help (state, state->out_stream,
index 489b33c..c58ef6c 100644 (file)
@@ -31,6 +31,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdio.h>
 #include <assert.h>
 #include <sys/types.h>
@@ -61,6 +62,7 @@
 #endif /* !ARG_MAX */
 
 #include "argp.h"
+#include "gl_list.h"
 #include "progname.h"
 
 #include "gettext.h"
@@ -72,6 +74,7 @@
 
 #include "cleanup.h"
 #include "error.h"
+#include "glcontainers.h"
 #include "pipeline.h"
 #include "sandbox.h"
 
@@ -110,7 +113,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
 
        switch (key) {
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'M':
                        manp = arg;
@@ -164,7 +167,7 @@ static struct argp argp = { options, parse_opt, args_doc };
 
 static char *locale;
 
-static char *manpathlist[MAXDIRS];
+static gl_list_t manpathlist;
 
 static void post_fork (void)
 {
@@ -353,7 +356,7 @@ static int check_access (const char *directory)
 int main (int argc, char *argv[])
 {
        char *sys_manp;
-       char **mp;
+       char *mp;
        const char **sp;
 
        set_program_name (argv[0]);
@@ -388,14 +391,14 @@ int main (int argc, char *argv[])
 
        debug ("manpath=%s\n", manp);
 
-       /* get the manpath as an array of pointers */
-       create_pathlist (manp, manpathlist); 
-       
-       for (mp = manpathlist; *mp; mp++) {
+       /* get the manpath as a list of pointers */
+       manpathlist = create_pathlist (manp); 
+
+       GL_LIST_FOREACH_START (manpathlist, mp) {
                char *catpath;
                size_t len;
 
-               catpath = get_catpath (*mp, SYSTEM_CAT | USER_CAT);
+               catpath = get_catpath (mp, SYSTEM_CAT | USER_CAT);
 
                if (catpath) { 
                        if (is_directory (catpath) != 1) {
@@ -404,10 +407,10 @@ int main (int argc, char *argv[])
                        }
                        database = mkdbname (catpath);
                } else {
-                       if (is_directory (*mp) != 1)
+                       if (is_directory (mp) != 1)
                                continue;
-                       database = mkdbname (*mp);
-                       catpath = xstrdup (*mp);
+                       database = mkdbname (mp);
+                       catpath = xstrdup (mp);
                }
 
                len = strlen (catpath);
@@ -419,14 +422,14 @@ int main (int argc, char *argv[])
                                continue;
                        if (check_access (catpath))
                                continue;
-                       if (parse_for_sec (*mp, *sp)) {
-                               error (0, 0, _("unable to update %s"), *mp);
+                       if (parse_for_sec (mp, *sp)) {
+                               error (0, 0, _("unable to update %s"), mp);
                                break;
                        }
                }
                        
                free (catpath);
-       }
+       } GL_LIST_FOREACH_END (manpathlist);
 
        free_pathlist (manpathlist);
        free (locale);
index c8c33dc..5aba37c 100644 (file)
@@ -31,6 +31,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <unistd.h>
 
 #include "dirname.h"
+#include "gl_array_list.h"
+#include "gl_hash_map.h"
+#include "gl_xlist.h"
+#include "gl_xmap.h"
 #include "stat-time.h"
 #include "timespec.h"
 #include "xvasprintf.h"
 #include "manconfig.h"
 
 #include "error.h"
-#include "hashtable.h"
+#include "glcontainers.h"
 #include "orderfiles.h"
 #include "security.h"
-#include "xchown.h"
 
 #include "mydbm.h"
 #include "db_storage.h"
 #include "ult_src.h"
 #include "check_mandirs.h"
 
-int opt_test;          /* don't update db */
+bool opt_test;         /* don't update db */
 int pages;
-int force_rescan = 0;
+bool force_rescan = false;
 
-static struct hashtable *whatis_hash = NULL;
+gl_map_t whatis_map = NULL;
 
-struct whatis_hashent {
+struct whatis {
        char *whatis;
-       struct ult_trace trace;
+       gl_list_t trace;
 };
 
-static void whatis_hashtable_free (void *defn)
+static void whatis_free (const void *value)
 {
-       struct whatis_hashent *hashent = defn;
+       struct whatis *whatis = (struct whatis *) value;
 
-       free (hashent->whatis);
-       free_ult_trace (&hashent->trace);
-       free (hashent);
+       free (whatis->whatis);
+       gl_list_free (whatis->trace);
+       free (whatis);
 }
 
 static void gripe_multi_extensions (const char *path, const char *sec, 
@@ -127,12 +131,11 @@ void test_manfile (MYDBM_FILE dbf, const char *file, const char *path)
        struct mandata info, *exists;
        struct stat buf;
        size_t len;
-       struct ult_trace ult_trace;
-       struct whatis_hashent *whatis;
+       gl_list_t ult_trace = NULL;
+       const struct whatis *whatis;
 
        memset (&lg, 0, sizeof (struct lexgrog));
        memset (&info, 0, sizeof (struct mandata));
-       memset (&ult_trace, 0, sizeof (struct ult_trace));
 
        manpage = filename_info (file, &info, NULL);
        if (!manpage)
@@ -158,7 +161,7 @@ void test_manfile (MYDBM_FILE dbf, const char *file, const char *path)
         * save both an ult_src() and a find_name(), amongst other wastes of
         * time.
         */
-       exists = dblookup_exact (dbf, manpage_base, info.ext, 1);
+       exists = dblookup_exact (dbf, manpage_base, info.ext, true);
 
        /* Ensure we really have the actual page. Gzip keeps the mtime the
         * same when it compresses, so we have to compare compression
@@ -202,8 +205,8 @@ void test_manfile (MYDBM_FILE dbf, const char *file, const char *path)
         */
        {
                /* Avoid too much noise in debug output */
-               int save_debug = debug_level;
-               debug_level = 0;
+               bool save_debug = debug_level;
+               debug_level = false;
                ult = ult_src (file, path, &buf, SOFT_LINK | HARD_LINK, NULL);
                debug_level = save_debug;
        }
@@ -215,10 +218,10 @@ void test_manfile (MYDBM_FILE dbf, const char *file, const char *path)
                return;
        }
 
-       if (!whatis_hash)
-               whatis_hash = hashtable_create (&whatis_hashtable_free);
+       if (!whatis_map)
+               whatis_map = new_string_map (GL_HASH_MAP, whatis_free);
 
-       whatis = hashtable_lookup (whatis_hash, ult, strlen (ult));
+       whatis = gl_map_get (whatis_map, ult);
        if (!whatis) {
                if (!STRNEQ (ult, file, len))
                        debug ("\ntest_manfile(): link not in cache:\n"
@@ -228,8 +231,9 @@ void test_manfile (MYDBM_FILE dbf, const char *file, const char *path)
                 * looking for whatis info in files containing only '.so
                 * manx/foo.x', which will give us an unobtainable whatis
                 * for the entry. */
+               ult_trace = new_string_list (GL_ARRAY_LIST, true);
                ult = ult_src (file, path, &buf,
-                              SO_LINK | SOFT_LINK | HARD_LINK, &ult_trace);
+                              SO_LINK | SOFT_LINK | HARD_LINK, ult_trace);
        }
 
        if (!ult) {
@@ -261,6 +265,7 @@ void test_manfile (MYDBM_FILE dbf, const char *file, const char *path)
        else {
                /* Cache miss; go and get the whatis info in its raw state. */
                char *file_base = base_name (file);
+               struct whatis *new_whatis;
 
                lg.type = MANPAGE;
                drop_effective_privs ();
@@ -268,11 +273,12 @@ void test_manfile (MYDBM_FILE dbf, const char *file, const char *path)
                free (file_base);
                regain_effective_privs ();
 
-               whatis = XMALLOC (struct whatis_hashent);
-               whatis->whatis = lg.whatis ? xstrdup (lg.whatis) : NULL;
+               new_whatis = XMALLOC (struct whatis);
+               new_whatis->whatis = lg.whatis ? xstrdup (lg.whatis) : NULL;
                /* We filled out ult_trace above. */
-               memcpy (&whatis->trace, &ult_trace, sizeof (ult_trace));
-               hashtable_install (whatis_hash, ult, strlen (ult), whatis);
+               new_whatis->trace = ult_trace;
+               gl_map_put (whatis_map, xstrdup (ult), new_whatis);
+               whatis = new_whatis;
        }
 
        debug ("\"%s\"\n", lg.whatis);
@@ -281,15 +287,11 @@ void test_manfile (MYDBM_FILE dbf, const char *file, const char *path)
        info.pointer = NULL;    /* direct page, so far */
        info.filter = lg.filters;
        if (lg.whatis) {
-               struct page_description *descs =
-                       parse_descriptions (manpage_base, lg.whatis);
-               if (descs) {
-                       if (!opt_test)
-                               store_descriptions (dbf, descs, &info,
-                                                   path, manpage_base,
-                                                   &whatis->trace);
-                       free_descriptions (descs);
-               }
+               gl_list_t descs = parse_descriptions (manpage_base, lg.whatis);
+               if (!opt_test)
+                       store_descriptions (dbf, descs, &info, path,
+                                           manpage_base, whatis->trace);
+               gl_list_free (descs);
        } else if (quiet < 2) {
                (void) stat (ult, &buf);
                if (buf.st_size == 0)
@@ -311,8 +313,8 @@ static void add_dir_entries (MYDBM_FILE dbf, const char *path, char *infile)
        int len;
        struct dirent *newdir;
        DIR *dir;
-       char **names;
-       size_t names_len, names_max, i;
+       gl_list_t names;
+       const char *name;
 
        manpage = xasprintf ("%s/%s/", path, infile);
        len = strlen (manpage);
@@ -329,9 +331,7 @@ static void add_dir_entries (MYDBM_FILE dbf, const char *path, char *infile)
                 return;
         }
 
-       names_len = 0;
-       names_max = 1024;
-       names = XNMALLOC (names_max, char *);
+       names = new_string_list (GL_ARRAY_LIST, false);
 
         /* strlen(newdir->d_name) could be replaced by newdir->d_reclen */
 
@@ -339,24 +339,19 @@ static void add_dir_entries (MYDBM_FILE dbf, const char *path, char *infile)
                if (*newdir->d_name == '.' &&
                    strlen (newdir->d_name) < (size_t) 3)
                        continue;
-               if (names_len >= names_max) {
-                       names_max *= 2;
-                       names = xnrealloc (names, names_max, sizeof (char *));
-               }
-               names[names_len++] = xstrdup (newdir->d_name);
+               gl_list_add_last (names, xstrdup (newdir->d_name));
        }
        closedir (dir);
 
-       order_files (infile, names, names_len);
+       order_files (infile, &names);
 
-       for (i = 0; i < names_len; ++i) {
-               manpage = appendstr (manpage, names[i], (void *) 0);
+       GL_LIST_FOREACH_START (names, name) {
+               manpage = appendstr (manpage, name, (void *) 0);
                test_manfile (dbf, manpage, path);
                *(manpage + len) = '\0';
-               free (names[i]);
-       }
+       } GL_LIST_FOREACH_END (names);
 
-       free (names);
+       gl_list_free (names);
        free (manpage);
 }
 
@@ -379,11 +374,8 @@ void chown_if_possible (const char *path)
            (st.st_uid != man_owner->pw_uid ||
             st.st_gid != man_owner->pw_gid)) {
                debug ("fixing ownership of %s\n", path);
-#ifdef HAVE_LCHOWN
-               xlchown (path, man_owner->pw_uid, man_owner->pw_gid);
-#else
-               xchown (path, man_owner->pw_uid, man_owner->pw_gid);
-#endif
+               if (lchown (path, man_owner->pw_uid, man_owner->pw_gid) < 0)
+                       error (FATAL, 0, _("can't chown %s"), path);
        }
 }
 #else /* !MAN_OWNER */
@@ -652,12 +644,12 @@ int create_db (const char *manpath, const char *catpath)
 }
 
 /* Make sure an existing database is essentially sane. */
-static int sanity_check_db (MYDBM_FILE dbf)
+static bool sanity_check_db (MYDBM_FILE dbf)
 {
        datum key;
 
        if (dbver_rd (dbf))
-               return 0;
+               return false;
 
        key = MYDBM_FIRSTKEY (dbf);
        while (MYDBM_DPTR (key) != NULL) {
@@ -668,7 +660,7 @@ static int sanity_check_db (MYDBM_FILE dbf)
                        debug ("warning: %s has a key with no content (%s); "
                               "rebuilding\n", database, MYDBM_DPTR (key));
                        MYDBM_FREE_DPTR (key);
-                       return 0;
+                       return false;
                }
                MYDBM_FREE_DPTR (content);
                nextkey = MYDBM_NEXTKEY (dbf, key);
@@ -676,7 +668,7 @@ static int sanity_check_db (MYDBM_FILE dbf)
                key = nextkey;
        }
 
-       return 1;
+       return true;
 }
 
 /* routine to update the db, ensure that it is consistent with the 
@@ -771,38 +763,38 @@ pointers_next:
  * out that this is better handled in look_for_file() itself.
  */
 static int count_glob_matches (const char *name, const char *ext,
-                              char **source, struct timespec db_mtime)
+                              gl_list_t source, struct timespec db_mtime)
 {
-       char **walk;
+       const char *walk;
        int count = 0;
 
-       for (walk = source; walk && *walk; ++walk) {
+       GL_LIST_FOREACH_START (source, walk) {
                struct mandata info;
                struct stat statbuf;
                char *buf;
 
                memset (&info, 0, sizeof (struct mandata));
 
-               if (stat (*walk, &statbuf) == -1) {
+               if (stat (walk, &statbuf) == -1) {
                        debug ("count_glob_matches: excluding %s "
-                              "because stat failed\n", *walk);
+                              "because stat failed\n", walk);
                        continue;
                }
                if (db_mtime.tv_sec != (time_t) -1 &&
                    timespec_cmp (get_stat_mtime (&statbuf), db_mtime) <= 0) {
                        debug ("count_glob_matches: excluding %s, "
-                              "no newer than database\n", *walk);
+                              "no newer than database\n", walk);
                        continue;
                }
 
-               buf = filename_info (*walk, &info, name);
+               buf = filename_info (walk, &info, name);
                if (buf) {
                        if (STREQ (ext, info.ext))
                                ++count;
                        free (info.name);
                        free (buf);
                }
-       }
+       } GL_LIST_FOREACH_END (source);
 
        return count;
 }
@@ -811,7 +803,7 @@ static int count_glob_matches (const char *name, const char *ext,
  * page.
  */
 static int purge_normal (MYDBM_FILE dbf, const char *name,
-                        struct mandata *info, char **found)
+                        struct mandata *info, gl_list_t found)
 {
        struct timespec t;
 
@@ -834,8 +826,8 @@ static int purge_normal (MYDBM_FILE dbf, const char *name,
 
 /* Decide whether to purge a reference to a WHATIS_MAN or WHATIS_CAT page. */
 static int purge_whatis (MYDBM_FILE dbf, const char *path, int cat,
-                        const char *name, struct mandata *info, char **found,
-                        struct timespec db_mtime)
+                        const char *name, struct mandata *info,
+                        gl_list_t found, struct timespec db_mtime)
 {
        /* TODO: On some systems, the cat page extension differs from the
         * man page extension, so this may be too strict.
@@ -852,7 +844,7 @@ static int purge_whatis (MYDBM_FILE dbf, const char *path, int cat,
                        debug ("%s(%s): whatis replaced by real page; "
                               "forcing a rescan just in case\n",
                               name, info->ext);
-               force_rescan = 1;
+               force_rescan = true;
                return 0;
        } else if (STREQ (info->pointer, "-")) {
                /* This is broken; a WHATIS_MAN should never have an empty
@@ -870,23 +862,26 @@ static int purge_whatis (MYDBM_FILE dbf, const char *path, int cat,
                        debug ("%s(%s): whatis had empty pointer; "
                               "forcing a rescan just in case\n",
                               name, info->ext);
-               force_rescan = 1;
+               force_rescan = true;
                return 1;
        } else {
                /* Does the real page still exist? */
-               char **real_found;
-               int save_debug = debug_level;
+               gl_list_t real_found;
+               bool save_debug = debug_level;
                struct timespec t;
+               int count;
 
-               debug_level = 0;
+               debug_level = false;
                real_found = look_for_file (path, info->ext,
                                            info->pointer, cat, LFF_MATCHCASE);
                debug_level = save_debug;
 
                t.tv_sec = -1;
                t.tv_nsec = -1;
-               if (count_glob_matches (info->pointer, info->ext, real_found,
-                                       t))
+               count = count_glob_matches (info->pointer, info->ext,
+                                           real_found, t);
+               gl_list_free (real_found);
+               if (count)
                        return 0;
 
                if (!opt_test)
@@ -923,7 +918,7 @@ static int check_multi_key (const char *name, const char *content)
                if (!valid) {
                        debug ("%s: broken multi key \"%s\", "
                               "forcing a rescan\n", name, content);
-                       force_rescan = 1;
+                       force_rescan = true;
                        return 1;
                }
 
@@ -985,8 +980,8 @@ int purge_missing (const char *manpath, const char *catpath,
                datum content, nextkey;
                struct mandata entry;
                char *nicekey, *tab;
-               int save_debug;
-               char **found;
+               bool save_debug;
+               gl_list_t found;
 
                /* Ignore db identifier keys. */
                if (*MYDBM_DPTR (key) == '$') {
@@ -1025,7 +1020,7 @@ int purge_missing (const char *manpath, const char *catpath,
                split_content (MYDBM_DPTR (content), &entry);
 
                save_debug = debug_level;
-               debug_level = 0;        /* look_for_file() is quite noisy */
+               debug_level = false;    /* look_for_file() is quite noisy */
                if (entry.id <= WHATIS_MAN)
                        found = look_for_file (manpath, entry.ext,
                                               entry.name ? entry.name
@@ -1051,6 +1046,7 @@ int purge_missing (const char *manpath, const char *catpath,
                        count += purge_whatis (dbf, catpath, 1, nicekey,
                                               &entry, found, db_mtime);
 
+               gl_list_free (found);
                free (nicekey);
 
                free_mandata_elements (&entry);
index 009a50b..09295b8 100644 (file)
 #include <string.h>
 #include <stdlib.h>
 
+#include "gl_array_list.h"
+#include "gl_xlist.h"
+
 #include "manconfig.h"
 #include "descriptions.h"
 
+/* Free a page description. */
+void page_description_free (const void *value)
+{
+       struct page_description *desc = (struct page_description *) value;
+
+       free (desc->name);
+       free (desc->whatis);
+       free (desc);
+}
+
 /* Parse the description in a whatis line returned by find_name() into a
- * sequence of names and whatis descriptions.
+ * list of names and whatis descriptions.
  */
-struct page_description *parse_descriptions (const char *base,
-                                            const char *whatis)
+gl_list_t parse_descriptions (const char *base, const char *whatis)
 {
        const char *sep, *nextsep;
-       struct page_description *desc = NULL, *head = NULL;
+       gl_list_t descs;
        int seen_base = 0;
 
+       descs = gl_list_create_empty (GL_ARRAY_LIST, NULL, NULL,
+                                     page_description_free, true);
+
        if (!whatis)
-               return NULL;
+               return descs;
 
        sep = whatis;
 
@@ -74,7 +89,7 @@ struct page_description *parse_descriptions (const char *base,
                dash = strstr (record, " - ");
                if (dash)
                        names = xstrndup (record, dash - record);
-               else if (!desc)
+               else if (!gl_list_size (descs))
                        /* Some pages have a NAME section with just the page
                         * name and no whatis.  We might as well include
                         * this.
@@ -93,6 +108,7 @@ struct page_description *parse_descriptions (const char *base,
                for (token = strtok (names, ","); token;
                     token = strtok (NULL, ",")) {
                        char *name = trim_spaces (token);
+                       struct page_description *desc;
 
                        /* Skip name tokens containing whitespace. They are
                         * almost never useful as manual page names.
@@ -103,16 +119,10 @@ struct page_description *parse_descriptions (const char *base,
                        }
 
                        /* Allocate new description node. */
-                       if (head) {
-                               desc->next = xmalloc (sizeof *desc);
-                               desc = desc->next;
-                       } else {
-                               desc = xmalloc (sizeof *desc);
-                               head = desc;
-                       }
+                       desc = xmalloc (sizeof *desc);
                        desc->name   = name; /* steal memory */
                        desc->whatis = dash ? trim_spaces (dash + 3) : NULL;
-                       desc->next   = NULL;
+                       gl_list_add_last (descs, desc);
 
                        if (base && STREQ (base, desc->name))
                                seen_base = 1;
@@ -129,33 +139,18 @@ next:
         * list.
         */
        if (base && !seen_base) {
-               if (head) {
-                       desc->next = xmalloc (sizeof *desc);
-                       desc = desc->next;
-                       desc->whatis =
-                               head->whatis ? xstrdup (head->whatis) : NULL;
-               } else {
-                       desc = xmalloc (sizeof *desc);
-                       head = desc;
-                       desc->whatis = NULL;
-               }
+               struct page_description *desc = xmalloc (sizeof *desc);
+
                desc->name = xstrdup (base);
-               desc->next = NULL;
+               desc->whatis = NULL;
+               if (gl_list_size (descs)) {
+                       const struct page_description *first =
+                               gl_list_get_at (descs, 0);
+                       if (first->whatis)
+                               desc->whatis = xstrdup (first->whatis);
+               }
+               gl_list_add_last (descs, desc);
        }
 
-       return head;
-}
-
-/* Free a description list and all its contents. */
-void free_descriptions (struct page_description *head)
-{
-       struct page_description *desc = head, *prev;
-
-       while (desc) {
-               free (desc->name);
-               free (desc->whatis);
-               prev = desc;
-               desc = desc->next;
-               free (prev);
-       }
+       return descs;
 }
index a0161be..38ae412 100644 (file)
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include "gl_list.h"
+
 #include "db_storage.h"
 
 struct page_description {
        char *name;
        char *whatis;
-       struct page_description *next;
 };
 
-struct ult_trace;
-
-extern struct page_description *parse_descriptions (const char *base,
-                                                   const char *whatis);
-extern void store_descriptions (MYDBM_FILE dbf,
-                               const struct page_description *head,
+/* Returns a list of struct page_description. */
+extern gl_list_t parse_descriptions (const char *base, const char *whatis);
+extern void store_descriptions (MYDBM_FILE dbf, gl_list_t descs,
                                struct mandata *info,
                                const char *path, const char *base,
-                               struct ult_trace *trace);
-extern void free_descriptions (struct page_description *head);
+                               gl_list_t trace);
index c473aee..47d0b91 100644 (file)
@@ -24,6 +24,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include "gettext.h"
 #define _(String) gettext (String)
 
+#include "error.h"
+#include "gl_list.h"
+
 #include "manconfig.h"
 
-#include "error.h"
+#include "glcontainers.h"
 
 #include "db_storage.h"
 
@@ -60,39 +64,38 @@ static int is_prefix (const char *path, const char *dir)
 /* Take a list of descriptions returned by parse_descriptions() and store
  * it into the database.
  */
-void store_descriptions (MYDBM_FILE dbf, const struct page_description *head,
-                        struct mandata *info,
-                        const char *path, const char *base,
-                        struct ult_trace *trace)
+void store_descriptions (MYDBM_FILE dbf, gl_list_t descs, struct mandata *info,
+                        const char *path, const char *base, gl_list_t trace)
 {
        const struct page_description *desc;
        char save_id = info->id;
-       size_t i;
+       const char *trace_name;
 
-       if (trace) {
-               for (i = 0; i < trace->len; ++i)
-                       debug ("trace->names[%zu] = '%s'\n",
-                              i, trace->names[i]);
+       if (gl_list_size (descs) && trace) {
+               GL_LIST_FOREACH_START (trace, trace_name)
+                       debug ("trace: '%s'\n", trace_name);
+               GL_LIST_FOREACH_END (trace);
        }
 
-       for (desc = head; desc; desc = desc->next) {
+       GL_LIST_FOREACH_START (descs, desc) {
                /* Either it's the real thing or merely a reference. Get the
                 * id and pointer right in either case.
                 */
-               int found_real_page = 0;
-               int found_external = 0;
+               bool found_real_page = false;
+               bool found_external = false;
 
                if (STREQ (base, desc->name)) {
                        info->id = save_id;
                        info->pointer = NULL;
                        info->whatis = desc->whatis;
-                       found_real_page = 1;
+                       found_real_page = true;
                } else if (trace) {
-                       for (i = 0; i < trace->len; ++i) {
+                       size_t i = 0;
+                       GL_LIST_FOREACH_START (trace, trace_name) {
                                struct mandata trace_info;
                                char *buf;
 
-                               buf = filename_info (trace->names[i],
+                               buf = filename_info (trace_name,
                                                     &trace_info, "");
                                if (trace_info.name &&
                                    STREQ (trace_info.name, desc->name)) {
@@ -101,24 +104,25 @@ void store_descriptions (MYDBM_FILE dbf, const struct page_description *head,
                                                 * hierarchy; skip this
                                                 * description.
                                                 */
-                                               found_external = 1;
+                                               found_external = true;
                                                free (trace_info.name);
                                                free (buf);
                                                break;
                                        }
-                                       if (i == trace->len - 1 &&
+                                       if (i == gl_list_size (trace) - 1 &&
                                            save_id == SO_MAN)
                                                info->id = ULT_MAN;
                                        else
                                                info->id = save_id;
                                        info->pointer = NULL;
                                        info->whatis = desc->whatis;
-                                       found_real_page = 1;
+                                       found_real_page = true;
                                }
 
                                free (trace_info.name);
                                free (buf);
-                       }
+                               ++i;
+                       } GL_LIST_FOREACH_END (trace);
                }
 
                if (found_external) {
@@ -144,5 +148,5 @@ void store_descriptions (MYDBM_FILE dbf, const struct page_description *head,
                        gripe_bad_store (base, info->ext);
                        break;
                }
-       }
+       } GL_LIST_FOREACH_END (descs);
 }
index 2fc8e24..017c361 100644 (file)
@@ -27,6 +27,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 #include <ctype.h>
 #include <dirent.h>
 
 #include "fnmatch.h"
+#include "gl_array_list.h"
+#include "gl_hash_map.h"
+#include "gl_xlist.h"
+#include "gl_xmap.h"
 #include "regex.h"
 #include "xvasprintf.h"
 
 #include "manconfig.h"
 
 #include "error.h"
-#include "hashtable.h"
+#include "glcontainers.h"
 #include "cleanup.h"
 #include "xregcomp.h"
 
@@ -109,23 +114,23 @@ static int parse_layout (const char *layout)
        }
 }
 
-struct dirent_hashent {
+struct dirent_names {
        char **names;
        size_t names_len, names_max;
 };
 
-static void dirent_hashtable_free (void *defn)
+static void dirent_names_free (const void *value)
 {
-       struct dirent_hashent *hashent = defn;
+       struct dirent_names *cache = (struct dirent_names *) value;
        size_t i;
 
-       for (i = 0; i < hashent->names_len; ++i)
-               free (hashent->names[i]);
-       free (hashent->names);
-       free (hashent);
+       for (i = 0; i < cache->names_len; ++i)
+               free (cache->names[i]);
+       free (cache->names);
+       free (cache);
 }
 
-static struct hashtable *dirent_hash = NULL;
+static gl_map_t dirent_map = NULL;
 
 static int cache_compare (const void *a, const void *b)
 {
@@ -134,17 +139,17 @@ static int cache_compare (const void *a, const void *b)
        return strcasecmp (left, right);
 }
 
-static struct dirent_hashent *update_directory_cache (const char *path)
+static struct dirent_names *update_directory_cache (const char *path)
 {
-       struct dirent_hashent *cache;
+       struct dirent_names *cache;
        DIR *dir;
        struct dirent *entry;
 
-       if (!dirent_hash) {
-               dirent_hash = hashtable_create (&dirent_hashtable_free);
-               push_cleanup ((cleanup_fun) hashtable_free, dirent_hash, 0);
+       if (!dirent_map) {
+               dirent_map = new_string_map (GL_HASH_MAP, dirent_names_free);
+               push_cleanup ((cleanup_fun) gl_map_free, dirent_map, 0);
        }
-       cache = hashtable_lookup (dirent_hash, path, strlen (path));
+       cache = (struct dirent_names *) gl_map_get (dirent_map, path);
 
        /* Check whether we've got this one already. */
        if (cache) {
@@ -160,7 +165,7 @@ static struct dirent_hashent *update_directory_cache (const char *path)
                return NULL;
        }
 
-       cache = XMALLOC (struct dirent_hashent);
+       cache = XMALLOC (struct dirent_names);
        cache->names_len = 0;
        cache->names_max = 1024;
        cache->names = XNMALLOC (cache->names_max, char *);
@@ -179,7 +184,7 @@ static struct dirent_hashent *update_directory_cache (const char *path)
        qsort (cache->names, cache->names_len, sizeof *cache->names,
               &cache_compare);
 
-       hashtable_install (dirent_hash, path, strlen (path), cache);
+       gl_map_put (dirent_map, xstrdup (path), cache);
        closedir (dir);
 
        return cache;
@@ -197,34 +202,16 @@ static int pattern_compare (const void *a, const void *b)
        return strncasecmp (key->pattern, memb, key->len);
 }
 
-static void clear_glob (glob_t *pglob)
+static void match_in_directory (const char *path, const char *pattern,
+                               int opts, gl_list_t matched)
 {
-       /* look_for_file declares this static, so it's zero-initialised.
-        * globfree() can deal with checking it before freeing.
-        */
-       globfree (pglob);
-
-       pglob->gl_pathc = 0;
-       pglob->gl_pathv = NULL;
-       pglob->gl_offs = 0;
-}
-
-static void match_in_directory (const char *path, const char *pattern, int opts,
-                               glob_t *pglob, size_t *allocated)
-{
-       struct dirent_hashent *cache;
-       size_t my_allocated = 0;
+       struct dirent_names *cache;
        int flags;
        regex_t preg;
        struct pattern_bsearch pattern_start = { NULL, -1 };
        char **bsearched;
        size_t i;
 
-       if (!allocated)
-               allocated = &my_allocated;
-       if (!*allocated)
-               clear_glob (pglob);
-
        cache = update_directory_cache (path);
        if (!cache) {
                debug ("directory cache update failed\n");
@@ -233,12 +220,6 @@ static void match_in_directory (const char *path, const char *pattern, int opts,
 
        debug ("globbing pattern in %s: %s\n", path, pattern);
 
-       if (!*allocated) {
-               *allocated = 4;
-               pglob->gl_pathv = XNMALLOC (*allocated, char *);
-               pglob->gl_pathv[0] = NULL;
-       }
-
        if (opts & LFF_REGEX)
                flags = REG_EXTENDED | REG_NOSUB |
                        ((opts & LFF_MATCHCASE) ? 0 : REG_ICASE);
@@ -280,46 +261,25 @@ static void match_in_directory (const char *path, const char *pattern, int opts,
 
                debug ("matched: %s/%s\n", path, cache->names[i]);
 
-               if (pglob->gl_pathc >= *allocated) {
-                       *allocated *= 2;
-                       pglob->gl_pathv = xnrealloc (
-                               pglob->gl_pathv, *allocated, sizeof (char *));
-               }
-               pglob->gl_pathv[pglob->gl_pathc++] =
-                       xasprintf ("%s/%s", path, cache->names[i]);
+               gl_list_add_last (matched,
+                                 xasprintf ("%s/%s", path, cache->names[i]));
        }
 
        if (opts & LFF_REGEX)
                regfree (&preg);
        else
                free (pattern_start.pattern);
-
-       if (pglob->gl_pathc >= *allocated) {
-               *allocated *= 2;
-               pglob->gl_pathv = xnrealloc (pglob->gl_pathv,
-                                            *allocated, sizeof (char *));
-       }
-       pglob->gl_pathv[pglob->gl_pathc] = NULL;
-
-       return;
 }
 
-char **look_for_file (const char *hier, const char *sec,
-                     const char *unesc_name, int cat, int opts)
+gl_list_t look_for_file (const char *hier, const char *sec,
+                        const char *unesc_name, int cat, int opts)
 {
+       gl_list_t matched;
        char *pattern, *path = NULL;
-       static glob_t gbuf;
-       static int cleanup_installed = 0;
        static int layout = -1;
        char *name;
 
-       if (!cleanup_installed) {
-               /* appease valgrind */
-               push_cleanup ((cleanup_fun) globfree, &gbuf, 0);
-               cleanup_installed = 1;
-       }
-
-       clear_glob (&gbuf);
+       matched = new_string_list (GL_ARRAY_LIST, false);
 
        /* This routine only does a minimum amount of matching. It does not
           find cat files in the alternate cat directory. */
@@ -337,41 +297,39 @@ char **look_for_file (const char *hier, const char *sec,
        /* allow lookups like "3x foo" to match "../man3/foo.3x" */
 
        if (layout & LAYOUT_GNU) {
-               glob_t dirs;
-               size_t i;
-               size_t allocated = 0;
+               gl_list_t dirs;
+               const char *dir;
 
-               memset (&dirs, 0, sizeof (dirs));
+               dirs = new_string_list (GL_ARRAY_LIST, false);
                pattern = xasprintf ("%s\t*", cat ? "cat" : "man");
                *strrchr (pattern, '\t') = *sec;
-               match_in_directory (hier, pattern, LFF_MATCHCASE, &dirs, NULL);
+               match_in_directory (hier, pattern, LFF_MATCHCASE, dirs);
                free (pattern);
 
                pattern = make_pattern (name, sec, opts);
-               for (i = 0; i < dirs.gl_pathc; ++i) {
+               GL_LIST_FOREACH_START (dirs, dir) {
                        if (path)
                                *path = '\0';
-                       match_in_directory (dirs.gl_pathv[i], pattern, opts,
-                                           &gbuf, &allocated);
-               }
+                       match_in_directory (dir, pattern, opts, matched);
+               } GL_LIST_FOREACH_END (dirs);
                free (pattern);
-               globfree (&dirs);
+               gl_list_free (dirs);
        }
 
        /* Try HPUX style compressed man pages */
-       if ((layout & LAYOUT_HPUX) && gbuf.gl_pathc == 0) {
+       if ((layout & LAYOUT_HPUX) && gl_list_size (matched) == 0) {
                if (path)
                        *path = '\0';
                path = appendstr (path, hier, cat ? "/cat" : "/man",
                                  sec, ".Z", (void *) 0);
                pattern = make_pattern (name, sec, opts);
 
-               match_in_directory (path, pattern, opts, &gbuf, NULL);
+               match_in_directory (path, pattern, opts, matched);
                free (pattern);
        }
 
        /* Try man pages without the section extension --- IRIX man pages */
-       if ((layout & LAYOUT_IRIX) && gbuf.gl_pathc == 0) {
+       if ((layout & LAYOUT_IRIX) && gl_list_size (matched) == 0) {
                if (path)
                        *path = '\0';
                path = appendstr (path, hier, cat ? "/cat" : "/man", sec,
@@ -381,12 +339,12 @@ char **look_for_file (const char *hier, const char *sec,
                else
                        pattern = xasprintf ("%s.*", name);
 
-               match_in_directory (path, pattern, opts, &gbuf, NULL);
+               match_in_directory (path, pattern, opts, matched);
                free (pattern);
        }
 
        /* Try Solaris style man page directories */
-       if ((layout & LAYOUT_SOLARIS) && gbuf.gl_pathc == 0) {
+       if ((layout & LAYOUT_SOLARIS) && gl_list_size (matched) == 0) {
                if (path)
                        *path = '\0';
                /* TODO: This needs to be man/sec*, not just man/sec. */
@@ -394,12 +352,12 @@ char **look_for_file (const char *hier, const char *sec,
                                  (void *) 0);
                pattern = make_pattern (name, sec, opts);
 
-               match_in_directory (path, pattern, opts, &gbuf, NULL);
+               match_in_directory (path, pattern, opts, matched);
                free (pattern);
        }
 
        /* BSD cat pages take the extension .0 */
-       if ((layout & LAYOUT_BSD) && gbuf.gl_pathc == 0) {
+       if ((layout & LAYOUT_BSD) && gl_list_size (matched) == 0) {
                if (path)
                        *path = '\0';
                if (cat) {
@@ -412,40 +370,34 @@ char **look_for_file (const char *hier, const char *sec,
                        path = appendstr (path, hier, "/man", sec, (void *) 0);
                        pattern = make_pattern (name, sec, opts);
                }
-               match_in_directory (path, pattern, opts, &gbuf, NULL);
+               match_in_directory (path, pattern, opts, matched);
                free (pattern);
        }
 
        free (name);
        free (path);
 
-       if (gbuf.gl_pathc == 0)
-               return NULL;
-       else
-               return gbuf.gl_pathv;
+       return matched;
 }
 
-char **expand_path (const char *path)
+gl_list_t expand_path (const char *path)
 {
        int res = 0;
-       char **result = NULL;
+       gl_list_t result;
        glob_t globbuf;
-       size_t i;
+
+       result = new_string_list (GL_ARRAY_LIST, false);
 
        res = glob (path, GLOB_NOCHECK, NULL, &globbuf);
        /* if glob failed, return the given path */
-       if (res != 0) {
-               result = XNMALLOC (2, char *);
-               result[0] = xstrdup (path);
-               result[1] = NULL;
-               return result;
-       }
-
-       result = XNMALLOC (globbuf.gl_pathc + 1, char *);
-       for (i = 0; i < globbuf.gl_pathc; i++) {
-               result[i] = xstrdup (globbuf.gl_pathv[i]);
+       if (res != 0)
+               gl_list_add_last (result, xstrdup (path));
+       else {
+               size_t i;
+               for (i = 0; i < globbuf.gl_pathc; ++i)
+                       gl_list_add_last (result,
+                                         xstrdup (globbuf.gl_pathv[i]));
        }
-       result[globbuf.gl_pathc] = NULL;
 
        globfree (&globbuf);
 
index 1c81141..ea9ff00 100644 (file)
@@ -20,6 +20,8 @@
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include "gl_list.h"
+
 enum look_for_file_opts {
        LFF_MATCHCASE = 1,
        LFF_REGEX = 2,
@@ -27,8 +29,8 @@ enum look_for_file_opts {
 };
 
 /* globbing.c */
-extern char **look_for_file (const char *hier, const char *sec,
-                            const char *unesc_name, int cat, int opts);
+extern gl_list_t look_for_file (const char *hier, const char *sec,
+                               const char *unesc_name, int cat, int opts);
 
 /* Expand path with wildcards into list of all existing directories. */
-extern char **expand_path (const char *path);
+extern gl_list_t expand_path (const char *path);
index eb4070a..5f0878f 100644 (file)
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 
 #include "argp.h"
+#include "gl_list.h"
 #include "progname.h"
 
 #include "gettext.h"
 #include "manconfig.h"
 
 #include "error.h"
+#include "glcontainers.h"
 #include "globbing.h"
 #include "sandbox.h"
 
 man_sandbox *sandbox;  /* unused, but needed by libman */
 
 extern const char *extension;
-static int match_case = 0;
-static int regex_opt = 0;
-static int wildcard = 0;
+static bool match_case = false;
+static bool regex_opt = false;
+static bool wildcard = false;
 static char **remaining_args;
 
 const char *argp_program_version = "globbing " PACKAGE_VERSION;
@@ -70,22 +73,22 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
 {
        switch (key) {
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'e':
                        extension = arg;
                        return 0;
                case 'i':
-                       match_case = 0;
+                       match_case = false;
                        return 0;
                case 'I':
-                       match_case = 1;
+                       match_case = true;
                        return 0;
                case 'r':
-                       regex_opt = 1;
+                       regex_opt = true;
                        return 0;
                case 'w':
-                       wildcard = 1;
+                       wildcard = true;
                        return 0;
                case 'h':
                        argp_state_help (state, state->out_stream,
@@ -115,16 +118,18 @@ int main (int argc, char **argv)
                exit (FAIL);
 
        for (i = 0; i <= 1; i++) {
-               char **files;
+               gl_list_t files;
+               const char *file;
 
                files = look_for_file (remaining_args[0], remaining_args[1],
                                       remaining_args[2], i,
                                       (match_case ? LFF_MATCHCASE : 0) |
                                       (regex_opt ? LFF_REGEX : 0) |
                                       (wildcard ? LFF_WILDCARD : 0));
-               if (files)
-                       while (*files)
-                               printf ("%s\n", *files++);
+               GL_LIST_FOREACH_START (files, file)
+                       printf ("%s\n", file);
+               GL_LIST_FOREACH_END (files);
+               gl_list_free (files);
        }
        return 0;
 }
index c310aa0..4fb39fd 100644 (file)
@@ -26,6 +26,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -33,6 +34,8 @@
 #include <sys/stat.h>
 
 #include "argp.h"
+#include "error.h"
+#include "gl_list.h"
 #include "progname.h"
 
 #include "gettext.h"
@@ -42,7 +45,7 @@
 #include "manconfig.h"
 
 #include "cleanup.h"
-#include "error.h"
+#include "glcontainers.h"
 #include "pipeline.h"
 #include "sandbox.h"
 #include "security.h"
@@ -53,7 +56,8 @@
 int quiet = 1;
 man_sandbox *sandbox;
 
-static int parse_man = 0, parse_cat = 0, show_whatis = 0, show_filters = 0;
+static bool parse_man = false, parse_cat = false;
+static bool show_whatis = false, show_filters = false;
 static const char *encoding = NULL;
 static char **files;
 static int num_files;
@@ -80,19 +84,19 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
 {
        switch (key) {
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'm':
-                       parse_man = 1;
+                       parse_man = true;
                        return 0;
                case 'c':
-                       parse_cat = 1;
+                       parse_cat = true;
                        return 0;
                case 'w':
-                       show_whatis = 1;
+                       show_whatis = true;
                        return 0;
                case 'f':
-                       show_filters = 1;
+                       show_filters = true;
                        return 0;
                case 'E':
                        encoding = arg;
@@ -119,9 +123,9 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                                            "-m -c");
                        /* defaults: --man, --whatis */
                        if (!parse_man && !parse_cat)
-                               parse_man = 1;
+                               parse_man = true;
                        if (!show_whatis && !show_filters)
-                               show_whatis = 1;
+                               show_whatis = true;
                        return 0;
        }
        return ARGP_ERR_UNKNOWN;
@@ -148,7 +152,7 @@ int main (int argc, char **argv)
 {
        int type = 0;
        int i;
-       int some_failed = 0;
+       bool some_failed = false;
 
        set_program_name (argv[0]);
 
@@ -173,7 +177,7 @@ int main (int argc, char **argv)
        for (i = 0; i < num_files; ++i) {
                lexgrog lg;
                const char *file;
-               int found = 0;
+               bool found = false;
 
                lg.type = type;
 
@@ -205,13 +209,12 @@ int main (int argc, char **argv)
                }
 
                if (file && find_name (file, "-", &lg, encoding)) {
-                       struct page_description *descs =
-                               parse_descriptions (NULL, lg.whatis);
+                       gl_list_t descs = parse_descriptions (NULL, lg.whatis);
                        const struct page_description *desc;
-                       for (desc = descs; desc; desc = desc->next) {
+                       GL_LIST_FOREACH_START (descs, desc) {
                                if (!desc->name || !desc->whatis)
                                        continue;
-                               found = 1;
+                               found = true;
                                printf ("%s", files[i]);
                                if (show_filters)
                                        printf (" (%s)", lg.filters);
@@ -219,18 +222,20 @@ int main (int argc, char **argv)
                                        printf (": \"%s - %s\"",
                                                desc->name, desc->whatis);
                                printf ("\n");
-                       }
-                       free_descriptions (descs);
+                       } GL_LIST_FOREACH_END (descs);
+                       gl_list_free (descs);
                        free (lg.filters);
                        free (lg.whatis);
                }
 
                if (!found) {
                        printf ("%s: parse failed\n", files[i]);
-                       some_failed = 1;
+                       some_failed = true;
                }
        }
 
+       sandbox_free (sandbox);
+
        if (some_failed)
                return FATAL;
        else
index a144596..78c8968 100644 (file)
--- a/src/man.c
+++ b/src/man.c
@@ -40,6 +40,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <errno.h>
 #include <termios.h>
 #include <unistd.h>
-
-#ifndef R_OK
-#  define R_OK         4
-#  define X_OK         1
-#endif /* !R_OK */
-
 #include <limits.h>
-
-#if HAVE_FCNTL_H
-#  include <fcntl.h>
-#endif
-
+#include <fcntl.h>
 #include <ctype.h>
 #include <signal.h>
 #include <time.h>
 
 #include "argp.h"
 #include "dirname.h"
+#include "gl_array_list.h"
+#include "gl_hash_map.h"
+#include "gl_list.h"
+#include "gl_xlist.h"
+#include "gl_xmap.h"
 #include "minmax.h"
 #include "progname.h"
 #include "regex.h"
 #include "stat-time.h"
 #include "utimens.h"
-#include "xvasprintf.h"
 #include "xgetcwd.h"
+#include "xvasprintf.h"
+#include "xstdopen.h"
 
 #include "gettext.h"
 #include <locale.h>
@@ -85,7 +82,7 @@
 
 #include "error.h"
 #include "cleanup.h"
-#include "hashtable.h"
+#include "glcontainers.h"
 #include "pipeline.h"
 #include "pathsearch.h"
 #include "linelength.h"
@@ -137,7 +134,7 @@ char *lang;
 #define TFMT_PROG "mandb_tfmt"
 #undef ALT_EXT_FORMAT  /* allow external formatters located in cat hierarchy */
 
-static int global_manpath = -1;        /* global or user manual page hierarchy? */
+static bool global_manpath;    /* global or user manual page hierarchy? */
 static int skip;               /* page exists but has been skipped */
 
 #if defined _AIX || defined __sgi
@@ -175,27 +172,20 @@ enum opts {
        OPT_MAX
 };
 
-struct string_llist;
-struct string_llist {
-       const char *name;
-       struct string_llist *next;
-};
-
-
-static char *manpathlist[MAXDIRS];
+static gl_list_t manpathlist;
 
 /* globals */
 int quiet = 1;
 char *database = NULL;
 extern const char *extension; /* for globbing.c */
 extern char *user_config_file; /* defined in manp.c */
-extern int disable_cache;
+extern bool disable_cache;
 extern int min_cat_width, max_cat_width, cat_width;
 man_sandbox *sandbox;
 
 /* locals */
 static const char *alt_system_name;
-static const char **section_list;              
+static gl_list_t section_list;         
 static const char *section;
 static char *colon_sep_section_list;
 static const char *preprocessors;
@@ -207,33 +197,33 @@ static char *less;
 static const char *std_sections[] = STD_SECTIONS;
 static char *manp;
 static const char *external;
-static struct hashtable *db_hash = NULL;
+static gl_map_t db_map = NULL;
 
-static int troff;
+static bool troff;
 static const char *roff_device = NULL;
 static const char *want_encoding = NULL;
 #ifdef NROFF_WARNINGS
 static const char default_roff_warnings[] = "mac";
-static struct string_llist *roff_warnings = NULL;
+static gl_list_t roff_warnings;
 #endif /* NROFF_WARNINGS */
-static int global_apropos;
-static int print_where, print_where_cat;
-static int catman;
-static int local_man_file;
-static int findall;
-static int update;
-static int match_case;
-static int regex_opt;
-static int wildcard;
-static int names_only;
+static bool global_apropos;
+static bool print_where, print_where_cat;
+static bool catman;
+static bool local_man_file;
+static bool findall;
+static bool update;
+static bool match_case;
+static bool regex_opt;
+static bool wildcard;
+static bool names_only;
 static int ult_flags = SO_LINK | SOFT_LINK | HARD_LINK;
 static const char *recode = NULL;
-static int no_hyphenation;
-static int no_justification;
-static int subpages = 1;
+static bool no_hyphenation;
+static bool no_justification;
+static bool subpages = true;
 
-static int ascii;              /* insert tr in the output pipe */
-static int save_cat;           /* security breach? Can we save the cat? */
+static bool ascii;             /* insert tr in the output pipe */
+static bool save_cat;          /* security breach? Can we save the cat? */
 
 static int first_arg;
 
@@ -248,9 +238,9 @@ static struct timespec man_modtime; /* modtime of man page, for
                                         * commit_tmp_cat() */
 
 # ifdef TROFF_IS_GROFF
-static int ditroff;
+static bool ditroff;
 static const char *gxditview;
-static int htmlout;
+static bool htmlout;
 static const char *html_pager;
 # endif /* TROFF_IS_GROFF */
 
@@ -352,7 +342,7 @@ static void init_html_pager (void)
 
 static error_t parse_opt (int key, char *arg, struct argp_state *state)
 {
-       static int apropos, whatis; /* retain values between calls */
+       static bool apropos, whatis; /* retain values between calls */
 
        /* Please keep these keys in the same order as in options above. */
        switch (key) {
@@ -360,7 +350,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                        user_config_file = arg;
                        return 0;
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'D':
                        /* discard all preset options */
@@ -369,11 +359,11 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                                print_where = print_where_cat =
                                ascii = match_case =
                                regex_opt = wildcard = names_only =
-                               no_hyphenation = no_justification = 0;
+                               no_hyphenation = no_justification = false;
 #ifdef TROFF_IS_GROFF
-                       ditroff = 0;
+                       ditroff = false;
                        gxditview = NULL;
-                       htmlout = 0;
+                       htmlout = false;
                        init_html_pager ();
 #endif
                        roff_device = want_encoding = extension = pager =
@@ -390,13 +380,9 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                                const char *warning;
 
                                for (warning = strtok (s, ","); warning;
-                                    warning = strtok (NULL, ",")) {
-                                       struct string_llist *new;
-                                       new = xmalloc (sizeof *new);
-                                       new->name = xstrdup (warning);
-                                       new->next = roff_warnings;
-                                       roff_warnings = new;
-                               }
+                                    warning = strtok (NULL, ","))
+                                       gl_list_add_last (roff_warnings,
+                                                         xstrdup (warning));
 
                                free (s);
                        }
@@ -405,26 +391,26 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
 
                case 'f':
                        external = WHATIS;
-                       whatis = 1;
+                       whatis = true;
                        return 0;
                case 'k':
                        external = APROPOS;
-                       apropos = 1;
+                       apropos = true;
                        return 0;
                case 'K':
-                       global_apropos = 1;
+                       global_apropos = true;
                        return 0;
                case 'w':
-                       print_where = 1;
+                       print_where = true;
                        return 0;
                case 'W':
-                       print_where_cat = 1;
+                       print_where_cat = true;
                        return 0;
                case 'l':
-                       local_man_file = 1;
+                       local_man_file = true;
                        return 0;
                case 'c':
-                       catman = 1;
+                       catman = true;
                        return 0;
                case 'R':
                        recode = arg;
@@ -449,30 +435,30 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                        extension = arg;
                        return 0;
                case 'i':
-                       match_case = 0;
+                       match_case = false;
                        return 0;
                case 'I':
-                       match_case = 1;
+                       match_case = true;
                        return 0;
                case OPT_REGEX:
-                       regex_opt = 1;
-                       findall = 1;
+                       regex_opt = true;
+                       findall = true;
                        return 0;
                case OPT_WILDCARD:
-                       wildcard = 1;
-                       findall = 1;
+                       wildcard = true;
+                       findall = true;
                        return 0;
                case OPT_NAMES:
-                       names_only = 1;
+                       names_only = true;
                        return 0;
                case 'a':
-                       findall = 1;
+                       findall = true;
                        return 0;
                case 'u':
-                       update = 1;
+                       update = true;
                        return 0;
                case OPT_NO_SUBPAGES:
-                       subpages = 0;
+                       subpages = false;
                        return 0;
 
                case 'P':
@@ -482,7 +468,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                        prompt_string = arg;
                        return 0;
                case '7':
-                       ascii = 1;
+                       ascii = true;
                        return 0;
                case 'E':
                        want_encoding = arg;
@@ -490,17 +476,17 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                                roff_device = want_encoding;
                        return 0;
                case OPT_NO_HYPHENATION:
-                       no_hyphenation = 1;
+                       no_hyphenation = true;
                        return 0;
                case OPT_NO_JUSTIFICATION:
-                       no_justification = 1;
+                       no_justification = true;
                        return 0;
                case 'p':
                        preprocessors = arg;
                        return 0;
 #ifdef HAS_TROFF
                case 't':
-                       troff = 1;
+                       troff = true;
                        return 0;
                case 'T':
                        /* Traditional nroff knows -T; troff does not (gets
@@ -508,27 +494,27 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                         * does -T imply -t?
                         */
                        roff_device = (arg ? arg : "ps");
-                       troff = 1;
+                       troff = true;
                        return 0;
                case 'H':
 # ifdef TROFF_IS_GROFF
                        if (arg)
                                html_pager = arg;
-                       htmlout = 1;
-                       troff = 1;
+                       htmlout = true;
+                       troff = true;
                        roff_device = "html";
 # endif /* TROFF_IS_GROFF */
                        return 0;
                case 'X':
 # ifdef TROFF_IS_GROFF
-                       troff = 1;
+                       troff = true;
                        gxditview = (arg ? arg : "75");
 # endif /* TROFF_IS_GROFF */
                        return 0;
                case 'Z':
 # ifdef TROFF_IS_GROFF
-                       ditroff = 1;
-                       troff = 1;
+                       ditroff = true;
+                       troff = true;
 # endif /* TROFF_IS_GROFF */
                        return 0;
 #endif /* HAS_TROFF */
@@ -539,8 +525,9 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                        break;
                case ARGP_KEY_SUCCESS:
                        /* check for incompatible options */
-                       if (troff + whatis + apropos + catman +
-                           (print_where || print_where_cat) > 1) {
+                       if ((int) troff + (int) whatis + (int) apropos +
+                           (int) catman +
+                           (int) (print_where || print_where_cat) > 1) {
                                char *badopts = xasprintf
                                        ("%s%s%s%s%s%s",
                                         troff ? "-[tTZH] " : "",
@@ -553,7 +540,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                                            _("%s: incompatible options"),
                                            badopts);
                        }
-                       if (regex_opt + wildcard > 1) {
+                       if ((int) regex_opt + (int) wildcard > 1) {
                                char *badopts = xasprintf
                                        ("%s%s",
                                         regex_opt ? "--regex " : "",
@@ -618,48 +605,6 @@ static void gripe_no_name (const char *sect)
        exit (FAIL);
 }
 
-/* In case we're set-id, double-check that our standard file descriptors are
- * open in a standard way.  See:
- *
- *   http://austingroupbugs.net/view.php?id=173
- */
-static void check_standard_fds (void)
-{
-       int flags, mode;
-
-       /* We can't even write an error message in this case, so check it
-        * first.
-        */
-       flags = fcntl (2, F_GETFL);
-       if (flags < 0)
-               exit (FATAL);
-       mode = flags & O_ACCMODE;
-       if (mode != O_WRONLY && mode != O_RDWR)
-               exit (FATAL);
-
-       flags = fcntl (0, F_GETFL);
-       if (flags < 0) {
-               fprintf (stderr, "stdin not open!\n");
-               exit (FATAL);
-       }
-       mode = flags & O_ACCMODE;
-       if (mode != O_RDONLY && mode != O_RDWR) {
-               fprintf (stderr, "stdin not open for reading!\n");
-               exit (FATAL);
-       }
-
-       flags = fcntl (1, F_GETFL);
-       if (flags < 0) {
-               fprintf (stderr, "stdout not open!\n");
-               exit (FATAL);
-       }
-       mode = flags & O_ACCMODE;
-       if (mode != O_WRONLY && mode != O_RDWR) {
-               fprintf (stderr, "stdout not open for writing!\n");
-               exit (FATAL);
-       }
-}
-
 static struct termios tms;
 static int tms_set = 0;
 static pid_t tms_pid = 0;
@@ -716,7 +661,7 @@ static void heirloom_line_length (void *data)
 }
 #endif /* HEIRLOOM_NROFF */
 
-static pipecmd *add_roff_line_length (pipecmd *cmd, int *save_cat_p)
+static pipecmd *add_roff_line_length (pipecmd *cmd, bool *save_cat_p)
 {
        int length;
        pipecmd *ret = NULL;
@@ -733,7 +678,7 @@ static pipecmd *add_roff_line_length (pipecmd *cmd, int *save_cat_p)
                        debug ("Terminal width %d not within cat page range "
                               "[%d, %d]\n",
                               line_length, min_cat_width, max_cat_width);
-                       *save_cat_p = 0;
+                       *save_cat_p = false;
                }
        }
 
@@ -976,17 +921,17 @@ static char *locale_manpath (const char *manpath)
  */
 static const char *is_section (const char *name)
 {
-       const char **vs;
+       const char *vs;
 
-       for (vs = section_list; *vs; vs++) {
-               if (STREQ (*vs, name))
+       GL_LIST_FOREACH_START (section_list, vs) {
+               if (STREQ (vs, name))
                        return name;
                /* allow e.g. 3perl but disallow 8139too and libfoo */
-               if (strlen (*vs) == 1 && CTYPE (isdigit, **vs) &&
+               if (strlen (vs) == 1 && CTYPE (isdigit, *vs) &&
                    strlen (name) > 1 && !CTYPE (isdigit, name[1]) &&
-                   STRNEQ (*vs, name, 1))
+                   STRNEQ (vs, name, 1))
                        return name;
-       }
+       } GL_LIST_FOREACH_END (section_list);
        return NULL;
 }
 
@@ -1067,27 +1012,27 @@ static char *get_preprocessors (pipeline *decomp, const char *dbfilters,
        if (dbfilters && (dbfilters[0] != '-') && !preprocessors) {
                pp_string = xstrdup (dbfilters);
                pp_source = "database";
-               save_cat = 1;
+               save_cat = true;
        } else if (preprocessors) {
                pp_string = xstrdup (preprocessors);
                pp_source = "command line";
-               save_cat = 0;
+               save_cat = false;
        } else if ((pp_string = get_preprocessors_from_file (decomp,
                                                             prefixes))) {
                pp_source = "file";
-               save_cat = 1;
+               save_cat = true;
        } else if ((env = getenv ("MANROFFSEQ"))) {
                pp_string = xstrdup (env);
                pp_source = "environment";
-               save_cat = 0;
+               save_cat = false;
        } else if (!dbfilters) {
                pp_string = xstrdup (DEFAULT_MANROFFSEQ);
                pp_source = "default";
-               save_cat = 1;
+               save_cat = true;
        } else {
                pp_string = xstrdup ("");
                pp_source = "no filters";
-               save_cat = 1;
+               save_cat = true;
        }
 
        debug ("pre-processors `%s' from %s\n", pp_string, pp_source);
@@ -1311,7 +1256,7 @@ static pipeline *make_roff_command (const char *dir, const char *file,
 
                do {
 #ifdef NROFF_WARNINGS
-                       struct string_llist *cur;
+                       const char *warning;
 #endif /* NROFF_WARNINGS */
                        int wants_dev = 0; /* filter wants a dev argument */
                        int wants_post = 0; /* postprocessor arguments */
@@ -1359,7 +1304,7 @@ static pipeline *make_roff_command (const char *dir, const char *file,
                                if (troff) {
                                        cmd = pipecmd_new_argstr
                                                (get_def ("troff", TROFF));
-                                       save_cat = 0;
+                                       save_cat = false;
                                } else
                                        cmd = pipecmd_new_argstr
                                                (get_def ("nroff", NROFF));
@@ -1379,9 +1324,9 @@ static pipeline *make_roff_command (const char *dir, const char *file,
 #endif /* TROFF_IS_GROFF || HEIRLOOM_NROFF */
 
 #ifdef NROFF_WARNINGS
-                               for (cur = roff_warnings; cur;
-                                    cur = cur->next)
-                                       pipecmd_argf (cmd, "-w%s", cur->name);
+                               GL_LIST_FOREACH_START (roff_warnings, warning)
+                                       pipecmd_argf (cmd, "-w%s", warning);
+                               GL_LIST_FOREACH_END (roff_warnings);
 #endif /* NROFF_WARNINGS */
 
 #ifdef HEIRLOOM_NROFF
@@ -1478,7 +1423,7 @@ static pipeline *make_browser (const char *pattern, const char *file)
        pipeline *p;
        pipecmd *cmd;
        char *browser = xmalloc (1);
-       int found_percent_s = 0;
+       bool found_percent_s = false;
        char *percent;
        char *esc_file;
 
@@ -1502,7 +1447,7 @@ static pipeline *make_browser (const char *pattern, const char *file)
                                browser = appendstr (browser, esc_file,
                                                     (void *) 0);
                                free (esc_file);
-                               found_percent_s = 1;
+                               found_percent_s = true;
                                break;
                        default:
                                len = strlen (browser); /* cannot be NULL */
@@ -2204,7 +2149,7 @@ static int display (const char *dir, const char *man_file,
        int prefixes = 0;
        pipeline *format_cmd;   /* command to format man_file to stdout */
        char *formatted_encoding = NULL;
-       int display_to_stdout;
+       bool display_to_stdout;
        pipeline *decomp = NULL;
        int decomp_errno = 0;
 
@@ -2308,10 +2253,10 @@ static int display (const char *dir, const char *man_file,
        display_to_stdout = troff;
 #ifdef TROFF_IS_GROFF
        if (htmlout)
-               display_to_stdout = 0;
+               display_to_stdout = false;
 #endif
        if (recode)
-               display_to_stdout = 1;
+               display_to_stdout = true;
 
        if (display_to_stdout) {
                /* If we're reading stdin via '-l -', man_file is "". See
@@ -2367,7 +2312,7 @@ static int display (const char *dir, const char *man_file,
                    || local_man_file
                    || recode
                    || disable_cache)
-                       save_cat = 0;
+                       save_cat = false;
 
                if (!man_file) {
                        /* Stray cat. */
@@ -2375,7 +2320,7 @@ static int display (const char *dir, const char *man_file,
                        format = 0;
                } else if (!cat_file) {
                        assert (man_file);
-                       save_cat = 0;
+                       save_cat = false;
                        format = 1;
                } else if (format && save_cat) {
                        char *cat_dir;
@@ -2419,7 +2364,7 @@ static int display (const char *dir, const char *man_file,
                                (format ? man_file : cat_file, R_OK);
 
                debug ("format: %d, save_cat: %d, found: %d\n",
-                      format, save_cat, found);
+                      format, (int) save_cat, found);
 
                if (!found) {
                        pipeline_free (format_cmd);
@@ -2692,25 +2637,25 @@ static int get_ult_flags (char from_db, char id)
 }
 
 /* Is this candidate substantially a duplicate of a previous one?
- * Returns non-zero if so, otherwise zero.
+ * Returns true if so, otherwise false.
  */
-static int duplicate_candidates (struct candidate *left,
-                                struct candidate *right)
+static bool duplicate_candidates (struct candidate *left,
+                                 struct candidate *right)
 {
        const char *slash1, *slash2;
        struct locale_bits bits1, bits2;
-       int ret;
+       bool ret;
 
        if (left->ult && right->ult && STREQ (left->ult, right->ult))
-               return 1; /* same ultimate source file */
+               return true; /* same ultimate source file */
 
        if (!STREQ (left->source->name, right->source->name) ||
            !STREQ (left->source->sec, right->source->sec) ||
            !STREQ (left->source->ext, right->source->ext))
-               return 0; /* different name/section/extension */
+               return false; /* different name/section/extension */
 
        if (STREQ (left->path, right->path))
-               return 1; /* same path */
+               return true; /* same path */
 
        /* Figure out if we've had a sufficiently similar candidate for this
         * language already.
@@ -2720,7 +2665,7 @@ static int duplicate_candidates (struct candidate *left,
        if (!slash1 || !slash2 ||
            !STRNEQ (left->path, right->path,
                     MAX (slash1 - left->path, slash2 - right->path)))
-               return 0; /* different path base */
+               return false; /* different path base */
 
        unpack_locale_bits (++slash1, &bits1);
        unpack_locale_bits (++slash2, &bits2);
@@ -2728,12 +2673,12 @@ static int duplicate_candidates (struct candidate *left,
        if (!STREQ (bits1.language, bits2.language) ||
            !STREQ (bits1.territory, bits2.territory) ||
            !STREQ (bits1.modifier, bits2.modifier))
-               ret = 0; /* different language/territory/modifier */
+               ret = false; /* different language/territory/modifier */
        else
                /* Everything seems to be the same; we can find nothing to
                 * choose between them.
                 */
-               ret = 1;
+               ret = true;
 
        free_locale_bits (&bits1);
        free_locale_bits (&bits2);
@@ -2744,7 +2689,6 @@ static int compare_candidates (const struct candidate *left,
                               const struct candidate *right)
 {
        const struct mandata *lsource = left->source, *rsource = right->source;
-       int sec_left = 0, sec_right = 0;
        int cmp;
        const char *slash1, *slash2;
 
@@ -2771,7 +2715,7 @@ static int compare_candidates (const struct candidate *left,
         * moved out of order with respect to their parent sections.
         */
        if (strcmp (lsource->ext, rsource->ext)) {
-               const char **sp;
+               size_t index_left, index_right;
 
                /* If the user asked for an explicit section, sort exact
                 * matches first.
@@ -2787,24 +2731,30 @@ static int compare_candidates (const struct candidate *left,
                }
 
                /* Find out whether lsource->ext is ahead of rsource->ext in
-                * section_list.
+                * section_list.  Sections missing from section_list are
+                * sorted to the end.
                 */
-               for (sp = section_list; *sp; ++sp) {
-                       if (!*(*sp + 1)) {
-                               /* No extension */
-                               if (!sec_left  && **sp == *(lsource->ext))
-                                       sec_left  = sp - section_list + 1;
-                               if (!sec_right && **sp == *(rsource->ext))
-                                       sec_right = sp - section_list + 1;
-                       } else if (STREQ (*sp, lsource->ext)) {
-                               sec_left  = sp - section_list + 1;
-                       } else if (STREQ (*sp, rsource->ext)) {
-                               sec_right = sp - section_list + 1;
-                       }
-                       /* Keep looking for a more specific match */
+               index_left = gl_list_indexof (section_list, lsource->ext);
+               if (index_left == (size_t) -1 && strlen (lsource->ext) > 1) {
+                       char *sec_left = xstrndup (lsource->ext, 1);
+                       index_left = gl_list_indexof (section_list, sec_left);
+                       free (sec_left);
+                       if (index_left == (size_t) -1)
+                               index_left = gl_list_size (section_list);
+               }
+               index_right = gl_list_indexof (section_list, rsource->ext);
+               if (index_right == (size_t) -1 && strlen (rsource->ext) > 1) {
+                       char *sec_right = xstrndup (rsource->ext, 1);
+                       index_right = gl_list_indexof (section_list,
+                                                      sec_right);
+                       free (sec_right);
+                       if (index_right == (size_t) -1)
+                               index_right = gl_list_size (section_list);
                }
-               if (sec_left != sec_right)
-                       return sec_left - sec_right;
+               if (index_left < index_right)
+                       return -1;
+               else if (index_left > index_right)
+                       return 1;
 
                cmp = strcmp (lsource->sec, rsource->sec);
                if (cmp)
@@ -3086,8 +3036,8 @@ static int try_section (const char *path, const char *sec, const char *name,
                        struct candidate **cand_head)
 {
        int found = 0;
-       char **names = NULL, **np;
-       size_t names_len = 0;
+       gl_list_t names = NULL;
+       const char *found_name;
        char cat = 0;
        int lff_opts = (match_case ? LFF_MATCHCASE : 0) |
                       (regex_opt ? LFF_REGEX : 0) |
@@ -3101,7 +3051,7 @@ static int try_section (const char *path, const char *sec, const char *name,
         */
 
        names = look_for_file (path, sec, name, 0, lff_opts);
-       if (!names)
+       if (!gl_list_size (names))
                /*
                 * No files match.  
                 * See if there's a preformatted page around that
@@ -3113,18 +3063,17 @@ static int try_section (const char *path, const char *sec, const char *name,
                        return 1;
 
                if (!troff && !want_encoding && !recode) {
+                       gl_list_free (names);
                        names = look_for_file (path, sec, name, 1, lff_opts);
                        cat = 1;
                }
        }
 
-       for (np = names; np && *np; np++)
-               ++names_len;
-       order_files (path, names, names_len);
+       order_files (path, &names);
 
-       for (np = names; np && *np; np++) {
+       GL_LIST_FOREACH_START (names, found_name) {
                struct mandata *info = infoalloc ();
-               char *info_buffer = filename_info (*np, info, name);
+               char *info_buffer = filename_info (found_name, info, name);
                const char *ult;
                int f;
 
@@ -3138,16 +3087,16 @@ static int try_section (const char *path, const char *sec, const char *name,
                 * must be either ULT_MAN or SO_MAN. ult_src() can tell us
                 * which.
                 */
-               ult = ult_src (*np, path, NULL, ult_flags, NULL);
+               ult = ult_src (found_name, path, NULL, ult_flags, NULL);
                if (!ult) {
                        /* already warned */
-                       debug ("try_section(): bad link %s\n", *np);
+                       debug ("try_section(): bad link %s\n", found_name);
                        free (info_buffer);
                        info->addr = NULL;
                        free_mandata_struct (info);
                        continue;
                }
-               if (STREQ (ult, *np))
+               if (STREQ (ult, found_name))
                        info->id = ULT_MAN;
                else
                        info->id = SO_MAN;
@@ -3164,8 +3113,9 @@ static int try_section (const char *path, const char *sec, const char *name,
                        free_mandata_struct (info);
                }
                /* Don't free info and info_buffer here. */
-       }
+       } GL_LIST_FOREACH_END (names);
 
+       gl_list_free (names);
        return found;
 }
 
@@ -3355,11 +3305,6 @@ static int display_database_check (struct candidate *candp)
        return exists;
 }
 
-static void db_hashtable_free (void *defn)
-{
-       free_mandata_struct (defn);
-}
-
 #ifdef MAN_DB_UPDATES
 static int maybe_update_file (const char *manpath, const char *name,
                              struct mandata *info)
@@ -3418,16 +3363,26 @@ static int maybe_update_file (const char *manpath, const char *name,
 #define TRY_DATABASE_UPDATED      -3
 #endif /* MAN_DB_UPDATES */
 
+static void db_map_value_free (const void *value)
+{
+       /* The value may be NULL to indicate that opening the database at
+        * this location already failed.
+        */
+       if (value)
+               gl_list_free ((gl_list_t) value);
+}
+
 /* Look for a page in the database. If db not accessible, return -1,
    otherwise return number of pages found. */
 static int try_db (const char *manpath, const char *sec, const char *name,
                   struct candidate **cand_head)
 {
-       struct mandata *loc, *data;
+       gl_list_t matches;
+       struct mandata *loc;
        char *catpath;
        int found = 0;
 #ifdef MAN_DB_UPDATES
-       int found_stale = 0;
+       bool found_stale = false;
 #endif /* MAN_DB_UPDATES */
 
        /* find out where our db for this manpath should be */
@@ -3440,13 +3395,11 @@ static int try_db (const char *manpath, const char *sec, const char *name,
        } else
                database = mkdbname (manpath);
 
-       if (!db_hash)
-               db_hash = hashtable_create (&db_hashtable_free);
+       if (!db_map)
+               db_map = new_string_map (GL_HASH_MAP, db_map_value_free);
 
-       /* Have we looked here already? */
-       data = hashtable_lookup (db_hash, manpath, strlen (manpath));
-
-       if (!data) {
+       /* If we haven't looked here already, do so now. */
+       if (!gl_map_search (db_map, manpath, (const void **) &matches)) {
                MYDBM_FILE dbf;
 
                dbf = MYDBM_RDOPEN (database);
@@ -3460,14 +3413,13 @@ static int try_db (const char *manpath, const char *sec, const char *name,
                        /* if section is set, only return those that match,
                           otherwise NULL retrieves all available */
                        if (regex_opt || wildcard)
-                               data = dblookup_pattern
+                               matches = dblookup_pattern
                                        (dbf, name, section, match_case,
                                         regex_opt, !names_only);
                        else
-                               data = dblookup_all (dbf, name, section,
-                                                    match_case);
-                       hashtable_install (db_hash, manpath, strlen (manpath),
-                                          data);
+                               matches = dblookup_all (dbf, name, section,
+                                                       match_case);
+                       gl_map_put (db_map, xstrdup (manpath), matches);
                        MYDBM_CLOSE (dbf);
                        dbf = NULL;
 #ifdef MAN_DB_CREATES
@@ -3475,60 +3427,50 @@ static int try_db (const char *manpath, const char *sec, const char *name,
                        /* create one */
                        debug ("Failed to open %s O_RDONLY\n", database);
                        if (run_mandb (1, manpath, NULL)) {
-                               data = infoalloc ();
-                               data->next = NULL;
-                               data->addr = NULL;
-                               hashtable_install (db_hash,
-                                                  manpath, strlen (manpath),
-                                                  data);
+                               gl_map_put (db_map, xstrdup (manpath), NULL);
                                return TRY_DATABASE_OPEN_FAILED;
                        }
                        return TRY_DATABASE_CREATED;
 #endif /* MAN_DB_CREATES */
                } else {
                        debug ("Failed to open %s O_RDONLY\n", database);
-                       data = infoalloc ();
-                       data->next = (struct mandata *) NULL;
-                       data->addr = NULL;
-                       hashtable_install (db_hash, manpath, strlen (manpath),
-                                          data);
+                       gl_map_put (db_map, xstrdup (manpath), NULL);
                        return TRY_DATABASE_OPEN_FAILED;
                }
+               assert (matches != NULL);
        }
 
-       /* if we already know that there is nothing here, get on with it */
-       if (!data)
-               return 0;
-
-       /* We already tried (and failed) to open this db before */
-       if (!data->addr)
+       /* We already tried (and failed) to open this db before. */
+       if (!matches)
                return TRY_DATABASE_OPEN_FAILED;
 
 #ifdef MAN_DB_UPDATES
        /* Check that all the entries found are up to date. If not, the
         * caller should try again.
         */
-       for (loc = data; loc; loc = loc->next)
+       GL_LIST_FOREACH_START (matches, loc)
                if (STREQ (sec, loc->sec) &&
                    (!extension || STREQ (extension, loc->ext)
                                || STREQ (extension, loc->ext + strlen (sec))))
                        if (maybe_update_file (manpath, name, loc))
-                               found_stale = 1;
+                               found_stale = true;
+       GL_LIST_FOREACH_END (matches);
 
        if (found_stale) {
-               hashtable_remove (db_hash, manpath, strlen (manpath));
+               gl_map_remove (db_map, manpath);
                return TRY_DATABASE_UPDATED;
        }
 #endif /* MAN_DB_UPDATES */
 
        /* cycle through the mandata structures (there's usually only 
           1 or 2) and see what we have w.r.t. the current section */
-       for (loc = data; loc; loc = loc->next)
+       GL_LIST_FOREACH_START (matches, loc)
                if (STREQ (sec, loc->sec) &&
                    (!extension || STREQ (extension, loc->ext)
                                || STREQ (extension, loc->ext + strlen (sec))))
                        found += add_candidate (cand_head, CANDIDATE_DATABASE,
                                                0, name, manpath, NULL, loc);
+       GL_LIST_FOREACH_END (matches);
 
        return found;
 }
@@ -3673,8 +3615,8 @@ static int do_global_apropos_section (const char *path, const char *sec,
                                      const char *name)
 {
        int found = 0;
-       char **names, **np;
-       size_t names_len = 0;
+       gl_list_t names;
+       const char *found_name;
        regex_t search;
 
        global_manpath = is_global_mandir (path);
@@ -3684,6 +3626,7 @@ static int do_global_apropos_section (const char *path, const char *sec,
        debug ("searching in %s, section %s\n", path, sec);
 
        names = look_for_file (path, sec, "*", 0, LFF_WILDCARD);
+
        if (regex_opt)
                xregcomp (&search, name,
                          REG_EXTENDED | REG_NOSUB |
@@ -3691,33 +3634,31 @@ static int do_global_apropos_section (const char *path, const char *sec,
        else
                memset (&search, 0, sizeof search);
 
-       for (np = names; np && *np; ++np)
-               ++names_len;
-       order_files (path, names, names_len);
+       order_files (path, &names);
 
-       for (np = names; np && *np; ++np) {
+       GL_LIST_FOREACH_START (names, found_name) {
                struct mandata *info;
                char *info_buffer;
                char *title = NULL;
                const char *man_file;
                char *cat_file = NULL;
 
-               if (!grep (*np, name, &search))
+               if (!grep (found_name, name, &search))
                        continue;
 
                info = infoalloc ();
-               info_buffer = filename_info (*np, info, NULL);
+               info_buffer = filename_info (found_name, info, NULL);
                if (!info_buffer)
                        goto next;
                info->addr = info_buffer;
 
                title = xasprintf ("%s(%s)", strchr (info_buffer, '\0') + 1,
                                   info->ext);
-               man_file = ult_src (*np, path, NULL, ult_flags, NULL);
+               man_file = ult_src (found_name, path, NULL, ult_flags, NULL);
                if (!man_file)
                        goto next;
                lang = lang_dir (man_file);
-               cat_file = find_cat_file (path, *np, man_file);
+               cat_file = find_cat_file (path, found_name, man_file);
                if (display (path, man_file, cat_file, title, NULL))
                        found = 1;
                free (lang);
@@ -3727,7 +3668,9 @@ next:
                free (cat_file);
                free (title);
                free_mandata_struct (info);
-       }
+       } GL_LIST_FOREACH_END (names);
+
+       gl_list_free (names);
 
        if (regex_opt)
                regfree (&search);
@@ -3740,23 +3683,26 @@ next:
 
 static int do_global_apropos (const char *name, int *found)
 {
-       const char **my_section_list;
-       const char **sp;
-       char **mp;
+       gl_list_t my_section_list;
+       const char *sec;
 
        if (section) {
-               my_section_list = XNMALLOC (2, const char *);
-               my_section_list[0] = section;
-               my_section_list[1] = NULL;
+               my_section_list = gl_list_create_empty (GL_ARRAY_LIST, NULL,
+                                                       NULL, NULL, false);
+               gl_list_add_last (my_section_list, section);
        } else
                my_section_list = section_list;
 
-       for (sp = my_section_list; *sp; sp++)
-               for (mp = manpathlist; *mp; mp++)
-                       *found += do_global_apropos_section (*mp, *sp, name);
+       GL_LIST_FOREACH_START (my_section_list, sec) {
+               char *mp;
+
+               GL_LIST_FOREACH_START (manpathlist, mp)
+                       *found += do_global_apropos_section (mp, sec, name);
+               GL_LIST_FOREACH_END (manpathlist);
+       } GL_LIST_FOREACH_END (my_section_list);
 
        if (section)
-               free (my_section_list);
+               gl_list_free (my_section_list);
 
        return *found ? OK : NOT_FOUND;
 }
@@ -3768,10 +3714,10 @@ static int man (const char *name, int *found);
 static int local_man_loop (const char *argv)
 {
        int exit_status = OK;
-       int local_mf = local_man_file;
+       bool local_mf = local_man_file;
 
        drop_effective_privs ();
-       local_man_file = 1;
+       local_man_file = true;
        if (strcmp (argv, "-") == 0)
                display (NULL, "", NULL, "(stdin)", NULL);
        else {
@@ -3806,7 +3752,7 @@ static int local_man_loop (const char *argv)
                        if (directory_on_path (argv_dir)) {
                                char *argv_base = base_name (argv);
                                char *new_manp, *nm;
-                               char **old_manpathlist, **mp;
+                               gl_list_t old_manpathlist;
 
                                debug ("recalculating manpath for executable "
                                       "in %s\n", argv_dir);
@@ -3821,18 +3767,13 @@ static int local_man_loop (const char *argv)
                                free (new_manp);
                                new_manp = nm;
 
-                               old_manpathlist = XNMALLOC (MAXDIRS, char *);
-                               memcpy (old_manpathlist, manpathlist,
-                                       MAXDIRS * sizeof (*manpathlist));
-                               create_pathlist (new_manp, manpathlist);
+                               old_manpathlist = manpathlist;
+                               manpathlist = create_pathlist (new_manp);
 
                                man (argv_base, &found);
 
-                               for (mp = manpathlist; *mp; ++mp)
-                                       free (*mp);
-                               memcpy (manpathlist, old_manpathlist,
-                                       MAXDIRS * sizeof (*manpathlist));
-                               free (old_manpathlist);
+                               free_pathlist (manpathlist);
+                               manpathlist = old_manpathlist;
 executable_out:
                                free (new_manp);
                                free (argv_base);
@@ -3901,10 +3842,12 @@ static void locate_page_in_manpath (const char *page_section,
                                    struct candidate **candidates,
                                    int *found)
 {
-       char **mp;
+       char *mp;
 
-       for (mp = manpathlist; *mp; mp++)
-               *found += locate_page (*mp, page_section, page_name, candidates);
+       GL_LIST_FOREACH_START (manpathlist, mp)
+               *found += locate_page (mp, page_section, page_name,
+                                      candidates);
+       GL_LIST_FOREACH_END (manpathlist);
 }
 
 /*
@@ -3939,11 +3882,11 @@ static int man (const char *name, int *found)
        if (section)
                locate_page_in_manpath (section, name, &candidates, found);
        else {
-               const char **sp;
+               const char *sec;
 
-               for (sp = section_list; *sp; sp++) {
-                       locate_page_in_manpath (*sp, name, &candidates, found);
-               }
+               GL_LIST_FOREACH_START (section_list, sec)
+                       locate_page_in_manpath (sec, name, &candidates, found);
+               GL_LIST_FOREACH_END (section_list);
        }
 
        split_page_name (name, &page_name, &page_section);
@@ -3969,20 +3912,20 @@ static int man (const char *name, int *found)
 }
 
 
-static const char **get_section_list (void)
+static gl_list_t get_section_list (void)
 {
-       int i = 0;
-       const char **config_sections;
-       const char **sections = NULL;
+       gl_list_t config_sections, sections;
        const char *sec;
 
        /* Section list from configuration file, or STD_SECTIONS if it's
         * empty.
         */
        config_sections = get_sections ();
-       if (!*config_sections) {
-               free (config_sections);
-               config_sections = std_sections;
+       if (!gl_list_size (config_sections)) {
+               int i;
+               for (i = 0; std_sections[i]; ++i)
+                       gl_list_add_last (config_sections,
+                                         xstrdup (std_sections[i]));
        }
 
        if (colon_sep_section_list == NULL)
@@ -3994,17 +3937,16 @@ static const char **get_section_list (void)
         * man's -s option takes a comma-separated list, so we accept that
         * too for compatibility.
         */
+       sections = new_string_list (GL_ARRAY_LIST, true);
        for (sec = strtok (colon_sep_section_list, ":,"); sec; 
-            sec = strtok (NULL, ":,")) {
-               sections = xnrealloc (sections, i + 2, sizeof *sections);
-               sections[i++] = sec;
-       }
+            sec = strtok (NULL, ":,"))
+               gl_list_add_last (sections, xstrdup (sec));
 
-       if (i > 0) {
-               sections[i] = NULL;
+       if (gl_list_size (sections)) {
+               gl_list_free (config_sections);
                return sections;
        } else {
-               free (sections);
+               gl_list_free (sections);
                return config_sections;
        }
 }
@@ -4086,8 +4028,6 @@ int main (int argc, char *argv[])
 
        set_program_name (argv[0]);
 
-       check_standard_fds ();
-
        init_debug ();
        pipeline_install_post_fork (pop_all_cleanups);
        sandbox = sandbox_init ();
@@ -4103,6 +4043,8 @@ int main (int argc, char *argv[])
                multiple_locale = getenv ("LANGUAGE");
        internal_locale = xstrdup (internal_locale ? internal_locale : "C");
 
+       xstdopen ();
+
 /* export argv, it might be needed when invoking the vendor supplied browser */
 #if defined _AIX || defined __sgi
        global_argv = argv;
@@ -4114,6 +4056,10 @@ int main (int argc, char *argv[])
                init_html_pager ();
 #endif /* TROFF_IS_GROFF */
 
+#ifdef NROFF_WARNINGS
+       roff_warnings = new_string_list (GL_ARRAY_LIST, true);
+#endif /* NROFF_WARNINGS */
+
        /* First of all, find out if $MANOPT is set. If so, put it in 
           *argv[] format for argp to play with. */
        argv_env = manopt_to_env (&argc_env);
@@ -4226,7 +4172,7 @@ int main (int argc, char *argv[])
 
        debug ("manpath search path (with duplicates) = %s\n", manp);
 
-       create_pathlist (manp, manpathlist);
+       manpathlist = create_pathlist (manp);
 
        /* man issued with `-l' option */
        if (local_man_file) {
@@ -4288,14 +4234,14 @@ int main (int argc, char *argv[])
                if (global_apropos)
                        status = do_global_apropos (nextarg, &found);
                else {
-                       int found_subpage = 0;
+                       bool found_subpage = false;
                        if (subpages && first_arg < argc) {
                                char *subname = xasprintf (
                                        "%s-%s", nextarg, argv[first_arg]);
                                status = man (subname, &found);
                                free (subname);
                                if (status == OK) {
-                                       found_subpage = 1;
+                                       found_subpage = true;
                                        ++first_arg;
                                }
                        }
@@ -4305,7 +4251,7 @@ int main (int argc, char *argv[])
                                status = man (subname, &found);
                                free (subname);
                                if (status == OK) {
-                                       found_subpage = 1;
+                                       found_subpage = true;
                                        ++first_arg;
                                }
                        }
@@ -4314,15 +4260,17 @@ int main (int argc, char *argv[])
                }
 
                /* clean out the cache of database lookups for each man page */
-               hashtable_free (db_hash);
-               db_hash = NULL;
+               if (db_map) {
+                       gl_map_free (db_map);
+                       db_map = NULL;
+               }
 
                if (section && maybe_section) {
                        if (status != OK && !catman) {
                                /* Maybe the section wasn't a section after
                                 * all? e.g. 'man 9wm fvwm'.
                                 */
-                               int found_subpage = 0;
+                               bool found_subpage = false;
                                debug ("\nRetrying section %s as name\n",
                                       section);
                                tmp = section;
@@ -4333,14 +4281,16 @@ int main (int argc, char *argv[])
                                        status = man (subname, &found);
                                        free (subname);
                                        if (status == OK) {
-                                               found_subpage = 1;
+                                               found_subpage = true;
                                                ++first_arg;
                                        }
                                }
                                if (!found_subpage)
                                        status = man (tmp, &found);
-                               hashtable_free (db_hash);
-                               db_hash = NULL;
+                               if (db_map) {
+                                       gl_map_free (db_map);
+                                       db_map = NULL;
+                               }
                                /* ... but don't gripe about it if it doesn't
                                 * work!
                                 */
@@ -4385,13 +4335,17 @@ int main (int argc, char *argv[])
 
                chkr_garbage_detector ();
        }
-       hashtable_free (db_hash);
-       db_hash = NULL;
+       if (db_map) {
+               gl_map_free (db_map);
+               db_map = NULL;
+       }
 
        drop_effective_privs ();
 
        free (database);
+       gl_list_free (section_list);
        free_pathlist (manpathlist);
        free (internal_locale);
+       sandbox_free (sandbox);
        exit (exit_status);
 }
index 75c08ab..949c6b6 100644 (file)
@@ -24,6 +24,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -111,7 +112,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                                                     (void *) 0);
                        return 0;
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'q':
                        quiet = 1;
@@ -178,5 +179,7 @@ int main (int argc, char *argv[])
 
        pipeline_wait (p);
 
+       sandbox_free (sandbox);
+
        return 0;
 }
index 90325d9..0a06c71 100644 (file)
@@ -30,6 +30,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -48,6 +49,9 @@
 
 #include "argp.h"
 #include "dirname.h"
+#include "gl_hash_map.h"
+#include "gl_list.h"
+#include "gl_xmap.h"
 #include "progname.h"
 #include "stat-time.h"
 #include "timespec.h"
@@ -63,7 +67,7 @@
 
 #include "error.h"
 #include "cleanup.h"
-#include "hashtable.h"
+#include "glcontainers.h"
 #include "pipeline.h"
 #include "sandbox.h"
 #include "security.h"
 #include "manp.h"
 
 int quiet = 1;
-extern int opt_test;           /* don't update db */
+extern bool opt_test;          /* don't update db */
 char *manp;
 char *database = NULL;
 extern char *extension;                /* for globbing.c */
-extern int force_rescan;       /* for check_mandirs.c */
+extern bool force_rescan;      /* for check_mandirs.c */
 static char *single_filename = NULL;
 extern char *user_config_file; /* for manp.c */
 #ifdef MAN_OWNER
@@ -90,10 +94,10 @@ man_sandbox *sandbox;
 static int purged = 0;
 static int strays = 0;
 
-static int check_for_strays = 1;
-static int purge = 1;
-static int user;
-static int create;
+static bool check_for_strays = true;
+static bool purge = true;
+static bool user;
+static bool create;
 static const char *arg_manp;
 
 struct tried_catdirs_entry {
@@ -127,32 +131,32 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
 
        switch (key) {
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'q':
                        ++quiet_temp;
                        return 0;
                case 's':
-                       check_for_strays = 0;
+                       check_for_strays = false;
                        return 0;
                case 'p':
-                       purge = 0;
+                       purge = false;
                        return 0;
                case 'u':
-                       user = 1;
+                       user = true;
                        return 0;
                case 'c':
-                       create = 1;
-                       purge = 0;
+                       create = true;
+                       purge = false;
                        return 0;
                case 't':
-                       opt_test = 1;
+                       opt_test = true;
                        return 0;
                case 'f':
                        single_filename = arg;
-                       create = 0;
-                       purge = 0;
-                       check_for_strays = 0;
+                       create = false;
+                       purge = false;
+                       check_for_strays = false;
                        return 0;
                case 'C':
                        user_config_file = arg;
@@ -202,7 +206,7 @@ extern uid_t ruid;
 extern uid_t euid;
 #endif /* MAN_OWNER */
 
-static char *manpathlist[MAXDIRS];
+static gl_list_t manpathlist;
 
 extern int pages;
 
@@ -437,7 +441,8 @@ static void cleanup (void *arg)
 
 /* sort out the database names */
 static int mandb (struct dbpaths *dbpaths,
-                 const char *catpath, const char *manpath, int global_manpath)
+                 const char *catpath, const char *manpath,
+                 bool global_manpath)
 {
        int ret, amount;
        char *dbname;
@@ -551,8 +556,8 @@ static int mandb (struct dbpaths *dbpaths,
        return amount;
 }
 
-static int process_manpath (const char *manpath, int global_manpath,
-                           struct hashtable *tried_catdirs)
+static int process_manpath (const char *manpath, bool global_manpath,
+                           gl_map_t tried_catdirs)
 {
        char *catpath;
        struct tried_catdirs_entry *tried;
@@ -572,7 +577,7 @@ static int process_manpath (const char *manpath, int global_manpath,
        tried = XMALLOC (struct tried_catdirs_entry);
        tried->manpath = xstrdup (manpath);
        tried->seen = 0;
-       hashtable_install (tried_catdirs, catpath, strlen (catpath), tried);
+       gl_map_put (tried_catdirs, xstrdup (catpath), tried);
 
        if (stat (manpath, &st) < 0 || !S_ISDIR (st.st_mode))
                goto out;
@@ -590,7 +595,7 @@ static int process_manpath (const char *manpath, int global_manpath,
        } else
                run_mandb = 1;
 
-       force_rescan = 0;
+       force_rescan = false;
        if (purge) {
                database = mkdbname (catpath);
                purged += purge_missing (manpath, catpath, run_mandb);
@@ -648,21 +653,21 @@ static int is_lang_dir (const char *base)
               (!base[2] || base[2] < 'a' || base[2] > 'z');
 }
 
-static void tried_catdirs_free (void *defn)
+static void tried_catdirs_free (const void *value)
 {
-       struct tried_catdirs_entry *tried = defn;
+       struct tried_catdirs_entry *tried =
+               (struct tried_catdirs_entry *) value;
 
        free (tried->manpath);
        free (tried);
 }
 
-static void purge_catdir (const struct hashtable *tried_catdirs,
-                         const char *path)
+static void purge_catdir (gl_map_t tried_catdirs, const char *path)
 {
        struct stat st;
 
        if (stat (path, &st) == 0 && S_ISDIR (st.st_mode) &&
-           !hashtable_lookup (tried_catdirs, path, strlen (path))) {
+           !gl_map_get (tried_catdirs, path)) {
                if (!quiet)
                        printf (_("Removing obsolete cat directory %s...\n"),
                                path);
@@ -714,14 +719,12 @@ static void purge_catsubdirs (const char *manpath, const char *catpath)
  * the usual NLS pattern (two lower-case letters followed by nothing or a
  * non-letter).
  */
-static void purge_catdirs (const struct hashtable *tried_catdirs)
+static void purge_catdirs (gl_map_t tried_catdirs)
 {
-       struct hashtable_iter *iter = NULL;
-       const struct nlist *elt;
+       const char *path;
+       struct tried_catdirs_entry *tried;
 
-       while ((elt = hashtable_iterate (tried_catdirs, &iter)) != NULL) {
-               const char *path = elt->name;
-               struct tried_catdirs_entry *tried = elt->defn;
+       GL_MAP_FOREACH_START (tried_catdirs, path, tried) {
                char *base;
                DIR *dir;
                struct dirent *subdirent;
@@ -741,6 +744,7 @@ static void purge_catdirs (const struct hashtable *tried_catdirs)
                        continue;
                while ((subdirent = readdir (dir)) != NULL) {
                        char *subdirpath;
+                       const struct tried_catdirs_entry *subtried;
 
                        if (STREQ (subdirent->d_name, ".") ||
                            STREQ (subdirent->d_name, ".."))
@@ -753,30 +757,30 @@ static void purge_catdirs (const struct hashtable *tried_catdirs)
                        subdirpath = xasprintf ("%s/%s", path,
                                                subdirent->d_name);
 
-                       tried = hashtable_lookup (tried_catdirs, subdirpath,
-                                                 strlen (subdirpath));
-                       if (tried && tried->seen) {
+                       subtried = gl_map_get (tried_catdirs, subdirpath);
+                       if (subtried && subtried->seen) {
                                debug ("Seen mandir for %s; not deleting\n",
                                       subdirpath);
                                /* However, we may still need to purge cat*
                                 * subdirectories.
                                 */
-                               purge_catsubdirs (tried->manpath, subdirpath);
+                               purge_catsubdirs (subtried->manpath,
+                                                 subdirpath);
                        } else
                                purge_catdir (tried_catdirs, subdirpath);
 
                        free (subdirpath);
                }
                closedir (dir);
-       }
+       } GL_MAP_FOREACH_END (tried_catdirs);
 }
 
 int main (int argc, char *argv[])
 {
        char *sys_manp;
        int amount = 0;
-       char **mp;
-       struct hashtable *tried_catdirs;
+       char *mp;
+       gl_map_t tried_catdirs;
 #ifdef SIGPIPE
        struct sigaction sa;
 #endif /* SIGPIPE */
@@ -822,7 +826,7 @@ int main (int argc, char *argv[])
 #ifdef MAN_OWNER
        man_owner = get_man_owner ();
        if (!user && euid != 0 && euid != man_owner->pw_uid)
-               user = 1;
+               user = true;
 #endif /* MAN_OWNER */
 
        read_config_file (user);
@@ -848,16 +852,16 @@ int main (int argc, char *argv[])
 
        debug ("manpath=%s\n", manp);
 
-       /* get the manpath as an array of pointers */
-       create_pathlist (manp, manpathlist); 
+       /* get the manpath as a list of pointers */
+       manpathlist = create_pathlist (manp); 
 
        /* finished manpath processing, regain privs */
        regain_effective_privs ();
 
-       tried_catdirs = hashtable_create (tried_catdirs_free);
+       tried_catdirs = new_string_map (GL_HASH_MAP, tried_catdirs_free);
 
-       for (mp = manpathlist; *mp; mp++) {
-               int global_manpath = is_global_mandir (*mp);
+       GL_LIST_FOREACH_START (manpathlist, mp) {
+               bool global_manpath = is_global_mandir (mp);
                int ret;
                DIR *dir;
                struct dirent *subdirent;
@@ -869,14 +873,14 @@ int main (int argc, char *argv[])
                        drop_effective_privs ();
                }
 
-               ret = process_manpath (*mp, global_manpath, tried_catdirs);
+               ret = process_manpath (mp, global_manpath, tried_catdirs);
                if (ret < 0)
                        exit (FATAL);
                amount += ret;
 
-               dir = opendir (*mp);
+               dir = opendir (mp);
                if (!dir) {
-                       error (0, errno, _("can't search directory %s"), *mp);
+                       error (0, errno, _("can't search directory %s"), mp);
                        goto next_manpath;
                }
 
@@ -890,7 +894,7 @@ int main (int argc, char *argv[])
                        if (STRNEQ (subdirent->d_name, "man", 3))
                                continue;
 
-                       subdirpath = xasprintf ("%s/%s", *mp,
+                       subdirpath = xasprintf ("%s/%s", mp,
                                                subdirent->d_name);
                        ret = process_manpath (subdirpath, global_manpath,
                                               tried_catdirs);
@@ -907,10 +911,10 @@ next_manpath:
                        regain_effective_privs ();
 
                chkr_garbage_detector ();
-       }
+       } GL_LIST_FOREACH_END (manpathlist);
 
        purge_catdirs (tried_catdirs);
-       hashtable_free (tried_catdirs);
+       gl_map_free (tried_catdirs);
 
        if (!quiet) {
                printf (ngettext ("%d man subdirectory contained newer "
@@ -950,5 +954,6 @@ next_manpath:
                if (must_create && STREQ (must_create, "1"))
                        exit (FAIL);
        }
+       sandbox_free (sandbox);
        exit (OK);
 }
index 5111be7..1dfecf3 100644 (file)
@@ -47,6 +47,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdio.h>
 #include <ctype.h>
 #include <sys/types.h>
 #include <assert.h>
 #include <errno.h>
 #include <dirent.h>
+#include <stdbool.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 
 #include "canonicalize.h"
+#include "gl_array_list.h"
+#include "gl_linkedhash_list.h"
+#include "gl_xlist.h"
 #include "xgetcwd.h"
 #include "xvasprintf.h"
 
 
 #include "error.h"
 #include "cleanup.h"
+#include "glcontainers.h"
 #include "security.h"
 
 #include "manp.h"
 #include "globbing.h"
 
-struct list {
+enum config_flag {
+       MANDATORY,
+       MANPATH_MAP,
+       MANDB_MAP,
+       MANDB_MAP_USER,
+       DEFINE,
+       DEFINE_USER,
+       SECTION,
+       SECTION_USER
+};
+
+struct config_item {
        char *key;
        char *cont;
-       int flag;
-       struct list *next;
+       enum config_flag flag;
 };
 
-static struct list *namestore, *tailstore;
-
-#define SECTION_USER   -6
-#define SECTION                -5
-#define DEFINE_USER    -4
-#define DEFINE         -3
-#define MANDB_MAP_USER -2
-#define MANDB_MAP      -1
-#define MANPATH_MAP     0
-#define MANDATORY       1
-
-/* DIRLIST list[MAXDIRS]; */
-static char *tmplist[MAXDIRS];
+static gl_list_t config;
 
 char *user_config_file = NULL;
-int disable_cache;
+bool disable_cache;
 int min_cat_width = 80, max_cat_width = 80, cat_width = 0;
 
-static char *has_mandir (const char *p);
+static void add_man_subdirs (gl_list_t list, const char *p);
 static char *fsstnd (const char *path);
-static char *def_path (int flag);
-static void add_dir_to_list (char **lp, const char *dir);
-static char **add_dir_to_path_list (char **mphead, char **mp, const char *p);
+static char *def_path (enum config_flag flag);
+static void add_dir_to_list (gl_list_t list, const char *dir);
+static void add_dir_to_path_list (gl_list_t list, const char *p);
 
 
-static void add_to_list (const char *key, const char *cont, int flag)
+static void config_item_free (const void *elt)
 {
-       struct list *list = XMALLOC (struct list);
-       list->key = xstrdup (key);
-       list->cont = xstrdup (cont);
-       list->flag = flag;
-       list->next = NULL;
-       if (tailstore)
-               tailstore->next = list;
-       tailstore = list;
-       if (!namestore)
-               namestore = list;
+       /* gl_list declares the argument as const, but there doesn't seem to
+        * be a good reason for this.
+        */
+       struct config_item *item = (struct config_item *) elt;
+       free (item->key);
+       free (item->cont);
+       free (item);
 }
 
-static const char *get_from_list (const char *key, int flag)
+static void add_config (const char *key, const char *cont,
+                       enum config_flag flag)
 {
-       struct list *list;
-
-       for (list = namestore; list; list = list->next)
-               if (flag == list->flag && STREQ (key, list->key))
-                       return list->cont;
-
-       return NULL;
+       struct config_item *item = XMALLOC (struct config_item);
+       item->key = xstrdup (key);
+       item->cont = xstrdup (cont);
+       item->flag = flag;
+       gl_list_add_last (config, item);
 }
 
-static struct list *iterate_over_list (struct list *prev, char *key, int flag)
+static const char *get_config (const char *key, enum config_flag flag)
 {
-       struct list *list;
+       const struct config_item *item;
+       char *cont = NULL;
 
-       for (list = prev ? prev->next : namestore; list; list = list->next)
-               if (flag == list->flag && STREQ (key, list->key))
-                       return list;
+       GL_LIST_FOREACH_START (config, item)
+               if (flag == item->flag && STREQ (key, item->key)) {
+                       cont = item->cont;
+                       break;
+               }
+       GL_LIST_FOREACH_END (config);
 
-       return NULL;
+       return cont;
 }
 
 /* Must not return DEFINEs set in ~/.manpath. This is used to fetch
@@ -154,25 +158,52 @@ const char *get_def (const char *thing, const char *def)
        if (!running_setuid ())
                return get_def_user (thing, def);
 
-       config_def = get_from_list (thing, DEFINE);
+       config_def = get_config (thing, DEFINE);
        return config_def ? config_def : def;
 }
 
 const char *get_def_user (const char *thing, const char *def)
 {
-       const char *config_def = get_from_list (thing, DEFINE_USER);
+       const char *config_def = get_config (thing, DEFINE_USER);
        if (!config_def)
-               config_def = get_from_list (thing, DEFINE);
+               config_def = get_config (thing, DEFINE);
        return config_def ? config_def : def;
 }
 
+static const char *describe_flag (enum config_flag flag)
+{
+       switch (flag) {
+               case MANDATORY:
+                       return "MANDATORY";
+               case MANPATH_MAP:
+                       return "MANPATH_MAP";
+               case MANDB_MAP:
+                       return "MANDB_MAP";
+               case MANDB_MAP_USER:
+                       return "MANDB_MAP_USER";
+               case DEFINE:
+                       return "DEFINE";
+               case DEFINE_USER:
+                       return "DEFINE_USER";
+               case SECTION:
+                       return "SECTION";
+               case SECTION_USER:
+                       return "SECTION_USER";
+               default:
+                       error (FATAL, 0, "impossible config_flag value %d",
+                              flag);
+                       abort (); /* error should have exited */
+       }
+}
+
 static void print_list (void)
 {
-       struct list *list;
+       const struct config_item *item;
 
-       for (list = namestore; list; list = list->next)
-               debug ("`%s'\t`%s'\t`%d'\n",
-                      list->key, list->cont, list->flag);
+       GL_LIST_FOREACH_START (config, item)
+               debug ("`%s'\t`%s'\t`%s'\n",
+                      item->key, item->cont, describe_flag (item->flag));
+       GL_LIST_FOREACH_END (config);
 }
 
 static void add_sections (char *sections, int user)
@@ -182,44 +213,40 @@ static void add_sections (char *sections, int user)
 
        for (sect = strtok (section_list, " "); sect;
             sect = strtok (NULL, " ")) {
-               add_to_list (sect, "", user ? SECTION_USER : SECTION);
+               add_config (sect, "", user ? SECTION_USER : SECTION);
                debug ("Added section `%s'.\n", sect);
        }
        free (section_list);
 }
 
-const char **get_sections (void)
+gl_list_t get_sections (void)
 {
-       struct list *list;
+       const struct config_item *item;
        int length_user = 0, length = 0;
-       const char **sections, **sectionp;
-       int flag;
+       gl_list_t sections;
+       enum config_flag flag;
 
-       for (list = namestore; list; list = list->next) {
-               if (list->flag == SECTION_USER)
+       GL_LIST_FOREACH_START (config, item) {
+               if (item->flag == SECTION_USER)
                        length_user++;
-               else if (list->flag == SECTION)
+               else if (item->flag == SECTION)
                        length++;
-       }
-       if (length_user) {
-               sections = xnmalloc (length_user + 1, sizeof *sections);
+       } GL_LIST_FOREACH_END (config);
+       sections = new_string_list (GL_ARRAY_LIST, true);
+       if (length_user)
                flag = SECTION_USER;
-       } else {
-               sections = xnmalloc (length + 1, sizeof *sections);
+       else
                flag = SECTION;
-       }
-       sectionp = sections;
-       for (list = namestore; list; list = list->next)
-               if (list->flag == flag)
-                       *sectionp++ = list->key;
-       *sectionp = NULL;
+       GL_LIST_FOREACH_START (config, item)
+               if (item->flag == flag)
+                       gl_list_add_last (sections, xstrdup (item->key));
+       GL_LIST_FOREACH_END (config);
        return sections;
 }
 
-static void add_def (char *thing, char *config_def, int flag, int user)
+static void add_def (const char *thing, const char *config_def, int user)
 {
-       add_to_list (thing, flag == 2 ? config_def : "",
-                    user ? DEFINE_USER : DEFINE);
+       add_config (thing, config_def, user ? DEFINE_USER : DEFINE);
 
        debug ("Defined `%s' as `%s'.\n", thing, config_def);
 }
@@ -229,24 +256,19 @@ static void add_manpath_map (const char *path, const char *mandir)
        if (!path || !mandir)
                return;
 
-       add_to_list (path, mandir, MANPATH_MAP);
+       add_config (path, mandir, MANPATH_MAP);
 
        debug ("Path `%s' mapped to mandir `%s'.\n", path, mandir);
 }
 
-static void add_mandb_map (const char *mandir, const char *catdir,
-                          int flag, int user)
+static void add_mandb_map (const char *mandir, const char *catdir, int user)
 {
        char *tmpcatdir;
 
-       assert (flag > 0);
-
        if (!mandir)
                return;
 
-       if (flag == 1)
-               tmpcatdir = xstrdup (mandir);
-       else if (STREQ (catdir, "FSSTND"))
+       if (STREQ (catdir, "FSSTND"))
                tmpcatdir = fsstnd (mandir);
        else
                tmpcatdir = xstrdup (catdir);
@@ -254,7 +276,7 @@ static void add_mandb_map (const char *mandir, const char *catdir,
        if (!tmpcatdir)
                return;
 
-       add_to_list (mandir, tmpcatdir, user ? MANDB_MAP_USER : MANDB_MAP);
+       add_config (mandir, tmpcatdir, user ? MANDB_MAP_USER : MANDB_MAP);
 
        debug ("%s mandir `%s', catdir `%s'.\n",
               user ? "User" : "Global", mandir, tmpcatdir);
@@ -267,7 +289,7 @@ static void add_mandatory (const char *mandir)
        if (!mandir)
                return;
 
-       add_to_list (mandir, "", MANDATORY);
+       add_config (mandir, "", MANDATORY);
 
        debug ("Mandatory mandir `%s'.\n", mandir);
 }
@@ -339,11 +361,6 @@ static void gripe_not_directory (const char *dir)
                error (0, 0, _("warning: %s isn't a directory"), dir);
 }
 
-static void gripe_overlong_list (void)
-{
-       error (FAIL, 0, _("manpath list too long"));
-}
-
 /* accept a manpath list, separated with ':', return the associated 
    catpath list */
 char *cat_manpath (char *manp)
@@ -352,9 +369,9 @@ char *cat_manpath (char *manp)
        const char *path, *catdir;
 
        for (path = strsep (&manp, ":"); path; path = strsep (&manp, ":")) {
-               catdir = get_from_list (path, MANDB_MAP_USER);
+               catdir = get_config (path, MANDB_MAP_USER);
                if (!catdir)
-                       catdir = get_from_list (path, MANDB_MAP);
+                       catdir = get_config (path, MANDB_MAP);
                catp = catdir ? pathappend (catp, catdir) 
                              : pathappend (catp, path);
        }
@@ -697,7 +714,7 @@ char *get_manpath (const char *systems)
        char *manpathlist;
 
        /* need to read config file even if MANPATH set, for mandb(8) */
-       read_config_file (0);
+       read_config_file (false);
 
        manpathlist = getenv ("MANPATH");
        if (manpathlist && *manpathlist) {
@@ -756,7 +773,7 @@ char *get_manpath (const char *systems)
 }
 
 /* Parse the manpath.config file, extracting appropriate information. */
-static void add_to_dirlist (FILE *config, int user)
+static void add_to_dirlist (FILE *config_file, int user)
 {
        char *bp;
        char *buf = NULL;
@@ -765,7 +782,7 @@ static void add_to_dirlist (FILE *config, int user)
        int val;
        int c;
 
-       while (getline (&buf, &n, config) >= 0) {
+       while (getline (&buf, &n, config_file) >= 0) {
                bp = buf;
 
                while (CTYPE (isspace, *bp))
@@ -778,7 +795,7 @@ static void add_to_dirlist (FILE *config, int user)
                if (*bp == '#' || *bp == '\0')
                        goto next;
                else if (strncmp (bp, "NOCACHE", 7) == 0)
-                       disable_cache = 1;
+                       disable_cache = true;
                else if (strncmp (bp, "NO", 2) == 0)
                        goto next;      /* match any word starting with NO */
                else if (sscanf (bp, "MANBIN %*s") == 1)
@@ -790,10 +807,10 @@ static void add_to_dirlist (FILE *config, int user)
                        add_manpath_map (key, cont);
                else if ((c = sscanf (bp, "MANDB_MAP %511s %511s",
                                      key, cont)) > 0) 
-                       add_mandb_map (key, cont, c, user);
+                       add_mandb_map (key, c == 2 ? cont : key, user);
                else if ((c = sscanf (bp, "DEFINE %511s %511[^\n]",
                                      key, cont)) > 0)
-                       add_def (key, cont, c, user);
+                       add_def (key, c == 2 ? cont : "", user);
                else if (sscanf (bp, "SECTION %511[^\n]", cont) == 1)
                        add_sections (cont, user);
                else if (sscanf (bp, "SECTIONS %511[^\n]", cont) == 1)
@@ -820,28 +837,20 @@ next:
 
 static void free_config_file (void *unused ATTRIBUTE_UNUSED)
 {
-       struct list *list = namestore, *prev;
-
-       while (list) {
-               free (list->key);
-               free (list->cont);
-               prev = list;
-               list = list->next;
-               free (prev);
-       }
-
-       namestore = tailstore = NULL;
+       gl_list_free (config);
 }
 
-void read_config_file (int optional)
+void read_config_file (bool optional)
 {
        static int done = 0;
        char *dotmanpath = NULL;
-       FILE *config;
+       FILE *config_file;
 
        if (done)
                return;
 
+       config = gl_list_create_empty (GL_ARRAY_LIST, NULL, NULL,
+                                      config_item_free, true);
        push_cleanup (free_config_file, NULL, 0);
 
        if (user_config_file)
@@ -852,18 +861,18 @@ void read_config_file (int optional)
                        dotmanpath = xasprintf ("%s/.manpath", home);
        }
        if (dotmanpath) {
-               config = fopen (dotmanpath, "r");
-               if (config != NULL) {
+               config_file = fopen (dotmanpath, "r");
+               if (config_file != NULL) {
                        debug ("From the config file %s:\n\n", dotmanpath);
-                       add_to_dirlist (config, 1);
-                       fclose (config);
+                       add_to_dirlist (config_file, 1);
+                       fclose (config_file);
                }
                free (dotmanpath);
        }
 
        if (getenv ("MAN_TEST_DISABLE_SYSTEM_CONFIG") == NULL) {
-               config = fopen (CONFIG_FILE, "r");
-               if (config == NULL) {
+               config_file = fopen (CONFIG_FILE, "r");
+               if (config_file == NULL) {
                        if (optional)
                                debug ("can't open %s; continuing anyway\n",
                                       CONFIG_FILE);
@@ -875,8 +884,8 @@ void read_config_file (int optional)
                } else {
                        debug ("From the config file %s:\n\n", CONFIG_FILE);
 
-                       add_to_dirlist (config, 0);
-                       fclose (config);
+                       add_to_dirlist (config_file, 0);
+                       fclose (config_file);
                }
        }
 
@@ -890,34 +899,34 @@ void read_config_file (int optional)
  * Construct the default manpath.  This picks up mandatory manpaths
  * only.
  */
-static char *def_path (int flag)
+static char *def_path (enum config_flag flag)
 {
        char *manpath = NULL;
-       struct list *list; 
+       const struct config_item *item;
 
-       for (list = namestore; list; list = list->next)
-               if (list->flag == flag) {
-                       char **expanded_dirs;
-                       int i;
+       GL_LIST_FOREACH_START (config, item)
+               if (item->flag == flag) {
+                       gl_list_t expanded_dirs;
+                       const char *expanded_dir;
 
-                       expanded_dirs = expand_path (list->key);
-                       for (i = 0; expanded_dirs[i]; i++) {
-                               int status = is_directory (expanded_dirs[i]);
+                       expanded_dirs = expand_path (item->key);
+                       GL_LIST_FOREACH_START (expanded_dirs, expanded_dir) {
+                               int status = is_directory (expanded_dir);
 
                                if (status < 0)
-                                       gripe_stat_file (expanded_dirs[i]);
+                                       gripe_stat_file (expanded_dir);
                                else if (status == 0 && !quiet)
                                        error (0, 0,
                                               _("warning: mandatory "
                                                 "directory %s doesn't exist"),
-                                              expanded_dirs[i]);
+                                              expanded_dir);
                                else if (status == 1)
-                                       manpath = pathappend
-                                               (manpath, expanded_dirs[i]);
-                               free (expanded_dirs[i]);
-                       }
-                       free (expanded_dirs);
+                                       manpath = pathappend (manpath,
+                                                             expanded_dir);
+                       } GL_LIST_FOREACH_END (expanded_dirs);
+                       gl_list_free (expanded_dirs);
                }
+       GL_LIST_FOREACH_END (config);
 
        /* If we have complete config file failure... */
        if (!manpath)
@@ -928,9 +937,9 @@ static char *def_path (int flag)
 
 /*
  * If specified with configure, append OVERRIDE_DIR to dir param and add it
- * to the lp list.
+ * to list.
  */
-static void insert_override_dir (char **lp, const char *dir)
+static void insert_override_dir (gl_list_t list, const char *dir)
 {
        char *override_dir = NULL;
 
@@ -938,7 +947,7 @@ static void insert_override_dir (char **lp, const char *dir)
                return;
 
        if ((override_dir = xasprintf ("%s/%s", dir, OVERRIDE_DIR))) {
-               add_dir_to_list (lp, override_dir);
+               add_dir_to_list (list, override_dir);
                free (override_dir);
        }
 }
@@ -956,19 +965,20 @@ static void insert_override_dir (char **lp, const char *dir)
  */
 char *get_manpath_from_path (const char *path, int mandatory)
 {
+       gl_list_t tmplist;
+       const struct config_item *config_item;
        int len;
        char *tmppath;
-       char *t;
        char *p;
-       char **lp;
        char *end;
        char *manpathlist;
-       struct list *list;
+       char *item;
 
+       tmplist = new_string_list (GL_LINKEDHASH_LIST, false);
        tmppath = xstrdup (path);
 
        for (end = p = tmppath; end; p = end + 1) {
-               struct list *mandir_list;
+               bool manpath_map_found = false;
 
                end = strchr (p, ':');
                if (end)
@@ -980,43 +990,28 @@ char *get_manpath_from_path (const char *path, int mandatory)
 
                debug ("\npath directory %s ", p);
 
-               mandir_list = iterate_over_list (NULL, p, MANPATH_MAP);
-
-               /*
-                * The directory we're working on is in the config file.
-                * If we haven't added it to the list yet, do.
-                */
-
-               if (mandir_list) {
-                       debug ("is in the config file\n");
-                       while (mandir_list) {
-                               insert_override_dir (tmplist,
-                                                    mandir_list->cont);
-                               add_dir_to_list (tmplist, mandir_list->cont);
-                               mandir_list = iterate_over_list
-                                       (mandir_list, p, MANPATH_MAP);
-                       }
-
-                /* The directory we're working on isn't in the config file.  
-                   See if it has ../man or man subdirectories.  
-                   If so, and it hasn't been added to the list, do. */
-
-               } else {
+               /* If the directory we're working on has MANPATH_MAP entries
+                * in the config file, add them to the list.
+                */
+               GL_LIST_FOREACH_START (config, config_item) {
+                       if (MANPATH_MAP != config_item->flag ||
+                           !STREQ (p, config_item->key))
+                               continue;
+                       if (!manpath_map_found)
+                               debug ("is in the config file\n");
+                       manpath_map_found = true;
+                       insert_override_dir (tmplist, config_item->cont);
+                       add_dir_to_list (tmplist, config_item->cont);
+               } GL_LIST_FOREACH_END (config);
+
+                /* The directory we're working on isn't in the config file.  
+                   See if it has ../man, man, ../share/man, or share/man
+                   subdirectories.  If so, and they haven't been added to
+                   the list, do. */
+
+               if (!manpath_map_found) {
                        debug ("is not in the config file\n");
-
-                       t = has_mandir (p);
-                       if (t) {
-                               debug ("but does have a ../man, man, "
-                                      "../share/man, or share/man "
-                                      "subdirectory\n");
-
-                               insert_override_dir (tmplist, t);
-                               add_dir_to_list (tmplist, t);
-                               free (t);
-                       } else
-                               debug ("and doesn't have ../man, man, "
-                                      "../share/man, or share/man "
-                                      "subdirectories\n");
+                       add_man_subdirs (tmplist, p);
                }
        }
 
@@ -1025,19 +1020,19 @@ char *get_manpath_from_path (const char *path, int mandatory)
        if (mandatory) {
                debug ("\nadding mandatory man directories\n\n");
 
-               for (list = namestore; list; list = list->next)
-                       if (list->flag == MANDATORY) {
-                               insert_override_dir (tmplist, list->key);
-                               add_dir_to_list (tmplist, list->key);
+               GL_LIST_FOREACH_START (config, config_item) {
+                       if (config_item->flag == MANDATORY) {
+                               insert_override_dir (tmplist,
+                                                    config_item->key);
+                               add_dir_to_list (tmplist, config_item->key);
                        }
+               } GL_LIST_FOREACH_END (config);
        }
 
        len = 0;
-       lp = tmplist;
-       while (*lp != NULL) {
-               len += strlen (*lp) + 1;
-               lp++;
-       }
+       GL_LIST_FOREACH_START (tmplist, item)
+               len += strlen (item) + 1;
+       GL_LIST_FOREACH_END (tmplist);
 
        if (!len)
                /* No path elements in configuration file or with
@@ -1048,38 +1043,29 @@ char *get_manpath_from_path (const char *path, int mandatory)
        manpathlist = xmalloc (len);
        *manpathlist = '\0';
 
-       lp = tmplist;
        p = manpathlist;
-       while (*lp != NULL) {
-               len = strlen (*lp);
-               memcpy (p, *lp, len);
-               free (*lp);
-               *lp = NULL;
+       GL_LIST_FOREACH_START (tmplist, item) {
+               len = strlen (item);
+               memcpy (p, item, len);
                p += len;
                *p++ = ':';
-               lp++;
-       }
+       } GL_LIST_FOREACH_END (tmplist);
 
        p[-1] = '\0';
 
+       gl_list_free (tmplist);
+
        return manpathlist;
 }
 
 /* Add a directory to the manpath list if it isn't already there. */
-static void add_expanded_dir_to_list (char **lp, const char *dir)
+static void add_expanded_dir_to_list (gl_list_t list, const char *dir)
 {
        int status;
-       int pos = 0;
-
-       while (*lp != NULL) {
-               if (pos > MAXDIRS - 1)
-                       gripe_overlong_list ();
-               if (!strcmp (*lp, dir)) {
-                       debug ("%s is already in the manpath\n", dir);
-                       return;
-               }
-               lp++;
-               pos++;
+
+       if (gl_list_search (list, dir)) {
+               debug ("%s is already in the manpath\n", dir);
+               return;
        }
 
        /* Not found -- add it. */
@@ -1092,8 +1078,7 @@ static void add_expanded_dir_to_list (char **lp, const char *dir)
                gripe_not_directory (dir);
        else if (status == 1) {
                debug ("adding %s to manpath\n", dir);
-
-               *lp = xstrdup (dir);
+               gl_list_add_last (list, xstrdup (dir));
        }
 }
 
@@ -1101,25 +1086,25 @@ static void add_expanded_dir_to_list (char **lp, const char *dir)
  * Add a directory to the manpath list if it isn't already there, expanding
  * wildcards.
  */
-static void add_dir_to_list (char **lp, const char *dir)
+static void add_dir_to_list (gl_list_t list, const char *dir)
 {
-       char **expanded_dirs;
-       int i;
+       gl_list_t expanded_dirs;
+       const char *expanded_dir;
 
        expanded_dirs = expand_path (dir);
-       for (i = 0; expanded_dirs[i]; i++) {
-               add_expanded_dir_to_list (lp, expanded_dirs[i]);
-               free (expanded_dirs[i]);
-       }
-       free (expanded_dirs);
+       GL_LIST_FOREACH_START (expanded_dirs, expanded_dir)
+               add_expanded_dir_to_list (list, expanded_dir);
+       GL_LIST_FOREACH_END (expanded_dirs);
+       gl_list_free (expanded_dirs);
 }
 
 /* path does not exist in config file: check to see if path/../man,
-   path/man, path/../share/man, or path/share/man exist.  If so return
-   it, if not return NULL. */
-static char *has_mandir (const char *path)
+   path/man, path/../share/man, or path/share/man exist, and add them to the
+   list if they do. */
+static void add_man_subdirs (gl_list_t list, const char *path)
 {
        char *newpath;
+       int found = 0;
 
        /* don't assume anything about path, especially that it ends in 
           "bin" or even has a '/' in it! */
@@ -1127,113 +1112,126 @@ static char *has_mandir (const char *path)
        char *subdir = strrchr (path, '/');
        if (subdir) {
                newpath = xasprintf ("%.*s/man", (int) (subdir - path), path);
-               if (is_directory (newpath) == 1)
-                       return newpath;
+               if (is_directory (newpath) == 1) {
+                       insert_override_dir (list, newpath);
+                       add_dir_to_list (list, newpath);
+                       found = 1;
+               }
                free (newpath);
        }
 
        newpath = xasprintf ("%s/man", path);
-       if (is_directory (newpath) == 1)
-               return newpath;
+       if (is_directory (newpath) == 1) {
+               insert_override_dir (list, newpath);
+               add_dir_to_list (list, newpath);
+               found = 1;
+       }
        free (newpath);
 
        if (subdir) {
                newpath = xasprintf ("%.*s/share/man",
                                     (int) (subdir - path), path);
-               if (is_directory (newpath) == 1)
-                       return newpath;
+               if (is_directory (newpath) == 1) {
+                       insert_override_dir (list, newpath);
+                       add_dir_to_list (list, newpath);
+                       found = 1;
+               }
                free (newpath);
        }
 
        newpath = xasprintf ("%s/share/man", path);
-       if (is_directory (newpath) == 1)
-               return newpath;
+       if (is_directory (newpath) == 1) {
+               insert_override_dir (list, newpath);
+               add_dir_to_list (list, newpath);
+               found = 1;
+       }
        free (newpath);
 
-       return NULL;
+       if (!found)
+               debug ("and doesn't have ../man, man, ../share/man, or "
+                      "share/man subdirectories\n");
 }
 
-static char **add_dir_to_path_list (char **mphead, char **mp, const char *p)
+static void add_dir_to_path_list (gl_list_t list, const char *p)
 {
-       int status, i;
-       char *cwd, *d, **expanded_dirs;
-
-       if (mp - mphead > MAXDIRS - 1)
-               gripe_overlong_list ();
+       gl_list_t expanded_dirs;
+       char *expanded_dir;
 
        expanded_dirs = expand_path (p);
-       for (i = 0; expanded_dirs[i]; i++) {
-               d = expanded_dirs[i];
-
-               status = is_directory (d);
+       GL_LIST_FOREACH_START (expanded_dirs, expanded_dir) {
+               int status = is_directory (expanded_dir);
 
                if (status < 0)
-                       gripe_stat_file (d);
+                       gripe_stat_file (expanded_dir);
                else if (status == 0)
-                       gripe_not_directory (d);
+                       gripe_not_directory (expanded_dir);
                else {
+                       char *path;
+
                        /* deal with relative paths */
-                       if (*d != '/') {
-                               cwd = xgetcwd ();
+                       if (*expanded_dir != '/') {
+                               char *cwd = xgetcwd ();
                                if (!cwd)
                                        error (FATAL, errno,
                                                        _("can't determine current directory"));
-                               *mp = appendstr (cwd, "/", d, (void *) 0);
+                               path = appendstr (cwd, "/", expanded_dir,
+                                                 (void *) 0);
                        } else
-                               *mp = xstrdup (d);
+                               path = xstrdup (expanded_dir);
 
-                       debug ("adding %s to manpathlist\n", *mp);
-                       mp++;
+                       debug ("adding %s to manpathlist\n", path);
+                       gl_list_add_last (list, path);
                }
-               free (d);
-       }
-       free (expanded_dirs);
-
-       return mp;
+       } GL_LIST_FOREACH_END (expanded_dirs);
+       gl_list_free (expanded_dirs);
 }
 
-void create_pathlist (const char *manp, char **mp)
+gl_list_t create_pathlist (const char *manp)
 {
+       gl_list_t list;
+       gl_list_iterator_t iter;
+       gl_list_node_t node;
        const char *p, *end;
-       char **mphead = mp;
 
        /* Expand the manpath into a list for easier handling. */
 
+       list = new_string_list (GL_LINKEDHASH_LIST, true);
        for (p = manp;; p = end + 1) {
                end = strchr (p, ':');
                if (end) {
                        char *element = xstrndup (p, end - p);
-                       mp = add_dir_to_path_list (mphead, mp, element);
+                       add_dir_to_path_list (list, element);
                        free (element);
                } else {
-                       mp = add_dir_to_path_list (mphead, mp, p);
+                       add_dir_to_path_list (list, p);
                        break;
                }
        }
-       *mp = NULL;
 
        /* Eliminate duplicates due to symlinks. */
-       mp = mphead;
-       while (*mp) {
+       iter = gl_list_iterator (list);
+       while (gl_list_iterator_next (&iter, (const void **) &p, &node)) {
                char *target;
-               char **dupcheck;
-               int found_dup = 0;
+               gl_list_iterator_t dupcheck_iter;
+               const char *dupcheck;
+               gl_list_node_t dupcheck_node;
 
                /* After resolving all symlinks, is the target also in the
                 * manpath?
                 */
-               target = canonicalize_file_name (*mp);
-               if (!target) {
-                       ++mp;
+               target = canonicalize_file_name (p);
+               if (!target)
                        continue;
-               }
                /* Only check up to the current list position, to keep item
                 * order stable across deduplication.
                 */
-               for (dupcheck = mphead; *dupcheck && dupcheck != mp;
-                    ++dupcheck) {
+               dupcheck_iter = gl_list_iterator (list);
+               while (gl_list_iterator_next (&dupcheck_iter,
+                                             (const void **) &dupcheck,
+                                             &dupcheck_node) &&
+                      dupcheck_node != node) {
                        char *dupcheck_target = canonicalize_file_name
-                               (*dupcheck);
+                               (dupcheck);
                        if (!dupcheck_target)
                                continue;
                        if (!STREQ (target, dupcheck_target)) {
@@ -1241,54 +1239,48 @@ void create_pathlist (const char *manp, char **mp)
                                continue;
                        }
                        free (dupcheck_target);
-                       debug ("Removing duplicate manpath entry %s (%td) -> "
-                              "%s (%td)\n",
-                              *mp, mp - mphead,
-                              *dupcheck, dupcheck - mphead);
-                       free (*mp);
-                       for (dupcheck = mp; *(dupcheck + 1); ++dupcheck)
-                               *dupcheck = *(dupcheck + 1);
-                       *dupcheck = NULL;
-                       found_dup = 1;
+                       debug ("Removing duplicate manpath entry %s -> %s\n",
+                              p, dupcheck);
+                       gl_list_remove_node (list, node);
                        break;
                }
+               gl_list_iterator_free (&dupcheck_iter);
                free (target);
-               if (!found_dup)
-                       ++mp;
        }
+       gl_list_iterator_free (&iter);
 
        if (debug_level) {
-               int first = 1;
+               bool first = true;
 
                debug ("final search path = ");
-               for (mp = mphead; *mp; ++mp) {
+               GL_LIST_FOREACH_START (list, p) {
                        if (first) {
-                               debug ("%s", *mp);
-                               first = 0;
+                               debug ("%s", p);
+                               first = false;
                        } else
-                               debug (":%s", *mp);
-               }
+                               debug (":%s", p);
+               } GL_LIST_FOREACH_END (list);
                debug ("\n");
        }
+
+       return list;
 }
 
-void free_pathlist (char **mp)
+void free_pathlist (gl_list_t list)
 {
-       while (*mp) {
-               free (*mp);
-               *mp++ = NULL;
-       }
+       gl_list_free (list);
 }
 
 /* Routine to get list of named system and user manpaths (in reverse order). */
 char *get_mandb_manpath (void)
 {
        char *manpath = NULL;
-       struct list *list;
+       const struct config_item *item;
 
-       for (list = namestore; list; list = list->next)
-               if (list->flag == MANDB_MAP || list->flag == MANDB_MAP_USER)
-                       manpath = pathappend (manpath, list->key);
+       GL_LIST_FOREACH_START (config, item)
+               if (item->flag == MANDB_MAP || item->flag == MANDB_MAP_USER)
+                       manpath = pathappend (manpath, item->key);
+       GL_LIST_FOREACH_END (config);
 
        return manpath;
 }
@@ -1308,16 +1300,17 @@ char *get_mandb_manpath (void)
  */
 char *get_catpath (const char *name, int cattype)
 {
-       struct list *list;
-
-       for (list = namestore; list; list = list->next)
-               if (((cattype & SYSTEM_CAT) && list->flag == MANDB_MAP) ||
-                   ((cattype & USER_CAT)   && list->flag == MANDB_MAP_USER)) {
-                       size_t manlen = strlen (list->key);
-                       if (STRNEQ (name, list->key, manlen)) {
+       const struct config_item *item;
+       char *ret = NULL;
+
+       GL_LIST_FOREACH_START (config, item)
+               if (((cattype & SYSTEM_CAT) && item->flag == MANDB_MAP) ||
+                   ((cattype & USER_CAT)   && item->flag == MANDB_MAP_USER)) {
+                       size_t manlen = strlen (item->key);
+                       if (STRNEQ (name, item->key, manlen)) {
                                const char *suffix;
                                char *infix;
-                               char *catpath = xstrdup (list->cont);
+                               char *catpath = xstrdup (item->cont);
 
                                /* For NLS subdirectories (e.g.
                                 * /usr/share/man/de -> /var/cache/man/de),
@@ -1325,10 +1318,12 @@ char *get_catpath (const char *name, int cattype)
                                 * long as this strictly follows the key.
                                 */
                                suffix = strrchr (name, '/');
-                               if (!suffix)
-                                       return appendstr (catpath,
-                                                         name + manlen,
-                                                         (void *) 0);
+                               if (!suffix) {
+                                       ret = appendstr (catpath,
+                                                        name + manlen,
+                                                        (void *) 0);
+                                       break;
+                               }
 
                                while (suffix > name + manlen)
                                        if (*--suffix == '/')
@@ -1349,25 +1344,32 @@ char *get_catpath (const char *name, int cattype)
                                }
                                catpath = appendstr (catpath, suffix,
                                                     (void *) 0);
-                               return catpath;
+                               ret = catpath;
+                               break;
                        }
                }
+       GL_LIST_FOREACH_END (config);
 
-       return NULL;
+       return ret;
 }
 
 /* Check to see if the supplied man directory is a system-wide mandir.
  * Obviously, user directories must not be included here.
  */
-int is_global_mandir (const char *dir)
+bool is_global_mandir (const char *dir)
 {
-       struct list *list;
+       const struct config_item *item;
+       bool ret = false;
+
+       GL_LIST_FOREACH_START (config, item)
+               if (item->flag == MANDB_MAP &&
+                   STRNEQ (dir, item->key, strlen (item->key))) {
+                       ret = true;
+                       break;
+               }
+       GL_LIST_FOREACH_END (config);
 
-       for (list = namestore; list; list = list->next)
-               if (list->flag == MANDB_MAP &&
-                   STRNEQ (dir, list->key, strlen (list->key)))
-                       return 1;
-       return 0;
+       return ret;
 }
 
 /* Accept a manpath (not a full pathname to a file) and return an FSSTND 
index 529bfa6..676891b 100644 (file)
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include <stdbool.h>
+
+#include "gl_list.h"
+
 struct locale_bits {
        char *language;
        char *territory;
@@ -36,12 +40,12 @@ extern void free_locale_bits (struct locale_bits *bits);
 extern char *add_nls_manpaths (const char *manpathlist, const char *locales);
 extern char *get_manpath (const char *systems);
 extern char *get_manpath_from_path (const char *path, int mandatory);
-extern void create_pathlist (const char *manp, char **mp);
-extern void free_pathlist (char **mp);
+extern gl_list_t create_pathlist (const char *manp);
+extern void free_pathlist (gl_list_t list);
 extern char *get_mandb_manpath (void);
 extern char *get_catpath (const char *name, int cattype);
-extern int is_global_mandir (const char *dir);
-extern void read_config_file (int optional);
+extern bool is_global_mandir (const char *dir);
+extern void read_config_file (bool optional);
 extern const char *get_def (const char *thing, const char *def);
 extern const char *get_def_user (const char *thing, const char *def);
-extern const char **get_sections (void);
+extern gl_list_t get_sections (void);
index de3a294..97e2737 100644 (file)
@@ -27,6 +27,7 @@
 #include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -51,8 +52,8 @@
 int quiet = 0;
 man_sandbox *sandbox;  /* unused, but needed by libman */
 
-static int cat = 0;
-static int global = 0;
+static bool cat = false;
+static bool global = false;
 static const char *alt_system = "";
 extern char *user_config_file;
 
@@ -75,14 +76,14 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
 {
        switch (key) {
                case 'c':
-                       cat = 1;
+                       cat = true;
                        return 0;
                case 'g':
-                       global = 1;
+                       global = true;
                        quiet = 1;
                        return 0;
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'q':
                        quiet = 1;
index 51f6617..0f4c50e 100644 (file)
@@ -28,6 +28,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -40,6 +41,8 @@
 
 #include "canonicalize.h"
 #include "dirname.h"
+#include "gl_array_list.h"
+#include "gl_xlist.h"
 
 #include "gettext.h"
 #define _(String) gettext (String)
@@ -47,6 +50,7 @@
 #include "manconfig.h"
 
 #include "error.h"
+#include "glcontainers.h"
 #include "pipeline.h"
 #include "decompress.h"
 #include "encodings.h"
@@ -70,8 +74,8 @@ static int check_for_stray (MYDBM_FILE dbf)
 {
        DIR *cdir;
        struct dirent *catlist;
-       char **names;
-       size_t names_len, names_max, i;
+       gl_list_t names;
+       const char *name;
        size_t lenman, lencat;
        int strays = 0;
 
@@ -81,30 +85,24 @@ static int check_for_stray (MYDBM_FILE dbf)
                return 0;
        }
 
-       names_len = 0;
-       names_max = 1024;
-       names = XNMALLOC (names_max, char *);
+       names = new_string_list (GL_ARRAY_LIST, false);
 
        while ((catlist = readdir (cdir)) != NULL) {
                if (*catlist->d_name == '.' && 
                    strlen (catlist->d_name) < (size_t) 3)
                        continue;
-               if (names_len >= names_max) {
-                       names_max *= 2;
-                       names = xnrealloc (names, names_max, sizeof (char *));
-               }
-               names[names_len++] = xstrdup (catlist->d_name);
+               gl_list_add_last (names, xstrdup (catlist->d_name));
        }
        closedir (cdir);
 
-       order_files (catdir, names, names_len);
+       order_files (catdir, &names);
 
        mandir = appendstr (mandir, "/", (void *) 0);
        catdir = appendstr (catdir, "/", (void *) 0);
        lenman = strlen (mandir);
        lencat = strlen (catdir);
 
-       for (i = 0; i < names_len; ++i) {
+       GL_LIST_FOREACH_START (names, name) {
                struct mandata info;
                char *ext, *section;
                short found;
@@ -116,8 +114,8 @@ static int check_for_stray (MYDBM_FILE dbf)
                memset (&info, 0, sizeof (struct mandata));
 
                *(mandir + lenman) = *(catdir + lencat) = '\0';
-               mandir = appendstr (mandir, names[i], (void *) 0);
-               catdir = appendstr (catdir, names[i], (void *) 0);
+               mandir = appendstr (mandir, name, (void *) 0);
+               catdir = appendstr (catdir, name, (void *) 0);
 
                ext = strrchr (mandir, '.');
                if (!ext) {
@@ -126,7 +124,7 @@ static int check_for_stray (MYDBM_FILE dbf)
                                       _("warning: %s: "
                                         "ignoring bogus filename"),
                                       catdir);
-                       goto next_name;
+                       continue;
 
 #if defined(COMP_SRC) || defined(COMP_CAT)
 
@@ -197,13 +195,9 @@ static int check_for_stray (MYDBM_FILE dbf)
                           further */
                        mandir_base = base_name (mandir);
                        exists = dblookup_exact (dbf, mandir_base, info.ext,
-                                                1);
-#ifndef FAVOUR_STRAYCATS
-                       if (exists && exists->id != WHATIS_CAT)
-#else /* FAVOUR_STRAYCATS */
-                       if (exists && exists->id != WHATIS_CAT &&
-                           exists->id != WHATIS_MAN)
-#endif /* !FAVOUR_STRAYCATS */
+                                                true);
+                       if (exists &&
+                           compare_ids (STRAY_CAT, exists->id, 0) >= 0)
                                goto next_exists;
                        debug ("%s(%s) is not in the db.\n",
                               mandir_base, info.ext);
@@ -270,17 +264,14 @@ static int check_for_stray (MYDBM_FILE dbf)
                                if (find_name_decompressed (decomp,
                                                            catdir_base,
                                                            &lg)) {
-                                       struct page_description *descs;
+                                       gl_list_t descs;
                                        strays++;
                                        descs = parse_descriptions
                                                (mandir_base, lg.whatis);
-                                       if (descs) {
-                                               store_descriptions
-                                                       (dbf, descs, &info,
-                                                        NULL, mandir_base,
-                                                        NULL);
-                                               free_descriptions (descs);
-                                       }
+                                       store_descriptions (dbf, descs, &info,
+                                                           NULL, mandir_base,
+                                                           NULL);
+                                       gl_list_free (descs);
                                } else if (quiet < 2)
                                        error (0, 0, _("warning: %s: whatis parse for %s(%s) failed"),
                                               catdir, mandir_base, info.sec);
@@ -295,10 +286,8 @@ next_exists:
                }
 next_section:
                free (section);
-next_name:
-               free (names[i]);
-       }
-       free (names);
+       } GL_LIST_FOREACH_END (names);
+       gl_list_free (names);
        return strays;
 }
 
index 15c2e52..2b0ba27 100644 (file)
@@ -46,6 +46,7 @@
 #include "canonicalize.h"
 #include "dirname.h"
 #include "error.h"
+#include "gl_xlist.h"
 #include "xvasprintf.h"
 
 #include "gettext.h"
@@ -205,43 +206,24 @@ static char *find_include (const char *name, const char *path,
        } else {
                /* Try globbing - the file suffix might be missing. */
                char *temp_file_asterisk = xasprintf ("%s*", temp_file);
-               char **candidate_files = expand_path (temp_file_asterisk);
-               int i;
+               gl_list_t candidate_files = expand_path (temp_file_asterisk);
 
                free (temp_file_asterisk);
-               if (CAN_ACCESS (candidate_files[0], F_OK)) {
-                       free (ret);
-                       ret = canonicalize_file_name (candidate_files[0]);
+               if (gl_list_size (candidate_files)) {
+                       const char *candidate_file = gl_list_get_at
+                               (candidate_files, 0);
+                       if (CAN_ACCESS (candidate_file, F_OK)) {
+                               free (ret);
+                               ret = canonicalize_file_name (candidate_file);
+                       }
                }
-               for (i = 0; candidate_files[i]; i++)
-                       free (candidate_files[i]);
-               free (candidate_files);
+               gl_list_free (candidate_files);
        }
        free (temp_file);
 
        return ret;
 }
 
-static void ult_trace (struct ult_trace *trace, const char *s)
-{
-       if (!trace)
-               return;
-       if (trace->len >= trace->max) {
-               trace->max *= 2;
-               trace->names = xnrealloc (trace->names, trace->max,
-                                         sizeof (char *));
-       }
-       trace->names[trace->len++] = xstrdup (s);
-}
-
-void free_ult_trace (struct ult_trace *trace)
-{
-       size_t i;
-       for (i = 0; i < trace->len; ++i)
-               free (trace->names[i]);
-       free (trace->names);
-}
-
 /*
  * recursive function which finds the ultimate source file by following
  * any ".so filename" directives in the first line of the man pages.
@@ -251,21 +233,15 @@ void free_ult_trace (struct ult_trace *trace)
  * flags is a combination of SO_LINK | SOFT_LINK | HARD_LINK
  */
 const char *ult_src (const char *name, const char *path,
-                    struct stat *buf, int flags, struct ult_trace *trace)
+                    struct stat *buf, int flags, gl_list_t trace)
 {
        static char *base;              /* must be static */
        static short recurse;           /* must be static */
 
        /* initialise the function */
 
-       if (trace) {
-               if (!trace->names) {
-                       trace->len = 0;
-                       trace->max = 16;
-                       trace->names = XNMALLOC (trace->max, char *);
-               }
-               ult_trace (trace, name);
-       }
+       if (trace)
+               gl_list_add_last (trace, name);
 
        /* as ult_softlink() & ult_hardlink() do all of their respective
         * resolving in one call, only need to sort them out once
@@ -400,6 +376,6 @@ const char *ult_src (const char *name, const char *path,
 
        /* We have the ultimate source */
        if (trace)
-               ult_trace (trace, base);
+               gl_list_add_last (trace, base);
        return base;
 }
index 6fad470..857700d 100644 (file)
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include "gl_list.h"
+
 #define SO_LINK                0001
 #define SOFT_LINK      0002
 #define HARD_LINK      0004
 
-/* Trace of the link chain from a given file.  Any names listed here should
- * not have WHATIS_MAN entries created for them.
- */
-struct ult_trace {
-       char **names;
-       size_t len;
-       size_t max;
-};
-
 struct stat;
 
+/* If ult_trace is non-NULL, it should be a gl_list_t of const char * which
+ * ult_src populates with the trace of the link chain from a given file.
+ * Any names listed here should not have WHATIS_MAN entries created for
+ * them.
+ */
 extern const char *ult_src (const char *name, const char *path,
-                           struct stat *buf, int flags,
-                           struct ult_trace *trace);
-extern void free_ult_trace (struct ult_trace *trace);
+                           struct stat *buf, int flags, gl_list_t trace);
index ee43f10..8b64812 100644 (file)
@@ -34,6 +34,7 @@
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
@@ -56,6 +57,9 @@
 
 #include "argp.h"
 #include "dirname.h"
+#include "gl_hash_set.h"
+#include "gl_list.h"
+#include "gl_xset.h"
 #include "fnmatch.h"
 #include "progname.h"
 #include "xvasprintf.h"
 
 #include "cleanup.h"
 #include "error.h"
+#include "glcontainers.h"
 #include "pipeline.h"
 #include "pathsearch.h"
 #include "linelength.h"
-#include "hashtable.h"
-#include "lower.h"
 #include "wordfnmatch.h"
 #include "xregcomp.h"
 #include "encodings.h"
 
 #include "manp.h"
 
-static char *manpathlist[MAXDIRS];
+static gl_list_t manpathlist;
 
 extern char *user_config_file;
 static char **keywords;
 static int num_keywords;
 
-int am_apropos;
+bool am_apropos;
 char *database;
 int quiet = 1;
 man_sandbox *sandbox;
@@ -95,14 +98,14 @@ iconv_t conv_to_locale;
 #endif /* HAVE_ICONV */
 
 static regex_t *preg;  
-static int regex_opt;
-static int exact;
+static bool regex_opt;
+static bool exact;
 
-static int wildcard;
+static bool wildcard;
 
-static int require_all;
+static bool require_all;
 
-static int long_output;
+static bool long_output;
 
 static char **sections;
 
@@ -111,7 +114,7 @@ static const char *alt_systems = "";
 static const char *locale = NULL;
 static char *multiple_locale = NULL, *internal_locale;
 
-static struct hashtable *display_seen = NULL;
+static gl_set_t display_seen = NULL;
 
 const char *argp_program_version; /* initialised in main */
 const char *argp_program_bug_address = PACKAGE_BUGREPORT;
@@ -167,33 +170,33 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
 {
        switch (key) {
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'v':
                        quiet = 0;
                        return 0;
                case 'r':
-                       regex_opt = 1;
+                       regex_opt = true;
                        return 0;
                case 'e':
                        /* Only makes sense for apropos, but has
                         * historically been accepted by whatis anyway.
                         */
-                       regex_opt = 0;
-                       exact = 1;
+                       regex_opt = false;
+                       exact = true;
                        return 0;
                case 'w':
-                       regex_opt = 0;
-                       wildcard = 1;
+                       regex_opt = false;
+                       wildcard = true;
                        return 0;
                case 'a':
                        if (am_apropos)
-                               require_all = 1;
+                               require_all = true;
                        else
                                argp_usage (state);
                        return 0;
                case 'l':
-                       long_output = 1;
+                       long_output = true;
                        return 0;
                case 's':
                        sections = split_sections (arg);
@@ -212,11 +215,11 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                        return 0;
                case 'f':
                        /* helpful override if program name detection fails */
-                       am_apropos = 0;
+                       am_apropos = false;
                        return 0;
                case 'k':
                        /* helpful override if program name detection fails */
-                       am_apropos = 1;
+                       am_apropos = true;
                        return 0;
                case 'h':
                        argp_state_help (state, state->out_stream,
@@ -233,7 +236,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
                        exit (FAIL);
                case ARGP_KEY_SUCCESS:
                        if (am_apropos && !exact && !wildcard)
-                               regex_opt = 1;
+                               regex_opt = true;
                        return 0;
        }
        return ARGP_ERR_UNKNOWN;
@@ -321,7 +324,7 @@ static char *simple_convert (iconv_t conv, char *string)
  * legacy mechanism.
  */
 static void use_grep (const char * const *pages, int num_pages, char *manpath,
-                     int *found)
+                     bool *found)
 {
        char *whatis_file = xasprintf ("%s/whatis", manpath);
 
@@ -361,7 +364,7 @@ static void use_grep (const char * const *pages, int num_pages, char *manpath,
                        grep_pl = pipeline_new_commands (grep_cmd, (void *) 0);
 
                        if (pipeline_run (grep_pl) == 0)
-                               found[i] = 1;
+                               found[i] = true;
 
                        free (anchored_page);
                }
@@ -387,7 +390,7 @@ static struct mandata *resolve_pointers (MYDBM_FILE dbf, struct mandata *info,
         * arbitrary: it's just there to avoid an infinite loop.
         */
        newpage = info->pointer;
-       info = dblookup_exact (dbf, newpage, info->ext, 1);
+       info = dblookup_exact (dbf, newpage, info->ext, true);
        for (rounds = 0; rounds < 10; rounds++) {
                struct mandata *newinfo;
 
@@ -400,7 +403,7 @@ static struct mandata *resolve_pointers (MYDBM_FILE dbf, struct mandata *info,
                     STREQ (info->pointer, newpage)))
                        return info;
 
-               newinfo = dblookup_exact (dbf, info->pointer, info->ext, 1);
+               newinfo = dblookup_exact (dbf, info->pointer, info->ext, true);
                free_mandata_struct (info);
                info = newinfo;
        }
@@ -451,9 +454,9 @@ static void display (MYDBM_FILE dbf, struct mandata *info, const char *page)
                page_name = page;
 
        key = xasprintf ("%s (%s)", page_name, newinfo->ext);
-       if (hashtable_lookup_structure (display_seen, key, strlen (key)))
+       if (gl_set_search (display_seen, key))
                goto out;
-       hashtable_install (display_seen, key, strlen (key), NULL);
+       gl_set_add (display_seen, xstrdup (key));
 
        line_len = get_line_length ();
 
@@ -499,56 +502,45 @@ out:
 static int do_whatis_section (MYDBM_FILE dbf,
                              const char *page, const char *section)
 {
+       gl_list_t infos;
        struct mandata *info;
        int count = 0;
 
-       info = dblookup_all (dbf, page, section, 0);
-       while (info) {
-               struct mandata *pinfo;
-                       
+       infos = dblookup_all (dbf, page, section, false);
+       GL_LIST_FOREACH_START (infos, info) {
                display (dbf, info, page);
                count++;
-               pinfo = info->next;     /* go on to next structure */
-               free_mandata_elements (info);
-               free (info);
-               info = pinfo;
-       }
+       } GL_LIST_FOREACH_END (infos);
+       gl_list_free (infos);
        return count;
 }
 
-static int suitable_manpath (const char *manpath, const char *page_dir)
+static bool suitable_manpath (const char *manpath, const char *page_dir)
 {
        char *page_manp, *pm;
-       char *page_manpathlist[MAXDIRS], **mp;
-       int ret;
+       gl_list_t page_manpathlist;
+       bool ret;
 
        page_manp = get_manpath_from_path (page_dir, 0);
        if (!page_manp || !*page_manp) {
                free (page_manp);
-               return 0;
+               return false;
        }
        pm = locale_manpath (page_manp);
        free (page_manp);
        page_manp = pm;
-       create_pathlist (page_manp, page_manpathlist);
+       page_manpathlist = create_pathlist (page_manp);
 
-       ret = 0;
-       for (mp = page_manpathlist; *mp; ++mp) {
-               if (STREQ (*mp, manpath)) {
-                       ret = 1;
-                       break;
-               }
-       }
+       ret = gl_list_search (page_manpathlist, manpath) ? true : false;
 
-       for (mp = page_manpathlist; *mp; ++mp)
-               free (*mp);
+       free_pathlist (page_manpathlist);
        free (page_manp);
        return ret;
 }
 
 static void do_whatis (MYDBM_FILE dbf,
                       const char * const *pages, int num_pages,
-                      const char *manpath, int *found)
+                      const char *manpath, bool *found)
 {
        int i;
 
@@ -586,39 +578,39 @@ static void do_whatis (MYDBM_FILE dbf,
 
                        for (section = sections; *section; ++section) {
                                if (do_whatis_section (dbf, page, *section))
-                                       found[i] = 1;
+                                       found[i] = true;
                        }
                } else {
                        if (do_whatis_section (dbf, page, NULL))
-                               found[i] = 1;
+                               found[i] = true;
                }
 
                free (page);
        }
 }
 
-static int any_set (int num_pages, int *found_here)
+static bool any_set (int num_pages, bool *found_here)
 {
        int i;
 
        for (i = 0; i < num_pages; ++i)
                if (found_here[i])
-                       return 1;
-       return 0;
+                       return true;
+       return false;
 }
 
-static int all_set (int num_pages, int *found_here)
+static bool all_set (int num_pages, bool *found_here)
 {
        int i;
 
        for (i = 0; i < num_pages; ++i)
                if (!found_here[i])
-                       return 0;
-       return 1;
+                       return false;
+       return true;
 }
 
 static void parse_name (const char * const *pages, int num_pages,
-                       const char *dbname, int *found, int *found_here)
+                       const char *dbname, bool *found, bool *found_here)
 { 
        int i;
 
@@ -626,57 +618,50 @@ static void parse_name (const char * const *pages, int num_pages,
                for (i = 0; i < num_pages; ++i) {
                        if (regexec (&preg[i], dbname, 0,
                                     (regmatch_t *) 0, 0) == 0)
-                               found[i] = found_here[i] = 1;
+                               found[i] = found_here[i] = true;
                }
                return;
        }
 
        if (am_apropos && !wildcard) {
-               char *lowdbname = lower (dbname);
-
                for (i = 0; i < num_pages; ++i) {
-                       if (STREQ (lowdbname, pages[i]))
-                               found[i] = found_here[i] = 1;
+                       if (strcasecmp (dbname, pages[i]) == 0)
+                               found[i] = found_here[i] = true;
                }
-               free (lowdbname);
                return;
        }
 
        for (i = 0; i < num_pages; ++i) {
-               if (fnmatch (pages[i], dbname, 0) == 0)
-                       found[i] = found_here[i] = 1;
+               if (fnmatch (pages[i], dbname, FNM_CASEFOLD) == 0)
+                       found[i] = found_here[i] = true;
        }
 }
 
-/* return 1 on word match */
-static int match (const char *lowpage, const char *whatis)
+/* return true on word match */
+static bool match (const char *page, const char *whatis)
 {
-       char *lowwhatis = lower (whatis);
-       size_t len = strlen (lowpage);
-       char *p, *begin;
+       size_t len = strlen (page);
+       const char *begin;
+       char *p;
 
-       begin = lowwhatis;
+       begin = whatis;
        
        /* check for string match, then see if it is a _word_ */
-       while (lowwhatis && (p = strstr (lowwhatis, lowpage))) {
+       while (whatis && (p = strcasestr (whatis, page))) {
                char *left = p - 1; 
                char *right = p + len;
 
-               if ((p == begin || (!CTYPE (islower, *left) && *left != '_')) &&
-                   (!*right || (!CTYPE (islower, *right) && *right != '_'))) {
-                       free (begin);
-                       return 1;
-               }
-               lowwhatis = p + 1;
+               if ((p == begin || (!CTYPE (isalpha, *left) && *left != '_')) &&
+                   (!*right || (!CTYPE (isalpha, *right) && *right != '_')))
+                       return true;
+               whatis = p + 1;
        }
 
-       free (begin);
-       return 0;
+       return false;
 }
 
-static void parse_whatis (const char * const *pages, char * const *lowpages,
-                         int num_pages, const char *whatis,
-                         int *found, int *found_here)
+static void parse_whatis (const char * const *pages, int num_pages,
+                         const char *whatis, bool *found, bool *found_here)
 { 
        int i;
 
@@ -684,7 +669,7 @@ static void parse_whatis (const char * const *pages, char * const *lowpages,
                for (i = 0; i < num_pages; ++i) {
                        if (regexec (&preg[i], whatis, 0,
                                     (regmatch_t *) 0, 0) == 0)
-                               found[i] = found_here[i] = 1;
+                               found[i] = found_here[i] = true;
                }
                return;
        }
@@ -693,18 +678,18 @@ static void parse_whatis (const char * const *pages, char * const *lowpages,
                for (i = 0; i < num_pages; ++i) {
                        if (exact) {
                                if (fnmatch (pages[i], whatis, 0) == 0)
-                                       found[i] = found_here[i] = 1;
+                                       found[i] = found_here[i] = true;
                        } else {
                                if (word_fnmatch (pages[i], whatis))
-                                       found[i] = found_here[i] = 1;
+                                       found[i] = found_here[i] = true;
                        }
                }
                return;
        }
 
        for (i = 0; i < num_pages; ++i) {
-               if (match (lowpages[i], whatis))
-                       found[i] = found_here[i] = 1;
+               if (match (pages[i], whatis))
+                       found[i] = found_here[i] = true;
        }
 }
 
@@ -715,25 +700,18 @@ static void parse_whatis (const char * const *pages, char * const *lowpages,
 
 /* scan for the page, print any matches */
 static void do_apropos (MYDBM_FILE dbf,
-                       const char * const *pages, int num_pages, int *found)
+                       const char * const *pages, int num_pages, bool *found)
 {
        datum key, cont;
-       char **lowpages;
-       int *found_here;
-       int (*combine) (int, int *);
-       int i;
+       bool *found_here;
+       bool (*combine) (int, bool *);
 #ifndef BTREE
        datum nextkey;
 #else /* BTREE */
        int end;
 #endif /* !BTREE */
 
-       lowpages = XNMALLOC (num_pages, char *);
-       for (i = 0; i < num_pages; ++i) {
-               lowpages[i] = lower (pages[i]);
-               debug ("lower(%s) = \"%s\"\n", pages[i], lowpages[i]);
-       }
-       found_here = XNMALLOC (num_pages, int);
+       found_here = XNMALLOC (num_pages, bool);
        combine = require_all ? all_set : any_set;
 
 #ifndef BTREE
@@ -797,19 +775,17 @@ static void do_apropos (MYDBM_FILE dbf,
                         *tab = '\0';
 
                memset (found_here, 0, num_pages * sizeof (*found_here));
+               parse_name (pages, num_pages,
+                           MYDBM_DPTR (key), found, found_here);
                if (am_apropos) {
                        char *whatis;
 
-                       parse_name ((const char **) lowpages, num_pages,
-                                   MYDBM_DPTR (key), found, found_here);
                        whatis = info.whatis ? xstrdup (info.whatis) : NULL;
                        if (!combine (num_pages, found_here) && whatis)
-                               parse_whatis (pages, lowpages, num_pages,
+                               parse_whatis (pages, num_pages,
                                              whatis, found, found_here);
                        free (whatis);
-               } else
-                       parse_name (pages, num_pages,
-                                   MYDBM_DPTR (key), found, found_here);
+               }
                if (combine (num_pages, found_here))
                        display (dbf, &info, MYDBM_DPTR (key));
 
@@ -831,31 +807,28 @@ nextpage:
        }
 
        free (found_here);
-
-       for (i = 0; i < num_pages; ++i)
-               free (lowpages[i]);
-       free (lowpages);
 }
 
 /* loop through the man paths, searching for a match */
-static int search (const char * const *pages, int num_pages)
+static bool search (const char * const *pages, int num_pages)
 {
-       int *found = XCALLOC (num_pages, int);
-       char *catpath, **mp;
-       int any_found, i;
+       bool *found = XCALLOC (num_pages, bool);
+       char *catpath, *mp;
+       bool any_found;
+       int i;
 
-       for (mp = manpathlist; *mp; mp++) {
+       GL_LIST_FOREACH_START (manpathlist, mp) {
                MYDBM_FILE dbf;
 
-               catpath = get_catpath (*mp, SYSTEM_CAT | USER_CAT);
+               catpath = get_catpath (mp, SYSTEM_CAT | USER_CAT);
                
                if (catpath) {
                        database = mkdbname (catpath);
                        free (catpath);
                } else
-                       database = mkdbname (*mp);
+                       database = mkdbname (mp);
 
-               debug ("path=%s\n", *mp);
+               debug ("path=%s\n", mp);
 
                dbf = MYDBM_RDOPEN (database);
                if (dbf && dbver_rd (dbf)) {
@@ -863,7 +836,7 @@ static int search (const char * const *pages, int num_pages)
                        dbf = NULL;
                }
                if (!dbf) {
-                       use_grep (pages, num_pages, *mp, found);
+                       use_grep (pages, num_pages, mp, found);
                        continue;
                }
 
@@ -873,19 +846,19 @@ static int search (const char * const *pages, int num_pages)
                        if (regex_opt || wildcard)
                                do_apropos (dbf, pages, num_pages, found);
                        else
-                               do_whatis (dbf, pages, num_pages, *mp, found);
+                               do_whatis (dbf, pages, num_pages, mp, found);
                }
                free (database);
                database = NULL;
                MYDBM_CLOSE (dbf);
-       }
+       } GL_LIST_FOREACH_END (manpathlist);
 
        chkr_garbage_detector ();
 
-       any_found = 0;
+       any_found = false;
        for (i = 0; i < num_pages; ++i) {
                if (found[i])
-                       any_found = 1;
+                       any_found = true;
                else
                        fprintf (stderr, _("%s: nothing appropriate.\n"),
                                 pages[i]);
@@ -906,11 +879,11 @@ int main (int argc, char *argv[])
        set_program_name (argv[0]);
        program_base_name = base_name (program_name);
        if (STREQ (program_base_name, APROPOS_NAME)) {
-               am_apropos = 1;
+               am_apropos = true;
                argp_program_version = "apropos " PACKAGE_VERSION;
        } else {
                struct argp_option *optionp;
-               am_apropos = 0;
+               am_apropos = false;
                argp_program_version = "whatis " PACKAGE_VERSION;
                for (optionp = (struct argp_option *) whatis_argp.options;
                     optionp->name || optionp->key || optionp->arg ||
@@ -969,9 +942,9 @@ int main (int argc, char *argv[])
        else
                free (get_manpath (NULL));
 
-       create_pathlist (manp, manpathlist);
+       manpathlist = create_pathlist (manp);
 
-       display_seen = hashtable_create (&null_hashtable_free);
+       display_seen = new_string_set (GL_HASH_SET);
 
 #ifdef HAVE_ICONV
        locale_charset = xasprintf ("%s//IGNORE", get_locale_charset ());
@@ -1001,9 +974,10 @@ int main (int argc, char *argv[])
        if (conv_to_locale != (iconv_t) -1)
                iconv_close (conv_to_locale);
 #endif /* HAVE_ICONV */
-       hashtable_free (display_seen);
+       gl_set_free (display_seen);
        free_pathlist (manpathlist);
        free (manp);
        free (internal_locale);
+       sandbox_free (sandbox);
        exit (status);
 }
index f17c08e..4aaf53d 100644 (file)
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-int zsoelim_open_file (const char *filename, char * const *manpathlist,
+#include "gl_list.h"
+
+int zsoelim_open_file (const char *filename, gl_list_t manpathlist,
                       const char *parent_path);
-void zsoelim_parse_file (char * const *manpathlist, const char *parent_path);
+void zsoelim_parse_file (gl_list_t manpathlist, const char *parent_path);
 
 struct zsoelim_stdin_data;
 
 void zsoelim_stdin (void *data);
 struct zsoelim_stdin_data *zsoelim_stdin_data_new (const char *path,
-                                                  char * const *manpathlist);
+                                                  gl_list_t manpathlist);
 void zsoelim_stdin_data_free (void *data);
index b3dc780..346dfbd 100644 (file)
@@ -59,6 +59,8 @@
 #define PIPE   so_pipe[so_stack_ptr]
 
 #include "dirname.h"
+#include "gl_linkedhash_list.h"
+#include "gl_xlist.h"
 #include "xgetcwd.h"
 #include "xvasprintf.h"
 
@@ -69,6 +71,7 @@
 #include "manconfig.h"
 
 #include "error.h"
+#include "glcontainers.h"
 #include "pipeline.h"
 #include "decompress.h"
 
@@ -88,12 +91,12 @@ static int so_line[MAX_SO_DEPTH];
 static pipeline *so_pipe[MAX_SO_DEPTH];
 static int so_stack_ptr;
 static int no_newline;
-static char * const *so_manpathlist;
+static gl_list_t so_manpathlist;
 static const char *so_parent_path;
 
 struct zsoelim_stdin_data {
        char *path;
-       char * const *manpathlist;
+       gl_list_t manpathlist;
 };
 
 /* The flex documentation says that yyin is only used by YY_INPUT, so we
@@ -286,7 +289,6 @@ W   [ \t]
                PIPE = NULL;
                free (NAME);
                NAME = NULL;
-               so_manpathlist = NULL;
 
                if (no_newline)
                        putchar ('\n');
@@ -320,7 +322,7 @@ static void zap_quotes (void)
 #endif
 
 /* initialise the stack and call the parser */
-void zsoelim_parse_file (char * const *manpathlist, const char *parent_path)
+void zsoelim_parse_file (gl_list_t manpathlist, const char *parent_path)
 {
 #ifdef PP_COOKIE
        const char *line;
@@ -377,11 +379,10 @@ static pipeline *try_compressed (char **filename)
 
 /* This routine is used to open the specified file or uncompress a compressed
    version and open that instead */
-int zsoelim_open_file (const char *filename, char * const *manpathlist,
+int zsoelim_open_file (const char *filename, gl_list_t manpathlist,
                       const char *parent_path)
 {
        pipeline *decomp;
-       char * const *mp;
 
        if (parent_path)
                debug ("opening %s (parent path: %s)\n",
@@ -394,6 +395,7 @@ int zsoelim_open_file (const char *filename, char * const *manpathlist,
                NAME = xstrdup (filename);
        } else {
                char *compfile;
+               const char *mp;
 
                /* If there is no parent path, try opening directly first. */
                if (!parent_path) {
@@ -407,7 +409,7 @@ int zsoelim_open_file (const char *filename, char * const *manpathlist,
                                free (compfile);
                }
 
-               if (manpathlist && strchr (filename, '/')) {
+               if (strchr (filename, '/')) {
                        /* File name with a directory part.  Try looking it
                         * up within each manpath entry.
                         */
@@ -424,11 +426,11 @@ int zsoelim_open_file (const char *filename, char * const *manpathlist,
                                free (compfile);
                        }
 
-                       for (mp = manpathlist; *mp; ++mp) {
-                               if (parent_path && STREQ (*mp, parent_path))
+                       GL_LIST_FOREACH_START (manpathlist, mp) {
+                               if (parent_path && STREQ (mp, parent_path))
                                        continue;
 
-                               compfile = xasprintf ("%s/%s.", *mp, filename);
+                               compfile = xasprintf ("%s/%s.", mp, filename);
 
                                decomp = try_compressed (&compfile);
                                if (decomp) {
@@ -437,14 +439,14 @@ int zsoelim_open_file (const char *filename, char * const *manpathlist,
                                }
 
                                free (compfile);
-                       }
-               } else if (manpathlist) {
+                       } GL_LIST_FOREACH_END (manpathlist);
+               } else {
                        /* File name with no directory part.  Try searching
                         * the manpath.
                         */
                        char *name, *sec, *dot;
-                       char **names;
-                       char **np;
+                       gl_list_t names;
+                       const char *found_name;
 
                        name = xstrdup (filename);
                        dot = strchr (name, '.');
@@ -461,29 +463,34 @@ int zsoelim_open_file (const char *filename, char * const *manpathlist,
                        if (parent_path) {
                                names = look_for_file (parent_path, sec, name,
                                                       0, LFF_MATCHCASE);
-                               for (np = names; np && *np; ++np) {
-                                       decomp = decompress_open (*np);
+                               GL_LIST_FOREACH_START (names, found_name) {
+                                       decomp = decompress_open (found_name);
                                        if (decomp) {
-                                               NAME = xstrdup (*np);
+                                               NAME = xstrdup (found_name);
+                                               gl_list_free (names);
                                                goto out;
                                        }
-                               }
+                               } GL_LIST_FOREACH_END (names);
+                               gl_list_free (names);
                        }
 
-                       for (mp = manpathlist; *mp; ++mp) {
-                               if (parent_path && STREQ (*mp, parent_path))
+                       GL_LIST_FOREACH_START (manpathlist, mp) {
+                               if (parent_path && STREQ (mp, parent_path))
                                        continue;
 
-                               names = look_for_file (*mp, sec, name,
+                               names = look_for_file (mp, sec, name,
                                                       0, LFF_MATCHCASE);
-                               for (np = names; np && *np; ++np) {
-                                       decomp = decompress_open (*np);
+                               GL_LIST_FOREACH_START (names, found_name) {
+                                       decomp = decompress_open (found_name);
                                        if (decomp) {
-                                               NAME = xstrdup (*np);
+                                               NAME = xstrdup (found_name);
+                                               gl_list_free (names);
+                                               free (name);
                                                goto out;
                                        }
-                               }
-                       }
+                               } GL_LIST_FOREACH_END (names);
+                               gl_list_free (names);
+                       } GL_LIST_FOREACH_END (manpathlist);
 
                        free (name);
                }
@@ -520,13 +527,17 @@ out:
 void zsoelim_stdin (void *data)
 {
        struct zsoelim_stdin_data *zsoelim_data = data;
+       gl_list_t empty;
 
-       zsoelim_open_file ("-", NULL, zsoelim_data->path);
+       empty = gl_list_create_empty (GL_LINKEDHASH_LIST, NULL, NULL, NULL,
+                                     true);
+       zsoelim_open_file ("-", empty, zsoelim_data->path);
+       gl_list_free (empty);
        zsoelim_parse_file (zsoelim_data->manpathlist, zsoelim_data->path);
 }
 
 struct zsoelim_stdin_data *zsoelim_stdin_data_new (const char *path,
-                                                  char * const *manpathlist)
+                                                  gl_list_t manpathlist)
 {
        struct zsoelim_stdin_data *data = XMALLOC (struct zsoelim_stdin_data);
 
index ef6d1b6..da0b0fa 100644 (file)
 #  include "config.h"
 #endif /* HAVE_CONFIG_H */
 
+#include <stdbool.h>
 #include <stdlib.h>
 
 #include "argp.h"
+#include "gl_list.h"
 #include "progname.h"
 #include "xvasprintf.h"
 
@@ -52,7 +54,7 @@
 int quiet = 1;
 man_sandbox *sandbox;
 
-static char *manpathlist[MAXDIRS];
+static gl_list_t manpathlist;
 
 static char **files;
 static int num_files;
@@ -75,7 +77,7 @@ static error_t parse_opt (int key, char *arg ATTRIBUTE_UNUSED,
 {
        switch (key) {
                case 'd':
-                       debug_level = 1;
+                       debug_level = true;
                        return 0;
                case 'C':
                        return 0; /* compatibility with GNU soelim */
@@ -140,7 +142,7 @@ int main (int argc, char *argv[])
        manp = add_nls_manpaths (get_manpath (NULL), all_locales);
        free (all_locales);
 
-       create_pathlist (manp, manpathlist);
+       manpathlist = create_pathlist (manp);
 
        /* parse files in command line order */
        for (i = 0; i < num_files; ++i) {
@@ -152,6 +154,7 @@ int main (int argc, char *argv[])
        free_pathlist (manpathlist);
        free (manp);
        free (internal_locale);
+       sandbox_free (sandbox);
 
        return OK;
 }