]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20180928 snapshot
authorChet Ramey <chet.ramey@case.edu>
Mon, 1 Oct 2018 20:19:21 +0000 (16:19 -0400)
committerChet Ramey <chet.ramey@case.edu>
Mon, 1 Oct 2018 20:19:21 +0000 (16:19 -0400)
22 files changed:
CWRU/CWRU.chlog
MANIFEST
arrayfunc.c
arrayfunc.h
bashhist.h
bashline.c
builtins/printf.def
builtins/read.def
builtins/set.def
builtins/shopt.def
config-top.h
doc/bash.1
doc/bashref.texi
doc/version.texi
lib/readline/display.c
lib/readline/input.c
po/bg.po
subst.c
tests/RUN-ONE-TEST
tests/array.right
tests/array.tests
tests/array27.sub [new file with mode: 0644]

index 9b411680c19c739707bad1a43dcbe07b997a3708..7624fc0719109a137bfa957a05b5b99b949ffe96 100644 (file)
@@ -4443,3 +4443,52 @@ arrayfunc.c
          `normal' keys for associative arrays and evaluate to 0 for indexed
          arrays. More of fix for report from Grisha Levit
          <grishalevit@gmail.com>
+
+                                  9/24
+                                  ----
+bashline.c
+       - restore_tilde: if the expanded length (xl) is longer than vl
+         we end up requesting a negative amount of memory (an extremely
+         large unsigned number). Just punt and return val in this case.
+         Fuzzing bug reported by Eduardo Bustamante <dualbus@gmail.com>
+       - restore_tilde: make sure we return what the user typed if tilde
+         expansion fails
+
+                                  9/29
+                                  ----
+builtins/shopt.def
+       - uncomment `localvar_unset' option definition
+
+doc/{bash.1,bashref.texi}
+       - document `localvar_unset' shell option
+
+arrayfunc.c
+       - valid_array_reference: if we are parsing a subscript for an existing
+         associative array, the `assoc_expand_once' option is set, and the
+         VA_ONEWORD flag is set in FLAGS (meaning there should be nothing
+         following the closing `]'), don't call skipsubscript to find the
+         closing `]', use one that is at the end of the word. Part of fix for
+         issue reported by Grisha Levit <grishalevit@gmail.com>
+
+builtins/{printf,set}.def
+       - pass VA_ONEWORD as part of flags value everywhere valid_array_reference
+         is used
+
+config-top.h
+       - CHECKWINSIZE_DEFAULT: now 1, so check_window_size is on by default
+       - HISTEXPAND_DEFAULT: new define, allows builder to enable or disable
+         history expansion by default at build time
+
+doc/{bash.1,bashref.texi}
+       - checkwinsize: document new default value
+
+bashhist.h
+       - HISTEXPAND_DEFAULT: don't define if it's already defined. Strict
+         POSIX mode continues to default to off
+
+                                  9/30
+                                  ----
+lib/readline/input.c
+       - win32_isatty: win32-specific changes from GDB. Patch submitted by
+         Tom Tromey <tom@tromey.com>, originally from Eli Zaretskii
+         <eliz@gnu.org>
index 2b267561b6a098574b0bc81726c6ce32840f22ca..a5875966b97f6632fac0324dc52462c2cdc3442a 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -870,6 +870,7 @@ tests/array23.sub   f
 tests/array24.sub      f
 tests/array25.sub      f
 tests/array26.sub      f
+tests/array27.sub      f
 tests/array-at-star    f
 tests/array2.right     f
 tests/assoc.tests      f
index 9905b44d52edeafa57a7591e901f146f1338b238..8f4719d07dde5a84ad8a812926a182f39d3e3815 100644 (file)
@@ -890,31 +890,38 @@ print_assoc_assignment (var, quoted)
 /***********************************************************************/
 
 /* Return 1 if NAME is a properly-formed array reference v[sub]. */
+
+/* We need to reserve 1 for FLAGS, which we pass to skipsubscript. */
 int
 valid_array_reference (name, flags)
      const char *name;
      int flags;
 {
   char *t;
-  int r, len;
+  int r, len, isassoc;
+  SHELL_VAR *entry;
 
   t = mbschr (name, '[');      /* ] */
   if (t)
     {
       *t = '\0';
       r = legal_identifier (name);
+      isassoc = (entry = find_variable (name)) && assoc_p (entry);      
       *t = '[';
       if (r == 0)
        return 0;
-      /* Check for a properly-terminated non-null subscript. */
-      len = skipsubscript (t, 0, flags);
-      if (t[len] != ']' || len == 1)
-       return 0;
-      if (t[len+1] != '\0')
+
+      if (isassoc && ((flags & (VA_NOEXPAND|VA_ONEWORD)) == (VA_NOEXPAND|VA_ONEWORD)))
+       len = strlen (t) - 1;
+      else
+       /* Check for a properly-terminated non-null subscript. */
+       len = skipsubscript (t, 0, flags&VA_NOEXPAND);  /* VA_NOEXPAND must be 1 */
+      if (t[len] != ']' || len == 1 || t[len+1] != '\0')
        return 0;
+
 #if 0
       /* Could check and allow subscripts consisting only of whitespace for
-        existing associative arrays. */
+        existing associative arrays, using isassoc */
       for (r = 1; r < len; r++)
        if (whitespace (t[r]) == 0)
          return 1;
index 199c8127e19ce351346a833fbeaf796e937e4c40..cd51ee073c0cc59b44d9f8e98863efe11baeb3c8 100644 (file)
@@ -40,6 +40,10 @@ extern int array_expand_once;
 #define AV_ASSIGNRHS   0x010   /* no splitting, special case ${a[@]} */
 #define AV_NOEXPAND    0x020   /* don't run assoc subscripts through word expansion */
 
+/* Flags for valid_array_reference. Value 1 is reserved for skipsubscript() */
+#define VA_NOEXPAND    0x001
+#define VA_ONEWORD     0x002
+
 extern SHELL_VAR *convert_var_to_array __P((SHELL_VAR *));
 extern SHELL_VAR *convert_var_to_assoc __P((SHELL_VAR *));
 
@@ -83,6 +87,8 @@ extern SHELL_VAR *array_variable_part __P((const char *, int, char **, int *));
 #define AV_USEIND      0
 #define AV_ASSIGNRHS   0
 
+#define VA_ONEWORD     0
+
 #endif
 
 #endif /* !_ARRAYFUNC_H_ */
index 128b36f9502080dfc01038abccde7bbe87129a31..90ecec9e92551b113a314cdb1bd0c9789b34c30b 100644 (file)
 #define HC_IGNBOTH     (HC_IGNSPACE|HC_IGNDUPS)
 
 #if defined (STRICT_POSIX)
+#  undef HISTEXPAND_DEFAULT
 #  define HISTEXPAND_DEFAULT   0
 #else
-#  define HISTEXPAND_DEFAULT   1
+#  if !defined (HISTEXPAND_DEFAULT)
+#    define HISTEXPAND_DEFAULT 1
+#  endif /* !HISTEXPAND_DEFAULT */
 #endif
 
 extern int remember_on_history;
index 2b080197eb476f82ea278ec5f72ffc4b14c8eea3..0d39714f95c7204b945ae5ea5eaa43eacf1ebd34 100644 (file)
@@ -2988,7 +2988,7 @@ restore_tilde (val, directory_part)
      char *val, *directory_part;
 {
   int l, vl, dl2, xl;
-  char *dh2, *expdir, *ret;
+  char *dh2, *expdir, *ret, *v;
 
   vl = strlen (val);
 
@@ -3000,6 +3000,22 @@ restore_tilde (val, directory_part)
 
   expdir = bash_tilde_expand (directory_part, 0);
   xl = strlen (expdir);
+  if (*directory_part == '~' && STREQ (directory_part, expdir))
+    {
+      /* tilde expansion failed, so what should we return? we use what the
+        user typed. */
+      v = mbschr (val, '/');
+      vl = STRLEN (v);
+      ret = (char *)xmalloc (xl + vl + 2);
+      strcpy (ret, directory_part);
+      if (v && *v)
+       strcpy (ret + xl, v);
+
+      free (dh2);
+      free (expdir);
+
+      return ret;
+    }
   free (expdir);
 
   /*
@@ -3010,6 +3026,11 @@ restore_tilde (val, directory_part)
      l = length of remainder after tilde-prefix
   */
   l = (vl - xl) + 1;
+  if (l <= 0)
+    {
+      free (dh2);
+      return (savestring (val));               /* XXX - just punt */
+    }
 
   ret = (char *)xmalloc (dl2 + 2 + l);
   strcpy (ret, dh2);
index 1f76c25f7dc8d7860f18574e0ac38527ece135e8..bc6ef57deca1a495485242d71bdc83d3d3b5efe0 100644 (file)
@@ -247,6 +247,9 @@ printf_builtin (list)
   char mbch[25];               /* 25 > MB_LEN_MAX, plus can handle 4-byte UTF-8 and large Unicode characters*/
   int mbind, mblen;
 #endif
+#if defined (ARRAY_VARS)
+  int arrayflags;
+#endif
 
   conversion_error = 0;
   retval = EXECUTION_SUCCESS;
@@ -261,7 +264,8 @@ printf_builtin (list)
        case 'v':
          vname = list_optarg;
 #if defined (ARRAY_VARS)
-         if (legal_identifier (vname) || valid_array_reference (vname, assoc_expand_once))
+         arrayflags = assoc_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0;
+         if (legal_identifier (vname) || valid_array_reference (vname, arrayflags))
 #else
          if (legal_identifier (vname))
 #endif
@@ -1277,7 +1281,7 @@ bind_printf_variable (name, value, flags)
   SHELL_VAR *v;
 
 #if defined (ARRAY_VARS)
-  if (valid_array_reference (name, assoc_expand_once) == 0)
+  if (valid_array_reference (name, assoc_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0) == 0)
     v = bind_variable (name, value, flags);
   else
     v = assign_array_element (name, value, flags | (assoc_expand_once ? ASS_NOEXPAND : 0));
index a73905c374e0bb166008a3211e16d701b0342a03..b57c8c398e18f4ffd1de627274cc24e80c834b9d 100644 (file)
@@ -179,7 +179,8 @@ read_builtin (list)
   int size, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2, nflag;
   volatile int i;
   int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul;
-  int raw, edit, nchars, silent, have_timeout, ignore_delim, fd, lastsig, t_errno;
+  int raw, edit, nchars, silent, have_timeout, ignore_delim, fd;
+  int lastsig, t_errno;
   int mb_cur_max;
   unsigned int tmsec, tmusec;
   long ival, uval;
@@ -192,6 +193,7 @@ read_builtin (list)
   TTYSTRUCT ttattrs, ttset;
 #if defined (ARRAY_VARS)
   WORD_LIST *alist;
+  int vflags;
 #endif
 #if defined (READLINE)
   char *rlbuf, *itext;
@@ -336,7 +338,8 @@ read_builtin (list)
   /* Convenience: check early whether or not the first of possibly several
      variable names is a valid identifier, and bail early if so. */
 #if defined (ARRAY_VARS)
-  if (list && legal_identifier (list->word->word) == 0 && valid_array_reference (list->word->word, assoc_expand_once) == 0)
+  vflags = assoc_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0;
+  if (list && legal_identifier (list->word->word) == 0 && valid_array_reference (list->word->word, vflags) == 0)
 #else
   if (list && legal_identifier (list->word->word) == 0)
 #endif
@@ -853,7 +856,7 @@ assign_vars:
     {
       varname = list->word->word;
 #if defined (ARRAY_VARS)
-      if (legal_identifier (varname) == 0 && valid_array_reference (varname, assoc_expand_once) == 0)
+      if (legal_identifier (varname) == 0 && valid_array_reference (varname, vflags) == 0)
 #else
       if (legal_identifier (varname) == 0)
 #endif
@@ -901,7 +904,7 @@ assign_vars:
 
   /* Now assign the rest of the line to the last variable argument. */
 #if defined (ARRAY_VARS)
-  if (legal_identifier (list->word->word) == 0 && valid_array_reference (list->word->word, assoc_expand_once) == 0)
+  if (legal_identifier (list->word->word) == 0 && valid_array_reference (list->word->word, vflags) == 0)
 #else
   if (legal_identifier (list->word->word) == 0)
 #endif
@@ -964,7 +967,7 @@ bind_read_variable (name, value)
   SHELL_VAR *v;
 
 #if defined (ARRAY_VARS)
-  if (valid_array_reference (name, assoc_expand_once) == 0)
+  if (valid_array_reference (name, assoc_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0) == 0)
     v = bind_variable (name, value, 0);
   else
     v = assign_array_element (name, value, assoc_expand_once ? ASS_NOEXPAND : 0);
index 3c25e3a25a07c0b27bdbf18ee494f58c7defee0c..d99e096ad8ee2993988dfda1dd9e27c9acbc3d6d 100644 (file)
@@ -800,7 +800,7 @@ unset_builtin (list)
   WORD_LIST *list;
 {
   int unset_function, unset_variable, unset_array, opt, nameref, any_failed;
-  int global_unset_func, global_unset_var;
+  int global_unset_func, global_unset_var, vflags;
   char *name, *tname;
 
   unset_function = unset_variable = unset_array = nameref = any_failed = 0;
@@ -837,6 +837,10 @@ unset_builtin (list)
   else if (unset_function && nameref)
     nameref = 0;
 
+#if defined (ARRAY_VARS)
+  vflags = assoc_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0;
+#endif
+
   while (list)
     {
       SHELL_VAR *var;
@@ -852,7 +856,8 @@ unset_builtin (list)
 
 #if defined (ARRAY_VARS)
       unset_array = 0;
-      if (!unset_function && nameref == 0 && valid_array_reference (name, assoc_expand_once))  /* XXX valid array reference second arg was 0 */
+      /* XXX valid array reference second arg was 0 */
+      if (!unset_function && nameref == 0 && valid_array_reference (name, vflags))
        {
          t = strchr (name, '[');
          *t++ = '\0';
@@ -909,7 +914,7 @@ unset_builtin (list)
       if (var && unset_array)
        {
          /* Let unbind_array_element decide what to do with non-array vars */
-         tem = unbind_array_element (var, t, assoc_expand_once);       /* XXX new third arg */
+         tem = unbind_array_element (var, t, vflags);  /* XXX new third arg */
          if (tem == -2 && array_p (var) == 0 && assoc_p (var) == 0)
            {
              builtin_error (_("%s: not an array variable"), var->name);
@@ -932,7 +937,7 @@ unset_builtin (list)
                {
                  tname = savestring (nameref_cell (var));
                  if (var = array_variable_part (tname, 0, &t, (int *)0))
-                   tem = unbind_array_element (var, t, assoc_expand_once);     /* XXX new third arg */
+                   tem = unbind_array_element (var, t, vflags);        /* XXX new third arg */
                  free (tname);
                }
              else
index d76b86697290bd1e5a4676792d459312561fee71..b1dc5e0ebbf777a523ec52b9639ce968238d00f9 100644 (file)
@@ -1,7 +1,7 @@
 This file is shopt.def, from which is created shopt.c.
 It implements the Bash `shopt' builtin.
 
-Copyright (C) 1994-2016 Free Software Foundation, Inc.
+Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -220,9 +220,7 @@ static struct {
   { "lithist", &literal_history, (shopt_set_func_t *)NULL },
 #endif
   { "localvar_inherit", &localvar_inherit, (shopt_set_func_t *)NULL },
-#if 0 /* bash-5.0-beta */
   { "localvar_unset", &localvar_unset, (shopt_set_func_t *)NULL },
-#endif
   { "login_shell", &shopt_login_shell, set_login_shell },
   { "mailwarn", &mail_warning, (shopt_set_func_t *)NULL },
 #if defined (READLINE)
index b1ed925f1c3910c94d09e2095ec14ec43110bbcc..9b345507d9054006c83432644beaf2fb08c392b1 100644 (file)
 
 /* Define to 0 if you want the checkwinsize option off by default, 1 if you
    want it on. */
-#define CHECKWINSIZE_DEFAULT   0
+#define CHECKWINSIZE_DEFAULT   1
 
 /* Define to 1 if you want to optimize for sequential array assignment when
    using indexed arrays, 0 if you want bash-4.2 behavior, which favors
 /* Define to set the initial size of the history list ($HISTSIZE). This must
    be a string. */
 /*#define HISTSIZE_DEFAULT "500"*/
+
+/* Define to 0 if you want history expansion to be disabled by default in
+   interactive shells; define to 1 for the historical behavior of enabling
+   when the shell is interactive. */
+#define HISTEXPAND_DEFAULT     1
index 9561ed87a855fea6ca3e7e78ec547ae193e5a172..5be92a52ad9b440885df8e9a010350d4f8e5db6f 100644 (file)
@@ -5,12 +5,12 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Tue Aug  7 12:01:07 EDT 2018
+.\"    Last Change: Sat Sep 29 13:38:24 EDT 2018
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2018 August 7" "GNU Bash 5.0"
+.TH BASH 1 "2018 September 29" "GNU Bash 5.0"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -4409,12 +4409,12 @@ The levels are listed in order of decreasing precedence.
 .B \fIid\fP++ \fIid\fP\-\-
 variable post-increment and post-decrement
 .TP
-.B ++\fIid\fP \-\-\fIid\fP
-variable pre-increment and pre-decrement
-.TP
 .B \- +
 unary minus and plus
 .TP
+.B ++\fIid\fP \-\-\fIid\fP
+variable pre-increment and pre-decrement
+.TP
 .B ! ~
 logical and bitwise negation
 .TP
@@ -9806,6 +9806,7 @@ command and, if necessary, updates the values of
 and
 .SM
 .BR COLUMNS .
+This option is enabled by default.
 .TP 8
 .B cmdhist
 If set,
@@ -10105,6 +10106,12 @@ If set, local variables inherit the value and attributes of a variable of
 the same name that exists at a previous scope before any new value is
 assigned.  The nameref attribute is not inherited.
 .TP 8
+.B localvar_unset
+If set, calling \fBunset\fP on local variables in previous function scopes
+marks them so subsequent lookups find them unset until that function
+returns. This is identical to the behavior of unsetting local variables
+at the current function scope.
+.TP 8
 .B login_shell
 The shell sets this option if it is started as a login shell (see
 .SM
index cb67c8a255b0d7d1aafba6f9d3409da079c13e50..451208c768aa664d82149fe09e36cb0248897eec 100644 (file)
@@ -5171,6 +5171,7 @@ The shell always postpones exiting if any jobs are stopped.
 If set, Bash checks the window size after each external (non-builtin)
 command and, if necessary, updates the values of    
 @env{LINES} and @env{COLUMNS}.
+This option is enabled by default.
 
 @item cmdhist
 If set, Bash
@@ -5409,6 +5410,12 @@ If set, local variables inherit the value and attributes of a variable of
 the same name that exists at a previous scope before any new value is
 assigned.  The @var{nameref} attribute is not inherited.
 
+@item localvar_unset
+If set, calling @code{unset} on local variables in previous function scopes
+marks them so subsequent lookups find them unset until that function
+returns. This is identical to the behavior of unsetting local variables
+at the current function scope.
+
 @item login_shell
 The shell sets this option if it is started as a login shell
 (@pxref{Invoking Bash}).
index 7df19724ec3d9a9c0a9b3479d94e80740405ddbc..68440ea83d2019420a45d8ce71d2980bca27279a 100644 (file)
@@ -2,10 +2,10 @@
 Copyright (C) 1988-2018 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Tue Aug  7 12:01:22 EDT 2018
+@set LASTCHANGE Sat Sep 29 13:41:44 EDT 2018
 
 @set EDITION 5.0
 @set VERSION 5.0
 
-@set UPDATED 7 August 2018
-@set UPDATED-MONTH August 2018
+@set UPDATED 29 September 2018
+@set UPDATED-MONTH September 2018
index b2ed115417f4f0be4cca21ec0c3d34202a4edbce..4c6cc00ea4929ff5f799af2171418c67fe5a2a19 100644 (file)
@@ -2873,14 +2873,14 @@ space_to_eol (int count)
 void
 _rl_clear_screen (void)
 {
-#ifndef __DJGPP__
+#if defined (__DJGPP__)
+  ScreenClear ();
+  ScreenSetCursor (0, 0);
+#else
   if (_rl_term_clrpag)
     tputs (_rl_term_clrpag, 1, _rl_output_character_function);
   else
     rl_crlf ();
-#else
-  ScreenClear ();
-  ScreenSetCursor (0, 0);
 #endif /* __DJGPP__ */
 }
 
index 00916456e5d560e40f73db11966f464d0d60b9fd..d4d57a810a40b33e16bf42aa8e6953f64ccfd325 100644 (file)
@@ -102,15 +102,29 @@ static int rl_gather_tyi PARAMS((void));
 /* Windows isatty returns true for every character device, including the null
    device, so we need to perform additional checks. */
 #if defined (_WIN32) && !defined (__CYGWIN__)
-#include <conio.h>
 #include <io.h>
+#include <conio.h>
 #define WIN32_LEAN_AND_MEAN 1
 #include <windows.h>
 
 int
 win32_isatty (int fd)
 {
-  return (_isatty (fd) ? ((((long) (HANDLE) _get_osfhandle (fd)) & 3) == 3) : 0);
+  if (_isatty(fd))
+    {
+      HANDLE h;
+      DWORD ignored;
+
+      if ((h = (HANDLE) _get_osfhandle (fd)) == INVALID_HANDLE_VALUE)
+       {
+         errno = EBADF;
+         return 0;
+       }
+      if (GetConsoleMode (h, &ignored) != 0)
+       return 1;
+    }
+  errno = ENOTTY;
+  return 0;
 }
 
 #define isatty(x)      win32_isatty(x)
index db2e8bf31eb4dbd661426bccf13e23a576c04e7d..426bd5e2a807f5fcc16aba0a8d7f3b89a052d4ff 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,136 +7,132 @@ msgid ""
 msgstr ""
 "Project-Id-Version: bash-4.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-04-27 14:15-0400\n"
-"PO-Revision-Date: 2016-09-24 10:03+0300\n"
+"POT-Creation-Date: 2016-09-10 12:42-0400\n"
+"PO-Revision-Date: 2018-09-28 08:49+0200\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@ludost.net>\n"
+"Language: bg\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: bg\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: arrayfunc.c:58
+#: arrayfunc.c:54
 msgid "bad array subscript"
 msgstr "грешен индекс на масив"
 
-#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
-#: variables.c:2922
+#: arrayfunc.c:368 builtins/declare.def:574 variables.c:2092 variables.c:2118
+#: variables.c:2730
 #, c-format
 msgid "%s: removing nameref attribute"
 msgstr "%s: изтриване на атрибута за указател от променливата"
 
-#: arrayfunc.c:398 builtins/declare.def:831
+#: arrayfunc.c:393 builtins/declare.def:780
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: масивът не може да бъде преобразуван към речник"
 
-#: arrayfunc.c:582
+#: arrayfunc.c:578
 #, c-format
 msgid "%s: invalid associative array key"
 msgstr "%s: грешно име на ключ в речник"
 
-#: arrayfunc.c:584
+#: arrayfunc.c:580
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: не може да се присвоява на нецифров индекс"
 
-#: arrayfunc.c:629
+#: arrayfunc.c:625
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: при присвояване към речник трябва да се използва индекс"
 
-#: bashhist.c:436
+#: bashhist.c:421
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: не може да се създаде: %s"
 
-#: bashline.c:4111
+#: bashline.c:4091
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr ""
 "изпълнение на команда на Юникс от bash: не може да се открие подредбата на\n"
 "функциите на клавишите за командата"
 
-#: bashline.c:4221
+#: bashline.c:4189
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: първият непразен знак не е „\"“"
 
-#: bashline.c:4250
+#: bashline.c:4218
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "в %2$s липсва затварящ знак „%1$c“"
 
-#: bashline.c:4284
+#: bashline.c:4252
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: разделителят „:“ липсва"
 
-#: braces.c:331
+#: braces.c:329
 #, c-format
 msgid "brace expansion: cannot allocate memory for %s"
-msgstr ""
-"заместване на изразите с фигурни скоби: не може да се задели памет за „%s“"
+msgstr "заместване на изразите с фигурни скоби: не може да се задели памет за „%s“"
 
-#: braces.c:429
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %u elements"
-msgstr ""
-"заместване на изразите с фигурни скоби: не може да се задели памет за %d "
-"елемента"
+#: braces.c:427
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
+msgstr "заместване на изразите с фигурни скоби: не може да се задели памет за %d елемента"
 
-#: braces.c:473
+#: braces.c:471
 #, c-format
 msgid "brace expansion: failed to allocate memory for `%s'"
-msgstr ""
-"заместване на изразите с фигурни скоби: не може да се задели памет за „%s“"
+msgstr "заместване на изразите с фигурни скоби: не може да се задели памет за „%s“"
 
-#: builtins/alias.def:131
+#: builtins/alias.def:133
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "„%s“: грешно име на синоним"
 
-#: builtins/bind.def:122 builtins/bind.def:125
+#: builtins/bind.def:123 builtins/bind.def:126
 msgid "line editing not enabled"
 msgstr "редактирането на командния ред не е включено"
 
-#: builtins/bind.def:212
+#: builtins/bind.def:213
 #, c-format
 msgid "`%s': invalid keymap name"
 msgstr "„%s“: грешно име на подредбата на функциите на клавишите"
 
-#: builtins/bind.def:252
+#: builtins/bind.def:253
 #, c-format
 msgid "%s: cannot read: %s"
 msgstr "%s: не може да се прочете: %s"
 
-#: builtins/bind.def:304 builtins/bind.def:334
+#: builtins/bind.def:270
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "„%s“: не може да се премахне присвояване"
+
+#: builtins/bind.def:308 builtins/bind.def:338
 #, c-format
 msgid "`%s': unknown function name"
 msgstr "„%s“:  име на непозната функция"
 
-#: builtins/bind.def:312
+#: builtins/bind.def:316
 #, c-format
 msgid "%s is not bound to any keys.\n"
 msgstr "%s не е зададена на никой клавиш.\n"
 
-#: builtins/bind.def:316
+#: builtins/bind.def:320
 #, c-format
 msgid "%s can be invoked via "
 msgstr "%s може да се извика чрез "
 
-#: builtins/bind.def:353 builtins/bind.def:368
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "„%s“: не може да се премахне присвояване"
-
-#: builtins/break.def:77 builtins/break.def:119
+#: builtins/break.def:79 builtins/break.def:121
 msgid "loop count"
 msgstr "брой цикли"
 
-#: builtins/break.def:139
+#: builtins/break.def:141
 msgid "only meaningful in a `for', `while', or `until' loop"
 msgstr "валидно само за циклите с „for“, „while“ и „until“"
 
@@ -150,162 +146,162 @@ msgstr ""
 "    \n"
 "    Без ИЗРАЗ връща "
 
-#: builtins/cd.def:319
+#: builtins/cd.def:321
 msgid "HOME not set"
 msgstr "Променливата „HOME“ не е зададена"
 
-#: builtins/cd.def:327 builtins/common.c:161 test.c:889
+#: builtins/cd.def:329 builtins/common.c:167 test.c:885
 msgid "too many arguments"
 msgstr "прекалено много аргументи"
 
-#: builtins/cd.def:334
+#: builtins/cd.def:336
 msgid "null directory"
 msgstr "нулева директория"
 
-#: builtins/cd.def:345
+#: builtins/cd.def:347
 msgid "OLDPWD not set"
 msgstr "Променливата „OLDPWD“ не е зададена"
 
-#: builtins/common.c:96
+#: builtins/common.c:102
 #, c-format
 msgid "line %d: "
 msgstr "ред %d: "
 
-#: builtins/common.c:134 error.c:264
+#: builtins/common.c:140 error.c:265
 #, c-format
 msgid "warning: "
 msgstr "предупреждение: "
 
-#: builtins/common.c:148
+#: builtins/common.c:154
 #, c-format
 msgid "%s: usage: "
 msgstr "%s: употреба: "
 
-#: builtins/common.c:193 shell.c:510 shell.c:838
+#: builtins/common.c:199 shell.c:514 shell.c:825
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: опцията изисква аргумент"
 
-#: builtins/common.c:200
+#: builtins/common.c:206
 #, c-format
 msgid "%s: numeric argument required"
 msgstr "%s: изисква се числов аргумент"
 
-#: builtins/common.c:207
+#: builtins/common.c:213
 #, c-format
 msgid "%s: not found"
 msgstr "%s: не е открит"
 
-#: builtins/common.c:216 shell.c:851
+#: builtins/common.c:222 shell.c:838
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: грешна опция"
 
-#: builtins/common.c:223
+#: builtins/common.c:229
 #, c-format
 msgid "%s: invalid option name"
 msgstr "%s: грешно име на опция"
 
-#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
+#: builtins/common.c:236 general.c:293 general.c:298
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "„%s“: грешен идентификатор"
 
-#: builtins/common.c:240
+#: builtins/common.c:246
 msgid "invalid octal number"
 msgstr "грешно осмично число"
 
-#: builtins/common.c:242
+#: builtins/common.c:248
 msgid "invalid hex number"
 msgstr "грешно шестнайсетично число"
 
-#: builtins/common.c:244 expr.c:1538
+#: builtins/common.c:250 expr.c:1473
 msgid "invalid number"
 msgstr "грешно число"
 
-#: builtins/common.c:252
+#: builtins/common.c:258
 #, c-format
 msgid "%s: invalid signal specification"
 msgstr "%s: грешно указване на сигнал"
 
-#: builtins/common.c:259
+#: builtins/common.c:265
 #, c-format
 msgid "`%s': not a pid or valid job spec"
 msgstr "„%s“: грешен идентификатор на процес или задача"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:272 error.c:511
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: променлива с права само за четене"
 
-#: builtins/common.c:274
+#: builtins/common.c:280
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s е извън допустимия диапазон"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:280 builtins/common.c:282
 msgid "argument"
 msgstr "аргументът"
 
-#: builtins/common.c:276
+#: builtins/common.c:282
 #, c-format
 msgid "%s out of range"
 msgstr "%s е извън допустимия диапазон"
 
-#: builtins/common.c:284
+#: builtins/common.c:290
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: няма такава задача"
 
-#: builtins/common.c:292
+#: builtins/common.c:298
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: няма управление на задачите"
 
-#: builtins/common.c:294
+#: builtins/common.c:300
 msgid "no job control"
 msgstr "няма управление на задачите"
 
-#: builtins/common.c:304
+#: builtins/common.c:310
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: ограничена обвивка"
 
-#: builtins/common.c:306
+#: builtins/common.c:312
 msgid "restricted"
 msgstr "ограничена обвивка"
 
-#: builtins/common.c:314
+#: builtins/common.c:320
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: не е команда вградена в обвивката"
 
-#: builtins/common.c:323
+#: builtins/common.c:329
 #, c-format
 msgid "write error: %s"
 msgstr "грешка при запис: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:337
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "грешка при задаване на атрибутите на терминала: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:339
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "грешка при получаване на атрибутите на терминала: %s"
 
-#: builtins/common.c:579
+#: builtins/common.c:585
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: грешка при получаване на текущата директория: %s: %s\n"
 
-#: builtins/common.c:645 builtins/common.c:647
+#: builtins/common.c:651 builtins/common.c:653
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: нееднозначно указана задача"
 
-#: builtins/common.c:908
+#: builtins/common.c:918
 msgid "help not available in this version"
 msgstr "помощта не е включена в тази версия"
 
@@ -314,69 +310,69 @@ msgstr "помощта не е включена в тази версия"
 msgid "%s: invalid action name"
 msgstr "%s: грешно име на действие"
 
-#: builtins/complete.def:452 builtins/complete.def:653
-#: builtins/complete.def:874
+#: builtins/complete.def:452 builtins/complete.def:647
+#: builtins/complete.def:858
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: не е указано дописване"
 
-#: builtins/complete.def:707
+#: builtins/complete.def:699
 msgid "warning: -F option may not work as you expect"
 msgstr "предупреждение: опцията „-F“ може да не работи според очакванията ви"
 
-#: builtins/complete.def:709
+#: builtins/complete.def:701
 msgid "warning: -C option may not work as you expect"
 msgstr "предупреждение: опцията „-C“ може да не работи според очакванията ви"
 
-#: builtins/complete.def:847
+#: builtins/complete.def:831
 msgid "not currently executing completion function"
 msgstr "в момента не се изпълнява функция за дописване"
 
-#: builtins/declare.def:132
+#: builtins/declare.def:127
 msgid "can only be used in a function"
 msgstr "може да се използва само във функция"
 
-#: builtins/declare.def:369 builtins/declare.def:736
+#: builtins/declare.def:332 builtins/declare.def:685
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: променливата-указател не може да е масив"
 
-#: builtins/declare.def:380 variables.c:3161
+#: builtins/declare.def:343 variables.c:2959
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: променливата-указател не може да сочи към себе си"
 
-#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
-#: variables.c:3158
+#: builtins/declare.def:348 variables.c:1928 variables.c:2877 variables.c:2889
+#: variables.c:2956
 #, c-format
 msgid "%s: circular name reference"
 msgstr "%s: цикъл в променливите-указатели"
 
-#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
+#: builtins/declare.def:353 builtins/declare.def:691 builtins/declare.def:702
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "„%s“: неправилно име за променлива-указател"
 
-#: builtins/declare.def:500
+#: builtins/declare.def:463
 msgid "cannot use `-f' to make functions"
 msgstr "„-f“ не може да се използва за създаването на функции"
 
-#: builtins/declare.def:512 execute_cmd.c:5797
+#: builtins/declare.def:475 execute_cmd.c:5632
 #, c-format
 msgid "%s: readonly function"
 msgstr "%s: функция с права само за четене"
 
-#: builtins/declare.def:804
+#: builtins/declare.def:753
 #, c-format
 msgid "%s: quoted compound array assignment deprecated"
 msgstr "%s: съставното присвояване на масив чрез цитат е остаряло"
 
-#: builtins/declare.def:818
+#: builtins/declare.def:767
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: променливите за масиви не могат да се унищожават така"
 
-#: builtins/declare.def:825 builtins/read.def:784
+#: builtins/declare.def:774 builtins/read.def:751
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: речник не може да се преобразува в масив"
@@ -410,68 +406,68 @@ msgstr "%s: не е зареден динамично"
 msgid "%s: cannot delete: %s"
 msgstr "%s: не може да се изтрие: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
+#: builtins/evalfile.c:144 builtins/hash.def:172 execute_cmd.c:5472
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: е директория"
 
-#: builtins/evalfile.c:144
+#: builtins/evalfile.c:150
 #, c-format
 msgid "%s: not a regular file"
 msgstr "%s: не е обикновен файл"
 
-#: builtins/evalfile.c:153
+#: builtins/evalfile.c:159
 #, c-format
 msgid "%s: file is too large"
 msgstr "%s: файлът е прекалено голям"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1623
+#: builtins/evalfile.c:194 builtins/evalfile.c:212 shell.c:1578
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: двоичният файл не може да бъде изпълнен"
 
-#: builtins/exec.def:155 builtins/exec.def:157 builtins/exec.def:237
+#: builtins/exec.def:156 builtins/exec.def:158 builtins/exec.def:235
 #, c-format
 msgid "%s: cannot execute: %s"
 msgstr "%s: не може да се изпълни: %s"
 
-#: builtins/exit.def:64
+#: builtins/exit.def:67
 #, c-format
 msgid "logout\n"
 msgstr "изход\n"
 
-#: builtins/exit.def:89
+#: builtins/exit.def:92
 msgid "not login shell: use `exit'"
 msgstr "това не е входна обвивка: използвайте „exit“"
 
-#: builtins/exit.def:121
+#: builtins/exit.def:124
 #, c-format
 msgid "There are stopped jobs.\n"
 msgstr "Има спрени задачи.\n"
 
-#: builtins/exit.def:123
+#: builtins/exit.def:126
 #, c-format
 msgid "There are running jobs.\n"
 msgstr "Има изпълнявани задачи.\n"
 
-#: builtins/fc.def:265
+#: builtins/fc.def:269
 msgid "no command found"
 msgstr "не е открита команда"
 
-#: builtins/fc.def:323 builtins/fc.def:372
+#: builtins/fc.def:327 builtins/fc.def:376
 msgid "history specification"
 msgstr "указване на историята"
 
-#: builtins/fc.def:393
+#: builtins/fc.def:397
 #, c-format
 msgid "%s: cannot open temp file: %s"
 msgstr "%s: не може да се отвори временен файл: %s"
 
-#: builtins/fg_bg.def:152 builtins/jobs.def:284
+#: builtins/fg_bg.def:153 builtins/jobs.def:284
 msgid "current"
 msgstr "текуща"
 
-#: builtins/fg_bg.def:161
+#: builtins/fg_bg.def:162
 #, c-format
 msgid "job %d started without job control"
 msgstr "задача %d е стартирана без управление на задачите"
@@ -486,40 +482,40 @@ msgstr "%s: непозволена опция — %c\n"
 msgid "%s: option requires an argument -- %c\n"
 msgstr "%s: опцията изисква аргумент — %c\n"
 
-#: builtins/hash.def:91
+#: builtins/hash.def:92
 msgid "hashing disabled"
 msgstr "хеширането е изключено"
 
-#: builtins/hash.def:138
+#: builtins/hash.def:139
 #, c-format
 msgid "%s: hash table empty\n"
 msgstr "%s: таблицата с хешове е празна\n"
 
-#: builtins/hash.def:266
+#: builtins/hash.def:254
 #, c-format
 msgid "hits\tcommand\n"
 msgstr "съвпад.\tкоманда\n"
 
-#: builtins/help.def:133
+#: builtins/help.def:135
+#, c-format
 msgid "Shell commands matching keyword `"
 msgid_plural "Shell commands matching keywords `"
 msgstr[0] "Команди на обвивката, които напасват на ключовата дума „"
 msgstr[1] "Команди на обвивката, които напасват на ключовите думи „"
 
-#: builtins/help.def:185
+#: builtins/help.def:187
 #, c-format
-msgid ""
-"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr ""
 "няма теми в помощта, които да отговарят на „%s“.  Опитайте с\n"
 "„help help“, „man -k %s“ или „info %s“."
 
-#: builtins/help.def:224
+#: builtins/help.def:226
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: не може да се отвори: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:526
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -534,27 +530,25 @@ msgstr ""
 "Напишете „help“, за да видите списъка.\n"
 "Напишете „help ИМЕ_НА_ФУНКЦИЯ“ за повече информация за съответната функция.\n"
 "Напишете „info bash“ за повече информация за обвивката като цяло.\n"
-"Напишете „man -k“ или „info“ за повече информация за командите извън "
-"списъка.\n"
+"Напишете „man -k“ или „info“ за повече информация за командите извън списъка.\n"
 "\n"
 "Знакът звездичка „*“ до името на команда означава, че тя е изключена.\n"
 "\n"
 
-#: builtins/history.def:154
+#: builtins/history.def:155
 msgid "cannot use more than one of -anrw"
 msgstr "не може да се ползва едновременно повече от една от опциите „-anrw“"
 
-#: builtins/history.def:187 builtins/history.def:197 builtins/history.def:212
-#: builtins/history.def:229 builtins/history.def:241 builtins/history.def:248
+#: builtins/history.def:187
 msgid "history position"
 msgstr "позиция в историята"
 
-#: builtins/history.def:331
+#: builtins/history.def:264
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: грешна дата с време"
 
-#: builtins/history.def:442
+#: builtins/history.def:375
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: неуспешно заместване чрез историята"
@@ -568,16 +562,16 @@ msgstr "%s: неуспешно извикване на inlib"
 msgid "no other options allowed with `-x'"
 msgstr "не е позволена друга опция с „-x“"
 
-#: builtins/kill.def:200
+#: builtins/kill.def:202
 #, c-format
 msgid "%s: arguments must be process or job IDs"
 msgstr "%s: аргументите трябва да са идентификатори на процеси или задачи"
 
-#: builtins/kill.def:263
+#: builtins/kill.def:265
 msgid "Unknown error"
 msgstr "Неизвестна грешка"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:614 expr.c:632
+#: builtins/let.def:97 builtins/let.def:122 expr.c:583 expr.c:598
 msgid "expression expected"
 msgstr "очаква се израз"
 
@@ -586,69 +580,69 @@ msgstr "очаква се израз"
 msgid "%s: not an indexed array"
 msgstr "%s: не е масив"
 
-#: builtins/mapfile.def:271 builtins/read.def:305
+#: builtins/mapfile.def:272 builtins/read.def:306
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: грешно указване на файловия дескриптор"
 
-#: builtins/mapfile.def:279 builtins/read.def:312
+#: builtins/mapfile.def:280 builtins/read.def:313
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: грешен файлов дескриптор: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:289 builtins/mapfile.def:327
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: грешен номер на ред"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:300
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: грешен начален индекс за масив"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:317
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: грешно количество редове за обработка"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:350
 msgid "empty array variable name"
 msgstr "празно име на променлива за масив"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:371
 msgid "array variable support required"
 msgstr "изисква се поддръжка на променливи за масиви"
 
-#: builtins/printf.def:416
+#: builtins/printf.def:412
 #, c-format
 msgid "`%s': missing format character"
 msgstr "„%s“: липсва форматиращ знак"
 
-#: builtins/printf.def:471
+#: builtins/printf.def:467
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "„%c“: грешен формат на времето"
 
-#: builtins/printf.def:673
+#: builtins/printf.def:669
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "„%c“: грешен форматиращ знак"
 
-#: builtins/printf.def:699
+#: builtins/printf.def:695
 #, c-format
 msgid "warning: %s: %s"
 msgstr "предупреждение: %s: %s"
 
-#: builtins/printf.def:785
+#: builtins/printf.def:781
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "неуспешен анализ на форма̀та: %s"
 
-#: builtins/printf.def:882
+#: builtins/printf.def:878
 msgid "missing hex digit for \\x"
 msgstr "липсва шестнадесетична цифра за \\x"
 
-#: builtins/printf.def:897
+#: builtins/printf.def:893
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "липсва цифра за Уникод за \\%c"
@@ -662,19 +656,19 @@ msgstr "няма друга директория"
 msgid "%s: invalid argument"
 msgstr "%s: грешен аргумент"
 
-#: builtins/pushd.def:480
+#: builtins/pushd.def:475
 msgid "<no current directory>"
 msgstr "«няма текуща директория»"
 
-#: builtins/pushd.def:524
+#: builtins/pushd.def:519
 msgid "directory stack empty"
 msgstr "стекът с директории е празен"
 
-#: builtins/pushd.def:526
+#: builtins/pushd.def:521
 msgid "directory stack index"
 msgstr "индекс за стека с директории"
 
-#: builtins/pushd.def:701
+#: builtins/pushd.def:696
 msgid ""
 "Display the list of currently remembered directories.  Directories\n"
 "    find their way onto the list with the `pushd' command; you can get\n"
@@ -689,12 +683,10 @@ msgid ""
 "    \twith its position in the stack\n"
 "    \n"
 "    Arguments:\n"
-"      +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+"      +N\tDisplays the Nth entry counting from the left of the list shown by\n"
 "    \tdirs when invoked without options, starting with zero.\n"
 "    \n"
-"      -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+"      -N\tDisplays the Nth entry counting from the right of the list shown by\n"
 "\tdirs when invoked without options, starting with zero."
 msgstr ""
 "Извежда списъка с текущо запомнените директории.  Списъкът се попълва чрез\n"
@@ -710,15 +702,13 @@ msgstr ""
 "          стека.\n"
 "\n"
 "    Аргументи:    \n"
-"      +N  извежда N-тия елемент отляво в списъка отпечатан от командата "
-"„dirs“,\n"
+"      +N  извежда N-тия елемент отляво в списъка отпечатан от командата „dirs“,\n"
 "          когато е стартирана без опции.  Брои се от 0.\n"
 "\n"
-"      -N  извежда N-тия елемент отдясно в списъка отпечатан от командата "
-"„dirs“,\n"
+"      -N  извежда N-тия елемент отдясно в списъка отпечатан от командата „dirs“,\n"
 "          когато е стартирана без опции.  Брои се от 0."
 
-#: builtins/pushd.def:723
+#: builtins/pushd.def:718
 msgid ""
 "Adds a directory to the top of the directory stack, or rotates\n"
 "    the stack, making the new top of the stack the current working\n"
@@ -747,30 +737,24 @@ msgstr ""
 "    аргументи сменя най-горните две директории.\n"
 "    \n"
 "    Опции:\n"
-"      -n  подтискане на нормалното преминаване към директория при добавянето "
-"на\n"
+"      -n  подтискане на нормалното преминаване към директория при добавянето на\n"
 "          директории към стека, така че се променя само той.\n"
 "\n"
 "     Аргументи:\n"
-"      +N   Превърта стека, така че N-тата директория (като се брои от "
-"лявата\n"
-"           страна на списъка, отпечатан от командата „dirs“ като се почва от "
-"0)\n"
+"      +N   Превърта стека, така че N-тата директория (като се брои от лявата\n"
+"           страна на списъка, отпечатан от командата „dirs“ като се почва от 0)\n"
 "           да е най-отгоре.\n"
 "    \n"
-"      -N   Превърта стека, така че N-тата директория (като се брои от "
-"дясната\n"
-"           страна на списъка, отпечатан от командата „dirs“ като се почва от "
-"0)\n"
+"      -N   Превърта стека, така че N-тата директория (като се брои от дясната\n"
+"           страна на списъка, отпечатан от командата „dirs“ като се почва от 0)\n"
 "           да е най-отгоре.\n"
 "\n"
-"      dir  Добавя ДИР най-отгоре в стека на директориите, като я прави "
-"новата\n"
+"      dir  Добавя ДИР най-отгоре в стека на директориите, като я прави новата\n"
 "           текуща работна директория.\n"
 "    \n"
 "    Можете да изведете стека на директорията с командата „dirs“."
 
-#: builtins/pushd.def:748
+#: builtins/pushd.def:743
 msgid ""
 "Removes entries from the directory stack.  With no arguments, removes\n"
 "    the top directory from the stack, and changes to the new top directory.\n"
@@ -790,13 +774,11 @@ msgid ""
 "    \n"
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
-"Маха директории от стека с тях. Без аргументи премахва последната директория "
-"в\n"
+"Маха директории от стека с тях. Без аргументи премахва последната директория в\n"
 "    стека и влиза в новата последна директория.\n"
 "\n"
 "    Опции:\n"
-"      -n  подтискане на нормалното преминаване към директория при махането "
-"на\n"
+"      -n  подтискане на нормалното преминаване към директория при махането на\n"
 "          директория от стека — само той се променя.\n"
 "\n"
 "    Аргументи:\n"
@@ -804,54 +786,51 @@ msgstr ""
 "          командата „dirs“, като се брои от 0.  Напр.: „popd +0“ премахва\n"
 "          първата директория, „popd +1“ - втората.\n"
 "\n"
-"      -N  премахва N-тия елемент като се брои отдясно в списъка отпечатан "
-"от\n"
+"      -N  премахва N-тия елемент като се брои отдясно в списъка отпечатан от\n"
 "          командата „dirs“, като се брои от 0.  Напр.: „popd -0“ премахва\n"
 "          последната директория, „popd -1“ - предпоследната.\n"
 "\n"
 "    Можете да изведете стека на директорията с командата „dirs“."
 
-#: builtins/read.def:277
+#: builtins/read.def:279
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: грешно указване на изтичането на времето"
 
-#: builtins/read.def:729
+#: builtins/read.def:696
 #, c-format
 msgid "read error: %d: %s"
 msgstr "грешка при четене: %d: %s"
 
-#: builtins/return.def:68
+#: builtins/return.def:71
 msgid "can only `return' from a function or sourced script"
-msgstr ""
-"„return“ е възможен само от функция или изпълнен в текущата обвивка скрипт"
+msgstr "„return“ е възможен само от функция или изпълнен в текущата обвивка скрипт"
 
-#: builtins/set.def:834
+#: builtins/set.def:841
 msgid "cannot simultaneously unset a function and a variable"
-msgstr ""
-"не може едновременно да се премахват задаванията на функция и променлива"
+msgstr "не може едновременно да се премахват задаванията на функция и променлива"
 
-#: builtins/set.def:881
+#: builtins/set.def:888
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: не може да се премахне"
 
-#: builtins/set.def:902 variables.c:3597
+#: builtins/set.def:909 variables.c:3389
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: не може да се премахне: %s е само за четене"
 
-#: builtins/set.def:915
+#: builtins/set.def:922
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: не е променлива за масив"
 
-#: builtins/setattr.def:189
+#: builtins/setattr.def:191
 #, c-format
 msgid "%s: not a function"
 msgstr "%s: не е функция"
 
-#: builtins/setattr.def:194
+#: builtins/setattr.def:196
 #, c-format
 msgid "%s: cannot export"
 msgstr "%s: не може да се изнесе"
@@ -860,21 +839,20 @@ msgstr "%s: не може да се изнесе"
 msgid "shift count"
 msgstr "брой на преместванията"
 
-#: builtins/shopt.def:301
+#: builtins/shopt.def:289
 msgid "cannot set and unset shell options simultaneously"
-msgstr ""
-"не може едновременно да се задават и да се премахват опции на обвивката"
+msgstr "не може едновременно да се задават и да се премахват опции на обвивката"
 
-#: builtins/shopt.def:403
+#: builtins/shopt.def:391
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: грешно име на опция на обвивката"
 
-#: builtins/source.def:128
+#: builtins/source.def:131
 msgid "filename argument required"
 msgstr "изисква се аргумент име на файл"
 
-#: builtins/source.def:154
+#: builtins/source.def:157
 #, c-format
 msgid "%s: file not found"
 msgstr "%s: файлът не е открит"
@@ -887,61 +865,61 @@ msgstr "не може да бъде временно спряна"
 msgid "cannot suspend a login shell"
 msgstr "входната обвивка не може да бъде временно спряна"
 
-#: builtins/type.def:235
+#: builtins/type.def:236
 #, c-format
 msgid "%s is aliased to `%s'\n"
 msgstr "%s е синоним на „%s“\n"
 
-#: builtins/type.def:256
+#: builtins/type.def:257
 #, c-format
 msgid "%s is a shell keyword\n"
 msgstr "%s е ключова дума на обвивката\n"
 
-#: builtins/type.def:275
+#: builtins/type.def:276
 #, c-format
 msgid "%s is a function\n"
 msgstr "%s е функция\n"
 
-#: builtins/type.def:299
+#: builtins/type.def:300
 #, c-format
 msgid "%s is a special shell builtin\n"
 msgstr "%s е специална, вградена команда в обвивката\n"
 
-#: builtins/type.def:301
+#: builtins/type.def:302
 #, c-format
 msgid "%s is a shell builtin\n"
 msgstr "%s е вградена команда в обвивката\n"
 
-#: builtins/type.def:323 builtins/type.def:408
+#: builtins/type.def:324 builtins/type.def:409
 #, c-format
 msgid "%s is %s\n"
 msgstr "%s е %s\n"
 
-#: builtins/type.def:343
+#: builtins/type.def:344
 #, c-format
 msgid "%s is hashed (%s)\n"
 msgstr "%s е хеширан (%s)\n"
 
-#: builtins/ulimit.def:396
+#: builtins/ulimit.def:398
 #, c-format
 msgid "%s: invalid limit argument"
 msgstr "%s: грешен аргумент за ограничение"
 
-#: builtins/ulimit.def:422
+#: builtins/ulimit.def:424
 #, c-format
 msgid "`%c': bad command"
 msgstr "„%c“: грешна команда"
 
-#: builtins/ulimit.def:451
+#: builtins/ulimit.def:453
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: ограничението не може да бъде получено: %s"
 
-#: builtins/ulimit.def:477
+#: builtins/ulimit.def:479
 msgid "limit"
 msgstr "ограничение"
 
-#: builtins/ulimit.def:489 builtins/ulimit.def:789
+#: builtins/ulimit.def:491 builtins/ulimit.def:791
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: ограничението не може да бъде променено: %s"
@@ -960,216 +938,205 @@ msgstr "„%c“: неправилен оператор за описателе
 msgid "`%c': invalid symbolic mode character"
 msgstr "„%c“: неправилен знак за описателен режим"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:90 error.c:348 error.c:350 error.c:352
 msgid " line "
 msgstr " ред "
 
-#: error.c:164
+#: error.c:165
 #, c-format
 msgid "last command: %s\n"
 msgstr "последна команда: %s\n"
 
-#: error.c:172
+#: error.c:173
 #, c-format
 msgid "Aborting..."
 msgstr "Преустановяване…"
 
 #. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:287
+#: error.c:288
 #, c-format
 msgid "INFORM: "
 msgstr "ИНФОРМАЦИЯ: "
 
-#: error.c:462
+#: error.c:463
 msgid "unknown command error"
 msgstr "неизвестна грешка в команда"
 
-#: error.c:463
+#: error.c:464
 msgid "bad command type"
 msgstr "грешен вид команда"
 
-#: error.c:464
+#: error.c:465
 msgid "bad connector"
 msgstr "грешна връзка"
 
-#: error.c:465
+#: error.c:466
 msgid "bad jump"
 msgstr "грешен преход"
 
-#: error.c:503
+#: error.c:504
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: променлива без стойност"
 
-#: eval.c:242
+#: eval.c:209
 #, c-format
 msgid "\atimed out waiting for input: auto-logout\n"
-msgstr ""
-"\aвремето за изчакване на вход изтече: следва автоматично излизане от "
-"системата\n"
+msgstr "\aвремето за изчакване на вход изтече: следва автоматично излизане от системата\n"
 
-#: execute_cmd.c:536
+#: execute_cmd.c:527
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "стандартният вход не може да бъде пренасочен от „/dev/null“: %s"
 
-#: execute_cmd.c:1294
+#: execute_cmd.c:1275
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "в променливата $TIMEFORMAT: „%c“: грешен форматиращ знак"
 
-#: execute_cmd.c:2330
+#: execute_cmd.c:2273
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: копроцесът [%d:%s] все още съществува"
 
-#: execute_cmd.c:2456
+#: execute_cmd.c:2377
 msgid "pipe error"
 msgstr "грешка в програмен канал"
 
-#: execute_cmd.c:4624
+#: execute_cmd.c:4496
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: превишено е максималното ниво на влагане на „eval“ (%d)"
 
-#: execute_cmd.c:4636
+#: execute_cmd.c:4508
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: превишено е максималното ниво на влагане на код (%d)"
 
-#: execute_cmd.c:4742
+#: execute_cmd.c:4616
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: превишено е максималното ниво на влагане на функции (%d)"
 
-#: execute_cmd.c:5285
+#: execute_cmd.c:5144
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
-msgstr ""
-"%s: ограничение: в имената на командите не може да присъства знакът „/“"
+msgstr "%s: ограничение: в имената на командите не може да присъства знакът „/“"
 
-#: execute_cmd.c:5383
+#: execute_cmd.c:5232
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: командата не е открита"
 
-#: execute_cmd.c:5627
+#: execute_cmd.c:5470
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5665
+#: execute_cmd.c:5508
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: лош интерпретатор"
 
-#: execute_cmd.c:5702
+#: execute_cmd.c:5545
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: двоичният файл не може да бъде изпълнен: %s"
 
-#: execute_cmd.c:5788
+#: execute_cmd.c:5623
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "„%s“ е вградена команда в обвивката"
 
-#: execute_cmd.c:5840
+#: execute_cmd.c:5675
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "файловият дескриптор %d не може да се дублира като дескриптор %d"
 
-#: expr.c:263
+#: expr.c:259
 msgid "expression recursion level exceeded"
 msgstr "максималният брой нива за рекурсия в израз бяха преминати"
 
-#: expr.c:291
+#: expr.c:283
 msgid "recursion stack underflow"
 msgstr "отрицателно препълване на стека за рекурсии"
 
-#: expr.c:453
+#: expr.c:431
 msgid "syntax error in expression"
 msgstr "синтактична грешка в израз"
 
-#: expr.c:497
+#: expr.c:475
 msgid "attempted assignment to non-variable"
 msgstr "опит за присвояване на стойност на нещо, което не е променлива"
 
-#: expr.c:506
-#, fuzzy
-msgid "syntax error in variable assignment"
-msgstr "синтактична грешка в израз"
-
-#: expr.c:520 expr.c:886
+#: expr.c:495 expr.c:858
 msgid "division by 0"
 msgstr "деление на 0"
 
-#: expr.c:567
+#: expr.c:542
 msgid "bug: bad expassign token"
 msgstr "програмна грешка: неправилна лексема за присвояване на израз"
 
-#: expr.c:621
+#: expr.c:595
 msgid "`:' expected for conditional expression"
 msgstr "за условен израз се изисква „:“"
 
-#: expr.c:947
+#: expr.c:919
 msgid "exponent less than 0"
 msgstr "степента е по-малка от 0"
 
-#: expr.c:1004
+#: expr.c:976
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "очаква се идентификатор след предварително увеличаване или намаляване"
 
-#: expr.c:1030
+#: expr.c:1002
 msgid "missing `)'"
 msgstr "липсва „)“"
 
-#: expr.c:1081 expr.c:1458
+#: expr.c:1053 expr.c:1393
 msgid "syntax error: operand expected"
 msgstr "синтактична грешка: очаква се оператор"
 
-#: expr.c:1460
+#: expr.c:1395
 msgid "syntax error: invalid arithmetic operator"
 msgstr "синтактична грешка: грешен аритметичен оператор"
 
-#: expr.c:1484
+#: expr.c:1419
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (грешната лексема е „%s“)"
 
-#: expr.c:1542
+#: expr.c:1477
 msgid "invalid arithmetic base"
 msgstr "грешна аритметична основа на бройна система"
 
-#: expr.c:1562
+#: expr.c:1497
 msgid "value too great for base"
 msgstr "стойността е прекалено голяма за основата"
 
-#: expr.c:1611
+#: expr.c:1546
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: грешка в израза\n"
 
-#: general.c:69
+#: general.c:68
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: няма достъп до родителските директории"
 
-#: input.c:99 subst.c:5858
+#: input.c:102 subst.c:5858
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "не може да се изчисти режимът без забавяне на файловия дескриптор %d"
 
-#: input.c:266
+#: input.c:271
 #, c-format
 msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
-"не може да се задели нов файлов дескриптор за вход на bash от дескриптор %d"
+msgstr "не може да се задели нов файлов дескриптор за вход на bash от дескриптор %d"
 
-#: input.c:274
+#: input.c:279
 #, c-format
 msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr ""
-"запазване на входа на bash: вече съществува буфер за новия файлов дескриптор "
-"%d"
+msgstr "запазване на входа на bash: вече съществува буфер за новия файлов дескриптор %d"
 
 #: jobs.c:527
 msgid "start_pipeline: pgrp pipe"
@@ -1177,163 +1144,155 @@ msgstr ""
 "стартиране на програмен канал: не може да се комуникира с водача на канала\n"
 "(pgrp pipe)"
 
-#: jobs.c:1080
+#: jobs.c:1035
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "стартираният процес %d е в изпълняваната задача %d"
 
-#: jobs.c:1199
+#: jobs.c:1154
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "изтриване на спряната задача %d в групата процеси %ld"
 
-#: jobs.c:1303
+#: jobs.c:1258
 #, c-format
 msgid "add_process: process %5ld (%s) in the_pipeline"
 msgstr "добавяне на процес: процесът %5ld (%s) е в програмния канал"
 
-#: jobs.c:1306
+#: jobs.c:1261
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "добавяне на процес: процесът %5ld (%s) е отбелязан като още жив"
 
-#: jobs.c:1635
+#: jobs.c:1590
 #, c-format
 msgid "describe_pid: %ld: no such pid"
-msgstr ""
-"описателен идентификатор на процес: %ld: няма такъв идентификатор на процес"
+msgstr "описателен идентификатор на процес: %ld: няма такъв идентификатор на процес"
 
-#: jobs.c:1650
+#: jobs.c:1605
 #, c-format
 msgid "Signal %d"
 msgstr "Сигнал %d"
 
-#: jobs.c:1664 jobs.c:1690
+#: jobs.c:1619 jobs.c:1645
 msgid "Done"
 msgstr "Завършен"
 
-#: jobs.c:1669 siglist.c:123
+#: jobs.c:1624 siglist.c:123
 msgid "Stopped"
 msgstr "Спрян"
 
-#: jobs.c:1673
+#: jobs.c:1628
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Спрян (%s)"
 
-#: jobs.c:1677
+#: jobs.c:1632
 msgid "Running"
 msgstr "Изпълняван"
 
-#: jobs.c:1694
+#: jobs.c:1649
 #, c-format
 msgid "Done(%d)"
 msgstr "Завършен (%d)"
 
-#: jobs.c:1696
+#: jobs.c:1651
 #, c-format
 msgid "Exit %d"
 msgstr "Изход %d"
 
-#: jobs.c:1699
+#: jobs.c:1654
 msgid "Unknown status"
 msgstr "Непознато състояние"
 
-#: jobs.c:1786
+#: jobs.c:1741
 #, c-format
 msgid "(core dumped) "
 msgstr "(паметта е разтоварена)"
 
-#: jobs.c:1805
+#: jobs.c:1760
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2033
+#: jobs.c:1985
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "дъщерният процес смени групата при изпълнение (от %ld на %ld)"
 
-#: jobs.c:2395 nojobs.c:657
+#: jobs.c:2347 nojobs.c:654
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "изчакване: процесът с идентификатор %ld не е дъщерен на тази обвивка"
 
-#: jobs.c:2687
+#: jobs.c:2602
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "изчакване: липсват данни за процес с идентификатор %ld"
 
-#: jobs.c:3048
+#: jobs.c:2929
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "изчакване на задача: задачата %d е спряна"
 
-#: jobs.c:3355
+#: jobs.c:3221
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: задачата е приключила"
 
-#: jobs.c:3364
+#: jobs.c:3230
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: задача %d вече е във фонов режим"
 
-#: jobs.c:3590
+#: jobs.c:3455
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr ""
 "изчакване на дъщерен процес: включване на незабавното излизане от функцията\n"
 "чрез WNOHANG, за да се избегне недефиниран блок"
 
-#: jobs.c:4114
+#: jobs.c:3970
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: ред %d: "
 
-#: jobs.c:4128 nojobs.c:900
+#: jobs.c:3984 nojobs.c:897
 #, c-format
 msgid " (core dumped)"
 msgstr " (паметта е разтоварена)"
 
-#: jobs.c:4140 jobs.c:4153
+#: jobs.c:3996 jobs.c:4009
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(работната директория е: %s)\n"
 
-#: jobs.c:4185
+#: jobs.c:4041
 msgid "initialize_job_control: getpgrp failed"
 msgstr "инициализация на контрола на задачите: неуспешно изпълнение на getpgrp"
 
-#: jobs.c:4241
-#, fuzzy
-msgid "initialize_job_control: no job control in background"
-msgstr "инициализация на контрола на задачите: дисциплина на линията"
-
-#: jobs.c:4257
+#: jobs.c:4104
 msgid "initialize_job_control: line discipline"
 msgstr "инициализация на контрола на задачите: дисциплина на линията"
 
-#: jobs.c:4267
+#: jobs.c:4114
 msgid "initialize_job_control: setpgid"
-msgstr ""
-"инициализация на контрола на задачите: задаване на група при изпълнение "
-"(setpgid)"
+msgstr "инициализация на контрола на задачите: задаване на група при изпълнение (setpgid)"
 
-#: jobs.c:4288 jobs.c:4297
+#: jobs.c:4135 jobs.c:4144
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "групата на процесите на терминала не може да бъде зададена (%d)"
 
-#: jobs.c:4302
+#: jobs.c:4149
 msgid "no job control in this shell"
 msgstr "в тази обвивка няма управление на задачите"
 
-#: lib/malloc/malloc.c:306
+#: lib/malloc/malloc.c:296
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "заделяне на памет: грешно предположение: %s\n"
 
-#: lib/malloc/malloc.c:322
+#: lib/malloc/malloc.c:312
 #, c-format
 msgid ""
 "\r\n"
@@ -1342,54 +1301,50 @@ msgstr ""
 "\r\n"
 "заделяне на памет: %s:%d: предположението е отпечатано\r\n"
 
-#: lib/malloc/malloc.c:323
+#: lib/malloc/malloc.c:313
 msgid "unknown"
 msgstr "непознат"
 
-#: lib/malloc/malloc.c:811
+#: lib/malloc/malloc.c:801
 msgid "malloc: block on free list clobbered"
-msgstr ""
-"заделяне на памет: блок в списъка със свободни блокове е зает или неподходящ"
+msgstr "заделяне на памет: блок в списъка със свободни блокове е зает или неподходящ"
 
-#: lib/malloc/malloc.c:888
+#: lib/malloc/malloc.c:878
 msgid "free: called with already freed block argument"
-msgstr ""
-"изчистване на памет: извикано е с блоков аргумент, който вече е изчистен"
+msgstr "изчистване на памет: извикано е с блоков аргумент, който вече е изчистен"
 
-#: lib/malloc/malloc.c:891
+#: lib/malloc/malloc.c:881
 msgid "free: called with unallocated block argument"
 msgstr "изчистване на памет: извикано е с незаделен блоков аргумент"
 
-#: lib/malloc/malloc.c:910
+#: lib/malloc/malloc.c:900
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr ""
 "изчистване на памет: открито е отрицателно препълване с mh_nbytes извън\n"
 "допустимия диапазон"
 
-#: lib/malloc/malloc.c:916
+#: lib/malloc/malloc.c:906
 msgid "free: start and end chunk sizes differ"
-msgstr ""
-"изчистване на памет: късовете на началната и крайната области се различават"
+msgstr "изчистване на памет: късовете на началната и крайната области се различават"
 
-#: lib/malloc/malloc.c:1015
+#: lib/malloc/malloc.c:1005
 msgid "realloc: called with unallocated block argument"
 msgstr "презаделяне: извикано е с аргумент с незаделен блок"
 
-#: lib/malloc/malloc.c:1030
+#: lib/malloc/malloc.c:1020
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr ""
 "презаделяне: открито е отрицателно препълване с mh_nbytes извън допустимия\n"
 "диапазон"
 
-#: lib/malloc/malloc.c:1036
+#: lib/malloc/malloc.c:1026
 msgid "realloc: start and end chunk sizes differ"
 msgstr "презаделяне: късовете на началната и крайната области се различават"
 
 #: lib/malloc/table.c:191
 #, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr ""
-"регистриране на презаделяне: таблицата за заделянията е пълна с FIND_ALLOC?\n"
+msgstr "регистриране на презаделяне: таблицата за заделянията е пълна с FIND_ALLOC?\n"
 
 #: lib/malloc/table.c:200
 #, c-format
@@ -1424,22 +1379,22 @@ msgstr "%s: неправилно указан мрежов път"
 msgid "network operations not supported"
 msgstr "не се поддържат мрежови операции"
 
-#: locale.c:205
+#: locale.c:200
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: локалът не може да бъде сменен (%s)"
 
-#: locale.c:207
+#: locale.c:202
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: локалът не може да бъде сменен (%s): %s"
 
-#: locale.c:272
+#: locale.c:259
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: локалът не може да бъде сменен (%s)"
 
-#: locale.c:274
+#: locale.c:261
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: локалът не може да бъде сменен (%s): %s"
@@ -1457,153 +1412,145 @@ msgstr "Имате нова поща в $_"
 msgid "The mail in %s has been read\n"
 msgstr "Пощата в %s вече е прочетена\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:329
 msgid "syntax error: arithmetic expression required"
 msgstr "синтактична грешка: изисква се аритметичен израз"
 
-#: make_cmd.c:319
+#: make_cmd.c:331
 msgid "syntax error: `;' unexpected"
 msgstr "синтактична грешка: неочакван знак „;“"
 
-#: make_cmd.c:320
+#: make_cmd.c:332
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "синтактична грешка: „((%s))“"
 
-#: make_cmd.c:572
+#: make_cmd.c:584
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "вътрешен документ с „<<“: неправилен вид инструкция %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:669
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"вътрешният документ на ред %d е отделен със знак за нов ред (а трябва да е „%"
-"s“)"
+msgstr "вътрешният документ на ред %d е отделен със знак за нов ред (а трябва да е „%s“)"
 
-#: make_cmd.c:756
+#: make_cmd.c:768
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-"пренасочване: инструкцията за пренасочване „%d“ е извън допустимия диапазон"
+msgstr "пренасочване: инструкцията за пренасочване „%d“ е извън допустимия диапазон"
 
-#: parse.y:2369
+#: parse.y:2324
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: shell_input_line_size (%zu) надвишава SIZE_MAX (%lu): редът е "
-"отрязан"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size (%zu) надвишава SIZE_MAX (%lu): редът е отрязан"
 
-#: parse.y:2772
+#: parse.y:2700
 msgid "maximum here-document count exceeded"
 msgstr "превишен е максималният брой възможни вътрешни документи"
 
-#: parse.y:3511 parse.y:3881
+#: parse.y:3390 parse.y:3748
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
-msgstr ""
-"неочакван знак за край на файл „EOF“, а се очакваше съответстващ знак „%c“"
+msgstr "неочакван знак за край на файл „EOF“, а се очакваше съответстващ знак „%c“"
 
-#: parse.y:4581
+#: parse.y:4410
 msgid "unexpected EOF while looking for `]]'"
 msgstr "неочакван знак за край на файл „EOF“, а се очакваше „]]“"
 
-#: parse.y:4586
+#: parse.y:4415
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "синтактична грешка в условен израз: неочаквана лексема „%s“"
 
-#: parse.y:4590
+#: parse.y:4419
 msgid "syntax error in conditional expression"
 msgstr "синтактична грешка в условен израз"
 
-#: parse.y:4668
+#: parse.y:4497
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "неочаквана лексема „%s“, а се очакваше знакът „)“"
 
-#: parse.y:4672
+#: parse.y:4501
 msgid "expected `)'"
 msgstr "очакваше се „)“"
 
-#: parse.y:4700
+#: parse.y:4529
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "неочакван аргумент „%s“ за унарен условен оператор"
 
-#: parse.y:4704
+#: parse.y:4533
 msgid "unexpected argument to conditional unary operator"
 msgstr "неочакван аргумент за унарен условен оператор"
 
-#: parse.y:4750
+#: parse.y:4579
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "неочаквана лексема „%s“, очакваше се бинарен условен оператор"
 
-#: parse.y:4754
+#: parse.y:4583
 msgid "conditional binary operator expected"
 msgstr "очакваше се бинарен условен оператор"
 
-#: parse.y:4776
+#: parse.y:4605
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "неочакван аргумент „%s“ за бинарен условен оператор"
 
-#: parse.y:4780
+#: parse.y:4609
 msgid "unexpected argument to conditional binary operator"
 msgstr "неочакван аргумент за бинарен условен оператор"
 
-#: parse.y:4791
+#: parse.y:4620
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "неочаквана лексема „%c“ в условна команда"
 
-#: parse.y:4794
+#: parse.y:4623
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "неочаквана лексема „%s“ в условна команда"
 
-#: parse.y:4798
+#: parse.y:4627
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "неочаквана лексема %d в условна команда"
 
-#: parse.y:6220
+#: parse.y:5996
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "синтактична грешка в близост до неочакваната лексема „%s“"
 
-#: parse.y:6238
+#: parse.y:6014
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "синтактична грешка в близост до „%s“"
 
-#: parse.y:6248
+#: parse.y:6024
 msgid "syntax error: unexpected end of file"
 msgstr "синтактична грешка: неочакван край на файл"
 
-#: parse.y:6248
+#: parse.y:6024
 msgid "syntax error"
 msgstr "синтактична грешка"
 
-#: parse.y:6310
+#: parse.y:6086
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Използвайте „%s“, за да излезете от обвивката.\n"
 
-#: parse.y:6472
+#: parse.y:6248
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "неочакван знак за край на файл „EOF“, очакваше се знакът „)“"
 
-#: pcomplete.c:1132
+#: pcomplete.c:1126
 #, c-format
 msgid "completion: function `%s' not found"
 msgstr "дописване: функцията „%s“ не е открита"
 
-#: pcomplete.c:1722
+#: pcomplete.c:1646
 #, c-format
 msgid "programmable_completion: %s: possible retry loop"
 msgstr "programmable_completion: %s: възможно зацикляне на повторните опити"
@@ -1611,121 +1558,115 @@ msgstr "programmable_completion: %s: възможно зацикляне на п
 #: pcomplib.c:182
 #, c-format
 msgid "progcomp_insert: %s: NULL COMPSPEC"
-msgstr ""
-"вмъкване на завършване на команда: %s указване на команда, което е NULL"
+msgstr "вмъкване на завършване на команда: %s указване на команда, което е NULL"
 
-#: print_cmd.c:300
+#: print_cmd.c:302
 #, c-format
 msgid "print_command: bad connector `%d'"
 msgstr "команда за печат: лош конектор „%d“"
 
-#: print_cmd.c:373
+#: print_cmd.c:375
 #, c-format
 msgid "xtrace_set: %d: invalid file descriptor"
 msgstr "xtrace_set: %d: грешен файлов дескриптор"
 
-#: print_cmd.c:378
+#: print_cmd.c:380
 msgid "xtrace_set: NULL file pointer"
 msgstr "xtrace_set: указател към файл – NULL"
 
-#: print_cmd.c:382
+#: print_cmd.c:384
 #, c-format
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1538
+#: print_cmd.c:1534
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "отпечатване: „%c“: неправилен форматиращ знак"
 
-#: redir.c:121 redir.c:167
+#: redir.c:124 redir.c:171
 msgid "file descriptor out of range"
 msgstr "файловият дескриптор е извън допустимия диапазон"
 
-#: redir.c:174
+#: redir.c:178
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: двусмислено пренасочване"
 
-#: redir.c:178
+#: redir.c:182
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: не може да се презапише съществуващ файл"
 
-#: redir.c:183
+#: redir.c:187
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: поради ограничение изходът не може да се пренасочи"
 
-#: redir.c:188
+#: redir.c:192
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "не може да се създаде временен файл за вътрешен документ: %s"
 
-#: redir.c:192
+#: redir.c:196
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: на променлива не може да се присвои файлов дескриптор"
 
-#: redir.c:588
+#: redir.c:586
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr ""
-"„/dev/(tcp|udp)/host/port“ не се поддържат, ако няма поддръжка на мрежа"
+msgstr "„/dev/(tcp|udp)/host/port“ не се поддържат, ако няма поддръжка на мрежа"
 
-#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
+#: redir.c:868 redir.c:983 redir.c:1044 redir.c:1209
 msgid "redirection error: cannot duplicate fd"
 msgstr "грешка при пренасочване: файловият дескриптор не може да бъде дублиран"
 
-#: shell.c:343
+#: shell.c:347
 msgid "could not find /tmp, please create!"
 msgstr "не е открита директорията „/tmp“. Създайте я!"
 
-#: shell.c:347
+#: shell.c:351
 msgid "/tmp must be a valid directory name"
 msgstr "„/tmp“ трябва да е директория"
 
-#: shell.c:798
-msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
-
-#: shell.c:940
+#: shell.c:927
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: неправилна опция"
 
-#: shell.c:1299
+#: shell.c:1282
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr ""
 "идентификаторът на потребител на процеса не може да се зададе да е %d,\n"
 "ефективният идентификатор на потребител на процеса е %d"
 
-#: shell.c:1306
+#: shell.c:1289
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr ""
 "идентификаторът на група на процеса не може да се зададе да е %d,\n"
 "ефективният идентификатор на група на процеса е %d"
 
-#: shell.c:1494
+#: shell.c:1458
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "режимът на изчистване на грешки е недостъпен, защото е изключен"
 
-#: shell.c:1608
+#: shell.c:1566
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: е директория"
 
-#: shell.c:1826
+#: shell.c:1777
 msgid "I have no name!"
 msgstr "Не може да се получи името на текущия потребител!"
 
-#: shell.c:1980
+#: shell.c:1930
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, версия %s-(%s)\n"
 
-#: shell.c:1981
+#: shell.c:1931
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1734,53 +1675,49 @@ msgstr ""
 "Употреба:    %s [дълга опция на GNU] [опция]…\n"
 "             %s [дълга опция на GNU] [опция] файл-скрипт…\n"
 
-#: shell.c:1983
+#: shell.c:1933
 msgid "GNU long options:\n"
 msgstr "Дълги опции на GNU:\n"
 
-#: shell.c:1987
+#: shell.c:1937
 msgid "Shell options:\n"
 msgstr "Опции на обвивката:\n"
 
-#: shell.c:1988
+#: shell.c:1938
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr ""
-"    -ilrsD или -c команда, или -O къса_опция        (само при стартиране)\n"
+msgstr "    -ilrsD или -c команда, или -O къса_опция        (само при стартиране)\n"
 
-#: shell.c:2003
+#: shell.c:1953
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "    -%s или -o опция\n"
 
-#: shell.c:2009
+#: shell.c:1959
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"За повече информация за опциите на обвивката въведете „%s -c \"help set\"“.\n"
+msgstr "За повече информация за опциите на обвивката въведете „%s -c \"help set\"“.\n"
 
-#: shell.c:2010
+#: shell.c:1960
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"За повече информация за вградените в обвивката команди въведете „%s -c "
-"help“.\n"
+msgstr "За повече информация за вградените в обвивката команди въведете „%s -c help“.\n"
 
-#: shell.c:2011
+#: shell.c:1961
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "За да докладвате грешки, използвайте командата „bashbug“.\n"
 
-#: shell.c:2013
+#: shell.c:1963
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "Интернет страница на bash: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2014
+#: shell.c:1964
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr "Ð\9fомоÑ\89 Ð·Ð° Ñ\81оÑ\84Ñ\82Ñ\83еÑ\80а GNU: <http://www.gnu.org/gethelp/>\n"
+msgstr "Ð\9eбÑ\89а Ð¿Ð¾Ð¼Ð¾Ñ\89 Ð·Ð° Ð¿Ñ\80огÑ\80амиÑ\82е Ð½а GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:695
+#: sig.c:707
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "маска за обработката на сигнали: %d: грешна операция"
@@ -1954,21 +1891,21 @@ msgstr "Непознат сигнал #"
 msgid "Unknown Signal #%d"
 msgstr "Непознат сигнал #%d"
 
-#: subst.c:1450 subst.c:1641
+#: subst.c:1445 subst.c:1608
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "лошо заместване: липсва затварящ знак „%s“ в %s"
 
-#: subst.c:3209
+#: subst.c:3154
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: на член от масив не може да се присвои списък"
 
-#: subst.c:5734 subst.c:5750
+#: subst.c:5740 subst.c:5756
 msgid "cannot make pipe for process substitution"
 msgstr "не може да се създаде програмен канал за заместване на процеси"
 
-#: subst.c:5796
+#: subst.c:5798
 msgid "cannot make child for process substitution"
 msgstr "не може да се създаде дъщерен процес за заместване на процеси"
 
@@ -1989,76 +1926,69 @@ msgstr ""
 "именуваният програмен канал %s не може да се\n"
 "дублира като файловия дескриптор %d"
 
-#: subst.c:5990
+#: subst.c:5959
 msgid "command substitution: ignored null byte in input"
 msgstr "заместване на команди: знакът „null“ във входа е прескочен"
 
-#: subst.c:6121
+#: subst.c:6083
 msgid "cannot make pipe for command substitution"
 msgstr "не може да се създаде програмен канал за заместване на команди"
 
-#: subst.c:6164
+#: subst.c:6127
 msgid "cannot make child for command substitution"
 msgstr "не може да се създаде дъщерен процес за заместване на команди"
 
-#: subst.c:6190
+#: subst.c:6153
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "заместване на команди: каналът не може да се дублира като fd 1"
 
-#: subst.c:6641 subst.c:9483
+#: subst.c:6580 subst.c:8939
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: неправилно име за променлива-указател"
 
-#: subst.c:6737 subst.c:6755 subst.c:6903
+#: subst.c:6666 subst.c:8351 subst.c:8371
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: лошо заместване"
+
+#: subst.c:6800
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: грешно непряко заместване"
 
-#: subst.c:6771 subst.c:6910
+#: subst.c:6807
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "„%s“: грешно име на променлива"
 
-#: subst.c:6962
-#, fuzzy, c-format
-msgid "%s: parameter not set"
-msgstr "%s: аргументът е „null“ или не е зададен"
-
-#: subst.c:6964
+#: subst.c:6854
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: аргументът е „null“ или не е зададен"
 
-#: subst.c:7201 subst.c:7216
+#: subst.c:7089 subst.c:7104
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: изразът от подниза е < 0"
 
-#: subst.c:8839 subst.c:8860
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: лошо заместване"
-
-#: subst.c:8948
+#: subst.c:8450
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: не може да се задава по този начин"
 
-#: subst.c:9346
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
+#: subst.c:8802
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr ""
 "бъдещите версии на обвивката ще използват изчисляване като аритметично\n"
 "заместване"
 
-#: subst.c:9903
+#: subst.c:9349
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "лошо заместване: липсва затварящ знак „`“ в %s"
 
-#: subst.c:10907
+#: subst.c:10298
 #, c-format
 msgid "no match: %s"
 msgstr "няма съвпадение: %s"
@@ -2081,122 +2011,119 @@ msgstr "очаква се „)“"
 msgid "`)' expected, found %s"
 msgstr "очаква се „)“, а е получено %s"
 
-#: test.c:282 test.c:748 test.c:751
+#: test.c:282 test.c:744 test.c:747
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: очаква се унарен оператор"
 
-#: test.c:469 test.c:791
+#: test.c:469 test.c:787
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: очаква се бинарен оператор"
 
-#: test.c:873
+#: test.c:869
 msgid "missing `]'"
 msgstr "липсва „]“"
 
-#: trap.c:216
+#: trap.c:224
 msgid "invalid signal number"
 msgstr "неправилен номер на сигнал"
 
-#: trap.c:379
+#: trap.c:387
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr ""
 "стартиране на предстоящите прихващания: неправилна стойност в\n"
 "trap_list[%d]: %p"
 
-#: trap.c:383
+#: trap.c:391
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr ""
 "стартиране на предстоящите прихващания: обработката на сигнали е SIG_DFL.\n"
 "%d (%s) е преизпратен на текущата обвивка"
 
-#: trap.c:439
+#: trap.c:447
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "обработка на прихващания: неправилен сигнал %d"
 
-#: variables.c:399
+#: variables.c:409
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "грешка при внасянето на дефиницията на функция за „%s“"
 
-#: variables.c:801
+#: variables.c:814
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "нивото на обвивката (%d) е прекалено голямо. Задава се да е 1"
 
-#: variables.c:2512
+#: variables.c:2413
 msgid "make_local_variable: no function context at current scope"
 msgstr ""
-"създаване на локална променлива: липсва контекст на функция в текущата "
-"област\n"
+"създаване на локална променлива: липсва контекст на функция в текущата област\n"
 "на видимост"
 
-#: variables.c:2531
+#: variables.c:2432
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: на тази променлива не може да се присвои стойност"
 
-#: variables.c:3246
+#: variables.c:3043
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: присвояване на число на променлива-указател"
 
-#: variables.c:4149
+#: variables.c:3940
 msgid "all_local_variables: no function context at current scope"
 msgstr ""
 "всички локални променливи: липсва контекст на функция в текущата област на\n"
 "видимост"
 
-#: variables.c:4437
+#: variables.c:4218
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s: аргументът за низа за изнасяне не трябва да е „null“"
 
-#: variables.c:4442 variables.c:4451
+#: variables.c:4223 variables.c:4232
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "неправилен знак на позиция %d в низа за изнасяне за %s"
 
-#: variables.c:4457
+#: variables.c:4238
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "липсва „=“ в низа за изнасяне за %s"
 
-#: variables.c:4911
+#: variables.c:4684
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr ""
-"изваждане на контекст на променливи: в началото на структурата за променливи "
-"на\n"
+"изваждане на контекст на променливи: в началото на структурата за променливи на\n"
 "обвивката (shell_variables) е нещо, което не е контекст на функция"
 
-#: variables.c:4924
+#: variables.c:4697
 msgid "pop_var_context: no global_variables context"
 msgstr ""
 "изваждане на контекст на променливи: липсва контекст за глобални променливи\n"
 "(global_variables)"
 
-#: variables.c:4999
+#: variables.c:4772
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr ""
 "изваждане на област: в началото на структурата за променливи на обвивката\n"
 "(shell_variables)  е нещо, което не е временна област в обкръжението"
 
-#: variables.c:5862
+#: variables.c:5619
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s не може да се отвори като ФАЙЛ"
 
-#: variables.c:5867
+#: variables.c:5624
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: грешен файлов дескриптор за файла за трасиране"
 
-#: variables.c:5912
+#: variables.c:5669
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: е извън допустимия диапазон"
@@ -2206,12 +2133,8 @@ msgid "Copyright (C) 2016 Free Software Foundation, Inc."
 msgstr "Авторски права (C) 2016 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Лиценз GPLv3+: ОПЛ на GNU, версия 3 или по-висока <http://gnu.org/licenses/"
-"gpl.html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Лиценз GPLv3+: ОПЛ на GNU, версия 3 или по-висока <http://gnu.org/licenses/gpl.html>\n"
 
 #: version.c:86 version2.c:86
 #, c-format
@@ -2226,22 +2149,22 @@ msgstr "Това е свободен софтуер. Можете да го пр
 msgid "There is NO WARRANTY, to the extent permitted by law."
 msgstr "Няма НИКАКВИ ГАРАНЦИИ до степента позволена от закона."
 
-#: xmalloc.c:93
+#: xmalloc.c:91
 #, c-format
 msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
 msgstr "%s: не могат да се заделят %lu байта (заделени са %lu байта)"
 
-#: xmalloc.c:95
+#: xmalloc.c:93
 #, c-format
 msgid "%s: cannot allocate %lu bytes"
 msgstr "%s: не могат да се заделят %lu байта"
 
-#: xmalloc.c:165
+#: xmalloc.c:163
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
 msgstr "%s: %s:%d: не могат да се заделят %lu байта (заделени са %lu байта)"
 
-#: xmalloc.c:167
+#: xmalloc.c:165
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes"
 msgstr "%s: %s:%d: не могат да се заделят %lu байта"
@@ -2255,15 +2178,12 @@ msgid "unalias [-a] name [name ...]"
 msgstr "unalias [-a] ИМЕ [ИМЕ…]"
 
 #: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
 msgstr ""
 "bind [-lpsvPSVX] [-m ПОДРЕДБА_НА_КЛАВИАТУРАТА] [-f ИМЕ_НА_ФАЙЛ]\n"
 "     [-q ИМЕ] [-u ИМЕ] [-r ПОСЛЕДОВАТЕЛНОСТ_ОТ_КЛАВИШИ]\n"
 "     [-x ПОСЛЕДОВАТЕЛНОСТ_ОТ_КЛАВИШИ:КОМАНДА_НА_ОБВИВКАТА]\n"
-"     [ПОСЛЕДОВАТЕЛНОСТ_ОТ_КЛАВИШИ:КОМАНДА_НА_ОБВИВКАТА или "
-"КОМАНДА_НА_READLINE]"
+"     [ПОСЛЕДОВАТЕЛНОСТ_ОТ_КЛАВИШИ:КОМАНДА_НА_ОБВИВКАТА или КОМАНДА_НА_READLINE]"
 
 #: builtins.c:56
 msgid "break [n]"
@@ -2339,9 +2259,7 @@ msgstr "logout [ЦИФРОВ_КОД]"
 
 #: builtins.c:105
 msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr ""
-"fc [-e РЕДАКТОР] [-lnr] [ПЪРВИ] [ПОСЛЕДЕН] или fc -s [ШАБЛОН=ЗАМЕСТИТЕЛ…] "
-"[КОМАНДА]"
+msgstr "fc [-e РЕДАКТОР] [-lnr] [ПЪРВИ] [ПОСЛЕДЕН] или fc -s [ШАБЛОН=ЗАМЕСТИТЕЛ…] [КОМАНДА]"
 
 #: builtins.c:109
 msgid "fg [job_spec]"
@@ -2360,9 +2278,7 @@ msgid "help [-dms] [pattern ...]"
 msgstr "help [-dms] [ШАБЛОН…]"
 
 #: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
 msgstr ""
 "history [-c] [-d ОТМЕСТВАНЕ] [БРОЙ] или \n"
 "history -anrw [ИМЕ_НА_ФАЙЛ] или\n"
@@ -2377,9 +2293,7 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
 msgstr "disown [-h] [-ar] [ИД_ЗАДАЧА… | ИД_ПРОЦЕС…]"
 
 #: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
 msgstr ""
 "kill [-s СИГНАЛ | -n НОМЕР_НА_СИГНАЛ | -СИГНАЛ] ИД_ПРОЦЕС | ИД_ЗАДАЧА…\n"
 "или\n"
@@ -2390,9 +2304,7 @@ msgid "let arg [arg ...]"
 msgstr "let АРГУМЕНТ [АРГУМЕНТ…]"
 
 #: builtins.c:138
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
 msgstr ""
 "read [-ers] [-a МАСИВ] [-d РАЗДЕЛИТЕЛ] [-i ТЕКСТ] [-n БРОЙ_ЗНАЦИ]\n"
 "     [-N БРОЙ_ЗНАЦИ] [-p ПОДСКАЗКА] [-t БРОЙ_ЗНАЦИ] [-u ФАЙЛОВ_ДЕСКРИПТОР]\n"
@@ -2459,8 +2371,7 @@ msgid "umask [-p] [-S] [mode]"
 msgstr "umask [-p] [-S] [МАСКА]"
 
 #: builtins.c:177
-#, fuzzy
-msgid "wait [-fn] [id ...]"
+msgid "wait [-n] [id ...]"
 msgstr "wait [-n] [ИД…]"
 
 #: builtins.c:181
@@ -2488,12 +2399,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case ДУМА in [ШАБЛОН [| ШАБЛОН]…) КОМАНДИ ;;]… esac"
 
 #: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if КОМАНДИ; then КОМАНДИ; [ elif КОМАНДИ; then КОМАНДИ; ]… [ else КОМАНДИ; ] "
-"fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if КОМАНДИ; then КОМАНДИ; [ elif КОМАНДИ; then КОМАНДИ; ]… [ else КОМАНДИ; ] fi"
 
 #: builtins.c:196
 msgid "while COMMANDS; do COMMANDS; done"
@@ -2552,19 +2459,14 @@ msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v ПРОМЕНЛИВА] ФОРМАТ [АРГУМЕНТИ]"
 
 #: builtins.c:231
-msgid ""
-"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
-"W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
+msgid "complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
 msgstr ""
 "complete [-abcdefgjksuv] [-pr] [-DE] [-o ОПЦИЯ] [-A ДЕЙСТВИЕ]\n"
 "         [-G ШАБЛОН] [-W ДУМИ] [-F ФУНКЦИЯ] [-C КОМАНДА] [-X ФИЛТЪР]\n"
 "         [-P ПРЕДСТАВКА] [-S НАСТАВКА] [ИМЕ…]"
 
 #: builtins.c:235
-msgid ""
-"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist]  "
-"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
 msgstr ""
 "compgen [-abcdefgjksuv] [-o ОПЦИЯ] [-A ДЕЙСТВИЕ] [-G ШАБЛОН]\n"
 "        [-W ДУМИ] [-F ФУНКЦИЯ] [-C КОМАНДА] [-X ФИЛТЪР] [-P ПРЕДСТАВКА]\n"
@@ -2575,18 +2477,13 @@ msgid "compopt [-o|+o option] [-DE] [name ...]"
 msgstr "compopt [-o|+o ОПЦИЯ] [-DE] [ИМЕ…]"
 
 #: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
 msgstr ""
 "mapfile [-d РАЗДЕЛИТЕЛ] [-n БРОЙ] [-O НАЧАЛО] [-s БРОЙ] [-t]\n"
 "        [-u ФАЙЛ_ДЕСКР] [-C ФУНКЦИЯ] [-c КВАНТ] [МАСИВ]"
 
 #: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
 msgstr ""
 "readarray [-n БРОЙ] [-O НАЧАЛО] [-s БРОЙ] [-t] [-u ФАЙЛ_ДЕСКР]\n"
 "          [-C ФУНКЦИЯ] [-c КВАНТ] [МАСИВ]"
@@ -2606,8 +2503,7 @@ msgid ""
 "      -p\tprint all defined aliases in a reusable format\n"
 "    \n"
 "    Exit Status:\n"
-"    alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+"    alias returns true unless a NAME is supplied for which no alias has been\n"
 "    defined."
 msgstr ""
 "Дефиниране или извеждане на синоними.\n"
@@ -2656,30 +2552,25 @@ msgid ""
 "    Options:\n"
 "      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
 "                         command.  Acceptable keymap names are emacs,\n"
-"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
 "                         vi-command, and vi-insert.\n"
 "      -l                 List names of functions.\n"
 "      -P                 List function names and bindings.\n"
 "      -p                 List functions and bindings in a form that can be\n"
 "                         reused as input.\n"
-"      -S                 List key sequences that invoke macros and their "
-"values\n"
-"      -s                 List key sequences that invoke macros and their "
-"values\n"
+"      -S                 List key sequences that invoke macros and their values\n"
+"      -s                 List key sequences that invoke macros and their values\n"
 "                         in a form that can be reused as input.\n"
 "      -V                 List variable names and values\n"
 "      -v                 List variable names and values in a form that can\n"
 "                         be reused as input.\n"
 "      -q  function-name  Query about which keys invoke the named function.\n"
-"      -u  function-name  Unbind all keys which are bound to the named "
-"function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named function.\n"
 "      -r  keyseq         Remove the binding for KEYSEQ.\n"
 "      -f  filename       Read key bindings from FILENAME.\n"
 "      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
 "    \t\t\t\tKEYSEQ is entered.\n"
-"      -X                 List key sequences bound with -x and associated "
-"commands\n"
+"      -X                 List key sequences bound with -x and associated commands\n"
 "                         in a form that can be reused as input.\n"
 "    \n"
 "    Exit Status:\n"
@@ -2695,47 +2586,38 @@ msgstr ""
 "\n"
 "    Опции:\n"
 "      -m  ПОДРЕДБА    \n"
-"              Използване на ПОДРЕДБАта като подредба на функциите на "
-"клавишите\n"
+"              Използване на ПОДРЕДБАта като подредба на функциите на клавишите\n"
 "              докато командата се изпълнява.  Валидни са следните имена:\n"
 "              „emacs“, „emacs-standard“, „emacs-meta“, „emacs-ctlx“, „vi“,\n"
 "              „vi-move“, „vi-command“ и „vi-insert“.\n"
 "      -l      Списък с имената на функциите.\n"
 "      -P      Списък с имената на функциите и присвояванията.\n"
-"      -p      Списък с имената на функциите и присвояванията във вид, който "
-"може\n"
+"      -p      Списък с имената на функциите и присвояванията във вид, който може\n"
 "              да се използва за вход.\n"
-"      -S      Списък с клавишните последователности, които извикват макроси "
-"и\n"
+"      -S      Списък с клавишните последователности, които извикват макроси и\n"
 "              стойностите им.\n"
-"      -s      Списък с клавишните последователности, които извикват макроси "
-"и\n"
+"      -s      Списък с клавишните последователности, които извикват макроси и\n"
 "              стойностите им във вид, който може да се използва за вход.\n"
 "      -V      Списък с имената на променливите и стойностите им.\n"
-"      -v      Списък с имената на променливите и стойностите им във вид, "
-"който\n"
+"      -v      Списък с имената на променливите и стойностите им във вид, който\n"
 "              може да се използва за вход.\n"
 "      -q  ИМЕ_НА_ФУНКЦИЯ\n"
 "              Проверка кои клавиши извикват функцията с това име.\n"
 "      -u  ИМЕ_НА_ФУНКЦИЯ\n"
-"              Премахване на присвояванията към всички клавиши на функцията "
-"с\n"
+"              Премахване на присвояванията към всички клавиши на функцията с\n"
 "              това име.\n"
 "      -r  КЛАВИШНА_ПОСЛЕДОВАТЕЛНОСТ\n"
-"              Премахване на присвоената функция от "
-"КЛАВИШНАта_ПОСЛЕДОВАТЕЛНОСТ.\n"
+"              Премахване на присвоената функция от КЛАВИШНАта_ПОСЛЕДОВАТЕЛНОСТ.\n"
 "      -f  ФАЙЛ\n"
 "              Прочитане на присвояванията на клавиши от ФАЙЛа.\n"
 "      -x  КЛАВИШНА_ПОСЛЕДОВАТЕЛНОСТ:КОМАНДА_НА_ОБВИВКАТА\n"
 "               Изпълнение на КОМАНДАта_НА_ОБВИВКАТА при въвеждането на\n"
 "               КЛАВИШНАта_ПОСЛЕДОВАТЕЛНОСТ.\n"
-"      -X  Извеждане на клавишните комбинации зададени с „-x“ и свързаните с "
-"тях\n"
+"      -X  Извеждане на клавишните комбинации зададени с „-x“ и свързаните с тях\n"
 "               команди във форма, която може да се ползва и за вход\n"
 "\n"
 "    Изходен код:\n"
-"    bind връща 0, освен когато е зададена непозната опция или възникне "
-"грешка."
+"    bind връща 0, освен когато е зададена непозната опция или възникне грешка."
 
 #: builtins.c:330
 msgid ""
@@ -2749,8 +2631,7 @@ msgid ""
 msgstr ""
 "Изход от цикли чрез „for“, „while“ или „until“.\n"
 "    \n"
-"    Изход от цикли организирани чрез „for“, „while“ или „until“.  Ако е "
-"зададен\n"
+"    Изход от цикли организирани чрез „for“, „while“ или „until“.  Ако е зададен\n"
 "    БРОЙ се излиза от толкова на БРОЙ обхващащи цикли.\n"
 "    \n"
 "    Изходен код:\n"
@@ -2768,10 +2649,8 @@ msgid ""
 msgstr ""
 "Продължаване на цикъл  чрез „for“, „while“ или „until“.\n"
 "\n"
-"    Продължаване със следващата итерация от цикъл, организиран с „for“, "
-"„while“\n"
-"    или „until“.  Ако е зададен БРОЙ,  се продължава със следващата "
-"итерация\n"
+"    Продължаване със следващата итерация от цикъл, организиран с „for“, „while“\n"
+"    или „until“.  Ако е зададен БРОЙ,  се продължава със следващата итерация\n"
 "    на обхващащия цикъл зададен с този БРОЙ.\n"
 "\n"
 "    Изходен код:\n"
@@ -2783,8 +2662,7 @@ msgid ""
 "    \n"
 "    Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
 "    lookup.  This is useful when you wish to reimplement a shell builtin\n"
-"    as a shell function, but need to execute the builtin within the "
-"function.\n"
+"    as a shell function, but need to execute the builtin within the function.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2793,8 +2671,7 @@ msgstr ""
 "Изпълнение на вградени команди.\n"
 "\n"
 "    Изпълнение на ВГРАДЕНАта_КОМАНДА с АРГУМЕНТи, без да се търси нормална\n"
-"    команда.  Това е полезно в случаите, когато искате да създадете "
-"вградена\n"
+"    команда.  Това е полезно в случаите, когато искате да създадете вградена\n"
 "    команда като функция на обвивката, но във функцията искате да изпълните\n"
 "    вградената команда.\n"
 "\n"
@@ -2823,35 +2700,27 @@ msgstr ""
 "    „$line $subroutine $filename“.  Допълнителната информация може да се\n"
 "    използва за получаване на информация за състоянието на стека.\n"
 "    \n"
-"    Стойността на ИЗРАЗа показва за колко рамки спрямо текущата да се "
-"изведе\n"
+"    Стойността на ИЗРАЗа показва за колко рамки спрямо текущата да се изведе\n"
 "    информация.  Най-горната рамка е 0.\n"
 "    \n"
 "    Изходен код:\n"
-"    Връща 0, освен ако обвивката изпълнява функция дефинирана в обвивката "
-"или\n"
+"    Връща 0, освен ако обвивката изпълнява функция дефинирана в обвивката или\n"
 "    ИЗРАЗът е грешен."
 
 #: builtins.c:387
 msgid ""
 "Change the shell working directory.\n"
 "    \n"
-"    Change the current directory to DIR.  The default DIR is the value of "
-"the\n"
+"    Change the current directory to DIR.  The default DIR is the value of the\n"
 "    HOME shell variable.\n"
 "    \n"
-"    The variable CDPATH defines the search path for the directory "
-"containing\n"
-"    DIR.  Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-"    A null directory name is the same as the current directory.  If DIR "
-"begins\n"
+"    The variable CDPATH defines the search path for the directory containing\n"
+"    DIR.  Alternative directory names in CDPATH are separated by a colon (:).\n"
+"    A null directory name is the same as the current directory.  If DIR begins\n"
 "    with a slash (/), then CDPATH is not used.\n"
 "    \n"
-"    If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-"    the word is assumed to be  a variable name.  If that variable has a "
-"value,\n"
+"    If the directory is not found, and the shell option `cdable_vars' is set,\n"
+"    the word is assumed to be  a variable name.  If that variable has a value,\n"
 "    its value is used for DIR.\n"
 "    \n"
 "    Options:\n"
@@ -2867,13 +2736,11 @@ msgid ""
 "    \t\tattributes as a directory containing the file attributes\n"
 "    \n"
 "    The default is to follow symbolic links, as if `-L' were specified.\n"
-"    `..' is processed by removing the immediately previous pathname "
-"component\n"
+"    `..' is processed by removing the immediately previous pathname component\n"
 "    back to a slash or the beginning of DIR.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+"    Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
 "    -P is used; non-zero otherwise."
 msgstr ""
 "Смяна на работната директория на обвивката.\n"
@@ -2881,41 +2748,30 @@ msgstr ""
 "    Смяна на текущата директория да е ДИРЕКТОРИЯ.  Променливата „HOME“ е\n"
 "    стандартната директория.\n"
 "\n"
-"    Променливата „CDPATH“ определя пътя за търсене на директории, които "
-"могат да\n"
+"    Променливата „CDPATH“ определя пътя за търсене на директории, които могат да\n"
 "    съдържат ДИРЕКТОРИЯта.  Директориите в „CDPATH“ са разделени с „:“. \n"
-"    Липсващо име на директория означава текущата директория, т.е. „.“. Ако "
-"името\n"
+"    Липсващо име на директория означава текущата директория, т.е. „.“. Ако името\n"
 "    на ДИРЕКТОРИЯта започва с наклонена черта „/“, „CDPATH“ не се ползва.\n"
 "\n"
 "    Ако директорията не е открита, но е зададена опцията на обвивката\n"
-"    „cdable_vars“, то думата се пробва като име на променлива.  Ако "
-"променливата\n"
-"    има стойност, то директорията се сменя към стойността на тази "
-"променлива.\n"
+"    „cdable_vars“, то думата се пробва като име на променлива.  Ако променливата\n"
+"    има стойност, то директорията се сменя към стойността на тази променлива.\n"
 "  \n"
 "    Опции:\n"
 "      -L  налага следването на символните връзки.  Символните връзки в\n"
-"          ДИРЕКТОРИЯта се обработват след указателите към горна директория "
-"„..“.\n"
-"      -P  налага използването на фактическата подредба на директориите, "
-"вместо\n"
-"          да се следват символните връзки.  Символните връзки в ДИРЕКТОРИЯта "
-"се\n"
+"          ДИРЕКТОРИЯта се обработват след указателите към горна директория „..“.\n"
+"      -P  налага използването на фактическата подредба на директориите, вместо\n"
+"          да се следват символните връзки.  Символните връзки в ДИРЕКТОРИЯта се\n"
 "          обработват след указателите към горна директория „..“.\n"
-"      -e  ако е използвана опцията „-P“ и текущата директория не може да "
-"бъде\n"
+"      -e  ако е използвана опцията „-P“ и текущата директория не може да бъде\n"
 "          определена, командата завършва с ненулев изход.\n"
-"      -@  на системите с поддръжка на разширени атрибути файлът се "
-"представя\n"
+"      -@  на системите с поддръжка на разширени атрибути файлът се представя\n"
 "          като директория, в която са атрибутите.\n"
 "\n"
-"     Стандартно символните връзки се следват, все едно е зададена опцията „-"
-"L“\n"
+"     Стандартно символните връзки се следват, все едно е зададена опцията „-L“\n"
 "\n"
 "     Изходен код:\n"
-"     Връща 0 при смяна на директорията.  Когато е зададена опцията „-P“, 0 "
-"се\n"
+"     Връща 0 при смяна на директорията.  Когато е зададена опцията „-P“, 0 се\n"
 "     връща при успешно задаване на променливата „PWD„.  Във всички останали\n"
 "     случаи изходът е ненулев."
 
@@ -2944,8 +2800,7 @@ msgstr ""
 "    Стандартно поведението на „pwd“ без аргументи съответства на „-L“.\n"
 "    \n"
 "    Изходен код:\n"
-"    0, освен ако е подадена неправилна опция или текущата директория не може "
-"да\n"
+"    0, освен ако е подадена неправилна опция или текущата директория не може да\n"
 "    бъде прочетена."
 
 #: builtins.c:442
@@ -2993,8 +2848,7 @@ msgid ""
 "Execute a simple command or display information about commands.\n"
 "    \n"
 "    Runs COMMAND with ARGS suppressing  shell function lookup, or display\n"
-"    information about the specified COMMANDs.  Can be used to invoke "
-"commands\n"
+"    information about the specified COMMANDs.  Can be used to invoke commands\n"
 "    on disk when a function with the same name exists.\n"
 "    \n"
 "    Options:\n"
@@ -3009,25 +2863,20 @@ msgstr ""
 "Изпълнение на нормална команда или извеждане на информация за команди.\n"
 "    \n"
 "    Изпълнение на КОМАНДАта с АРГументи, без тя да се търси като функция на\n"
-"    обвивката, или извеждане на информация за указаните КОМАНДи.  Може да "
-"се\n"
-"    използва за изпълнението на външни команди, дори когато съществува "
-"функция\n"
+"    обвивката, или извеждане на информация за указаните КОМАНДи.  Може да се\n"
+"    използва за изпълнението на външни команди, дори когато съществува функция\n"
 "    със същото име.\n"
 "    \n"
 "    Опции:\n"
-"      -p  използване на стандартна стойност на PATH.  Така могат да се "
-"открият\n"
+"      -p  използване на стандартна стойност на PATH.  Така могат да се открият\n"
 "          всички стандартни инструменти\n"
-"      -v  извежда описание на КОМАНДАта подобно на вградената команда "
-"„type“\n"
+"      -v  извежда описание на КОМАНДАта подобно на вградената команда „type“\n"
 "      -V  извежда по пълно описание на всяка КОМАНДА\n"
 "    \n"
 "    Изходен код:\n"
 "    Връща изходния код на КОМАНДАта или грешка, ако такава не е открита."
 
 #: builtins.c:490
-#, fuzzy
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -3046,11 +2895,11 @@ msgid ""
 "      -a\tto make NAMEs indexed arrays (if supported)\n"
 "      -A\tto make NAMEs associative arrays (if supported)\n"
 "      -i\tto make NAMEs have the `integer' attribute\n"
-"      -l\tto convert the value of each NAME to lower case on assignment\n"
+"      -l\tto convert NAMEs to lower case on assignment\n"
 "      -n\tmake NAME a reference to the variable named by its value\n"
 "      -r\tto make NAMEs readonly\n"
 "      -t\tto make NAMEs have the `trace' attribute\n"
-"      -u\tto convert the value of each NAME to upper case on assignment\n"
+"      -u\tto convert NAMEs to upper case on assignment\n"
 "      -x\tto make NAMEs export\n"
 "    \n"
 "    Using `+' instead of `-' turns off the given attribute.\n"
@@ -3058,8 +2907,7 @@ msgid ""
 "    Variables with the integer attribute have arithmetic evaluation (see\n"
 "    the `let' command) performed when the variable is assigned a value.\n"
 "    \n"
-"    When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+"    When used in a function, `declare' makes NAMEs local, as with the `local'\n"
 "    command.  The `-g' option suppresses this behavior.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3068,20 +2916,15 @@ msgid ""
 msgstr ""
 "Задаване на стойности на променливите и атрибутите.\n"
 "    \n"
-"    Деклариране на променливи и задаване на атрибутите им.  Ако не са "
-"дадени\n"
+"    Деклариране на променливи и задаване на атрибутите им.  Ако не са дадени\n"
 "    ИМЕна се изобразяват атрибутите и стойностите на всички променливи.\n"
 "    \n"
 "    Опции:\n"
-"      -f    Ограничаване на действието или извеждането до имената и "
-"дефинициите\n"
+"      -f    Ограничаване на действието или извеждането до имената и дефинициите\n"
 "            на функциите\n"
-"      -F    Ограничаване на извеждането само до имената на функциите, заедно "
-"с\n"
-"            номерата на редовете и изходните файлове при изчистване на "
-"грешките\n"
-"      -g    Създаване на глобална променлива, когато опцията е употребена "
-"във\n"
+"      -F    Ограничаване на извеждането само до имената на функциите, заедно с\n"
+"            номерата на редовете и изходните файлове при изчистване на грешките\n"
+"      -g    Създаване на глобална променлива, когато опцията е употребена във\n"
 "            функция.  В противен случай се пренебрегва\n"
 "      -p    Извеждане на атрибутите и стойността на всяко ИМЕ\n"
 "    \n"
@@ -3103,15 +2946,12 @@ msgstr ""
 "    число се извършва аритметично изчисляване (вижте командата „let“).\n"
 "    the `let' command).\n"
 "    \n"
-"    Когато се използва във функция, командата „declare“ прави ИМЕната "
-"локални,\n"
-"    все едно се изпълнява командата „local“.  Опцията „-g“ предотвратява "
-"това\n"
+"    Когато се използва във функция, командата „declare“ прави ИМЕната локални,\n"
+"    все едно се изпълнява командата „local“.  Опцията „-g“ предотвратява това\n"
 "    поведение.\n"
 "    \n"
 "    Изходен код:\n"
-"    0, освен ако е зададена неправилна опция или възникне грешка при "
-"задаването\n"
+"    0, освен ако е зададена неправилна опция или възникне грешка при задаването\n"
 "    на стойност на променлива."
 
 #: builtins.c:530
@@ -3140,25 +2980,21 @@ msgid ""
 msgstr ""
 "Дефиниране на локални променливи.\n"
 "    \n"
-"    Създаване на локална променлива с това ИМЕ и зададената СТОЙНОСТ.  "
-"ОПЦИЯта\n"
+"    Създаване на локална променлива с това ИМЕ и зададената СТОЙНОСТ.  ОПЦИЯта\n"
 "    може да е всяка приемана от вградената команда „declare“.\n"
 "    \n"
-"    Локалните променливи могат да се използват само във функция.  Те са "
-"видими\n"
+"    Локалните променливи могат да се използват само във функция.  Те са видими\n"
 "    само в нея и нейните наследници.\n"
 "    \n"
 "    Изходен код:\n"
-"    0, освен ако е зададена неправилна ОПЦИЯ, възникне грешка при задаването "
-"на\n"
+"    0, освен ако е зададена неправилна ОПЦИЯ, възникне грешка при задаването на\n"
 "    стойност на променлива, или в момента не се изпълнява функция."
 
 #: builtins.c:555
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
-"    Display the ARGs, separated by a single space character and followed by "
-"a\n"
+"    Display the ARGs, separated by a single space character and followed by a\n"
 "    newline, on the standard output.\n"
 "    \n"
 "    Options:\n"
@@ -3193,8 +3029,7 @@ msgstr ""
 "\n"
 "    Опции:\n"
 "      -n  не се извежда знак за нов ред.\n"
-"      -e  включва се интерпретирането на знаците, изброени по-долу,  "
-"екранирани\n"
+"      -e  включва се интерпретирането на знаците, изброени по-долу,  екранирани\n"
 "           с обратна наклонена черта — „\\“\n"
 "      -Е  изрично се спира интерпретирането на долните знаци\n"
 "\n"
@@ -3211,12 +3046,10 @@ msgstr ""
 "      \\v  вертикална табулация\n"
 "      \\\\  обратно наклонена черта\n"
 "      \\0nnn\n"
-"          знакът с код в ASCII NNN (в осмична бройна система).  NNN може да "
-"се\n"
+"          знакът с код в ASCII NNN (в осмична бройна система).  NNN може да се\n"
 "          състои от 1 до 3 осмични цифри.\n"
 "      \\xHH\n"
-"          знакът с код в ASCII HH (в шестнайсетична бройна система).  HH "
-"може\n"
+"          знакът с код в ASCII HH (в шестнайсетична бройна система).  HH може\n"
 "          да се състои от 1 до 2 шестнайсетични цифри.\n"
 "\n"
 "    Изходен код:\n"
@@ -3236,8 +3069,7 @@ msgid ""
 msgstr ""
 "Извеждане на аргументите на стандартния изход.\n"
 "    \n"
-"    Извеждане на АРГументите на стандартния изход последвани от знак за нов "
-"ред.\n"
+"    Извеждане на АРГументите на стандартния изход последвани от знак за нов ред.\n"
 "    \n"
 "    Опции:\n"
 "      -n        без извеждане на знак за нов ред\n"
@@ -3274,21 +3106,17 @@ msgstr ""
 "Включване и изключване на вградените в обвивката команди.\n"
 "    \n"
 "    Включване и изключване на командите вградени в обвивката.  Изключването\n"
-"    позволява извикването на външна команда със същото име като вградена "
-"без\n"
+"    позволява извикването на външна команда със същото име като вградена без\n"
 "    използването на пълното име с пътя.\n"
 "    \n"
 "    Опции:\n"
 "      -a    Извеждане на списъка с вградените команди заедно с това дали са\n"
 "            включени или не\n"
 "      -n    Изключване на вградените команди с посочените ИМЕна.  Ако не са\n"
-"            дадени ИМЕна, се извежда списъкът с изключените вътрешни "
-"команди\n"
-"      -p    Извеждане на списъка с вътрешни команди във формат, който може "
-"да\n"
+"            дадени ИМЕна, се извежда списъкът с изключените вътрешни команди\n"
+"      -p    Извеждане на списъка с вътрешни команди във формат, който може да\n"
 "            се ползва като вход\n"
-"      -s    Извеждане само на имената на специалните вградени команди "
-"според\n"
+"      -s    Извеждане само на имената на специалните вградени команди според\n"
 "            POSIX\n"
 "    \n"
 "    Опции за динамичното зареждане:\n"
@@ -3299,8 +3127,7 @@ msgstr ""
 "    Ако не са зададени опции, всяка от вътрешните команди с такова ИМЕ бива\n"
 "    включена.\n"
 "    \n"
-"    За да ползвате командата „test“, която се намира в пътя за изпълнение "
-"$PATH,\n"
+"    За да ползвате командата „test“, която се намира в пътя за изпълнение $PATH,\n"
 "    вместо вградения в обвивката вариант изпълнете: „enable -n test“.\n"
 "    \n"
 "    Изходен код:\n"
@@ -3310,8 +3137,7 @@ msgstr ""
 msgid ""
 "Execute arguments as a shell command.\n"
 "    \n"
-"    Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+"    Combine ARGs into a single string, use the result as input to the shell,\n"
 "    and execute the resulting commands.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3367,57 +3193,39 @@ msgid ""
 msgstr ""
 "Анализиране на опциите и аргументите.\n"
 "\n"
-"    getopts се използва от процедурите на обвивката за анализа на "
-"позиционните\n"
+"    getopts се използва от процедурите на обвивката за анализа на позиционните\n"
 "    аргументи и опции.\n"
 "    \n"
-"    НИЗът_С_ОПЦИИ съдържа знаците, които трябва да се разпознават като "
-"опции.\n"
-"    Ако буквата е следвана от двоеточие, очаква се опцията да получава "
-"аргумент,\n"
+"    НИЗът_С_ОПЦИИ съдържа знаците, които трябва да се разпознават като опции.\n"
+"    Ако буквата е следвана от двоеточие, очаква се опцията да получава аргумент,\n"
 "    който да е разделен от нея с интервал(и).\n"
 "    \n"
-"    При всяко извикване „getopts“ поставя следващата опция в променливата "
-"на\n"
-"    обвивката „name“, като я инициализира, ако тя не съществува, а индексът "
-"на\n"
-"    следващия аргумент, който трябва да се обработи, в променливата на "
-"обвивката\n"
-"    „OPTIND“.  „OPTIND“ се инициализира да е 1 при всяко извикване на "
-"обвивка\n"
+"    При всяко извикване „getopts“ поставя следващата опция в променливата на\n"
+"    обвивката „name“, като я инициализира, ако тя не съществува, а индексът на\n"
+"    следващия аргумент, който трябва да се обработи, в променливата на обвивката\n"
+"    „OPTIND“.  „OPTIND“ се инициализира да е 1 при всяко извикване на обвивка\n"
 "    или скрипт.  Когато опцията се нуждае от аргумент, той се поставя в\n"
 "    променливата на обвивката „OPTARG“.\n"
 "    \n"
 "    „getopts“ докладва грешки по един от два начина.  Ако първият знак на\n"
-"    „OPTSTRING“ е двоеточие, „getopts“ използва тихо докладване.  В този "
-"режим\n"
-"    не се извеждат никакви съобщения за грешка.  Ако се срещне неправилна "
-"опция,\n"
-"    „getopts“ слага срещнатия знак за опция в „OPTARG“.  Ако липсва "
-"задължителен\n"
-"    аргумент, „getopts“ слага „:“ в променливата „ИМЕ“, а в „OPTARG“ — "
-"срещнатия\n"
-"    знак за опция.  Когато „getopts“ не е в режим на тихо докладване и се "
-"срещне\n"
-"    неправилна опция, в променливата „ИМЕ“ се слага „?“, а „OPTARG“ се "
-"премахва,\n"
-"    а ако липсва задължителен аргумент, допълнително се изписва "
-"диагностично\n"
+"    „OPTSTRING“ е двоеточие, „getopts“ използва тихо докладване.  В този режим\n"
+"    не се извеждат никакви съобщения за грешка.  Ако се срещне неправилна опция,\n"
+"    „getopts“ слага срещнатия знак за опция в „OPTARG“.  Ако липсва задължителен\n"
+"    аргумент, „getopts“ слага „:“ в променливата „ИМЕ“, а в „OPTARG“ — срещнатия\n"
+"    знак за опция.  Когато „getopts“ не е в режим на тихо докладване и се срещне\n"
+"    неправилна опция, в променливата „ИМЕ“ се слага „?“, а „OPTARG“ се премахва,\n"
+"    а ако липсва задължителен аргумент, допълнително се изписва диагностично\n"
 "    съобщение.\n"
 "    \n"
-"    Ако променливата на обвивката „OPTERR“ е със стойност 0, „getopts“ "
-"изключва\n"
-"    извеждането на диагностични съобщения, дори първият знак в „OPTSTRING“ "
-"да не\n"
+"    Ако променливата на обвивката „OPTERR“ е със стойност 0, „getopts“ изключва\n"
+"    извеждането на диагностични съобщения, дори първият знак в „OPTSTRING“ да не\n"
 "    е двоеточие.  По подразбиране „OPTERR“ е със стойност 1.\n"
 "    \n"
-"    „getopts“ по принцип анализира позиционните аргументи ($0 — $9), но ако "
-"са\n"
+"    „getopts“ по принцип анализира позиционните аргументи ($0 — $9), но ако са\n"
 "    дадени повече аргументи, те биват анализирани вместо това.\n"
 "\n"
 "    Изходен код:\n"
-"    Връща 0 при откриването на опция.  Връща друга стойност при стигането "
-"на\n"
+"    Връща 0 при откриването на опция.  Връща друга стойност при стигането на\n"
 "    последната опция или при възникването на грешка."
 
 #: builtins.c:688
@@ -3425,8 +3233,7 @@ msgid ""
 "Replace the shell with the given command.\n"
 "    \n"
 "    Execute COMMAND, replacing this shell with the specified program.\n"
-"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not "
-"specified,\n"
+"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,\n"
 "    any redirections take effect in the current shell.\n"
 "    \n"
 "    Options:\n"
@@ -3434,18 +3241,15 @@ msgid ""
 "      -c\texecute COMMAND with an empty environment\n"
 "      -l\tplace a dash in the zeroth argument to COMMAND\n"
 "    \n"
-"    If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+"    If the command cannot be executed, a non-interactive shell exits, unless\n"
 "    the shell option `execfail' is set.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+"    Returns success unless COMMAND is not found or a redirection error occurs."
 msgstr ""
 "Заместване на обвивката с дадената команда.\n"
 "\n"
-"    Изпълняване на КОМАНДАта, като тя замества текущата обвивка.  "
-"АРГУМЕНТите\n"
+"    Изпълняване на КОМАНДАта, като тя замества текущата обвивка.  АРГУМЕНТите\n"
 "    се подават на КОМАНДАта.  Ако не е дадена КОМАНДА, пренасочванията се\n"
 "    извършват в текущата обвивка.\n"
 "\n"
@@ -3454,8 +3258,7 @@ msgstr ""
 "      -c        изпълняване на КОМАНДАта в празна среда\n"
 "      -l        поставяне на тире в нулевия аргумент на КОМАНДАта\n"
 "\n"
-"    Ако КОМАНДАта не може да бъде изпълнена, трябва да съществува "
-"неинтерактивна\n"
+"    Ако КОМАНДАта не може да бъде изпълнена, трябва да съществува неинтерактивна\n"
 "    обвивка, освен ако не е зададена опцията на обвивката „execfail“.\n"
 "\n"
 "    Изходен код:\n"
@@ -3471,37 +3274,32 @@ msgid ""
 msgstr ""
 "Изход от обвивката.\n"
 "    \n"
-"    Изход от обвивката с този ЦИФРОВ_КОД.  Ако той е изпуснат, то изходният "
-"код\n"
+"    Изход от обвивката с този ЦИФРОВ_КОД.  Ако той е изпуснат, то изходният код\n"
 "    е този на последната изпълнена команда."
 
 #: builtins.c:718
 msgid ""
 "Exit a login shell.\n"
 "    \n"
-"    Exits a login shell with exit status N.  Returns an error if not "
-"executed\n"
+"    Exits a login shell with exit status N.  Returns an error if not executed\n"
 "    in a login shell."
 msgstr ""
 "Изход от входната обвивка.\n"
 "    \n"
-"    Изход от входната обвивка с този ЦИФРОВ_КОД.  Връща грешка, ако е "
-"изпълнена\n"
+"    Изход от входната обвивка с този ЦИФРОВ_КОД.  Връща грешка, ако е изпълнена\n"
 "    в обвивка, която не е входна."
 
 #: builtins.c:728
 msgid ""
 "Display or execute commands from the history list.\n"
 "    \n"
-"    fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+"    fc is used to list or edit and re-execute commands from the history list.\n"
 "    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
 "    string, which means the most recent command beginning with that\n"
 "    string.\n"
 "    \n"
 "    Options:\n"
-"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then "
-"EDITOR,\n"
+"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then EDITOR,\n"
 "    \t\tthen vi\n"
 "      -l \tlist lines instead of editing\n"
 "      -n\tomit line numbers when listing\n"
@@ -3515,42 +3313,34 @@ msgid ""
 "    the last command.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success or status of executed command; non-zero if an error "
-"occurs."
+"    Returns success or status of executed command; non-zero if an error occurs."
 msgstr ""
 "Извеждане и/или изпълнение на команди от историята.\n"
 "\n"
-"    fc се използва за изброяването или редактирането и повторното изпълнение "
-"на\n"
+"    fc се използва за изброяването или редактирането и повторното изпълнение на\n"
 "    команди от списъка на историята.\n"
-"    ПЪРВИ и ПОСЛЕДЕН са номера, които могат да указват допустимия диапазон.  "
-"Ако\n"
+"    ПЪРВИ и ПОСЛЕДЕН са номера, които могат да указват допустимия диапазон.  Ако\n"
 "    е зададен само ПЪРВИят аргумент, той задава низ, който е началото на\n"
 "    команда.\n"
 "    \n"
 "    Опции:\n"
 "      -e  РЕДАКТОР\n"
 "          избор на текстов редактор, който да се използва.  Стандартно е\n"
-"          указаният в променливата „FCEDIT“, след това се проверява „EDITOR“ "
-"и\n"
+"          указаният в променливата „FCEDIT“, след това се проверява „EDITOR“ и\n"
 "          в краен случай е „vi“.\n"
 "      -l  редовете да се покажат вместо редактират.\n"
 "      -n  номерата на редовете да не се отпечатват.\n"
 "      -r  обратна подредба (отпред да е най-новият ред).\n"
 "    \n"
-"    При варианта „fc -s [ШАБЛОН=ЗАМЕСТИТЕЛ…] [КОМАНДА]“ командата се "
-"изпълнява, като\n"
+"    При варианта „fc -s [ШАБЛОН=ЗАМЕСТИТЕЛ…] [КОМАНДА]“ командата се изпълнява, като\n"
 "    всяка поява на ШАБЛона се заменя със ЗАМЕСТителя.\n"
 "    \n"
-"    Удобен за използване синоним е „r='fc -s'“.  По такъв начин, ако "
-"напишете\n"
-"    „r cc“, ще се изпълни последната команда, която започва с „cc“, а "
-"когато\n"
+"    Удобен за използване синоним е „r='fc -s'“.  По такъв начин, ако напишете\n"
+"    „r cc“, ще се изпълни последната команда, която започва с „cc“, а когато\n"
 "    се въведе само „r“, ще се изпълни последната команда.\n"
 "\n"
 "    Изходен код:\n"
-"    Връща 0 или изхода от последната команда, който не е 0 в случай на "
-"грешка."
+"    Връща 0 или изхода от последната команда, който не е 0 в случай на грешка."
 
 #: builtins.c:758
 msgid ""
@@ -3576,10 +3366,8 @@ msgstr ""
 msgid ""
 "Move jobs to the background.\n"
 "    \n"
-"    Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-"    had been started with `&'.  If JOB_SPEC is not present, the shell's "
-"notion\n"
+"    Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+"    had been started with `&'.  If JOB_SPEC is not present, the shell's notion\n"
 "    of the current job is used.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3588,8 +3376,7 @@ msgstr ""
 "Поставяне на задачи във фонов режим.\n"
 "\n"
 "    Поставя всяка ЗАДАЧА във фонов режим, все едно е била стартирана с „&“.\n"
-"    Ако липсва аргумент ЗАДАЧА, се използва текущата задача според "
-"обвивката.\n"
+"    Ако липсва аргумент ЗАДАЧА, се използва текущата задача според обвивката.\n"
 "\n"
 "    Изходен код:\n"
 "    0, освен ако управлението на задачи е изключено или възникне грешка."
@@ -3599,8 +3386,7 @@ msgid ""
 "Remember or display program locations.\n"
 "    \n"
 "    Determine and remember the full pathname of each command NAME.  If\n"
-"    no arguments are given, information about remembered commands is "
-"displayed.\n"
+"    no arguments are given, information about remembered commands is displayed.\n"
 "    \n"
 "    Options:\n"
 "      -d\tforget the remembered location of each NAME\n"
@@ -3619,8 +3405,7 @@ msgid ""
 msgstr ""
 "Запомняне или извеждане на местоположенията на програми.\n"
 "\n"
-"    Определяне и запомняне на пълното име с пътя на всяко ИМЕ.  Ако не са "
-"дадени\n"
+"    Определяне и запомняне на пълното име с пътя на всяко ИМЕ.  Ако не са дадени\n"
 "    аргументи, се извежда информация за всички запомнени команди.\n"
 "\n"
 "    Опции:\n"
@@ -3630,19 +3415,16 @@ msgstr ""
 "            Използване на посочения ПЪТ като пълен път за ИМЕто\n"
 "      -r    Забравяне на всички запомнени местоположения\n"
 "      -t    Извеждане на запомнените местоположения на всички ИМЕна.  Ако е\n"
-"            посочено повече от едно ИМЕ, всяко местоположение се предшества "
-"от\n"
+"            посочено повече от едно ИМЕ, всяко местоположение се предшества от\n"
 "            ИМЕто\n"
 "    Аргументи:\n"
-"      ИМЕ    Всяко име се търси в пътя за изпълнение „PATH“ и при намирането "
-"му\n"
+"      ИМЕ    Всяко име се търси в пътя за изпълнение „PATH“ и при намирането му\n"
 "             се добавя в списъка със запомнени команди.\n"
 "\n"
 "    Изходен код:\n"
 "    0, освен ако ИМЕто не бъде открито или е дадена неправилна опция."
 
 #: builtins.c:812
-#, fuzzy
 msgid ""
 "Display information about builtin commands.\n"
 "    \n"
@@ -3657,37 +3439,31 @@ msgid ""
 "    \t\tPATTERN\n"
 "    \n"
 "    Arguments:\n"
-"      PATTERN\tPattern specifying a help topic\n"
+"      PATTERN\tPattern specifiying a help topic\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless PATTERN is not found or an invalid option is "
-"given."
+"    Returns success unless PATTERN is not found or an invalid option is given."
 msgstr ""
 "Извеждане на информация за вградените команди.\n"
 "    \n"
-"    Извежда кратка информация за вградените команди.  Ако е указан ШАБЛОН, "
-"се\n"
-"    извежда информация за напасващите команди.  В противен случай се "
-"изважда\n"
+"    Извежда кратка информация за вградените команди.  Ако е указан ШАБЛОН, се\n"
+"    извежда информация за напасващите команди.  В противен случай се изважда\n"
 "    информация за всички команди.\n"
 "    \n"
 "    Опции:\n"
 "      -d    Извеждане на кратко описание на всяка тема\n"
 "      -m    Извеждане във формат наподобяващ страница от ръководствата\n"
-"      -s    Извеждане само на кратко обобщение за използването на всяка "
-"команда,\n"
+"      -s    Извеждане само на кратко обобщение за използването на всяка команда,\n"
 "            съвпадаща с ШАБЛОНа\n"
 "    \n"
 "    Аргументи:\n"
-"      ШАБЛОН  Шаблон за имената на командите, за които да се изведе "
-"информация\n"
+"      ШАБЛОН  Шаблон за имената на командите, за които да се изведе информация\n"
 "    \n"
 "    Изходен код:\n"
 "    0, освен ако никоя вградена команда не съвпада с шаблона или е дадена\n"
 "    неправилна опция."
 
 #: builtins.c:836
-#, fuzzy
 msgid ""
 "Display or manipulate the history list.\n"
 "    \n"
@@ -3696,8 +3472,7 @@ msgid ""
 "    \n"
 "    Options:\n"
 "      -c\tclear the history list by deleting all of the entries\n"
-"      -d offset\tdelete the history entry at position OFFSET. Negative\n"
-"    \t\toffsets count back from the end of the history list\n"
+"      -d offset\tdelete the history entry at position OFFSET.\n"
 "    \n"
 "      -a\tappend history lines from this session to the history file\n"
 "      -n\tread all history lines not already read from the history file\n"
@@ -3715,16 +3490,14 @@ msgid ""
 "    \n"
 "    If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
 "    as a format string for strftime(3) to print the time stamp associated\n"
-"    with each displayed history entry.  No time stamps are printed "
-"otherwise.\n"
+"    with each displayed history entry.  No time stamps are printed otherwise.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or an error occurs."
 msgstr ""
 "Извеждане и управление на списъка на историята.\n"
 "\n"
-"    Отпечатване на списъка на историята с номера на ред.  Редовете, които "
-"са\n"
+"    Отпечатване на списъка на историята с номера на ред.  Редовете, които са\n"
 "    отбелязани със знака „*“, са били променени.  Аргументът N указва да се\n"
 "    извеждат само N на брой реда.\n"
 "\n"
@@ -3733,36 +3506,29 @@ msgstr ""
 "    -d ПОЗИЦИЯ\n"
 "        изтрива елемента в историята намиращ се посочената ПОЗИЦИЯ.\n"
 "    -a  добавя историята от текущата сесия към файла с историята.\n"
-"    -n  прочитане на непрочетените редове от файла с историята и добавяне "
-"към\n"
+"    -n  прочитане на непрочетените редове от файла с историята и добавяне към\n"
 "        текущата история.\n"
-"    -r  прочитане на файла с историята и добавяне на съдържанието към "
-"текущата\n"
+"    -r  прочитане на файла с историята и добавяне на съдържанието към текущата\n"
 "        история.\n"
 "    -w  записване на текущата история във файла за историята.\n"
-"    -p  извършване на историческо заместване за всеки АРГУМЕНТ, а резултатът "
-"да\n"
+"    -p  извършване на историческо заместване за всеки АРГУМЕНТ, а резултатът да\n"
 "        се изведе, без нищо да се записва в историята на командите.\n"
-"    -s  аргументите, които не са опции, се добавят като един елемент към "
-"файла с\n"
+"    -s  аргументите, които не са опции, се добавят като един елемент към файла с\n"
 "        историята.\n"
 "    \n"
 "    Ако аргументът ИМЕ_НА_ФАЙЛ е зададен, той се използва като файл за\n"
 "    историята. Ако той липсва, се използва файлът сочен в променливата на\n"
 "    средата „HISTFILE“. В противен случай се ползва „~/.bash_history“.\n"
 "    \n"
-"    Ако променливата „HISTTIMEFORMAT“ е зададена и не е „null“, стойността ѝ "
-"се\n"
-"    използва като форматиращия низ за функцията „strftime“, за да се "
-"отбелязва\n"
-"    времето свързано с всеки елемент от историята.  В противен случай "
-"времето не\n"
+"    Ако променливата „HISTTIMEFORMAT“ е зададена и не е „null“, стойността ѝ се\n"
+"    използва като форматиращия низ за функцията „strftime“, за да се отбелязва\n"
+"    времето свързано с всеки елемент от историята.  В противен случай времето не\n"
 "    се записва.\n"
 "    \n"
 "    Изходен код:\n"
 "    0.  Ако възникне грешка или е подадена неправилна опция връща грешка."
 
-#: builtins.c:873
+#: builtins.c:872
 msgid ""
 "Display status of jobs.\n"
 "    \n"
@@ -3800,16 +3566,14 @@ msgstr ""
 "      -s  ограничаване на изхода само до спрените задачи.\n"
 "\n"
 "      Ако е зададена опцията „-x“, КОМАНДАта се изпълнява, след като всички\n"
-"      ЗАДАЧи, които се появяват като АРГУМЕНТи, се заменят с идентификатора "
-"на\n"
+"      ЗАДАЧи, които се появяват като АРГУМЕНТи, се заменят с идентификатора на\n"
 "      водача на групата процеси.\n"
 "\n"
 "      Изходен код:\n"
-"      0, освен ако не е дадена неправилна опция или възникни грешка.  Ако "
-"се\n"
+"      0, освен ако не е дадена неправилна опция или възникни грешка.  Ако се\n"
 "      ползва „-x“, връща изходното състояние на КОМАНДАта."
 
-#: builtins.c:900
+#: builtins.c:899
 msgid ""
 "Remove jobs from current shell.\n"
 "    \n"
@@ -3827,8 +3591,7 @@ msgid ""
 msgstr ""
 "Премахване на ЗАДАЧи от текущата обвивка.\n"
 "    \n"
-"    Премахва всеки аргумент-задача от таблицата на активните задачи. Ако "
-"ЗАДАЧА\n"
+"    Премахва всеки аргумент-задача от таблицата на активните задачи. Ако ЗАДАЧА\n"
 "    не е указана, се използва тази, която обвивката счита за текуща.\n"
 "    \n"
 "    Опции:\n"
@@ -3840,7 +3603,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен когато е дадена неправилна опция или несъществуваща ЗАДАЧА."
 
-#: builtins.c:919
+#: builtins.c:918
 msgid ""
 "Send a signal to a job.\n"
 "    \n"
@@ -3874,31 +3637,26 @@ msgstr ""
 "      -n СИГНАЛ\n"
 "          СИГНАЛ се интерпретира като номер на сигнал\n"
 "      -l  изброява имената на сигналите.  Ако към командата са добавени\n"
-"          аргументи, те се интерпретират като номера на сигналите чиито "
-"имена\n"
+"          аргументи, те се интерпретират като номера на сигналите чиито имена\n"
 "          да се изброят.\n"
 "      -L  синоним на „-l“\n"
 "\n"
-"    „kill“ е команда вградена в обвивката поради две причини: позволява да "
-"се\n"
-"    използват и идентификатори на задачи освен идентификатори на процеси, а "
-"и\n"
-"    ако сте пуснали максимално разрешения за вас брой процеси, няма да ви "
-"се\n"
+"    „kill“ е команда вградена в обвивката поради две причини: позволява да се\n"
+"    използват и идентификатори на задачи освен идентификатори на процеси, а и\n"
+"    ако сте пуснали максимално разрешения за вас брой процеси, няма да ви се\n"
 "    налага да пуснете още един процес, за да убиете друг.\n"
 "\n"
 "    Изходен код:\n"
 "    0.  Ако възникне грешка или е подадена неправилна опция, връща грешка."
 
-#: builtins.c:943
+#: builtins.c:942
 msgid ""
 "Evaluate arithmetic expressions.\n"
 "    \n"
 "    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
 "    fixed-width integers with no check for overflow, though division by 0\n"
 "    is trapped and flagged as an error.  The following list of operators is\n"
-"    grouped into levels of equal-precedence operators.  The levels are "
-"listed\n"
+"    grouped into levels of equal-precedence operators.  The levels are listed\n"
 "    in order of decreasing precedence.\n"
 "    \n"
 "    \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3936,8 +3694,7 @@ msgid ""
 msgstr ""
 "Изчисляване на аритметичен израз.\n"
 "\n"
-"    Всеки АРГУМЕНТ е аритметичен израз, който се бъде изчислен.  "
-"Изчисленията\n"
+"    Всеки АРГУМЕНТ е аритметичен израз, който се бъде изчислен.  Изчисленията\n"
 "    се извършват в аритметика с целочислени стойности с постоянна широчина\n"
 "    без проверка за препълване.  Делението на 0 се прихваща и се отбелязва\n"
 "    грешка.  Следващият списък с оператори е разделен на групи според\n"
@@ -3963,50 +3720,42 @@ msgstr ""
 "     =, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=\n"
 "                   присвояване\n"
 "    \n"
-"    Разрешено е ползването на променливи на обвивката като операнди.  Името "
-"на\n"
+"    Разрешено е ползването на променливи на обвивката като операнди.  Името на\n"
 "    променлива се замества с нейната стойност (която се преобразува до цяло\n"
-"    число с постоянна широчина) в израза.  Не е необходимо променливата да е "
-"с\n"
+"    число с постоянна широчина) в израза.  Не е необходимо променливата да е с\n"
 "    атрибут за целочисленост, за да се използва в израз.\n"
 "    \n"
-"    Операторите се изчисляват по приоритет.  Подизразите в скоби се "
-"изчисляват\n"
+"    Операторите се изчисляват по приоритет.  Подизразите в скоби се изчисляват\n"
 "    първи и могат да променят приоритета.\n"
 "    \n"
 "    Изходен код:\n"
 "    Ако последният АРГУМЕНТ се изчислява като 0, „let“ връща 1. В противен\n"
 "    случай — връща 0."
 
-#: builtins.c:988
-#, fuzzy
+#: builtins.c:987
 msgid ""
 "Read a line from the standard input and split it into fields.\n"
 "    \n"
 "    Reads a single line from the standard input, or from file descriptor FD\n"
-"    if the -u option is supplied.  The line is split into fields as with "
-"word\n"
+"    if the -u option is supplied.  The line is split into fields as with word\n"
 "    splitting, and the first word is assigned to the first NAME, the second\n"
 "    word to the second NAME, and so on, with any leftover words assigned to\n"
-"    the last NAME.  Only the characters found in $IFS are recognized as "
-"word\n"
+"    the last NAME.  Only the characters found in $IFS are recognized as word\n"
 "    delimiters.\n"
 "    \n"
-"    If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+"    If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
 "    \n"
 "    Options:\n"
 "      -a array\tassign the words read to sequential indices of the array\n"
 "    \t\tvariable ARRAY, starting at zero\n"
 "      -d delim\tcontinue until the first character of DELIM is read, rather\n"
 "    \t\tthan newline\n"
-"      -e\tuse Readline to obtain the line\n"
+"      -e\tuse Readline to obtain the line in an interactive shell\n"
 "      -i text\tuse TEXT as the initial text for Readline\n"
 "      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
 "    \t\tfor a newline, but honor a delimiter if fewer than\n"
 "    \t\tNCHARS characters are read before the delimiter\n"
-"      -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+"      -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
 "    \t\tEOF is encountered or read times out, ignoring any\n"
 "    \t\tdelimiter\n"
 "      -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -4024,45 +3773,35 @@ msgid ""
 "      -u fd\tread from file descriptor FD instead of the standard input\n"
 "    \n"
 "    Exit Status:\n"
-"    The return code is zero, unless end-of-file is encountered, read times "
-"out\n"
-"    (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+"    The return code is zero, unless end-of-file is encountered, read times out\n"
+"    (in which case it's greater than 128), a variable assignment error occurs,\n"
 "    or an invalid file descriptor is supplied as the argument to -u."
 msgstr ""
 "Изчитане на ред от стандартния вход и разделянето му по полета.\n"
 "\n"
-"    От стандартния вход или от файловия дескриптор ФД, ако е използвана "
-"опцията\n"
-"    „-u“, се прочита един ред.  Редът се разделя на полета — думи.  Първата "
-"дума\n"
+"    От стандартния вход или от файловия дескриптор ФД, ако е използвана опцията\n"
+"    „-u“, се прочита един ред.  Редът се разделя на полета — думи.  Първата дума\n"
 "    се присвоява на първото ИМЕ, втората дума на второто ИМЕ и т.н., а на\n"
-"    последното ИМЕ се присвояват оставащите думи.   Като разделители на думи "
-"се\n"
+"    последното ИМЕ се присвояват оставащите думи.   Като разделители на думи се\n"
 "    използват само знаците указани в променливата „IFS“.\n"
 "\n"
-"    Ако не са дадени ИМЕна, прочетеният ред се запазва в променливата "
-"„REPLY“.\n"
+"    Ако не са дадени ИМЕна, прочетеният ред се запазва в променливата „REPLY“.\n"
 "\n"
 "    Опции:\n"
-"      -a  прочетените думи се присвояват последователно на елементите на "
-"МАСИВа,\n"
+"      -a  прочетените думи се присвояват последователно на елементите на МАСИВа,\n"
 "          като индексът му започва от 0.\n"
 "      -d РАЗДЕЛИТЕЛ\n"
-"          четенето продължава до прочитането на първия знак, който присъства "
-"в\n"
+"          четенето продължава до прочитането на първия знак, който присъства в\n"
 "          променливата „DELIM“, а не до минаването на нов ред.\n"
 "      -e  за четене на реда се използва readline, когато обвивката е\n"
 "          интерактивна.\n"
 "      -i ТЕКСТ\n"
 "          за първоначален текст в readline се ползва ТЕКСТ\n"
 "      -n БРОЙ_ЗНАЦИ\n"
-"          четенето завършва след прочитането на този БРОЙ_ЗНАЦИ, не се чака "
-"за\n"
+"          четенето завършва след прочитането на този БРОЙ_ЗНАЦИ, не се чака за\n"
 "          нов ред.  Разделител в рамките на този БРОЙ_ЗНАЦИ се зачита.\n"
 "      -N БРОЙ_ЗНАЦИ\n"
-"          четенето завършва с прочитането на точно този БРОЙ_ЗНАЦИ, освен "
-"ако\n"
+"          четенето завършва с прочитането на точно този БРОЙ_ЗНАЦИ, освен ако\n"
 "          не се появи EOF или времето за изчакване на въвеждане не изтече.\n"
 "          Всички разделители се пренебрегват.\n"
 "      -p ПОДСКАЗКА\n"
@@ -4071,27 +3810,21 @@ msgstr ""
 "      -r  заместването на екранираните с „\\“ знаци се изключва.\n"
 "      -s  входът от терминал не се отпечатва на екрана.\n"
 "      -t БРОЙ_СЕКУНДИ\n"
-"          задава интервал от този БРОЙ_СЕКУНДИ, в който трябва да се въведе "
-"цял\n"
+"          задава интервал от този БРОЙ_СЕКУНДИ, в който трябва да се въведе цял\n"
 "          ред.  В противен случай read завършва с грешка. Ако е зададена,\n"
-"          стойността на променливата „TMOUT“ обозначава времето, за което "
-"трябва\n"
-"          да се въведе редът.  За БРОЙ_СЕКУНДИ може да се ползва и нецяло "
-"число.\n"
-"          Ако БРОЙ_СЕКУНДИ e 0, read незабавно завършва работа, без да се "
-"опитва\n"
-"          да чете данни и връща код 0, само ако от указания файлов "
-"дескриптор\n"
+"          стойността на променливата „TMOUT“ обозначава времето, за което трябва\n"
+"          да се въведе редът.  За БРОЙ_СЕКУНДИ може да се ползва и нецяло число.\n"
+"          Ако БРОЙ_СЕКУНДИ e 0, read незабавно завършва работа, без да се опитва\n"
+"          да чете данни и връща код 0, само ако от указания файлов дескриптор\n"
 "          могат да се прочетат данни.\n"
 "\n"
 "    Изходен код:\n"
-"    0, освен ако не се срещне знак за край на файл EOF, изтече време повече "
-"от\n"
+"    0, освен ако не се срещне знак за край на файл EOF, изтече време повече от\n"
 "    указаното в БРОЙ_СЕКУНДИ, при което кодът за изход е над 128, възникне\n"
 "    грешка при задаване на стойност на променлива или е зададен неправилен\n"
 "    файлов дескриптор като аргумент на -u."
 
-#: builtins.c:1035
+#: builtins.c:1034
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -4105,16 +3838,14 @@ msgstr ""
 "Връщане от функция на обвивката.\n"
 "\n"
 "   Кара изпълняваната функция или скрипт да завършат работа със зададения\n"
-"   изходен ЦИФРОВ_КОД.  Ако не е зададен ЦИФРОВ_КОД се използва изходния код "
-"на\n"
+"   изходен ЦИФРОВ_КОД.  Ако не е зададен ЦИФРОВ_КОД се използва изходния код на\n"
 "   последно изпълнената команда във функцията или скрипта.\n"
 "\n"
 "   Изходен код:\n"
-"   Връща ЦИФРОВия_КОД или грешка, ако обвивката в момента не изпълнява "
-"функция\n"
+"   Връща ЦИФРОВия_КОД или грешка, ако обвивката в момента не изпълнява функция\n"
 "   или скрипт."
 
-#: builtins.c:1048
+#: builtins.c:1047
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4157,8 +3888,7 @@ msgid ""
 "              physical     same as -P\n"
 "              pipefail     the return value of a pipeline is the status of\n"
 "                           the last command to exit with a non-zero status,\n"
-"                           or zero if no command exited with a non-zero "
-"status\n"
+"                           or zero if no command exited with a non-zero status\n"
 "              posix        change the behavior of bash where the default\n"
 "                           operation differs from the Posix standard to\n"
 "                           match the standard\n"
@@ -4182,8 +3912,7 @@ msgid ""
 "          by default when the shell is interactive.\n"
 "      -P  If set, do not resolve symbolic links when executing commands\n"
 "          such as cd which change the current directory.\n"
-"      -T  If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+"      -T  If set, the DEBUG and RETURN traps are inherited by shell functions.\n"
 "      --  Assign any remaining arguments to the positional parameters.\n"
 "          If there are no remaining arguments, the positional parameters\n"
 "          are unset.\n"
@@ -4208,13 +3937,10 @@ msgstr ""
 "      -a  Отбелязване на променливите, които са създадени или променени, да\n"
 "          бъдат изнесени.\n"
 "      -b  Незабавно известяване на спиране на задача.\n"
-"      -e  Незабавен изход, ако команда приключи команда с код, който не е "
-"0.\n"
-"      -f  Изключване на генерирането на имена на файлове (чрез „*“, „?“ и т."
-"н.).\n"
+"      -e  Незабавен изход, ако команда приключи команда с код, който не е 0.\n"
+"      -f  Изключване на генерирането на имена на файлове (чрез „*“, „?“ и т.н.).\n"
 "      -h  Запомняне на местоположението на команди при търсенето им.\n"
-"      -k  Всички аргументи за присвояване се поместват в средата на команда, "
-"не\n"
+"      -k  Всички аргументи за присвояване се поместват в средата на команда, не\n"
 "          само тези, които предхождат името на команда.\n"
 "      -m  Включване на управлението на задачи.\n"
 "      -n  Прочитане на команди, без да се изпълняват.\n"
@@ -4229,8 +3955,7 @@ msgstr ""
 "            hashall      същото като „-h“\n"
 "            histexpand   същото като „-H“\n"
 "            history      включване на историята на командите\n"
-"            ignoreeof    обвивката няма да излезе при откриване на знак за "
-"край\n"
+"            ignoreeof    обвивката няма да излезе при откриване на знак за край\n"
 "                         на файл „EOF“.\n"
 "            interactive-comments\n"
 "                         позволяване на коментари в интерактивните команди\n"
@@ -4244,66 +3969,49 @@ msgstr ""
 "            nounset      същото като „-u“\n"
 "            onecmd       същото като „-t“\n"
 "            physical     същото като „-P“\n"
-"            pipefail     изходният код на програмния канал е този на "
-"последната\n"
+"            pipefail     изходният код на програмния канал е този на последната\n"
 "                         команда, която завършва с код различен от 0\n"
-"            posix        промяна на поведението на „bash“ да отговаря по-"
-"добре\n"
+"            posix        промяна на поведението на „bash“ да отговаря по-добре\n"
 "                         на стандарта POSIX\n"
 "            privileged   същото като „-p“\n"
 "            verbose      същото като „-v“\n"
-"            vi           използване на интерфейс за редактиране подобен на "
-"„vi“\n"
+"            vi           използване на интерфейс за редактиране подобен на „vi“\n"
 "            xtrace       същото като „-x“\n"
-"      -p  Опцията e включена, когато реалният и ефективният идентификатори "
-"на\n"
+"      -p  Опцията e включена, когато реалният и ефективният идентификатори на\n"
 "          процеси не съвпадат.  Изключва обработката на файла посочен в\n"
-"          променливата „ENV“ и внасянето на функции на обвивката.  "
-"Изключването\n"
-"          на тази опция води до това ефективните идентификатори за "
-"потребител и\n"
+"          променливата „ENV“ и внасянето на функции на обвивката.  Изключването\n"
+"          на тази опция води до това ефективните идентификатори за потребител и\n"
 "          група да станат равни на реалните.\n"
 "      -t  Изход след прочитането и изпълнението на една команда.\n"
-"      -u  Незададените променливи да се третират като грешки при "
-"заместването.\n"
+"      -u  Незададените променливи да се третират като грешки при заместването.\n"
 "      -v  Отпечатване на входните редове към обвивката при прочитането им.\n"
 "      -x  Отпечатване на командите и аргументите им при изпълнението им.\n"
 "      -B  Обвивката ще извършва заместване на изразите с фигурни скоби.\n"
-"      -C  Предотвратяване на презаписването на съществуващите обикновени "
-"файлове\n"
+"      -C  Предотвратяване на презаписването на съществуващите обикновени файлове\n"
 "          чрез пренасочване на изхода.\n"
 "      -E  Прихващането за „ERR“ да се наследява от функциите на обвивката.\n"
-"      -H  Включване на заместването чрез историята с „!“.  Стандартно тази "
-"опция\n"
+"      -H  Включване на заместването чрез историята с „!“.  Стандартно тази опция\n"
 "          е налична само за интерактивните обвивки.\n"
-"      -P  Да не се следват символните връзки при изпълнението на команди "
-"като\n"
+"      -P  Да не се следват символните връзки при изпълнението на команди като\n"
 "          „cd“, които променят текущата директория.\n"
-"      -T  Прихващането за „DEBUG“ и „RETURN“ да се наследява от функциите "
-"на\n"
+"      -T  Прихващането за „DEBUG“ и „RETURN“ да се наследява от функциите на\n"
 "          обвивката.\n"
-"      --  Оставащите аргументи да се тълкуват като позиционни.  Ако няма "
-"повече\n"
+"      --  Оставащите аргументи да се тълкуват като позиционни.  Ако няма повече\n"
 "          аргументи, се изтриват съответните позиционни.\n"
-"      -   Оставащите аргументи да се тълкуват като позиционни.  Опциите „-x“ "
-"и\n"
+"      -   Оставащите аргументи да се тълкуват като позиционни.  Опциите „-x“ и\n"
 "          „-v“ са изключени.\n"
 "    \n"
-"    Използването на „+“ вместо „-“ изключва опциите.  Тези опции могат да "
-"се\n"
-"    използват и при стартирането на обвивката.  Текущото им състояние се "
-"намира\n"
-"    в променливата „-“ (получава се с „$-“).  Останалите АРГументи са "
-"позиционни\n"
-"    и се присвояват съответно на променливите с имена „1“, „2“,… "
-"„n“  (получават\n"
+"    Използването на „+“ вместо „-“ изключва опциите.  Тези опции могат да се\n"
+"    използват и при стартирането на обвивката.  Текущото им състояние се намира\n"
+"    в променливата „-“ (получава се с „$-“).  Останалите АРГументи са позиционни\n"
+"    и се присвояват съответно на променливите с имена „1“, „2“,… „n“  (получават\n"
 "    се с „$1“, „$2“,… „${n}“).  Ако не са зададени АРГументи, се извеждат\n"
 "    всички променливи на средата.\n"
 "\n"
 "    Изходен код:\n"
 "    0, освен ако не е зададена неправилна опция."
 
-#: builtins.c:1133
+#: builtins.c:1132
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4315,8 +4023,7 @@ msgid ""
 "      -n\ttreat each NAME as a name reference and unset the variable itself\n"
 "    \t\trather than the variable it references\n"
 "    \n"
-"    Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+"    Without options, unset first tries to unset a variable, and if that fails,\n"
 "    tries to unset a function.\n"
 "    \n"
 "    Some variables cannot be unset; also see `readonly'.\n"
@@ -4324,8 +4031,7 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or a NAME is read-only."
 msgstr ""
-"Изтриване на стойностите и атрибутите на променливите и функциите на "
-"обвивката.\n"
+"Изтриване на стойностите и атрибутите на променливите и функциите на обвивката.\n"
 "    \n"
 "    За всяко ИМЕ изтрива съответната променлива или функция.\n"
 "    \n"
@@ -4345,13 +4051,12 @@ msgstr ""
 "    0, освен ако е зададена неправилна опция или някое от ИМЕната е само за\n"
 "    четене."
 
-#: builtins.c:1155
+#: builtins.c:1154
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
 "    Marks each NAME for automatic export to the environment of subsequently\n"
-"    executed commands.  If VALUE is supplied, assign VALUE before "
-"exporting.\n"
+"    executed commands.  If VALUE is supplied, assign VALUE before exporting.\n"
 "    \n"
 "    Options:\n"
 "      -f\trefer to shell functions\n"
@@ -4366,8 +4071,7 @@ msgstr ""
 "Задаване на атрибута за изнасяне на променливите на обвивката.\n"
 "    \n"
 "    Обозначава всяко едно от ИМЕната за изнасяне в средата на изпълнение на\n"
-"    последващо изпълнените команди.  Ако е дадена СТОЙНОСТ, тя се присвоява "
-"на\n"
+"    последващо изпълнените команди.  Ако е дадена СТОЙНОСТ, тя се присвоява на\n"
 "    ИМЕто преди изнасянето.\n"
 "    \n"
 "    Опции:\n"
@@ -4379,10 +4083,9 @@ msgstr ""
 "    Аргументът „--“ прекъсва по нататъшната обработка на опции.\n"
 "    \n"
 "    Изходен код:\n"
-"    0, освен ако е зададена неправилна опция или някое от ИМЕната е "
-"неправилно."
+"    0, освен ако е зададена неправилна опция или някое от ИМЕната е неправилно."
 
-#: builtins.c:1174
+#: builtins.c:1173
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4404,27 +4107,23 @@ msgid ""
 msgstr ""
 "Задаване на променливи на обвивката като непроменливи константи.\n"
 "    \n"
-"    Отбелязване на всяко от ИМЕната само за четене.  Тяхната стойност не "
-"може да\n"
-"    бъде променяна чрез последващо присвояване.  Ако е дадена СТОЙНОСТ, тя "
-"се\n"
+"    Отбелязване на всяко от ИМЕната само за четене.  Тяхната стойност не може да\n"
+"    бъде променяна чрез последващо присвояване.  Ако е дадена СТОЙНОСТ, тя се\n"
 "    задава на името преди задаването му като константно.\n"
 "    \n"
 "    Опции:\n"
 "      -a    ИМЕната са на променливи-масиви\n"
 "      -A    ИМЕната са на променливи-асоциативни масиви\n"
 "      -f    ИМЕната са на функции на обвивката\n"
-"      -p    Извеждане на имената на всички константни променливи или "
-"функции, в\n"
+"      -p    Извеждане на имената на всички константни променливи или функции, в\n"
 "            зависимост дали е зададена опцията „-f“\n"
 "    \n"
 "    Аргументът „--“ прекъсва по нататъшната обработка на опции.\n"
 "    \n"
 "    Изходен код:\n"
-"    0, освен ако е зададена неправилна опция или някое от ИМЕната е "
-"неправилно."
+"    0, освен ако е зададена неправилна опция или някое от ИМЕната е неправилно."
 
-#: builtins.c:1196
+#: builtins.c:1195
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4436,15 +4135,14 @@ msgid ""
 msgstr ""
 "Изместване на позиционните параметри.\n"
 "\n"
-"    Преименуване на позиционните параметри „БРОЙ+1“, „БРОЙ+2“… на 1, 2….  "
-"Така\n"
+"    Преименуване на позиционните параметри „БРОЙ+1“, „БРОЙ+2“… на 1, 2….  Така\n"
 "    те стават достъпни не като ${БРОЙ+1}…, като „$1“….  Ако не е зададена\n"
 "    стойност БРОЙ, се използва 1.\n"
 "\n"
 "    Изходен код:\n"
 "    0, освен ако БРОят е отрицателно или по-голямо от стойността „$#“."
 
-#: builtins.c:1208 builtins.c:1223
+#: builtins.c:1207 builtins.c:1222
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4459,19 +4157,16 @@ msgid ""
 msgstr ""
 "Изпълняване на команди от файл в текущата обвивка\n"
 "\n"
-"    Изчитане и изпълнение на командите от ФАЙЛа и изход.  Директориите "
-"описани в\n"
-"    променливата „PATH“ се използват за изпълнението на командите от ФАЙЛа.  "
-"Ако\n"
+"    Изчитане и изпълнение на командите от ФАЙЛа и изход.  Директориите описани в\n"
+"    променливата „PATH“ се използват за изпълнението на командите от ФАЙЛа.  Ако\n"
 "    са зададени АРГУМЕНТИ, те се превръщат в позиционни аргументи при\n"
 "    изпълнението на ФАЙЛа.\n"
 "\n"
 "    Изходен код:\n"
-"    Връща състоянието на последно изпълнената команда във ФАЙЛа.  Ако той "
-"не\n"
+"    Връща състоянието на последно изпълнената команда във ФАЙЛа.  Ако той не\n"
 "    може да бъде открит, изходът е грешка."
 
-#: builtins.c:1239
+#: builtins.c:1238
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4487,8 +4182,7 @@ msgstr ""
 "Временно спиране на изпълнението на обвивката.\n"
 "    \n"
 "    Спиране на работата на тази обвивка докато обвивката не получи сигнал\n"
-"    SIGCONT.  Освен ако изрично не се зададе опция, входните обвивки не "
-"могат да\n"
+"    SIGCONT.  Освен ако изрично не се зададе опция, входните обвивки не могат да\n"
 "    бъдат спрени по този начин.\n"
 "    \n"
 "    Опции:\n"
@@ -4497,7 +4191,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако не възникне грешка или управлението на задачи е изключено."
 
-#: builtins.c:1255
+#: builtins.c:1254
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4531,8 +4225,7 @@ msgid ""
 "      -x FILE        True if the file is executable by you.\n"
 "      -O FILE        True if the file is effectively owned by you.\n"
 "      -G FILE        True if the file is effectively owned by your group.\n"
-"      -N FILE        True if the file has been modified since it was last "
-"read.\n"
+"      -N FILE        True if the file has been modified since it was last read.\n"
 "    \n"
 "      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
 "                       modification date).\n"
@@ -4553,8 +4246,7 @@ msgid ""
 "      STRING1 != STRING2\n"
 "                     True if the strings are not equal.\n"
 "      STRING1 < STRING2\n"
-"                     True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+"                     True if STRING1 sorts before STRING2 lexicographically.\n"
 "      STRING1 > STRING2\n"
 "                     True if STRING1 sorts after STRING2 lexicographically.\n"
 "    \n"
@@ -4581,12 +4273,9 @@ msgid ""
 msgstr ""
 "Изчисляване на условен израз.\n"
 "\n"
-"    Изход с код 0 (истина) или 1 (лъжа) в зависимост от стойността на "
-"ИЗРАЗа.\n"
-"    Изразите могат да бъдат унарни или бинарни.  Унарните най-често се "
-"използват\n"
-"    за проверка на състоянието на файл.  Освен тях има и оператори за "
-"числови\n"
+"    Изход с код 0 (истина) или 1 (лъжа) в зависимост от стойността на ИЗРАЗа.\n"
+"    Изразите могат да бъдат унарни или бинарни.  Унарните най-често се използват\n"
+"    за проверка на състоянието на файл.  Освен тях има и оператори за числови\n"
 "    сравнения и низови оператори.\n"
 "    \n"
 "    Поведението на тестовете зависи от броя на аргументите.  За цялостно\n"
@@ -4610,18 +4299,14 @@ msgstr ""
 "      -s ФАЙЛ    Истина, ако ФАЙЛът може да бъде записван от вас.\n"
 "      -S ФАЙЛ    Истина, ако ФАЙЛът е програмно гнездо.\n"
 "      -t ФДСК    Истина, ако Файловият_ДеСКриптор е отворен на терминал.\n"
-"      -u ФАЙЛ    Истина, ако ФАЙЛът е със зададен бит за смяна на "
-"потребител\n"
+"      -u ФАЙЛ    Истина, ако ФАЙЛът е със зададен бит за смяна на потребител\n"
 "                 при изпълнение.\n"
 "      -w ФАЙЛ    Истина, ако ФАЙЛът може да бъде записван от вас.\n"
 "      -x ФАЙЛ    Истина, ако ФАЙЛът може да бъде изпълняван от вас.\n"
-"      -O ФАЙЛ    Истина, ако ФАЙЛът може да бъде ефективно притежаван от "
-"вас.\n"
-"      -G ФАЙЛ    Истина, ако ФАЙЛът може да бъде ефективно притежаван от "
-"вашата\n"
+"      -O ФАЙЛ    Истина, ако ФАЙЛът може да бъде ефективно притежаван от вас.\n"
+"      -G ФАЙЛ    Истина, ако ФАЙЛът може да бъде ефективно притежаван от вашата\n"
 "                 група.\n"
-"      -N ФАЙЛ    Истина, ако ФАЙЛът е бил променян от последното му "
-"прочитане.\n"
+"      -N ФАЙЛ    Истина, ако ФАЙЛът е бил променян от последното му прочитане.\n"
 "    \n"
 "      ФАЙЛ_1 -nt ФАЙЛ_2    Истина, ако ФАЙЛ_1 е по-нов от ФАЙЛ_2 (според\n"
 "                           датата на промяна).\n"
@@ -4643,23 +4328,19 @@ msgstr ""
 "    Други оператори:\n"
 "    \n"
 "      -o ОПЦИЯ              Истина, ако ОПЦИЯта на обвивката е зададена.\n"
-"      -v ПРОМЕНЛИВА         Истина, ако ПРОМЕНЛИВАта на обвивката е "
-"зададена.\n"
-"      -R ПРОМЕНЛИВА         Истина, ако ПРОМЕНЛИВАта е зададена като "
-"променлива-\n"
+"      -v ПРОМЕНЛИВА         Истина, ако ПРОМЕНЛИВАта на обвивката е зададена.\n"
+"      -R ПРОМЕНЛИВА         Истина, ако ПРОМЕНЛИВАта е зададена като променлива-\n"
 "                            указател.\n"
 "      ! ИЗРАЗ               Истина, ако ИЗРАЗът е лъжа.\n"
 "      ИЗРАЗ_1 -a ИЗРАЗ_2    Истина, ако и двата ИЗРАЗа са истина.\n"
 "      ИЗРАЗ_1 -o ИЗРАЗ_2    Истина, ако поне един от ИЗРАЗите е истина.\n"
 "      АРГ_1 ОПЕР АРГ_2      Аритметични тестове.  Те връщат истина, ако се\n"
 "                            изпълнява математическото условие на ОПЕРатора,\n"
-"                            който е един от следните (значението е в "
-"скоби):\n"
+"                            който е един от следните (значението е в скоби):\n"
 "                            „-eq“ (=),  „-ne“ (!=), „-lt“ (<), „-le“ (<=),\n"
 "                            „-gt“ (>) , „-ge“ (>=).\n"
 "    \n"
-"    Аритметичните изрази завършват истинно, ако АРГумент_1 е съответно "
-"равен,\n"
+"    Аритметичните изрази завършват истинно, ако АРГумент_1 е съответно равен,\n"
 "    неравен, по-малък, по-малък или равен, по-голям, по-голям или равен на\n"
 "    АРГумент_2.\n"
 "    \n"
@@ -4667,7 +4348,7 @@ msgstr ""
 "    0, ако ИЗРАЗът е верен.  Грешка, когато ИЗРАЗът е неверен или е даден\n"
 "    неправилен аргумент."
 
-#: builtins.c:1337
+#: builtins.c:1336
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4676,18 +4357,15 @@ msgid ""
 msgstr ""
 "Изчисляване на условен израз.\n"
 "\n"
-"    Това е синоним на вградената команда „test“, но последният аргумент "
-"трябва\n"
-"    задължително да е знакът „]“, който да съответства на отварящата "
-"квадратна\n"
+"    Това е синоним на вградената команда „test“, но последният аргумент трябва\n"
+"    задължително да е знакът „]“, който да съответства на отварящата квадратна\n"
 "    скоба „[“."
 
-#: builtins.c:1346
+#: builtins.c:1345
 msgid ""
 "Display process times.\n"
 "    \n"
-"    Prints the accumulated user and system times for the shell and all of "
-"its\n"
+"    Prints the accumulated user and system times for the shell and all of its\n"
 "    child processes.\n"
 "    \n"
 "    Exit Status:\n"
@@ -4695,19 +4373,17 @@ msgid ""
 msgstr ""
 "Извеждане на времето на работа на процесите.\n"
 "    \n"
-"    Отпечатва общото потребителско и системно време на работа на обвивката "
-"и\n"
+"    Отпечатва общото потребителско и системно време на работа на обвивката и\n"
 "    всичките ѝ дъщерни процеси.\n"
 "    \n"
 "    Изходен код:\n"
 "    Винаги 0."
 
-#: builtins.c:1358
+#: builtins.c:1357
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
-"    Defines and activates handlers to be run when the shell receives "
-"signals\n"
+"    Defines and activates handlers to be run when the shell receives signals\n"
 "    or other conditions.\n"
 "    \n"
 "    ARG is a command to be read and executed when the shell receives the\n"
@@ -4716,57 +4392,43 @@ msgid ""
 "    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
 "    shell and by the commands it invokes.\n"
 "    \n"
-"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  "
-"If\n"
-"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  "
-"If\n"
-"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
-"a\n"
-"    script run by the . or source builtins finishes executing.  A "
-"SIGNAL_SPEC\n"
-"    of ERR means to execute ARG each time a command's failure would cause "
-"the\n"
+"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If\n"
+"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If\n"
+"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n"
+"    script run by the . or source builtins finishes executing.  A SIGNAL_SPEC\n"
+"    of ERR means to execute ARG each time a command's failure would cause the\n"
 "    shell to exit when the -e option is enabled.\n"
 "    \n"
-"    If no arguments are supplied, trap prints the list of commands "
-"associated\n"
+"    If no arguments are supplied, trap prints the list of commands associated\n"
 "    with each signal.\n"
 "    \n"
 "    Options:\n"
 "      -l\tprint a list of signal names and their corresponding numbers\n"
 "      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
 "    \n"
-"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
 "    Signal names are case insensitive and the SIG prefix is optional.  A\n"
 "    signal may be sent to the shell with \"kill -signal $$\".\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+"    Returns success unless a SIGSPEC is invalid or an invalid option is given."
 msgstr ""
 "Прихващане на сигналите и другите събития.\n"
 "\n"
-"    Дефинира и задейства функции за обработка, когато обвивката получи "
-"сигнал\n"
+"    Дефинира и задейства функции за обработка, когато обвивката получи сигнал\n"
 "    или възникне друго събитие.\n"
 "\n"
-"    Командата АРГУМЕНТ ще бъде прочетена и изпълнена, когато обвивката "
-"получи\n"
+"    Командата АРГУМЕНТ ще бъде прочетена и изпълнена, когато обвивката получи\n"
 "    УКАЗАНия_СИГНАЛ(и).  Ако АРГУМЕНТът липсва (и се подава единичен\n"
-"    УКАЗАН_СИГНАЛ) или е „-“, то всеки УКАЗАН_СИГНАЛ се връща към "
-"първоначалната\n"
+"    УКАЗАН_СИГНАЛ) или е „-“, то всеки УКАЗАН_СИГНАЛ се връща към първоначалната\n"
 "    си стойност.  Ако АРГУМЕНТът е нулевият низ, всеки УКАЗАН_СИГНАЛ се\n"
 "    пренебрегва от обвивката и командите, които се стартират през нея.\n"
 "\n"
-"    Ако УКАЗАНият_СИГНАЛ е „EXIT (0)“, то командата АРГУМЕНТ се изпълнява "
-"от\n"
+"    Ако УКАЗАНият_СИГНАЛ е „EXIT (0)“, то командата АРГУМЕНТ се изпълнява от\n"
 "    обвивката при изход.  Ако УКАЗАНият_СИГНАЛ е „DEBUG“, АРГУМЕНТът се\n"
 "    изпълнява след всяка проста команда.  Ако УКАЗАНият_СИГНАЛ е „RETURN“,\n"
-"    АРГУМЕНТът се изпълнява след всяко изпълнение на функция както и "
-"изпълнение\n"
-"    на скрипт чрез вградените команди „.“ и „source“.  Ако УКАЗАНият_СИГНАЛ "
-"е\n"
+"    АРГУМЕНТът се изпълнява след всяко изпълнение на функция както и изпълнение\n"
+"    на скрипт чрез вградените команди „.“ и „source“.  Ако УКАЗАНият_СИГНАЛ е\n"
 "    „ERR“, АРГУМЕНТът се изпълнява след всяка грешка, която би предизвикала\n"
 "    изход от обвивката при стартирането ѝ с опцията „-e“.\n"
 "\n"
@@ -4774,23 +4436,19 @@ msgstr ""
 "    прихващания.\n"
 "    \n"
 "    Опции:\n"
-"      -l  отпечатва списъка с имената на сигналите и съответстващите им "
-"номера.\n"
+"      -l  отпечатва списъка с имената на сигналите и съответстващите им номера.\n"
 "      -p  извеждат се командите свързани с всеки УКАЗАН_СИГНАЛ.\n"
 "\n"
-"    Всеки УКАЗАН_СИГНАЛ е или име на сигнал от файла „signal.h“ или номер "
-"на\n"
+"    Всеки УКАЗАН_СИГНАЛ е или име на сигнал от файла „signal.h“ или номер на\n"
 "    сигнал.\n"
-"    Няма разлика между главни и малки букви в имената на сигнали, а "
-"представката\n"
+"    Няма разлика между главни и малки букви в имената на сигнали, а представката\n"
 "    „SIG“ не е задължителна.\n"
-"    Сигнал може да бъде изпратен на обвивката с командата „kill -signal $"
-"$“.\n"
+"    Сигнал може да бъде изпратен на обвивката с командата „kill -signal $$“.\n"
 "\n"
 "    Изходен код:\n"
 "    0, освен ако е зададен неправилен сигнал или опция."
 
-#: builtins.c:1394
+#: builtins.c:1393
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4816,8 +4474,7 @@ msgid ""
 "      NAME\tCommand name to be interpreted.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success if all of the NAMEs are found; fails if any are not "
-"found."
+"    Returns success if all of the NAMEs are found; fails if any are not found."
 msgstr ""
 "Извеждане на информация за вида на командата подадена като аргумент.\n"
 "    \n"
@@ -4825,38 +4482,31 @@ msgstr ""
 "    команда.\n"
 "    \n"
 "    Опции:\n"
-"      -a    Извеждане на всички местоположения, които съдържат изпълним файл "
-"с\n"
+"      -a    Извеждане на всички местоположения, които съдържат изпълним файл с\n"
 "            това ИМЕ.  Включва синонимите, вградените команди и функции на\n"
 "            обвивката, само когато не е използвана опцията „-p“\n"
 "      -f    Без търсене във функциите дефинирани в обвивката\n"
-"      -P    Търсене в пътя за изпълнение указан в PATH, дори и ако "
-"съществува\n"
-"            синоним, вградена команда или функция дефинирана в обвивката с "
-"това\n"
+"      -P    Търсене в пътя за изпълнение указан в PATH, дори и ако съществува\n"
+"            синоним, вградена команда или функция дефинирана в обвивката с това\n"
 "            ИМЕ\n"
 "      -p    Връща или името на файла, който ще бъде изпълнен или нищо в\n"
 "            случаите, когато командата „type -t ИМЕ“ не би върнала „file“\n"
 "      -t    Извеждане на една от думите „alias“ (синоним), „keyword“\n"
-"            (резервирана лексема в обвивката), „function“ (функция "
-"дефинирана в\n"
-"            обвивката), „builtin“ (вградена команда), „file“ (изпълним файл) "
-"или\n"
+"            (резервирана лексема в обвивката), „function“ (функция дефинирана в\n"
+"            обвивката), „builtin“ (вградена команда), „file“ (изпълним файл) или\n"
 "            „“, ако ИМЕто не е открито\n"
 "    \n"
 "    Аргументи:\n"
 "      ИМЕ    Името, за което да се изведе информация.\n"
 "    \n"
 "    Изходен код:\n"
-"    0, ако всички подадени ИМЕна са открити, неуспех, ако някое от тях "
-"липсва."
+"    0, ако всички подадени ИМЕна са открити, неуспех, ако някое от тях липсва."
 
-#: builtins.c:1425
+#: builtins.c:1424
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
-"    Provides control over the resources available to the shell and "
-"processes\n"
+"    Provides control over the resources available to the shell and processes\n"
 "    it creates, on systems that allow such control.\n"
 "    \n"
 "    Options:\n"
@@ -4902,8 +4552,7 @@ msgstr ""
 "Промяна на ресурсите на обвивката.\n"
 "\n"
 "    Командата осъществява контрол върху ресурсите, които са достъпни на\n"
-"    процесите стартирани през обвивката върху системите, които поддържат "
-"такова\n"
+"    процесите стартирани през обвивката върху системите, които поддържат такова\n"
 "    управление.\n"
 "\n"
 "    Опции:\n"
@@ -4915,8 +4564,7 @@ msgstr ""
 "            паметта (core)\n"
 "      -d    максималният размер на сегмента на процес за данни\n"
 "      -e    максималният приоритет (nice)\n"
-"      -f    максималният размер на файловете създадени от обвивката и "
-"дъщерните\n"
+"      -f    максималният размер на файловете създадени от обвивката и дъщерните\n"
 "            ѝ процеси\n"
 "      -i    максималният брой на изчакващите сигнали\n"
 "      -l    максималният размер памет, която процес може да заключи\n"
@@ -4935,13 +4583,10 @@ msgstr ""
 "    \n"
 "    Не всички ограничения са налични на всички платформи.\n"
 "\n"
-"    Ако е зададено ОГРАНИЧЕНИЕ, то това е новата стойност на указания "
-"ресурс.\n"
-"    Специалните стойности „soft“, „hard“ и „unlimited“ означават текущите "
-"меко,\n"
+"    Ако е зададено ОГРАНИЧЕНИЕ, то това е новата стойност на указания ресурс.\n"
+"    Специалните стойности „soft“, „hard“ и „unlimited“ означават текущите меко,\n"
 "    твърдо и никакво ограничение съответно.  В противен случай се извежда\n"
-"    текущата стойност на указания ресурс.  Ако не е зададена опция, се "
-"приема,\n"
+"    текущата стойност на указания ресурс.  Ако не е зададена опция, се приема,\n"
 "    че е зададена „-f“.\n"
 "\n"
 "    Стойностите са в блокове от по 1024 байта, с изключение на:\n"
@@ -4952,7 +4597,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако не възникни грешка или е дадена неправилна опция."
 
-#: builtins.c:1475
+#: builtins.c:1474
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4974,38 +4619,30 @@ msgstr ""
 "    Задава МАСКАта за правата за достъп до новосъздадени файлове.  Ако не е\n"
 "    зададена МАСКА, се извежда текущата ѝ стойност.\n"
 "    \n"
-"    Ако МАСКАта започва с цифра, тя се тълкува като осмично число.  В "
-"противен\n"
+"    Ако МАСКАта започва с цифра, тя се тълкува като осмично число.  В противен\n"
 "    случай трябва да е низ, който би бил приет от командата chmod(1).\n"
 "    \n"
 "    Опции:\n"
-"      -p    ако не е зададена МАСКА, изведеният низ може да бъде ползван за "
-"вход\n"
-"      -S    изведената маска да е във вид на НИЗ.  Без опцията изходът е "
-"осмично\n"
+"      -p    ако не е зададена МАСКА, изведеният низ може да бъде ползван за вход\n"
+"      -S    изведената маска да е във вид на НИЗ.  Без опцията изходът е осмично\n"
 "            число\n"
 "    \n"
 "    Изходен код:\n"
 "    0, освен ако МАСКАта или някоя от зададените опции са неправилни."
 
-#: builtins.c:1495
-#, fuzzy
+#: builtins.c:1494
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
-"    Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+"    Waits for each process identified by an ID, which may be a process ID or a\n"
 "    job specification, and reports its termination status.  If ID is not\n"
 "    given, waits for all currently active child processes, and the return\n"
-"    status is zero.  If ID is a job specification, waits for all processes\n"
+"    status is zero.  If ID is a job specification, waits for all processes\n"
 "    in that job's pipeline.\n"
 "    \n"
 "    If the -n option is supplied, waits for the next job to terminate and\n"
 "    returns its exit status.\n"
 "    \n"
-"    If the -f option is supplied, and job control is enabled, waits for the\n"
-"    specified ID to terminate, instead of waiting for it to change status.\n"
-"    \n"
 "    Exit Status:\n"
 "    Returns the status of the last ID; fails if ID is invalid or an invalid\n"
 "    option is given."
@@ -5013,49 +4650,42 @@ msgstr ""
 "Изчакване на завършването задача и връщане на изходния код.\n"
 "    \n"
 "    Изчакване на всички указани ИДентификатори, които могат да са номера на\n"
-"    процеси или указатели на задачи, и докладване на изходния код.  Ако не "
-"е\n"
+"    процеси или указатели на задачи, и докладване на изходния код.  Ако не е\n"
 "    зададен ИДентификатор, се изчакват всички активни дъщерни процеси, а\n"
-"    изходният код е 0.  Ако ИДентификаторът е указател на задача, се "
-"изчакват\n"
+"    изходният код е 0.  Ако ИДентификаторът е указател на задача, се изчакват\n"
 "    всички процеси в конвейера на задачата.\n"
 "\n"
-"    Ако е зададена опцията „-n“ се изчаква края на работата на следващата "
-"задача\n"
+"    Ако е зададена опцията „-n“ се изчаква края на работата на следващата задача\n"
 "    и се връща нейния код.\n"
 "    \n"
 "    Изходен код:\n"
 "    Връща изходния код на последната задача или процес.  Ако е зададена\n"
 "    неправилна опция, връща грешка."
 
-#: builtins.c:1519
+#: builtins.c:1515
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
-"    Waits for each process specified by a PID and reports its termination "
-"status.\n"
+"    Waits for each process specified by a PID and reports its termination status.\n"
 "    If PID is not given, waits for all currently active child processes,\n"
 "    and the return status is zero.  PID must be a process ID.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+"    Returns the status of the last PID; fails if PID is invalid or an invalid\n"
 "    option is given."
 msgstr ""
 "Изчакване на указания процес и докладване за изходния код.\n"
 "\n"
-"    Изчакване на всички указани процеси и докладване за изходния код.  Ако "
-"не е\n"
+"    Изчакване на всички указани процеси и докладване за изходния код.  Ако не е\n"
 "    зададен ИДентификатор_ПРоцeс, всички текущо активни дъщерни процеси се\n"
-"    изчакват и изходният код е 0.  ИДентификатор_ПРоцeс трябва да "
-"съответства на\n"
+"    изчакват и изходният код е 0.  ИДентификатор_ПРоцeс трябва да съответства на\n"
 "    някой процес.\n"
 "\n"
 "    Изходен код:\n"
 "    Изходния код на процеса с последния идентификатор.  Грешка, ако е даден\n"
 "    неправилен идентификатор или е дадена неправилна опция."
 
-#: builtins.c:1534
+#: builtins.c:1530
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -5069,18 +4699,15 @@ msgid ""
 msgstr ""
 "Изпълнение на команда за всеки член в списък от елементи\n"
 "\n"
-"    Цикълът „for“ изпълнява последователност от команди за всеки член в "
-"списък\n"
-"    от елементи.  Ако блокът „в ДУМИ…“ не присъства, използва се „in \"$@"
-"\"“.\n"
-"    За всеки елемент в ДУМИте, ИМЕто се задава да е елементът и се "
-"изпълняват\n"
+"    Цикълът „for“ изпълнява последователност от команди за всеки член в списък\n"
+"    от елементи.  Ако блокът „в ДУМИ…“ не присъства, използва се „in \"$@\"“.\n"
+"    За всеки елемент в ДУМИте, ИМЕто се задава да е елементът и се изпълняват\n"
 "    КОМАНДИте.\n"
 "\n"
 "    Изходен код:\n"
 "    Връща изходния код на последно изпълнената команда."
 
-#: builtins.c:1548
+#: builtins.c:1544
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -5103,14 +4730,13 @@ msgstr ""
 "        КОМАНДИ\n"
 "        (( EXP_3 ))\n"
 "      done\n"
-"    ИЗРАЗ_1, ИЗРАЗ_2, и ИЗРАЗ_3 са аритметични изрази.  Всеки изпуснат израз "
-"се\n"
+"    ИЗРАЗ_1, ИЗРАЗ_2, и ИЗРАЗ_3 са аритметични изрази.  Всеки изпуснат израз се\n"
 "    изчислява да е 1.\n"
 "\n"
 "    Изходен код:\n"
 "    Връща изходния код на последно изпълнената команда."
 
-#: builtins.c:1566
+#: builtins.c:1562
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -5133,18 +4759,12 @@ msgstr ""
 "\n"
 "    ДУМИте биват замествани, което води до създаването на списък с думи.\n"
 "    Наборът от заместените думи бива отпечатан на изхода за стандартната\n"
-"    грешка, като всяка от тях се предшества от номер.  Ако клаузата „in "
-"ДУМИ“\n"
-"    липсва, използва се „in \"$@\"“.  В такива случаи се отпечатва "
-"подсказката\n"
-"    „PS3“ и от стандартния вход се прочита ред.  Ако редът се състои от "
-"номера,\n"
-"    който съответства на някоя от изведените думи, ИМЕто се задава да е "
-"тази\n"
-"    дума.  Ако редът е празен, отново се отпечатват ДУМИте и подсказката.  "
-"Ако\n"
-"    се прочете „EOF“, командата завършва.  Всяка друга стойност присвоява "
-"„null“\n"
+"    грешка, като всяка от тях се предшества от номер.  Ако клаузата „in ДУМИ“\n"
+"    липсва, използва се „in \"$@\"“.  В такива случаи се отпечатва подсказката\n"
+"    „PS3“ и от стандартния вход се прочита ред.  Ако редът се състои от номера,\n"
+"    който съответства на някоя от изведените думи, ИМЕто се задава да е тази\n"
+"    дума.  Ако редът е празен, отново се отпечатват ДУМИте и подсказката.  Ако\n"
+"    се прочете „EOF“, командата завършва.  Всяка друга стойност присвоява „null“\n"
 "    на ИМЕ.  Прочетеният ред се запазва в променливата REPLY.  КОМАНДИте се\n"
 "    изпълняват след всеки избор до изпълняването на команда за прекъсване\n"
 "    (break).\n"
@@ -5152,7 +4772,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Връща изходния код на последно изпълнената команда."
 
-#: builtins.c:1587
+#: builtins.c:1583
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -5182,7 +4802,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този на ПРОГРАМНия_КАНАЛ."
 
-#: builtins.c:1604
+#: builtins.c:1600
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -5194,28 +4814,22 @@ msgid ""
 msgstr ""
 "Изпълнение на команди на базата на напасване по шаблон.\n"
 "\n"
-"    Избирателно се изпълняват КОМАНДИ на база ДУМА, която напасва на "
-"ШАБЛОН.\n"
+"    Избирателно се изпълняват КОМАНДИ на база ДУМА, която напасва на ШАБЛОН.\n"
 "    Шаблоните се разделят със знака „|“.\n"
 "\n"
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1616
+#: builtins.c:1612
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
-"    The `if COMMANDS' list is executed.  If its exit status is zero, then "
-"the\n"
-"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list "
-"is\n"
+"    The `if COMMANDS' list is executed.  If its exit status is zero, then the\n"
+"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list is\n"
 "    executed in turn, and if its exit status is zero, the corresponding\n"
-"    `then COMMANDS' list is executed and the if command completes.  "
-"Otherwise,\n"
-"    the `else COMMANDS' list is executed, if present.  The exit status of "
-"the\n"
-"    entire construct is the exit status of the last command executed, or "
-"zero\n"
+"    `then COMMANDS' list is executed and the if command completes.  Otherwise,\n"
+"    the `else COMMANDS' list is executed, if present.  The exit status of the\n"
+"    entire construct is the exit status of the last command executed, or zero\n"
 "    if no condition tested true.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5223,26 +4837,20 @@ msgid ""
 msgstr ""
 "Изпълнение на команда на базата на условие.\n"
 "\n"
-"    Първо се изпълняват командите в блока „if КОМАНДИ“.  Ако изходният код е "
-"0,\n"
-"    то се изпълнява блокът „then КОМАНДИ“.  В противен случай последователно "
-"се\n"
-"    изпълнява всеки блок „elif КОМАНДИ“ — ако изходният код е 0, то се "
-"изпълнява\n"
-"    съответния блок „then КОМАНДИ“, след което завършва изпълнението на "
-"целия\n"
+"    Първо се изпълняват командите в блока „if КОМАНДИ“.  Ако изходният код е 0,\n"
+"    то се изпълнява блокът „then КОМАНДИ“.  В противен случай последователно се\n"
+"    изпълнява всеки блок „elif КОМАНДИ“ — ако изходният код е 0, то се изпълнява\n"
+"    съответния блок „then КОМАНДИ“, след което завършва изпълнението на целия\n"
 "    блок „if“.\n"
 "    Ако изходният код на никой от блоковете „if“ и „elif“ не е бил 0,\n"
-"    изпълнява се блока „else КОМАНДИ“, стига такъв да присъства.  Изходният "
-"код\n"
-"    от цялата конструкция е този на последната изпълнена команда или е 0, "
-"ако\n"
+"    изпълнява се блока „else КОМАНДИ“, стига такъв да присъства.  Изходният код\n"
+"    от цялата конструкция е този на последната изпълнена команда или е 0, ако\n"
 "    никое тестово условие, не се е оценило като истина.<\n"
 "\n"
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1633
+#: builtins.c:1629
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
@@ -5260,7 +4868,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1645
+#: builtins.c:1641
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
@@ -5278,7 +4886,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1657
+#: builtins.c:1653
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -5293,22 +4901,19 @@ msgstr ""
 "Създаване на копроцес с даденото ИМЕ.\n"
 "    \n"
 "    Асинхронно изпълнение на КОМАНДАта, като стандартните вход и изход се\n"
-"    пренасочват от и към файловите дескриптори, които трябва да са с "
-"индекси\n"
-"    съответно 0 и 1 в променливата-масив ИМЕ в изпълняваната обвивка.  Ако "
-"не е\n"
+"    пренасочват от и към файловите дескриптори, които трябва да са с индекси\n"
+"    съответно 0 и 1 в променливата-масив ИМЕ в изпълняваната обвивка.  Ако не е\n"
 "    дадено ИМЕ на променлива, стандартно се ползва „COPROC“.\n"
 "    \n"
 "    Изходен код:\n"
 "    Изходният код е 0."
 
-#: builtins.c:1671
+#: builtins.c:1667
 msgid ""
 "Define shell function.\n"
 "    \n"
 "    Create a shell function named NAME.  When invoked as a simple command,\n"
-"    NAME runs COMMANDs in the calling shell's context.  When NAME is "
-"invoked,\n"
+"    NAME runs COMMANDs in the calling shell's context.  When NAME is invoked,\n"
 "    the arguments are passed to the function as $1...$n, and the function's\n"
 "    name is in $FUNCNAME.\n"
 "    \n"
@@ -5317,18 +4922,15 @@ msgid ""
 msgstr ""
 "Дефиниране на функция на обвивката.\n"
 "    \n"
-"    Създаване на функция на обвивката със зададеното ИМЕ.  Когато се извика "
-"като\n"
+"    Създаване на функция на обвивката със зададеното ИМЕ.  Когато се извика като\n"
 "    обикновена команда, КОМАНДИте се изпълняват в контекста на  извикващата\n"
-"    обвивка.  При извикването на ИМЕто, аргументите подадени на функцията "
-"са\n"
-"    достъпни като $1,… , $9, а името на функцията е достъпно като "
-"$FUNCNAME.\n"
+"    обвивка.  При извикването на ИМЕто, аргументите подадени на функцията са\n"
+"    достъпни като $1,… , $9, а името на функцията е достъпно като $FUNCNAME.\n"
 "    \n"
 "    Изходен код:\n"
 "    0, освен ако ИМЕто не е само за четене."
 
-#: builtins.c:1685
+#: builtins.c:1681
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -5340,14 +4942,13 @@ msgid ""
 msgstr ""
 "Изпълнение на група от команди.\n"
 "\n"
-"    Изпълняване на цял набор от команди в група.  Това е един от начините да "
-"се\n"
+"    Изпълняване на цял набор от команди в група.  Това е един от начините да се\n"
 "    пренасочи цял набор от команди.\n"
 "\n"
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1697
+#: builtins.c:1693
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5371,7 +4972,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този възобновената задача."
 
-#: builtins.c:1712
+#: builtins.c:1708
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5389,16 +4990,13 @@ msgstr ""
 "    Изходен код:\n"
 "    1, ако резултатът на ИЗРАЗа е 0.  В противен случай — 0."
 
-#: builtins.c:1724
+#: builtins.c:1720
 msgid ""
 "Execute conditional command.\n"
 "    \n"
-"    Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-"    expression EXPRESSION.  Expressions are composed of the same primaries "
-"used\n"
-"    by the `test' builtin, and may be combined using the following "
-"operators:\n"
+"    Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries used\n"
+"    by the `test' builtin, and may be combined using the following operators:\n"
 "    \n"
 "      ( EXPRESSION )\tReturns the value of EXPRESSION\n"
 "      ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -5419,13 +5017,11 @@ msgstr ""
 "Изпълнение на команда-условие\n"
 "\n"
 "    Връща състояние 0 или 1 в зависимост от оценката на условния ИЗРАЗ.\n"
-"    Изразите са съставени от същите примитиви, както вградената команда "
-"„test“\n"
+"    Изразите са съставени от същите примитиви, както вградената команда „test“\n"
 "    и могат да се съчетават чрез следните оператори:\n"
 "    \n"
 "      ( ИЗРАЗ )  Връща стойността на ИЗРАЗа\n"
-"      ! ИЗРАЗ    Истина, ако ИЗРАЗ се оценя на лъжа, в останалите случаи е "
-"лъжа\n"
+"      ! ИЗРАЗ    Истина, ако ИЗРАЗ се оценя на лъжа, в останалите случаи е лъжа\n"
 "      ИЗРАЗ_1 && ИЗРАЗ_2\n"
 "                 Истина, ако едновременно ИЗРАЗ_1 и ИЗРАЗ_2 са истина, в\n"
 "                 останалите случаи е лъжа.\n"
@@ -5434,8 +5030,7 @@ msgstr ""
 "                 останалите случаи е лъжа.\n"
 "    \n"
 "    Когато се използват операторите „==“ и „!=“, низът от дясната страна на\n"
-"    оператора се използва като шаблон и се извършва напасване.  Когато се "
-"ползва\n"
+"    оператора се използва като шаблон и се извършва напасване.  Когато се ползва\n"
 "    операторът „=~“, изразът от дясната му страна се тълкува като регулярен\n"
 "    израз.\n"
 "\n"
@@ -5445,7 +5040,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0 или едно според стойността на ИЗРАЗа."
 
-#: builtins.c:1750
+#: builtins.c:1746
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5503,30 +5098,22 @@ msgstr ""
 "    BASH_VERSION    Информация за версията на bash\n"
 "    CDPATH          Списък с директории разделени с двоеточие, които да се\n"
 "                    търсят като аргументи за командата „cd“\n"
-"    GLOBIGNORE      Списък с шаблони на файлови имена, разделени с "
-"двоеточие,\n"
+"    GLOBIGNORE      Списък с шаблони на файлови имена, разделени с двоеточие,\n"
 "                    които да се игнорират от заместването на пътя\n"
-"    HISTFILE        Името на файла, в който се съхранява историята на "
-"командите\n"
-"    HISTFILESIZE    Максималният брой редове, които горният файл може да "
-"съдържа\n"
-"    HISTSIZE        Максималният брой редове, които една работеща обвивка "
-"може\n"
+"    HISTFILE        Името на файла, в който се съхранява историята на командите\n"
+"    HISTFILESIZE    Максималният брой редове, които горният файл може да съдържа\n"
+"    HISTSIZE        Максималният брой редове, които една работеща обвивка може\n"
 "                    да достъпи\n"
 "    HOME            Пълният път до домашната ви директория\n"
 "    HOSTNAME        Името на текущата машина\n"
 "    HOSTTYPE        Видът на процесора, под който работи текущата обвивка\n"
-"    IGNOREEOF       Управлява действието на обвивката при срещането на "
-"единичен\n"
-"                    знак за край на файл „EOF“.  Ако променливата е "
-"зададена, тя\n"
+"    IGNOREEOF       Управлява действието на обвивката при срещането на единичен\n"
+"                    знак за край на файл „EOF“.  Ако променливата е зададена, тя\n"
 "                    указва броя на знаците „EOF“, който могат да се срещнат\n"
-"                    самостоятелно на един ред, преди обвивката да завърши "
-"работа\n"
+"                    самостоятелно на един ред, преди обвивката да завърши работа\n"
 "                    и излезе (стандартно е 10).  Когато променливата не е\n"
 "                    зададена, един „EOF“ означава край на входящите данни\n"
-"    MACHTYPE        Низ, който описва текущата система, на която работи "
-"bash\n"
+"    MACHTYPE        Низ, който описва текущата система, на която работи bash\n"
 "    MAILCHECK       Колко често bash да проверява за нови писма (в секунди)\n"
 "    MAILPATH        Списък с файлове, които bash проверява за нови писма\n"
 "    OSTYPE          Версията на Юникс, на която работи bash\n"
@@ -5539,39 +5126,26 @@ msgstr ""
 "    SHELLOPTS       Списък с включените опции на обвивката, разделени с\n"
 "                    двоеточие\n"
 "    TERM            Името на текущия вид терминал\n"
-"    TIMEFORMAT      Изходният формат за статистиката за времето за "
-"изпълнение на\n"
+"    TIMEFORMAT      Изходният формат за статистиката за времето за изпълнение на\n"
 "                    команда, който се използва от запазената дума „time“\n"
-"    auto_resume     Стойност, която не е „null“, означава, че командна "
-"дума,\n"
-"                    която се появява самостоятелно на ред, първо се "
-"проверява в\n"
-"                    списъка с текущо спрените задачи.  Ако бъде открита "
-"там,\n"
+"    auto_resume     Стойност, която не е „null“, означава, че командна дума,\n"
+"                    която се появява самостоятелно на ред, първо се проверява в\n"
+"                    списъка с текущо спрените задачи.  Ако бъде открита там,\n"
 "                    задачата се пуска и се слага на преден план.  Стойност\n"
-"                    „exact“ (строго съвпадение) означава, че командната "
-"дума,\n"
-"                    трябва точно да съвпада с името на команда в списъка "
-"със\n"
-"                    спрени задачи.  Стойност „substring“ (съвпадение на "
-"подниз)\n"
-"                    означава, че командната дума трябва да е подниз на "
-"задачата.\n"
-"                    Всяка друга стойност означава, че командата думата "
-"трябва да\n"
+"                    „exact“ (строго съвпадение) означава, че командната дума,\n"
+"                    трябва точно да съвпада с името на команда в списъка със\n"
+"                    спрени задачи.  Стойност „substring“ (съвпадение на подниз)\n"
+"                    означава, че командната дума трябва да е подниз на задачата.\n"
+"                    Всяка друга стойност означава, че командата думата трябва да\n"
 "                    е началото на спряна задача\n"
-"    histchars       Знаци, които определят бързото заместване и това по "
-"история.\n"
-"                    Първият знак е за заместването по история, обикновено е "
-"„!“.\n"
-"                    Вторият е за бързото заместване, обикновено е „^“.  "
-"Третият\n"
+"    histchars       Знаци, които определят бързото заместване и това по история.\n"
+"                    Първият знак е за заместването по история, обикновено е „!“.\n"
+"                    Вторият е за бързото заместване, обикновено е „^“.  Третият\n"
 "                    е за коментарите в историята, обикновено е „#“\n"
-"    HISTIGNORE      Списък с шаблони, разделени с двоеточие, които указват "
-"кои\n"
+"    HISTIGNORE      Списък с шаблони, разделени с двоеточие, които указват кои\n"
 "                    команди да не се запазват в историята\n"
 
-#: builtins.c:1807
+#: builtins.c:1803
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5607,36 +5181,29 @@ msgstr ""
 "    като най-горна директория става текущата директория.  Без\n"
 "    аргументи сменя най-горните две директории.\n"
 "\n"
-"    -n  подтискане на нормалното преминаване към директория при изваждането "
-"на\n"
+"    -n  подтискане на нормалното преминаване към директория при изваждането на\n"
 "        директория към стека, така че се променя само той.\n"
 "\n"
 "    Аргументи:\n"
-"      +N   Превърта стека, така че N-тата директория (като се брои от "
-"лявата \n"
-"           страна на списъка, изведен от командата „dirs“ като се почва от "
-"0)\n"
+"      +N   Превърта стека, така че N-тата директория (като се брои от лявата \n"
+"           страна на списъка, изведен от командата „dirs“ като се почва от 0)\n"
 "           да е най-отгоре.\n"
 "\n"
-"      -N   Превърта стека, така че N-тата директория (като се брои от "
-"дясната\n"
-"           страна на списъка, изведен от командата „dirs“ като се почва от "
-"0)\n"
+"      -N   Превърта стека, така че N-тата директория (като се брои от дясната\n"
+"           страна на списъка, изведен от командата „dirs“ като се почва от 0)\n"
 "           да е най-отгоре.\n"
 "\n"
 "\n"
-"      dir  Добавя ДИРекторията най-отгоре в стека, като я прави новата "
-"текуща\n"
+"      dir  Добавя ДИРекторията най-отгоре в стека, като я прави новата текуща\n"
 "           работна директория.\n"
 "\n"
 "    Можете да изведете стека на директорията с командата „dirs“.\n"
 "\n"
 "    Изходен код:\n"
-"    0, освен ако е подаден неправилен аргумент или не може да се премине "
-"към\n"
+"    0, освен ако е подаден неправилен аргумент или не може да се премине към\n"
 "    съответната директория."
 
-#: builtins.c:1841
+#: builtins.c:1837
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5664,13 +5231,11 @@ msgid ""
 msgstr ""
 "Изваждане на директории от стека.\n"
 "\n"
-"    Маха директории от стека с тях. Без аргументи премахва последната "
-"директория\n"
+"    Маха директории от стека с тях. Без аргументи премахва последната директория\n"
 "    в стека и влиза в новата последна директория.\n"
 "\n"
 "    Опции:\n"
-"    -n  подтискане на нормалното преминаване към директория при изваждането "
-"на\n"
+"    -n  подтискане на нормалното преминаване към директория при изваждането на\n"
 "        директория към стека, така че се променя само той.\n"
 "\n"
 "     Аргументи:\n"
@@ -5686,11 +5251,10 @@ msgstr ""
 "    Стекът с директориите се визуализира с командата „dirs“.\n"
 "\n"
 "    Изходен код:\n"
-"    0, освен ако е подаден неправилен аргумент или не може да се премине "
-"към\n"
+"    0, освен ако е подаден неправилен аргумент или не може да се премине към\n"
 "    съответната директория."
 
-#: builtins.c:1871
+#: builtins.c:1867
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5720,38 +5284,33 @@ msgid ""
 msgstr ""
 "Извеждане на стека на директориите.\n"
 "\n"
-"    Отпечатва списъка с текущо запомнените директории.  Списъкът се попълва "
-"чрез\n"
+"    Отпечатва списъка с текущо запомнените директории.  Списъкът се попълва чрез\n"
 "    командата „pushd“.  Можете да вадите директории от стека с командата\n"
 "    „popd“.\n"
 "    \n"
 "    Опции:\n"
 "     -c  изчистване на стека на директориите като изтрива всички елементи\n"
-"     -l  извеждане на пълните имена на директориите, а не съкратените "
-"спрямо\n"
+"     -l  извеждане на пълните имена на директориите, а не съкратените спрямо\n"
 "         домашната директория имена („/homes/pesho/bin“, а не „~/bin“)\n"
 "     -p  поредово отпечатване без поредния номер в стека\n"
 "     -v  поредово отпечатване заедно с поредния номер в стека\n"
 "\n"
 "    Аргументи: \n"
-"     +N  извежда N-тия елемент отляво в списъка отпечатан от командата "
-"„dirs“,\n"
+"     +N  извежда N-тия елемент отляво в списъка отпечатан от командата „dirs“,\n"
 "         когато е стартирана без опции.  Брои се от 0.\n"
-"     -N  извежда N-тия елемент отдясно в списъка отпечатан от командата "
-"„dirs“,\n"
+"     -N  извежда N-тия елемент отдясно в списъка отпечатан от командата „dirs“,\n"
 "         когато е стартирана без опции.  Брои се от 0.\n"
 "\n"
 "    Изходен код:\n"
 "    0, освен ако е дадена неправилна опция или възникне грешка."
 
-#: builtins.c:1902
-#, fuzzy
+#: builtins.c:1898
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
 "    Change the setting of each shell option OPTNAME.  Without any option\n"
-"    arguments, list each supplied OPTNAME, or all shell options if no\n"
-"    OPTNAMEs are given, with an indication of whether or not each is set.\n"
+"    arguments, list all shell options with an indication of whether or not each\n"
+"    is set.\n"
 "    \n"
 "    Options:\n"
 "      -o\trestrict OPTNAMEs to those defined for use with `set -o'\n"
@@ -5766,26 +5325,22 @@ msgid ""
 msgstr ""
 "Включване и изключване на опции на обвивката.\n"
 "    \n"
-"    Превключване на състоянието на всяка от дадените ОПЦИи на обвивката.  "
-"Ако не\n"
-"    не са зададени аргументи-ОПЦИи, се извежда списък от всички опции, като "
-"се\n"
+"    Превключване на състоянието на всяка от дадените ОПЦИи на обвивката.  Ако не\n"
+"    не са зададени аргументи-ОПЦИи, се извежда списък от всички опции, като се\n"
 "    указва за всяка дали и включена или не.\n"
 "    \n"
 "    Опции:\n"
-"      -o    ограничаване на опциите до определените за използване със „set -"
-"o“\n"
+"      -o    ограничаване на опциите до определените за използване със „set -o“\n"
 "      -p    извеждане на всяка опция с означение дали е включена или не\n"
 "      -q    без извеждане на информация\n"
 "      -s    включване на всяка от ОПЦИИте\n"
 "      -u    изключване на всяка от ОПЦИИте\n"
 "    \n"
 "    Изходен код:\n"
-"    0, ако ОПЦИЯта е включена, грешка, ако е зададена неправилна или "
-"изключена\n"
+"    0, ако ОПЦИЯта е включена, грешка, ако е зададена неправилна или изключена\n"
 "    ОПЦИЯ."
 
-#: builtins.c:1923
+#: builtins.c:1919
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5793,80 +5348,65 @@ msgid ""
 "      -v var\tassign the output to shell variable VAR rather than\n"
 "    \t\tdisplay it on the standard output\n"
 "    \n"
-"    FORMAT is a character string which contains three types of objects: "
-"plain\n"
-"    characters, which are simply copied to standard output; character "
-"escape\n"
+"    FORMAT is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output; character escape\n"
 "    sequences, which are converted and copied to the standard output; and\n"
-"    format specifications, each of which causes printing of the next "
-"successive\n"
+"    format specifications, each of which causes printing of the next successive\n"
 "    argument.\n"
 "    \n"
-"    In addition to the standard format specifications described in printf"
-"(1),\n"
+"    In addition to the standard format specifications described in printf(1),\n"
 "    printf interprets:\n"
 "    \n"
 "      %b\texpand backslash escape sequences in the corresponding argument\n"
 "      %q\tquote the argument in a way that can be reused as shell input\n"
-"      %(fmt)T\toutput the date-time string resulting from using FMT as a "
-"format\n"
+"      %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
 "    \t        string for strftime(3)\n"
 "    \n"
 "    The format is re-used as necessary to consume all of the arguments.  If\n"
 "    there are fewer arguments than the format requires,  extra format\n"
-"    specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+"    specifications behave as if a zero value or null string, as appropriate,\n"
 "    had been supplied.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is given or a write or "
-"assignment\n"
+"    Returns success unless an invalid option is given or a write or assignment\n"
 "    error occurs."
 msgstr ""
 "Форматиране и отпечатване на АРГУМЕНТИте според управлението на ФОРМАТа.\n"
 "\n"
 "    Опции:\n"
-"      -v ПРОМЕНЛИВА  изходът се поставя в ПРОМЕНЛИВАта на обвивката, вместо "
-"да\n"
+"      -v ПРОМЕНЛИВА  изходът се поставя в ПРОМЕНЛИВАта на обвивката, вместо да\n"
 "      се извежда на стандартния изход.\n"
 "\n"
 "    ФОРМАТът е последователност от знаци, която съдържа три вида обекти:\n"
-"    ⁃ обикновени знаци, които биват отпечатани директно на стандартния "
-"изход;\n"
+"    ⁃ обикновени знаци, които биват отпечатани директно на стандартния изход;\n"
 "    ⁃ екраниращи знакови последователности, които биват преобразувани и\n"
 "      отпечатани на стандартния изход;\n"
 "    ⁃ форматиращи знакови последователности, всяка от които предизвиква\n"
 "      отпечатването на следващ аргумент.\n"
 "\n"
-"    Освен стандартните форматирания описани в ръководството на printf(1), "
-"printf\n"
+"    Освен стандартните форматирания описани в ръководството на printf(1), printf\n"
 "    приема и следните инструкции:\n"
 "      %b      предизвиква заместването на екраниранията с обратно наклонени\n"
 "              черти в съответния аргумент\n"
 "      %q      предизвиква цитирането на аргумента, така че да може да бъде\n"
 "              използван като вход за обвивката\n"
-"      %(fmt)  отпечатване на низа при третиране на аргумента като дата и "
-"време\n"
+"      %(fmt)  отпечатване на низа при третиране на аргумента като дата и време\n"
 "              според strftime(3)\n"
 "\n"
-"     Форматът се преизползва до приемането на всички аргументи.  Ако има "
-"по-\n"
-"     малко аргументи от посочените във формата, поведението на "
-"допълнителните е\n"
+"     Форматът се преизползва до приемането на всички аргументи.  Ако има по-\n"
+"     малко аргументи от посочените във формата, поведението на допълнителните е\n"
 "     все една е подаден за аргумент нулева стойност или празен низ.\n"
 "\n"
 "     Изходен код:\n"
 "     0, освен ако не е дадена неправилна опция или възникне грешка при\n"
 "     извеждането на резултата или при присвояването на стойността."
 
-#: builtins.c:1957
+#: builtins.c:1953
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
-"    For each NAME, specify how arguments are to be completed.  If no "
-"options\n"
-"    are supplied, existing completion specifications are printed in a way "
-"that\n"
+"    For each NAME, specify how arguments are to be completed.  If no options\n"
+"    are supplied, existing completion specifications are printed in a way that\n"
 "    allows them to be reused as input.\n"
 "    \n"
 "    Options:\n"
@@ -5892,34 +5432,28 @@ msgstr ""
 "    дописване във формат, който може да се използва за вход.\n"
 "    \n"
 "    Опции:\n"
-"      -p  Извеждане на текущите инструкции за автоматично дописване във "
-"формат,\n"
+"      -p  Извеждане на текущите инструкции за автоматично дописване във формат,\n"
 "          който може да се използва за вход\n"
-"      -r  Премахване на инструкциите за автоматично дописване на всяко ИМЕ,"
-"а\n"
+"      -r  Премахване на инструкциите за автоматично дописване на всяко ИМЕ,а\n"
 "          когато такова не е указано — всички инструкции\n"
-"      -D  Прилагане на дописванията и действията като стандартните за "
-"командите,\n"
+"      -D  Прилагане на дописванията и действията като стандартните за командите,\n"
 "          без никакви специфични инструкции\n"
 "      -E  Прилагане на дописванията и действията като тези на „празната“\n"
 "          команда — когато все още нищо не е написано на командния ред\n"
 "    \n"
-"    При извършване на автоматично дописване, действията се прилагат в реда "
-"на\n"
-"    опциите с главна буква дадени по-горе.  Опцията „-D“ е с по-висок "
-"приоритет\n"
+"    При извършване на автоматично дописване, действията се прилагат в реда на\n"
+"    опциите с главна буква дадени по-горе.  Опцията „-D“ е с по-висок приоритет\n"
 "    от „-E“.\n"
 "    \n"
 "    Изходен код:\n"
 "    0, освен когато е дадена неправилна опция или възникне грешка."
 
-#: builtins.c:1985
+#: builtins.c:1981
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
 "    Intended to be used from within a shell function generating possible\n"
-"    completions.  If the optional WORD argument is supplied, matches "
-"against\n"
+"    completions.  If the optional WORD argument is supplied, matches against\n"
 "    WORD are generated.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5934,16 +5468,13 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако е дадена неправилна опция или възникне грешка."
 
-#: builtins.c:2000
+#: builtins.c:1996
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
-"    Modify the completion options for each NAME, or, if no NAMEs are "
-"supplied,\n"
-"    the completion currently being executed.  If no OPTIONs are given, "
-"print\n"
-"    the completion options for each NAME or the current completion "
-"specification.\n"
+"    Modify the completion options for each NAME, or, if no NAMEs are supplied,\n"
+"    the completion currently being executed.  If no OPTIONs are given, print\n"
+"    the completion options for each NAME or the current completion specification.\n"
 "    \n"
 "    Options:\n"
 "    \t-o option\tSet completion option OPTION for each NAME\n"
@@ -5982,39 +5513,30 @@ msgstr ""
 "    Аргументи:\n"
 "    \n"
 "    Всяко ИМЕ указва команда, за която трябва предварително да е зададена\n"
-"    спецификация за дописване чрез вградената команда „complete“.  Ако не "
-"са\n"
-"    зададени ИМЕна, командата „compopt“ трябва да бъде изпълнена от "
-"функция,\n"
-"    която генерира спецификациите за дописване.  В този случай опциите за "
-"текущо\n"
+"    спецификация за дописване чрез вградената команда „complete“.  Ако не са\n"
+"    зададени ИМЕна, командата „compopt“ трябва да бъде изпълнена от функция,\n"
+"    която генерира спецификациите за дописване.  В този случай опциите за текущо\n"
 "    изпълнявания генератор на дописвания се променят.\n"
 "    \n"
 "    Изходен код:\n"
-"    0, освен когато е дадена неправилна опция или липсват инструкции към "
-"ИМЕто\n"
+"    0, освен когато е дадена неправилна опция или липсват инструкции към ИМЕто\n"
 "    за автоматично дописване."
 
-#: builtins.c:2030
+#: builtins.c:2026
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
-"    Read lines from the standard input into the indexed array variable "
-"ARRAY, or\n"
-"    from file descriptor FD if the -u option is supplied.  The variable "
-"MAPFILE\n"
+"    Read lines from the standard input into the indexed array variable ARRAY, or\n"
+"    from file descriptor FD if the -u option is supplied.  The variable MAPFILE\n"
 "    is the default ARRAY.\n"
 "    \n"
 "    Options:\n"
 "      -d delim\tUse DELIM to terminate lines, instead of newline\n"
-"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are "
-"copied\n"
-"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default "
-"index is 0\n"
+"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are copied\n"
+"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default index is 0\n"
 "      -s count\tDiscard the first COUNT lines read\n"
 "      -t\tRemove a trailing DELIM from each line read (default newline)\n"
-"      -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+"      -u fd\tRead lines from file descriptor FD instead of the standard input\n"
 "      -C callback\tEvaluate CALLBACK each time QUANTUM lines are read\n"
 "      -c quantum\tSpecify the number of lines read between each call to\n"
 "    \t\t\tCALLBACK\n"
@@ -6027,17 +5549,14 @@ msgid ""
 "    element to be assigned and the line to be assigned to that element\n"
 "    as additional arguments.\n"
 "    \n"
-"    If not supplied with an explicit origin, mapfile will clear ARRAY "
-"before\n"
+"    If not supplied with an explicit origin, mapfile will clear ARRAY before\n"
 "    assigning to it.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is given or ARRAY is readonly "
-"or\n"
+"    Returns success unless an invalid option is given or ARRAY is readonly or\n"
 "    not an indexed array."
 msgstr ""
-"Изчитане на редове от стандартния вход и запазване в променлива — "
-"индексиран\n"
+"Изчитане на редове от стандартния вход и запазване в променлива — индексиран\n"
 "    низ.\n"
 "    \n"
 "    Прочитане на редове от стандартния вход, които след това се запазват в\n"
@@ -6054,32 +5573,26 @@ msgstr ""
 "      -t            Премахване на последващия знак-РАЗДЕЛител от всеки ред\n"
 "                    (стандартно е знакът за нов ред)\n"
 "      -u ФАЙЛов_ДЕСКРиптор\n"
-"                    Изчитане на редовете от ФАЙЛов_ДЕСКРиптор, а не "
-"стандартния\n"
+"                    Изчитане на редовете от ФАЙЛов_ДЕСКРиптор, а не стандартния\n"
 "                    вход\n"
-"      -C ФУНКЦИЯ    Функция, която се извиква при изчитането на всеки "
-"БРОЙ_РЕДА\n"
-"      -c БРОЙ_РЕДА  Редове, които да се изчетат преди да се извика "
-"ФУНКЦИЯта\n"
+"      -C ФУНКЦИЯ    Функция, която се извиква при изчитането на всеки БРОЙ_РЕДА\n"
+"      -c БРОЙ_РЕДА  Редове, които да се изчетат преди да се извика ФУНКЦИЯта\n"
 "    \n"
 "    Аргументи:\n"
 "      МАСИВ         Име на променливата-масив\n"
 "    \n"
-"    Ако опцията „-C“ е зададена без „-c“, стандартния БРОЙ_РЕДА е 5000.  "
-"При\n"
+"    Ако опцията „-C“ е зададена без „-c“, стандартния БРОЙ_РЕДА е 5000.  При\n"
 "    извикването на ФУНКЦИЯта за аргументи ѝ се подават индекса на следващия\n"
 "    елемент от масива и реда, който се счита за стойност.\n"
 "    \n"
-"    Ако не е дадено изрично НАЧАЛО, командата „mapfile“ изчиства МАСИВа, "
-"преди\n"
+"    Ако не е дадено изрично НАЧАЛО, командата „mapfile“ изчиства МАСИВа, преди\n"
 "    да започне присвояването към него.\n"
 "    \n"
 "    Изходен код:\n"
-"    Връща 0, освен ако е дадена неправилна опция или ако МАСИВът е "
-"променлива\n"
+"    Връща 0, освен ако е дадена неправилна опция или ако МАСИВът е променлива\n"
 "    само за четене или не е индексиран масив."
 
-#: builtins.c:2066
+#: builtins.c:2062
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
diff --git a/subst.c b/subst.c
index c12670bdf1bc21c0f456cfbba64e878a714cd650..6dc6c8754c5c9d7bd574dacd58a5309da5597ff5 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -1816,6 +1816,9 @@ skip_matched_pair (string, start, open, close, flags)
 }
 
 #if defined (ARRAY_VARS)
+/* Flags has 1 as a reserved value, since skip_matched_pair uses it for
+   skipping over quoted strings and taking the first instance of the
+   closing character. */
 int
 skipsubscript (string, start, flags)
      const char *string;
index 58c375b70d886bcff86f789ae4a15eee397f87c8..554f3d6ecc09d7149b13daa2d36a6bab1480269f 100755 (executable)
@@ -1,4 +1,4 @@
-BUILD_DIR=/usr/local/build/chet/bash/bash-current
+BUILD_DIR=/usr/local/build/bash/bash-current
 THIS_SH=$BUILD_DIR/bash
 PATH=$PATH:$BUILD_DIR
 
index 02059257a8e9020664a281d53d3de6d3fe929c06..b7a244e6e352777eb916aabd39cdf1b936e189fa 100644 (file)
@@ -741,3 +741,18 @@ argv[2] = <b>
 argv[1] = <a>
 argv[2] = <b>
 argv[1] = <a+b>
+7
+./array27.sub: line 11: a[]]=7 : syntax error: invalid arithmetic operator (error token is "]=7 ")
+declare -A A=([$'\t']="2" [" "]="2" )
+./array27.sub: line 23: ((: A[]]=2 : syntax error: invalid arithmetic operator (error token is "]=2 ")
+declare -A A=([$'\t']="2" [" "]="2" ["*"]="2" ["@"]="2" )
+./array27.sub: line 32: A[]]: bad array subscript
+declare -A A=([$'\t']="X" [" "]="X" ["*"]="X" ["@"]="X" )
+./array27.sub: line 40: A[]]: bad array subscript
+declare -A A=([$'\t']="X" [" "]="X" ["*"]="X" ["@"]="X" )
+./array27.sub: line 48: declare: `A[]]=X': not a valid identifier
+declare -A A=(["*"]="X" ["@"]="X" )
+./array27.sub: line 56: declare: `A[]]=X': not a valid identifier
+./array27.sub: line 56: A[*]: bad array subscript
+./array27.sub: line 56: A[@]: bad array subscript
+declare -A A
index 7fa1cdaf19324a8704027c51301a7de4194eea86..afd3df51b41e36441ded8fa952aceebe126e8439 100644 (file)
@@ -405,3 +405,4 @@ ${THIS_SH} ./array23.sub
 ${THIS_SH} ./array24.sub
 ${THIS_SH} ./array25.sub
 ${THIS_SH} ./array26.sub
+${THIS_SH} ./array27.sub
diff --git a/tests/array27.sub b/tests/array27.sub
new file mode 100644 (file)
index 0000000..fe1ffd3
--- /dev/null
@@ -0,0 +1,59 @@
+# tests for `problem' keys when using associative arrays and assoc_expand_once
+# deal with problems for now; this is a placeholder for if and when I fix them
+
+typeset -A a
+shopt -s assoc_expand_once
+
+k='['
+echo $(( a[$k]=7 ))
+
+k=']'
+echo $(( a[$k]=7 ))
+
+unset a
+
+declare -A A
+
+for k in $'\t' ' '; do
+   (( A[$k]=2 ))
+done
+declare -p A
+
+for k in ']' '*' '@'; do
+   (( A[$k]=2 ))
+done
+
+declare -p A
+
+unset A
+declare -A A
+
+for k in $'\t' ' ' ']' '*' '@'; do
+   read "A[$k]" <<< X
+done
+declare -p A
+
+unset A
+declare -A A
+
+for k in $'\t' ' ' ']' '*' '@'; do
+       printf -v "A[$k]" "%s" X
+done
+declare -p A
+
+unset A
+declare -A A
+
+for k in ']' '*' '@'; do
+   declare A[$k]=X
+done
+declare -p A
+
+unset A
+declare -A A
+
+for k in ']' '*' '@'; do
+   declare "A[$k]=X"
+done
+declare -p A
+