]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
remove history position change to non-incremental search; fixes to $@ in some word...
authorChet Ramey <chet.ramey@case.edu>
Fri, 25 Mar 2022 13:52:26 +0000 (09:52 -0400)
committerChet Ramey <chet.ramey@case.edu>
Fri, 25 Mar 2022 13:52:26 +0000 (09:52 -0400)
22 files changed:
CHANGES
CHANGES-5.2
CWRU/CWRU.chlog
MANIFEST
NEWS
NEWS-5.2
arrayfunc.c
doc/bash.1
doc/bashref.texi
lib/readline/readline.c
lib/readline/rlprivate.h
lib/readline/search.c
po/hr.gmo
po/hr.po
po/zh_CN.gmo
po/zh_CN.po
subst.c
tests/RUN-ONE-TEST
tests/dollar-at-star
tests/dollar-at-star10.sub [new file with mode: 0644]
tests/dollar-at-star11.sub [new file with mode: 0644]
tests/dollar.right

diff --git a/CHANGES b/CHANGES
index 682d1e37ff691e4b75c091a5257f576f9195ff50..5f51c42903a6df332f31829ee35743bb2714b6b2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -313,10 +313,7 @@ g. There is a new option: `enable-active-region'. This separates control of
 h. rl_completer_word_break_characters is now `const char *' like
    rl_basic_word_break_characters.
 
-i. The non-incremental history searches now leave the current history offset
-   at the position of the last matching history entry, like incremental search.
-
-j. Readline looks in $LS_COLORS for a custom filename extension
+i. Readline looks in $LS_COLORS for a custom filename extension
    (*.readline-colored-completion-prefix) and uses that as the default color
    for the common prefix displayed when `colored-completion-prefix' is set.
 
index ad6e42b4b45115e7b724d21b158e0eb3a885196d..752552af362dc93e6fc78c0d5c74cb8ffc340309 100644 (file)
@@ -313,10 +313,6 @@ g. There is a new option: `enable-active-region'. This separates control of
 h. rl_completer_word_break_characters is now `const char *' like
    rl_basic_word_break_characters.
 
-i. The non-incremental history searches now leave the current history offset
-   at the position of the last matching history entry, like incremental search.
-
-j. Readline looks in $LS_COLORS for a custom filename extension
+i. Readline looks in $LS_COLORS for a custom filename extension
    (*.readline-colored-completion-prefix) and uses that as the default color
    for the common prefix displayed when `colored-completion-prefix' is set.
-
index 1b1d006a30fb88d5802cff08ef0f414a2e3bb74b..a416b14fd684d4b1a89813934b9d197d7b66eeaf 100644 (file)
@@ -3386,3 +3386,41 @@ lib/readline/search.c
          move to the found history line instead of directly calling
          history_set_pos. This makes the behavior more similar to incremental
          search
+       - rl_history_search_internal: make sure to set rl_undo_list to the
+         current history undo list around the calls to rl_get_previous_history
+         or rl_get_next_history, in order to fool the call to
+         maybe_replace_line they make
+
+lib/readline/readline.c
+       - _rl_executing_func: the currently-executing readline command function
+
+lib/readline/rlprivate.h
+       - _rl_executing_func: extern declaration
+
+lib/readline/search.c
+       - _rl_history_search_internal: removed (commented out) code that sets
+         the current history entry to the found history entry, too much
+         assumes that the current undo list should be applied to the current
+         history entry (where_history())
+
+                                  3/23
+                                  ----
+subst.c
+       - parameter_brace_expand_word: if we have double-quoted ${*} or ${@},
+         make sure we are setting W_HASQUOTEDNULL in the flags we return to the
+         caller if we are returning QUOTED_NULL(word)
+       - parameter_brace_expand_word: if we have a double-quoted associative array
+         reference using `*' or `@', make sure we are setting W_HASQUOTEDNULL in the flags
+         we return to the caller if we are returning QUOTED_NULL(word)
+       - parameter_brace_expand: if we're using the `[:]+' word expansion operator,
+         we need to note a quoted null string and pass the W_QUOTEDNULL flag
+         back to the caller
+       - expand_word_internal: make sure to return a QUOTED_NULL (word[0] == CTLNUL)
+         back to the caller if HAD_QUOTED_NULL is set, regardless of whether or
+         not we see a quoted dollar at. Fix for bug reported by
+         Andreas Luik <andreas.luik@innovative-navigation.de>
+
+arrayfunc.c
+       - array_value_internal: fix typo and set estatep->type to ARRAY_INDEXED for
+         indexed arrays
+
index eba2c2670e6f03f39257712f8da88a26478c1b69..4fe2e46c373347c486f65659b9e9aa68608b6f69 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1037,6 +1037,8 @@ tests/dollar-at-star6.sub f
 tests/dollar-at-star7.sub      f
 tests/dollar-at-star8.sub      f
 tests/dollar-at-star9.sub      f
+tests/dollar-at-star10.sub     f
+tests/dollar-at-star11.sub     f
 tests/dollar-at1.sub   f
 tests/dollar-at2.sub   f
 tests/dollar-at3.sub   f
diff --git a/NEWS b/NEWS
index ae96d85886dc937d75c8a5a5c8ceb063326d07bf..94ec973434cfbcf9396332b136efcc89d88c05b4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -129,10 +129,7 @@ g. There is a new option: `enable-active-region'. This separates control of
 h. rl_completer_word_break_characters is now `const char *' like
    rl_basic_word_break_characters.
 
-i. The non-incremental history searches now leave the current history offset
-   at the position of the last matching history entry, like incremental search.
-
-j. Readline looks in $LS_COLORS for a custom filename extension
+i. Readline looks in $LS_COLORS for a custom filename extension
    (*.readline-colored-completion-prefix) and uses that as the default color
    for the common prefix displayed when `colored-completion-prefix' is set.
 
index 22eacc53cdc4c9717f0d5ca158843cdc2bc68d8f..3822368782f7797e280fba17cc68f7f88c9fd09e 100644 (file)
--- a/NEWS-5.2
+++ b/NEWS-5.2
@@ -129,9 +129,6 @@ g. There is a new option: `enable-active-region'. This separates control of
 h. rl_completer_word_break_characters is now `const char *' like
    rl_basic_word_break_characters.
 
-i. The non-incremental history searches now leave the current history offset
-   at the position of the last matching history entry, like incremental search.
-
-j. Readline looks in $LS_COLORS for a custom filename extension
+i. Readline looks in $LS_COLORS for a custom filename extension
    (*.readline-colored-completion-prefix) and uses that as the default color
    for the common prefix displayed when `colored-completion-prefix' is set.
index 2ab172c702784c05d2dda0f2542e35e931a23782..2c05d15b45f7dd91d84ff6354f26b78d967e20b7 100644 (file)
@@ -1538,7 +1538,7 @@ array_value_internal (s, quoted, flags, estatep)
       else
        {
          if (estatep)
-           estatep->type = ARRAY_ASSOC;
+           estatep->type = ARRAY_INDEXED;
          l = array_to_word_list (array_cell (var));
          if (l == (WORD_LIST *)NULL)
            return ((char *) NULL);
index d37bed8b8e6c5c92b23b8d846b53cb7df02d603b..8804fd8092c2578e036c4db020f302b5498516d0 100644 (file)
@@ -2774,7 +2774,7 @@ interpreted as relative to one greater than the maximum index of
 \fIname\fP, so negative indices count back from the end of the
 array, and an index of \-1 references the last element.
 .PP
-The += operator will append to a array variable when assigning
+The += operator will append to an array variable when assigning
 using the compound assignment syntax; see
 .SM
 .B PARAMETERS
index f0f95c0197f673439880f08d4dbf3bc0c81c7f23..7e84f07233c4014015e434142c5294e74bdaa96f 100644 (file)
@@ -7701,7 +7701,7 @@ interpreted as relative to one greater than the maximum index of
 @var{name}, so negative indices count back from the end of the
 array, and an index of -1 references the last element.
 
-The @samp{+=} operator will append to a array variable when assigning
+The @samp{+=} operator will append to an array variable when assigning
 using the compound assignment syntax; see @ref{Shell Parameters} above.
 
 Any element of an array may be referenced using
index f11406146d3de2fd1a6d214ab70866ca87c614c9..719845050967e3f33b64954398b7de37978cde53 100644 (file)
@@ -240,6 +240,9 @@ char *_rl_comment_begin;
 /* Keymap holding the function currently being executed. */
 Keymap rl_executing_keymap;
 
+/* The function currently being executed. */
+rl_command_func_t *_rl_executing_func;
+
 /* Keymap we're currently using to dispatch. */
 Keymap _rl_dispatching_keymap;
 
@@ -489,10 +492,10 @@ readline_internal_teardown (int eof)
   /* We don't want to do this if we executed functions that call
      history_set_pos to set the history offset to the line containing the
      non-incremental search string. */
-#if 1  /* XXX */
-  if (entry && rl_undo_list)
-#else
+#if HISTORY_SEARCH_SETS_HISTPOS
   if (entry && rl_undo_list && _rl_history_search_pos != where_history ())
+#else
+  if (entry && rl_undo_list)
 #endif
     {
       temp = savestring (the_line);
@@ -683,6 +686,8 @@ readline_internal_charloop (void)
          rl_executing_keymap = _rl_command_to_execute->map;
          rl_executing_key = _rl_command_to_execute->key;
 
+         _rl_executing_func = _rl_command_to_execute->func;
+
          rl_dispatching = 1;
          RL_SETSTATE(RL_STATE_DISPATCHING);
          r = (*(_rl_command_to_execute->func)) (_rl_command_to_execute->count, _rl_command_to_execute->key);
@@ -904,6 +909,8 @@ _rl_dispatch_subseq (register int key, Keymap map, int got_subseq)
          rl_executing_keymap = map;
          rl_executing_key = key;
 
+         _rl_executing_func = func;
+
          RESIZE_KEYSEQ_BUFFER();
          rl_executing_keyseq[rl_key_sequence_length++] = key;
          rl_executing_keyseq[rl_key_sequence_length] = '\0';
index 70ff01c2705ea00fa49bfe00d77c9484207449ec..24ceb3a474c0f0292929981fe6daa4b5f6106ab4 100644 (file)
@@ -381,6 +381,8 @@ extern void _rl_end_executing_keyseq (void);
 extern void _rl_add_executing_keyseq (int);
 extern void _rl_del_executing_keyseq (void);
 
+extern rl_command_func_t *_rl_executing_func;
+
 /* rltty.c */
 extern int _rl_disable_tty_signals (void);
 extern int _rl_restore_tty_signals (void);
index 22a044fe3d15d25b6366da902b57b90bb14ddb68..898ffe7bbb70fbcb080172dce9d3ba33d8c1b90e 100644 (file)
@@ -517,6 +517,7 @@ static int
 rl_history_search_internal (int count, int dir)
 {
   HIST_ENTRY *temp;
+  UNDO_LIST *origlist;
   int ret, oldpos, newcol, had_saved_line, origpos;
   char *t;
 
@@ -584,13 +585,23 @@ rl_history_search_internal (int count, int dir)
   if (had_saved_line == 0)
     _rl_free_saved_history_line ();
 
+#if HISTORY_SEARCH_SETS_HISTPOS
+  /* XXX - can't make this work the way I want it to yet. Too much assumes
+     that rl_undo_list corresponds to the current history entry's undo list,
+     especially the stuff in maybe_save_line and especially maybe_replace_line.
+     Leaving it commented out for now. */
+
   /* Make sure we set the current history position to the last line found so
      we can do things like operate-and-get-next from here. This is similar to
      how incremental search behaves. */
+  origlist = rl_undo_list;
+  rl_undo_list = 0;    /* XXX - was (UNDO_LIST *)temp->data */
   if (_rl_history_search_pos < origpos)
     rl_get_previous_history (origpos - _rl_history_search_pos, 0);
   else
     rl_get_next_history (_rl_history_search_pos - origpos, 0);
+  rl_undo_list = origlist;
+#endif
 
   /* decide where to put rl_point -- need to change this for pattern search */
   if (_rl_history_search_flags & ANCHORED_SEARCH)
index 3b3296aa2b6c0b48e53ef87ffa0e9b929dd4b017..dbf4f360570666401afa3d94a91c2f0ac2f80ce4 100644 (file)
Binary files a/po/hr.gmo and b/po/hr.gmo differ
index d54c275a863706640d89b842aea0d882751616da..6a869e55fbb99f92491ffde16579d18656c33216 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the bash package.
 #
 # Tomislav Krznar <tomislav.krznar@gmail.com>, 2012, 2013.
-# Božidar Putanec <bozidarp@yahoo.com>, 2018, 2019, 2020, 2021.
+# Božidar Putanec <bozidarp@yahoo.com>, 2018, 2019, 2020, 2021, 2022.
 msgid ""
 msgstr ""
 "Project-Id-Version: bash 5.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-11 14:50-0500\n"
-"PO-Revision-Date: 2021-01-02 13:56-0800\n"
+"POT-Creation-Date: 2020-11-28 12:51-0500\n"
+"PO-Revision-Date: 2022-03-24 15:58-0700\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
 "Language: hr\n"
@@ -17,61 +17,64 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 19.12.3\n"
 
 #: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "loši indeks polja"
 
-#: arrayfunc.c:471 builtins/declare.def:709 variables.c:2242 variables.c:2268
-#: variables.c:3101
+#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
+#: variables.c:3133
 #, c-format
 msgid "%s: removing nameref attribute"
 msgstr "%s: uklanjamo atribut nameref"
 
-#: arrayfunc.c:496 builtins/declare.def:868
+#: arrayfunc.c:446 builtins/declare.def:851
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: nije moguće pretvoriti indeksirano polje u asocijativno polje"
 
-#: arrayfunc.c:777
+#: arrayfunc.c:700
+#, c-format
+msgid "%s: invalid associative array key"
+msgstr "%s: nevaljan ključ asocijativnog polja"
+
+#: arrayfunc.c:702
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: nenumerički indeks nije moguć"
 
-#: arrayfunc.c:822
+#: arrayfunc.c:747
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: indeks je nužan pri dodjeli asocijativnom polju"
 
-#: bashhist.c:455
+#: bashhist.c:452
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: nije moguće stvoriti: %s"
 
-#: bashline.c:4479
+#: bashline.c:4310
 msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-"bash_execute_unix_command: nije moguće pronaći prečac (keymap) za naredbu"
+msgstr "bash_execute_unix_command: nije moguće pronaći prečac (keymap) za naredbu"
 
-#: bashline.c:4637
+#: bashline.c:4459
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: prvi nebijeli znak nije „\"“"
 
-#: bashline.c:4666
+#: bashline.c:4488
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "nema zaključnog „%c“ u %s"
 
-#: bashline.c:4697
+#: bashline.c:4519
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: nedostaje separator (dvotočka)"
 
-#: bashline.c:4733
+#: bashline.c:4555
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "„%s“: nije moguće razvezati prečac (keymap) za naredbu"
@@ -92,7 +95,7 @@ msgstr "zamjena vitičastih zagrada: nema dovoljno memorije za %u elemenata"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "zamjena vitičastih zagrada: nema dovoljno memorije za „%s“"
 
-#: builtins/alias.def:131 variables.c:1817
+#: builtins/alias.def:131 variables.c:1844
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "„%s“: ime aliasa nije valjano"
@@ -156,15 +159,14 @@ msgstr ""
 "    „$line $subroutine $filename“; ovi dodatni podaci mogu poslužiti\n"
 "    za „stack trace“.\n"
 "\n"
-"    Vrijednost IZRAZA pokazuje koliko se razina poziva treba vratiti unatrag "
-"od\n"
+"    Vrijednost IZRAZA pokazuje koliko se razina poziva treba vratiti unatrag od\n"
 "    trenutne pozicije, s time da je pozicija 0 trenutna pozicija."
 
 #: builtins/cd.def:327
 msgid "HOME not set"
 msgstr "HOME nije definiran"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:916
+#: builtins/cd.def:335 builtins/common.c:161 test.c:901
 msgid "too many arguments"
 msgstr "previše argumenata"
 
@@ -191,7 +193,7 @@ msgstr "upozorenje: "
 msgid "%s: usage: "
 msgstr "%s: uporaba: "
 
-#: builtins/common.c:193 shell.c:524 shell.c:866
+#: builtins/common.c:193 shell.c:516 shell.c:844
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: opcija zahtijeva argument"
@@ -206,7 +208,7 @@ msgstr "%s: nužan je numerički argument"
 msgid "%s: not found"
 msgstr "%s: nije nađeno"
 
-#: builtins/common.c:216 shell.c:879
+#: builtins/common.c:216 shell.c:857
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: nevaljana opcija"
@@ -216,7 +218,7 @@ msgstr "%s: nevaljana opcija"
 msgid "%s: invalid option name"
 msgstr "%s: nevaljano ime za opciju"
 
-#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "„%s“: nije valjano ime"
@@ -229,7 +231,7 @@ msgstr "nevaljan oktalni broj"
 msgid "invalid hex number"
 msgstr "nevaljan heksadecimalni broj"
 
-#: builtins/common.c:244 expr.c:1574
+#: builtins/common.c:244 expr.c:1569
 msgid "invalid number"
 msgstr "nevaljan broj"
 
@@ -243,93 +245,88 @@ msgstr "%s: nevaljana specifikacija signala"
 msgid "`%s': not a pid or valid job spec"
 msgstr "„%s“: nije PID ili nije valjana oznaka posla"
 
-#: builtins/common.c:266 error.c:536
+#: builtins/common.c:266 error.c:510
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: je samo-za-čitanje varijabla"
 
-#: builtins/common.c:273
-#, fuzzy, c-format
-msgid "%s: cannot assign"
-msgstr "%s: nije moguće izbrisati"
-
-#: builtins/common.c:281
+#: builtins/common.c:274
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s je izvan raspona"
 
-#: builtins/common.c:281 builtins/common.c:283
+#: builtins/common.c:274 builtins/common.c:276
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:283
+#: builtins/common.c:276
 #, c-format
 msgid "%s out of range"
 msgstr "%s je izvan raspona"
 
-#: builtins/common.c:291
+#: builtins/common.c:284
 #, c-format
 msgid "%s: no such job"
-msgstr "%s: nema takvoga posla"
+msgstr "%s: nema takvog posla"
 
-#: builtins/common.c:299
+#: builtins/common.c:292
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: nema upravljanja poslovima"
 
-#: builtins/common.c:301
+#: builtins/common.c:294
 msgid "no job control"
 msgstr "nema upravljanja poslovima"
 
-#: builtins/common.c:311
+#: builtins/common.c:304
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: ograničeni način rada"
 
-#: builtins/common.c:313
+#: builtins/common.c:306
 msgid "restricted"
 msgstr "ograničeni način rada"
 
-#: builtins/common.c:321
+#: builtins/common.c:314
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: nije ugrađena naredba ljuske"
 
-#: builtins/common.c:330
+#: builtins/common.c:323
 #, c-format
 msgid "write error: %s"
 msgstr "greška pisanja: %s"
 
-#: builtins/common.c:338
+#: builtins/common.c:331
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "greška pri postavljanju svojstava terminala: %s"
 
-#: builtins/common.c:340
+#: builtins/common.c:333
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "greška pri preuzimanju svojstava terminala: %s"
 
-#: builtins/common.c:642
+#: builtins/common.c:635
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: greška u određivanju trenutnog direktorija: %s: %s\n"
 
-#: builtins/common.c:708 builtins/common.c:710
+#: builtins/common.c:701 builtins/common.c:703
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: oznaka posla nije jednoznačna"
 
-#: builtins/common.c:971
+#: builtins/common.c:964
 msgid "help not available in this version"
 msgstr "u ovoj inačici pomoć nije dostupna"
 
-#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
+#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: nije moguće izbrisati: %s je samo-za-čitanje"
 
-#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
+#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: nije moguće izbrisati"
@@ -339,108 +336,108 @@ msgstr "%s: nije moguće izbrisati"
 msgid "%s: invalid action name"
 msgstr "%s: nevaljano ime za akciju"
 
-#: builtins/complete.def:486 builtins/complete.def:642
-#: builtins/complete.def:873
+#: builtins/complete.def:486 builtins/complete.def:634
+#: builtins/complete.def:865
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: nema specifikacije za dovršavanje"
 
-#: builtins/complete.def:696
+#: builtins/complete.def:688
 msgid "warning: -F option may not work as you expect"
 msgstr "upozorenje: opcija -F možda neće raditi prema očekivanju"
 
-#: builtins/complete.def:698
+#: builtins/complete.def:690
 msgid "warning: -C option may not work as you expect"
 msgstr "upozorenje: opcija -C možda neće raditi prema očekivanju"
 
-#: builtins/complete.def:846
+#: builtins/complete.def:838
 msgid "not currently executing completion function"
 msgstr "funkcija dovršavanja trenutno ne radi"
 
-#: builtins/declare.def:137
+#: builtins/declare.def:134
 msgid "can only be used in a function"
 msgstr "može se koristiti samo u funkciji"
 
-#: builtins/declare.def:437
-msgid "cannot use `-f' to make functions"
-msgstr "„-f“ se ne može koristiti za definiranje funkcija"
-
-#: builtins/declare.def:464 execute_cmd.c:6132
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: je samo-za-čitanje funkcija"
-
-#: builtins/declare.def:521 builtins/declare.def:804
+#: builtins/declare.def:363 builtins/declare.def:756
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: referentna varijabla ne može biti polje (array)"
 
-#: builtins/declare.def:532 variables.c:3359
+#: builtins/declare.def:374 variables.c:3385
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: nameref varijablu nije dopušteno samoreferencirati"
 
-#: builtins/declare.def:537 variables.c:2072 variables.c:3278 variables.c:3286
-#: variables.c:3356
+#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
+#: variables.c:3382
 #, c-format
 msgid "%s: circular name reference"
 msgstr "%s: kružna referencija imena"
 
-#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
+#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "„%s“: nevaljano ime varijable za referenciju imena"
 
-#: builtins/declare.def:856
+#: builtins/declare.def:514
+msgid "cannot use `-f' to make functions"
+msgstr "„-f“ se ne može koristiti za definiranje funkcija"
+
+#: builtins/declare.def:526 execute_cmd.c:5986
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: je samo-za-čitanje funkcija"
+
+#: builtins/declare.def:824
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: dodjela vrijednosti u navodnicima složenom polju je zastarjela"
+
+#: builtins/declare.def:838
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: nije moguće uništiti varijable polja na ovaj način"
 
-#: builtins/declare.def:862 builtins/read.def:887
+#: builtins/declare.def:845 builtins/read.def:815
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: nije moguće pretvoriti asocijativno u indeksirano polje"
 
-#: builtins/declare.def:891
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: dodjela vrijednosti u navodnicima složenom polju je zastarjela"
-
-#: builtins/enable.def:145 builtins/enable.def:153
+#: builtins/enable.def:143 builtins/enable.def:151
 msgid "dynamic loading not available"
 msgstr "dinamičko učitavanje nije dostupno"
 
-#: builtins/enable.def:376
+#: builtins/enable.def:343
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "nije moguće otvoriti dijeljeni objekt %s: %s"
 
-#: builtins/enable.def:405
+#: builtins/enable.def:371
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "nije moguće pronaći %s u dijeljenom objektu %s: %s"
 
-#: builtins/enable.def:422
+#: builtins/enable.def:388
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: dinamički učitljiva ugrađena naredba već je učitana"
 
-#: builtins/enable.def:426
+#: builtins/enable.def:392
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "funkcija učitavanja za %s završila je s greškom (%d): nije učitano"
 
-#: builtins/enable.def:551
+#: builtins/enable.def:517
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: nije dinamički učitan"
 
-#: builtins/enable.def:577
+#: builtins/enable.def:543
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: nije moguće izbrisati: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: je direktorij"
@@ -455,7 +452,7 @@ msgstr "%s: nije obična datoteka"
 msgid "%s: file is too large"
 msgstr "%s: datoteka je prevelika"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: nije moguće izvršiti binarnu datoteku"
@@ -492,7 +489,7 @@ msgstr "nijedna naredba nije nađena"
 #: builtins/fc.def:363 builtins/fc.def:368 builtins/fc.def:407
 #: builtins/fc.def:412
 msgid "history specification"
-msgstr "prikaz povijesti"
+msgstr "specifikacija povijesti"
 
 #: builtins/fc.def:444
 #, c-format
@@ -549,18 +546,17 @@ msgstr ""
 
 #: builtins/help.def:185
 #, 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 ""
 "Nema pomoći za „%s“.\n"
 "Pokušajte s „help help“, „man -k %s“ ili „info %s“."
 
-#: builtins/help.def:223
+#: builtins/help.def:224
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: Nije moguće otvoriti: %s"
 
-#: builtins/help.def:523
+#: builtins/help.def:524
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -580,21 +576,21 @@ msgstr ""
 "Zvjezdica (*) pokraj imena znači da je naredba onemogućena.\n"
 "\n"
 
-#: builtins/history.def:159
+#: builtins/history.def:155
 msgid "cannot use more than one of -anrw"
 msgstr "moguć je samo jedan od -a, -n, -r ili -w"
 
-#: builtins/history.def:192 builtins/history.def:204 builtins/history.def:215
-#: builtins/history.def:228 builtins/history.def:240 builtins/history.def:247
+#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
+#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
 msgid "history position"
 msgstr "pozicija u povijesti"
 
-#: builtins/history.def:338
+#: builtins/history.def:340
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: nevaljan vremenski žig"
 
-#: builtins/history.def:449
+#: builtins/history.def:451
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: proširenje povijesti nije uspjelo"
@@ -617,78 +613,78 @@ msgstr "%s: argumenti moraju biti ID-ovi procesa ili ID-ovi posla"
 msgid "Unknown error"
 msgstr "Nepoznata greška"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
+#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
 msgid "expression expected"
 msgstr "očekivan je izraz"
 
-#: builtins/mapfile.def:180
+#: builtins/mapfile.def:178
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: nije indeksirano polje"
 
-#: builtins/mapfile.def:276 builtins/read.def:336
+#: builtins/mapfile.def:271 builtins/read.def:308
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: nevaljana specifikacija deskriptora datoteke"
 
-#: builtins/mapfile.def:284 builtins/read.def:343
+#: builtins/mapfile.def:279 builtins/read.def:315
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: nevaljan deskriptor datoteke: %s"
 
-#: builtins/mapfile.def:293 builtins/mapfile.def:331
+#: builtins/mapfile.def:288 builtins/mapfile.def:326
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: nevaljan broj (količina) redaka"
 
-#: builtins/mapfile.def:304
+#: builtins/mapfile.def:299
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: nevaljan početak polja (nevaljan indeks polja)"
 
-#: builtins/mapfile.def:321
+#: builtins/mapfile.def:316
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: nevaljana količina (redaka između poziva)"
 
-#: builtins/mapfile.def:354
+#: builtins/mapfile.def:349
 msgid "empty array variable name"
 msgstr "prazno ime varijable polja"
 
-#: builtins/mapfile.def:375
+#: builtins/mapfile.def:370
 msgid "array variable support required"
 msgstr "nužna je podrška za varijable (vrsta) polje"
 
-#: builtins/printf.def:430
+#: builtins/printf.def:419
 #, c-format
 msgid "`%s': missing format character"
 msgstr "„%s“: nedostaje znak u specifikaciji formata"
 
-#: builtins/printf.def:485
+#: builtins/printf.def:474
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "„%c“: nevaljana specifikacija za format vremena"
 
-#: builtins/printf.def:708
+#: builtins/printf.def:676
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "„%c“: nevaljan znak u specifikaciji formata"
 
-#: builtins/printf.def:734
+#: builtins/printf.def:702
 #, c-format
 msgid "warning: %s: %s"
 msgstr "upozorenje: %s: %s"
 
-#: builtins/printf.def:822
+#: builtins/printf.def:788
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "problem s raščlanjivanjem formata: %s"
 
-#: builtins/printf.def:919
+#: builtins/printf.def:885
 msgid "missing hex digit for \\x"
 msgstr "nedostaje heksadecimalna znamenka za \\x"
 
-#: builtins/printf.def:934
+#: builtins/printf.def:900
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "nedostaje unikodna (unicode) znamenka za \\%c"
@@ -729,12 +725,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 ""
 "Pokaže popis trenutno zapamćenih direktorija. Direktoriji se unose\n"
@@ -787,14 +781,10 @@ msgstr ""
 "           direktorije u stȏg, odnosno samo manipulira sa stȏgom\n"
 "\n"
 "     Argumenti:\n"
-"      +N   Zarotira stȏg tako, da N-ti direktorij u stȏgu (brojeći od nule "
-"s\n"
-"             lijeve strane popisa prikazanoga s „dirs“) postane novi vrh "
-"stȏga.\n"
-"      -N   Zarotira stȏg tako, da N-ti direktorij u stȏgu (brojeći od nule "
-"s\n"
-"             desne strane popisa prikazanoga s „dirs“) postane novi vrh "
-"stȏga.\n"
+"      +N   Zarotira stȏg tako, da N-ti direktorij u stȏgu (brojeći od nule s\n"
+"             lijeve strane popisa pokazanog s „dirs“) postane novi vrh stȏga.\n"
+"      -N   Zarotira stȏg tako, da N-ti direktorij u stȏgu (brojeći od nule s\n"
+"             desne strane popisa pokazanog s „dirs“) postane novi vrh stȏga.\n"
 "      DIREKTORIJ  Doda DIREKTORIJ na vrh stȏga direktorija i\n"
 "                    učini ga novim trenutnim radnim direktorijem.\n"
 "\n"
@@ -821,8 +811,7 @@ msgid ""
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
 "Ukloni zapise iz stȏga direktorija. Bez argumenata, ukloni direktorij na\n"
-"    vrhu stȏga i učini da je trenutni radni direktorij jednak novom "
-"direktoriju\n"
+"    vrhu stȏga i učini da je trenutni radni direktorij jednak novom direktoriju\n"
 "    na vrhu stȏga.\n"
 "\n"
 "    Opcije:\n"
@@ -831,34 +820,33 @@ msgstr ""
 "\n"
 "    Argumenti:\n"
 "      +N   Ukloni da N-ti direktorij iz stȏga brojeći od nule s lijeve\n"
-"           strane popisa prikazanoga s „dirs“. Na primjer: „popd +0“\n"
+"           strane popisa pokazanog s „dirs“. Na primjer: „popd +0“\n"
 "           ukloni prvi, a „popd +1“ ukloni drugi direktorij.\n"
 "      +N   Ukloni da N-ti direktorij iz stȏga brojeći od nule s desne\n"
-"           strane popisa prikazanoga s „dirs“. Na primjer.: „popd -0“\n"
+"           strane popisa pokazanog s „dirs“. Na primjer.: „popd -0“\n"
 "           ukloni zadnji, a „popd -1“ ukloni predzadnji direktorij.\n"
 "\n"
 "    Naredba „dirs“ prikaže trenutni sadržaj stȏga direktorija."
 
-#: builtins/read.def:308
+#: builtins/read.def:280
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: nevaljana specifikacija za istek vremena (timeout)"
 
-#: builtins/read.def:827
+#: builtins/read.def:755
 #, c-format
 msgid "read error: %d: %s"
 msgstr "greška čitanja: %d: %s"
 
 #: builtins/return.def:68
 msgid "can only `return' from a function or sourced script"
-msgstr ""
-"„return“ je moguć samo iz funkcije ili iz skripte pokrenute sa „source”"
+msgstr "„return“ je moguć samo iz funkcije ili iz skripte pokrenute sa „source”"
 
 #: builtins/set.def:869
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "nije moguće istovremeno poništiti funkciju i varijablu"
 
-#: builtins/set.def:969
+#: builtins/set.def:966
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: nije varijabla (vrste) polja"
@@ -877,11 +865,11 @@ msgstr "%s: Nije moguće izvesti (export)"
 msgid "shift count"
 msgstr "broj (veličina) pomaka"
 
-#: builtins/shopt.def:323
+#: builtins/shopt.def:310
 msgid "cannot set and unset shell options simultaneously"
 msgstr "nije moguće istovremeno postaviti i poništiti opcije ljuske"
 
-#: builtins/shopt.def:444
+#: builtins/shopt.def:428
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: nevaljano ime za opciju ljuske"
@@ -948,16 +936,16 @@ msgstr "%s: nevaljan argument za ograničenje"
 msgid "`%c': bad command"
 msgstr "„%c“: loša naredba"
 
-#: builtins/ulimit.def:464
+#: builtins/ulimit.def:455
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: nije moguće odrediti vrijednost ograničenja: %s"
 
-#: builtins/ulimit.def:490
+#: builtins/ulimit.def:481
 msgid "limit"
 msgstr "ograničenje"
 
-#: builtins/ulimit.def:502 builtins/ulimit.def:802
+#: builtins/ulimit.def:493 builtins/ulimit.def:793
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: nije moguće promijeniti ograničenja: %s"
@@ -976,7 +964,7 @@ msgstr "„%c“: nevaljan operator u simboličkom načinu"
 msgid "`%c': invalid symbolic mode character"
 msgstr "„%c“: nevaljan znak u simboličkom načinu"
 
-#: error.c:89 error.c:373 error.c:375 error.c:377
+#: error.c:89 error.c:347 error.c:349 error.c:351
 msgid " line "
 msgstr " redak "
 
@@ -996,110 +984,99 @@ msgstr "Prekidamo..."
 msgid "INFORM: "
 msgstr "informacija: "
 
-#: error.c:310
-#, fuzzy, c-format
-msgid "DEBUG warning: "
-msgstr "upozorenje: "
-
-#: error.c:488
+#: error.c:462
 msgid "unknown command error"
 msgstr "nepoznata greška naredbe"
 
-#: error.c:489
+#: error.c:463
 msgid "bad command type"
 msgstr "loša vrsta naredbe"
 
-#: error.c:490
+#: error.c:464
 msgid "bad connector"
 msgstr "loš konektor"
 
-#: error.c:491
+#: error.c:465
 msgid "bad jump"
 msgstr "loš skok"
 
-#: error.c:529
+#: error.c:503
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: nevezana varijabla"
 
-#: eval.c:243
+#: eval.c:242
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\avrijeme čekanja na ulaz je isteklo: automatska-odjava\n"
 
-#: execute_cmd.c:555
+#: execute_cmd.c:537
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "nije moguće preusmjeriti standardni ulaz iz /dev/null: %s"
 
-#: execute_cmd.c:1317
+#: execute_cmd.c:1297
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: „%c“: nevaljan znak za format"
 
-#: execute_cmd.c:2391
+#: execute_cmd.c:2362
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc(): coproc [%d:%s] još uvijek postoji"
 
-#: execute_cmd.c:2524
+#: execute_cmd.c:2486
 msgid "pipe error"
 msgstr "greška cijevi"
 
-#: execute_cmd.c:4923
+#: execute_cmd.c:4793
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: prekoračena je dopuštena razina (dubina) gniježđenja eval (%d)"
 
-#: execute_cmd.c:4935
+#: execute_cmd.c:4805
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: prekoračena je dopuštena razina gniježđenja source (%d)"
 
-#: execute_cmd.c:5043
+#: execute_cmd.c:4913
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: prekoračena je dopuštena razina gniježđenja funkcije (%d)"
 
-#: execute_cmd.c:5598
+#: execute_cmd.c:5467
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: ograničenje : znak „/“ nije dopušten u imenima naredba"
 
-#: execute_cmd.c:5715
+#: execute_cmd.c:5574
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: naredba nije pronađena"
 
-#: execute_cmd.c:5957
+#: execute_cmd.c:5816
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5975
-#, fuzzy, c-format
-msgid "%s: cannot execute: required file not found"
-msgstr "%s: nije moguće izvršiti binarnu datoteku"
-
-#: execute_cmd.c:6000
+#: execute_cmd.c:5854
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: loš interpreter"
 
-#: execute_cmd.c:6037
+#: execute_cmd.c:5891
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: binarnu datoteku %s nije moguće pokrenuti/izvršiti"
 
-#: execute_cmd.c:6123
+#: execute_cmd.c:5977
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "„%s“ je specijalna funkcija ugrađena u ljusku"
 
-#: execute_cmd.c:6175
+#: execute_cmd.c:6029
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
-msgstr ""
-"nije moguće duplicirati deskriptor datoteke %d u deskriptor datoteke %d"
+msgstr "nije moguće duplicirati deskriptor datoteke %d u deskriptor datoteke %d"
 
 #: expr.c:263
 msgid "expression recursion level exceeded"
@@ -1109,68 +1086,68 @@ msgstr "prekoračena je dopuštena razina rekurzija izraza"
 msgid "recursion stack underflow"
 msgstr "podlijevanje stȏga rekurzija (prazni stȏg)"
 
-#: expr.c:478
+#: expr.c:477
 msgid "syntax error in expression"
 msgstr "sintaktička greška u izrazu"
 
-#: expr.c:522
+#: expr.c:521
 msgid "attempted assignment to non-variable"
 msgstr "pokušaj dodjeljivanja ne-varijabli (objektu koji nije varijabla)"
 
-#: expr.c:531
+#: expr.c:530
 msgid "syntax error in variable assignment"
 msgstr "sintaktička greška u dodjeljivanju varijabli"
 
-#: expr.c:545 expr.c:912
+#: expr.c:544 expr.c:911
 msgid "division by 0"
 msgstr "dijeljenje s 0"
 
-#: expr.c:593
+#: expr.c:592
 msgid "bug: bad expassign token"
 msgstr "**interna greška** : loš simbol u izrazu za dodjelu"
 
-#: expr.c:647
+#: expr.c:646
 msgid "`:' expected for conditional expression"
 msgstr "znak „:“ je nužan u uvjetnom izrazu"
 
-#: expr.c:973
+#: expr.c:972
 msgid "exponent less than 0"
 msgstr "eksponent je manji od 0"
 
-#: expr.c:1030
+#: expr.c:1029
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "očekivalo se ime nakon pre-increment ili pre-decrement"
 
-#: expr.c:1057
+#: expr.c:1056
 msgid "missing `)'"
 msgstr "nedostaje „)“"
 
-#: expr.c:1108 expr.c:1492
+#: expr.c:1107 expr.c:1487
 msgid "syntax error: operand expected"
 msgstr "sintaktička greška: očekivan je operand"
 
-#: expr.c:1494
+#: expr.c:1489
 msgid "syntax error: invalid arithmetic operator"
 msgstr "sintaktička greška: nevaljan aritmetički operator"
 
-#: expr.c:1518
+#: expr.c:1513
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (simbol greške je „%s“)"
 
-#: expr.c:1578
+#: expr.c:1573
 msgid "invalid arithmetic base"
 msgstr "nevaljana aritmetička baza"
 
-#: expr.c:1587
+#: expr.c:1582
 msgid "invalid integer constant"
 msgstr "%s: nevaljana cijelo brojna (integer) konstanta"
 
-#: expr.c:1603
+#: expr.c:1598
 msgid "value too great for base"
 msgstr "vrijednost baze je prevelika"
 
-#: expr.c:1652
+#: expr.c:1647
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: greška u izrazu\n"
@@ -1179,7 +1156,7 @@ msgstr "%s: greška u izrazu\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd(): nije moguće pristupiti nadređenim direktorijima"
 
-#: input.c:99 subst.c:6208
+#: input.c:99 subst.c:6069
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "nije moguće onemogućiti „nodelay” način za deskriptor datoteke %d"
@@ -1187,184 +1164,178 @@ msgstr "nije moguće onemogućiti „nodelay” način za deskriptor datoteke %d
 #: input.c:266
 #, c-format
 msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
-"nije moguće rezervirati novi datotečni deskriptor za bash ulaz iz datotečnog "
-"deskriptora %d"
+msgstr "nije moguće rezervirati novi datotečni deskriptor za bash ulaz iz datotečnog deskriptora %d"
 
 #: input.c:274
 #, c-format
 msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr ""
-"save_bash_input(): međuspremnik već postoji za novi datotečni deskriptor %d"
+msgstr "save_bash_input(): međuspremnik već postoji za novi datotečni deskriptor %d"
 
 #: jobs.c:543
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline(): pgrp pipe (procesna skupina cijevi)"
 
-#: jobs.c:907
+#: jobs.c:906
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: PETLJA: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:960
+#: jobs.c:959
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: PETLJA: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1279
+#: jobs.c:1283
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "račvani PID %d pripada tekućem poslu %d"
 
-#: jobs.c:1397
+#: jobs.c:1402
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "uklanjamo zaustavljeni posao %d sa skupinom procesa %ld"
 
-#: jobs.c:1502
+#: jobs.c:1511
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process(): PID %5ld (%s) označen kao još uvijek aktivan"
 
-#: jobs.c:1839
+#: jobs.c:1850
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid(): %ld: PID ne postoji"
 
-#: jobs.c:1854
+#: jobs.c:1865
 #, c-format
 msgid "Signal %d"
 msgstr "Signal %d"
 
-#: jobs.c:1868 jobs.c:1894
+#: jobs.c:1879 jobs.c:1905
 msgid "Done"
 msgstr "Gotovo"
 
-#: jobs.c:1873 siglist.c:123
+#: jobs.c:1884 siglist.c:122
 msgid "Stopped"
 msgstr "Zaustavljeno"
 
-#: jobs.c:1877
+#: jobs.c:1888
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Zaustavljeno(%s)"
 
-#: jobs.c:1881
+#: jobs.c:1892
 msgid "Running"
 msgstr "Pokrenuto"
 
-#: jobs.c:1898
+#: jobs.c:1909
 #, c-format
 msgid "Done(%d)"
 msgstr "Gotovo(%d)"
 
-#: jobs.c:1900
+#: jobs.c:1911
 #, c-format
 msgid "Exit %d"
 msgstr "Izlaz %d"
 
-#: jobs.c:1903
+#: jobs.c:1914
 msgid "Unknown status"
 msgstr "Nepoznata izlazna vrijednost (izlazni kȏd)Nepoznato"
 
-#: jobs.c:1990
+#: jobs.c:2001
 #, c-format
 msgid "(core dumped) "
 msgstr "(snimka (core dump) memorije je spremljena!) "
 
-#: jobs.c:2009
+#: jobs.c:2020
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2250
+#: jobs.c:2259
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "promijeni skupinu potomka (% ld u% ld)"
 
-#: jobs.c:2608 nojobs.c:666
+#: jobs.c:2617 nojobs.c:664
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: PID %ld nije potomak ove ljuske"
 
-#: jobs.c:2884
+#: jobs.c:2893
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: proces %ld nije nigdje registriran"
 
-#: jobs.c:3223
+#: jobs.c:3236
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: posao %d je zaustavljen"
 
-#: jobs.c:3551
+#: jobs.c:3564
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: nema tekućih poslova"
 
-#: jobs.c:3558
+#: jobs.c:3571
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: posao je završen"
 
-#: jobs.c:3567
+#: jobs.c:3580
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: posao %d je već u pozadini"
 
-#: jobs.c:3793
+#: jobs.c:3806
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
-"waitchld(): WNOHANG je omogućen kako bi se izbjeglo neograničeno blokiranje"
+msgstr "waitchld(): WNOHANG je omogućen kako bi se izbjeglo neograničeno blokiranje"
 
-#: jobs.c:4307
+#: jobs.c:4320
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: redak %d: "
 
-#: jobs.c:4321 nojobs.c:921
+#: jobs.c:4334 nojobs.c:919
 #, c-format
 msgid " (core dumped)"
 msgstr " (snimka (core dump) memorije je spremljena!)"
 
-#: jobs.c:4333 jobs.c:4346
+#: jobs.c:4346 jobs.c:4359
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(radni direktorij je sada: %s)\n"
 
-#: jobs.c:4378
+#: jobs.c:4391
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp() nije uspješna"
 
-#: jobs.c:4434
+#: jobs.c:4447
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: nema upravljanja poslom u pozadini"
 
-#: jobs.c:4450
+#: jobs.c:4463
 msgid "initialize_job_control: line discipline"
-msgstr ""
-"initialize_job_control: disciplina retka (protokol realizacije stringova/"
-"redaka)"
+msgstr "initialize_job_control: disciplina retka (protokol realizacije stringova/redaka)"
 
-#: jobs.c:4460
+#: jobs.c:4473
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid()"
 
-#: jobs.c:4481 jobs.c:4490
+#: jobs.c:4494 jobs.c:4503
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "nije moguće postaviti procesnu skupinu (%d) terminala"
 
-#: jobs.c:4495
+#: jobs.c:4508
 msgid "no job control in this shell"
 msgstr "nema upravljanja poslom u ovoj ljusci"
 
-#: lib/malloc/malloc.c:367
+#: lib/malloc/malloc.c:353
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc(): neuspješni kontrolni test: %s\n"
 
-#: lib/malloc/malloc.c:383
+#: lib/malloc/malloc.c:369
 #, c-format
 msgid ""
 "\r\n"
@@ -1373,49 +1344,47 @@ msgstr ""
 "\r\n"
 "malloc(): %s:%d: loše provedeni kontrolni test\r\n"
 
-#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
+#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
 msgid "unknown"
 msgstr "nepoznato"
 
-#: lib/malloc/malloc.c:892
+#: lib/malloc/malloc.c:882
 msgid "malloc: block on free list clobbered"
 msgstr "malloc(): zauzeti blok na popisu slobodnih blokova"
 
-#: lib/malloc/malloc.c:980
+#: lib/malloc/malloc.c:972
 msgid "free: called with already freed block argument"
 msgstr "free(): pozvana s argumentom bloka koji je već slobodan"
 
-#: lib/malloc/malloc.c:983
+#: lib/malloc/malloc.c:975
 msgid "free: called with unallocated block argument"
 msgstr "free(): pozvana s argumentom bloka koji se ne koristi"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:994
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free(): otkriveno je podlijevanje, mh_nbytes izvan raspona"
 
-#: lib/malloc/malloc.c:1007
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free(): otkriveno je podlijevanje; magic8 je oštećen"
 
-#: lib/malloc/malloc.c:1014
+#: lib/malloc/malloc.c:1009
 msgid "free: start and end chunk sizes differ"
 msgstr "free(): veličine početnog i zaključnog (dijela) bloka su različite"
 
-#: lib/malloc/malloc.c:1176
+#: lib/malloc/malloc.c:1119
 msgid "realloc: called with unallocated block argument"
-msgstr ""
-"realloc(): je pozvana s nekorištenim blokom kao argument (blok još nije "
-"odabran)"
+msgstr "realloc(): je pozvana s nekorištenim blokom kao argument (blok još nije odabran)"
 
-#: lib/malloc/malloc.c:1191
+#: lib/malloc/malloc.c:1134
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc(): otkriveno je podlijevanje, mh_nbytes izvan raspona"
 
-#: lib/malloc/malloc.c:1197
+#: lib/malloc/malloc.c:1141
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc(): otkriveno je podlijevanje; magic8 je oštećen"
 
-#: lib/malloc/malloc.c:1205
+#: lib/malloc/malloc.c:1150
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc(): veličine početnog i zaključnog (dijela) bloka su različite"
 
@@ -1457,22 +1426,22 @@ msgstr "%s: loša specifikacija za mrežnu stazu"
 msgid "network operations not supported"
 msgstr "mrežne operacije nisu podržane"
 
-#: locale.c:219
+#: locale.c:217
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale(): LC_ALL: nije moguće promijeniti jezično područje (%s)"
 
-#: locale.c:221
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale(): LC_ALL: nije moguće promijeniti jezično područje (%s): %s"
 
-#: locale.c:294
+#: locale.c:292
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale(): %s: nije moguće promijeniti jezično područje (%s)"
 
-#: locale.c:296
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale(): %s: nije moguće promijeniti jezično područje (%s): %s"
@@ -1490,142 +1459,138 @@ msgstr "Imate novu poštu u $_"
 msgid "The mail in %s has been read\n"
 msgstr "Pošta u %s je već pročitana\n"
 
-#: make_cmd.c:314
+#: make_cmd.c:317
 msgid "syntax error: arithmetic expression required"
 msgstr "sintaktička greška: nužan je aritmetički izraz"
 
-#: make_cmd.c:316
+#: make_cmd.c:319
 msgid "syntax error: `;' unexpected"
 msgstr "sintaktička greška: neočekivan „;“ znak"
 
-#: make_cmd.c:317
+#: make_cmd.c:320
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "sintaktička greška: „((%s))“"
 
-#: make_cmd.c:569
+#: make_cmd.c:572
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document(): loša vrsta instrukcije %d"
 
-#: make_cmd.c:668
+#: make_cmd.c:657
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"here-document u retku %d završava sa znakom kraj datoteke (očekivan je „%s“)"
+msgstr "here-document u retku %d završava sa znakom kraj datoteke (očekivan je „%s“)"
 
-#: make_cmd.c:769
+#: make_cmd.c:756
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-"make_redirection(): instrukcija za preusmjeravanje „%d“ je izvan raspona"
+msgstr "make_redirection(): instrukcija za preusmjeravanje „%d“ je izvan raspona"
 
-#: parse.y:2428
+#: parse.y:2393
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr ""
 "shell_getc(): shell_input_line_size (%zu) veća je od SIZE_MAX (%lu):\n"
 "  redak je skraćen"
 
-#: parse.y:2921
+#: parse.y:2826
 msgid "maximum here-document count exceeded"
 msgstr "maksimalna broj (količina) here-document-a je premašena"
 
-#: parse.y:3684 parse.y:4244 parse.y:6148
+#: parse.y:3581 parse.y:3957 parse.y:4556
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "neočekivan kraj-datoteke (EOF) pri traženju odgovarajućeg „%c“"
 
-#: parse.y:4452
+#: parse.y:4696
 msgid "unexpected EOF while looking for `]]'"
 msgstr "neočekivan kraj datoteke (EOF) pri traženju „]]“"
 
-#: parse.y:4457
+#: parse.y:4701
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "sintaktička greška u uvjetnom izrazu: neočekivan simbol „%s“"
 
-#: parse.y:4461
+#: parse.y:4705
 msgid "syntax error in conditional expression"
 msgstr "sintaktička greška u uvjetnom izrazu"
 
-#: parse.y:4539
+#: parse.y:4783
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "neočekivan simbol „%s“; očekivana je „)“"
 
-#: parse.y:4543
+#: parse.y:4787
 msgid "expected `)'"
 msgstr "očekivana je „)“"
 
-#: parse.y:4571
+#: parse.y:4815
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "neočekivan argument „%s“ za uvjetni unarni operator"
 
-#: parse.y:4575
+#: parse.y:4819
 msgid "unexpected argument to conditional unary operator"
 msgstr "neočekivan argument za uvjetni unarni operator"
 
-#: parse.y:4621
+#: parse.y:4865
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "neočekivani simbol „%s“; očekivan je uvjetni binarni operator"
 
-#: parse.y:4625
+#: parse.y:4869
 msgid "conditional binary operator expected"
 msgstr "očekivan je uvjetni binarni operator"
 
-#: parse.y:4647
+#: parse.y:4891
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "neočekivan argument „%s“ uvjetnom binarnom operatoru"
 
-#: parse.y:4651
+#: parse.y:4895
 msgid "unexpected argument to conditional binary operator"
 msgstr "neočekivan argument uvjetnom binarnom operatoru"
 
-#: parse.y:4662
+#: parse.y:4906
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "neočekivan simbol „%c“ u uvjetnoj naredbi"
 
-#: parse.y:4665
+#: parse.y:4909
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "neočekivan simbol „%s“ u uvjetnoj naredbi"
 
-#: parse.y:4669
+#: parse.y:4913
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "neočekivan simbol %d u uvjetnoj naredbi"
 
-#: parse.y:6118
+#: parse.y:6336
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "sintaktička greška blizu neočekivanog simbola „%s“"
 
-#: parse.y:6137
+#: parse.y:6355
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "sintaktička greška blizu „%s“"
 
-#: parse.y:6151
+#: parse.y:6365
 msgid "syntax error: unexpected end of file"
 msgstr "sintaktička greška: neočekivani kraj datoteke"
 
-#: parse.y:6151
+#: parse.y:6365
 msgid "syntax error"
 msgstr "sintaktička greška"
 
-#: parse.y:6216
+#: parse.y:6428
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Koristite \"%s\" za izlaz iz ljuske.\n"
 
-#: parse.y:6394
+#: parse.y:6602
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "neočekivani kraj datoteke pri traženju odgovarajuće „)“"
 
@@ -1661,98 +1626,96 @@ msgstr "xtrace_set(): pointer datoteke je NULL"
 #: print_cmd.c:384
 #, c-format
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
-"deskriptor datoteke xtrace (%d) !=  broju datoteke u pointeru datoteke "
-"xtrace (%d)"
+msgstr "deskriptor datoteke xtrace (%d) !=  broju datoteke u pointeru datoteke xtrace (%d)"
 
-#: print_cmd.c:1545
+#: print_cmd.c:1540
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf(): „%c“: nevaljan znak za format"
 
-#: redir.c:150 redir.c:198
+#: redir.c:149 redir.c:197
 msgid "file descriptor out of range"
 msgstr "deskriptor datoteke je izvan raspona"
 
-#: redir.c:205
+#: redir.c:204
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: preusmjeravanje nije jednoznačno"
 
-#: redir.c:209
+#: redir.c:208
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: nije moguće pisati preko postojeće datoteke"
 
-#: redir.c:214
+#: redir.c:213
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: ograničeno: nije moguće preusmjeriti izlaz"
 
-#: redir.c:219
+#: redir.c:218
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "nije moguće stvoriti privremenu datoteku za here-document: %s"
 
-#: redir.c:223
+#: redir.c:222
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: nije moguće dodijeliti deskriptor datoteke varijabli"
 
-#: redir.c:650
+#: redir.c:649
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port nije podržan bez umrežavanja"
 
-#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
+#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
 msgid "redirection error: cannot duplicate fd"
 msgstr "greška  preusmjeravanja: nije moguće duplicirati deskriptor datoteke"
 
-#: shell.c:353
+#: shell.c:347
 msgid "could not find /tmp, please create!"
 msgstr "nije moguće pronaći /tmp; stvorite taj direktorij!"
 
-#: shell.c:357
+#: shell.c:351
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp mora biti valjano ime direktorija"
 
-#: shell.c:826
+#: shell.c:804
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "u interaktivnoj ljusci pretty-printing se zanemaruje"
 
-#: shell.c:972
+#: shell.c:948
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: nevaljana opcija"
 
-#: shell.c:1343
+#: shell.c:1319
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "nije moguće postaviti UID na %d: efektivni UID je %d"
 
-#: shell.c:1354
+#: shell.c:1330
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "nije moguće postaviti GID na %d: efektivni GID je %d"
 
-#: shell.c:1544
+#: shell.c:1518
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "nije moguće pokrenuti debugger; dijagnostika je onemogućena"
 
-#: shell.c:1658
+#: shell.c:1632
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: to je direktorij"
 
-#: shell.c:1907
+#: shell.c:1881
 msgid "I have no name!"
 msgstr "Nemam ime!"
 
-#: shell.c:2061
+#: shell.c:2035
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, inačica %s-(%s)\n"
 
-#: shell.c:2062
+#: shell.c:2036
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1761,326 +1724,319 @@ msgstr ""
 "Uporaba: %s [GNU dugačka opcija] [opcija]...\n"
 "         %s [GNU dugačka opcija] [opcija] skripta...\n"
 
-#: shell.c:2064
+#: shell.c:2038
 msgid "GNU long options:\n"
 msgstr "GNU dugačke opcije:\n"
 
-#: shell.c:2068
+#: shell.c:2042
 msgid "Shell options:\n"
 msgstr "Kratke opcije:\n"
 
-#: shell.c:2069
+#: shell.c:2043
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD ili -c NAREDBA ili -O SHOPT-OPCIJA    (samo za pozivanje)\n"
 
-#: shell.c:2088
+#: shell.c:2062
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s ili -o opcija  (može se promijeniti sa „set”)\n"
 
-#: shell.c:2094
+#: shell.c:2068
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"Utipkajte „%s -c \"help set\"“ za dodatne obavijesti o opcijama ljuske.\n"
+msgstr "Utipkajte „%s -c \"help set\"“ za dodatne obavijesti o opcijama ljuske.\n"
 
-#: shell.c:2095
+#: shell.c:2069
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"Utipkajte „%s -c help set“ za dodatne obavijesti o ugrađenim naredbama "
-"ljuske.\n"
+msgstr "Utipkajte „%s -c help set“ za dodatne obavijesti o ugrađenim naredbama ljuske.\n"
 
-#: shell.c:2096
+#: shell.c:2070
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Koristite naredbu „bashbug“ za prijavljivanje grešaka.\n"
 
-#: shell.c:2098
+#: shell.c:2072
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "Početna mrežna bash stranica: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2099
+#: shell.c:2073
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr ""
 "Općenita pomoć za korištenje GNU softvera: <http://www.gnu.org/gethelp/>\n"
 "Prijavite primjedbe i greške u prijevodu na lokalizacija@linux.hr/\n"
 
-#: sig.c:765
+#: sig.c:757
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask(): %d: nevaljana operacija"
 
-#: siglist.c:48
+#: siglist.c:47
 msgid "Bogus signal"
 msgstr "Nepostojeći signal"
 
-#: siglist.c:51
+#: siglist.c:50
 msgid "Hangup"
 msgstr "Poklopi"
 
-#: siglist.c:55
+#: siglist.c:54
 msgid "Interrupt"
 msgstr "Prekini"
 
-#: siglist.c:59
+#: siglist.c:58
 msgid "Quit"
 msgstr "Završi"
 
-#: siglist.c:63
+#: siglist.c:62
 msgid "Illegal instruction"
 msgstr "Nedopuštena instrukcija"
 
-#: siglist.c:67
+#: siglist.c:66
 msgid "BPT trace/trap"
 msgstr "BPT trag/zamka instrukcija (Trace/Breakpoint trap)"
 
-#: siglist.c:75
+#: siglist.c:74
 msgid "ABORT instruction"
 msgstr "ABORT instrukcija"
 
-#: siglist.c:79
+#: siglist.c:78
 msgid "EMT instruction"
 msgstr "EMT instrukcija"
 
-#: siglist.c:83
+#: siglist.c:82
 msgid "Floating point exception"
 msgstr "Iznimka (broja) s pomičnim zarezom"
 
-#: siglist.c:87
+#: siglist.c:86
 msgid "Killed"
 msgstr "Ubijen"
 
-#: siglist.c:91
+#: siglist.c:90
 msgid "Bus error"
 msgstr "Greška sabirnice"
 
-#: siglist.c:95
+#: siglist.c:94
 msgid "Segmentation fault"
 msgstr "Segmentacijska greška"
 
-#: siglist.c:99
+#: siglist.c:98
 msgid "Bad system call"
 msgstr "Loš sustavski poziv"
 
-#: siglist.c:103
+#: siglist.c:102
 msgid "Broken pipe"
-msgstr "Slomljena cijev"
+msgstr "Potrgana cijev"
 
-#: siglist.c:107
+#: siglist.c:106
 msgid "Alarm clock"
 msgstr "Budilica"
 
-#: siglist.c:111
+#: siglist.c:110
 msgid "Terminated"
 msgstr "Završeno"
 
-#: siglist.c:115
+#: siglist.c:114
 msgid "Urgent IO condition"
 msgstr "Žurno U/I stanje"
 
-#: siglist.c:119
+#: siglist.c:118
 msgid "Stopped (signal)"
 msgstr "Zaustavljeno (signalom)"
 
-#: siglist.c:127
+#: siglist.c:126
 msgid "Continue"
 msgstr "Nastavljanje"
 
-#: siglist.c:135
+#: siglist.c:134
 msgid "Child death or stop"
 msgstr "Potomak mrtav ili zaustavljen"
 
-#: siglist.c:139
+#: siglist.c:138
 msgid "Stopped (tty input)"
 msgstr "Zaustavljen (ulaz u terminal)"
 
-#: siglist.c:143
+#: siglist.c:142
 msgid "Stopped (tty output)"
 msgstr "Zaustavljen (izlaz iz terminala)"
 
-#: siglist.c:147
+#: siglist.c:146
 msgid "I/O ready"
 msgstr "U/I je spreman"
 
-#: siglist.c:151
+#: siglist.c:150
 msgid "CPU limit"
 msgstr "Ograničenje (vremena) procesora"
 
-#: siglist.c:155
+#: siglist.c:154
 msgid "File limit"
 msgstr "Ograničenje (veličine) datoteke"
 
-#: siglist.c:159
+#: siglist.c:158
 msgid "Alarm (virtual)"
 msgstr "Alarm (virtualni)"
 
-#: siglist.c:163
+#: siglist.c:162
 msgid "Alarm (profile)"
 msgstr "Alarm (profil)"
 
-#: siglist.c:167
+#: siglist.c:166
 msgid "Window changed"
 msgstr "Prozor je promijenjen"
 
-#: siglist.c:171
+#: siglist.c:170
 msgid "Record lock"
 msgstr "Zapis je zaključan"
 
-#: siglist.c:175
+#: siglist.c:174
 msgid "User signal 1"
 msgstr "Korisnički signal 1"
 
-#: siglist.c:179
+#: siglist.c:178
 msgid "User signal 2"
 msgstr "Korisnički signal 2"
 
-#: siglist.c:183
+#: siglist.c:182
 msgid "HFT input data pending"
 msgstr "HFT ulazni podaci čekaju"
 
-#: siglist.c:187
+#: siglist.c:186
 msgid "power failure imminent"
 msgstr "neizbježan prekid napajanja"
 
-#: siglist.c:191
+#: siglist.c:190
 msgid "system crash imminent"
 msgstr "neizbježni pad sustava"
 
-#: siglist.c:195
+#: siglist.c:194
 msgid "migrate process to another CPU"
 msgstr "preseli proces na drugi procesor"
 
-#: siglist.c:199
+#: siglist.c:198
 msgid "programming error"
 msgstr "programska greška"
 
-#: siglist.c:203
+#: siglist.c:202
 msgid "HFT monitor mode granted"
 msgstr "HFT nadzor je dopušten"
 
-#: siglist.c:207
+#: siglist.c:206
 msgid "HFT monitor mode retracted"
 msgstr "HFT nadzor je oduzet"
 
-#: siglist.c:211
+#: siglist.c:210
 msgid "HFT sound sequence has completed"
 msgstr "HFT sekvencija zvukova je završena"
 
-#: siglist.c:215
+#: siglist.c:214
 msgid "Information request"
 msgstr "Zahtjev za obavijestima"
 
-#: siglist.c:223 siglist.c:225
+#: siglist.c:222 siglist.c:224
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Nepoznati signal #%d"
 
-#: subst.c:1480 subst.c:1670
+#: subst.c:1476 subst.c:1666
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "loša supstitucija: nema zaključnog „%s“ u %s"
 
-#: subst.c:3307
+#: subst.c:3281
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: nije moguće dodijeliti popis elementu polja"
 
-#: subst.c:6048 subst.c:6064
+#: subst.c:5910 subst.c:5926
 msgid "cannot make pipe for process substitution"
 msgstr "nije moguće napraviti cijev za zamjenu procesa"
 
-#: subst.c:6124
+#: subst.c:5985
 msgid "cannot make child for process substitution"
 msgstr "nije moguće napraviti potomka za zamjenu procesa"
 
-#: subst.c:6198
+#: subst.c:6059
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "nije moguće otvoriti imenovanu cijev %s za čitanje"
 
-#: subst.c:6200
+#: subst.c:6061
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "nije moguće otvoriti imenovanu cijev %s za pisanje"
 
-#: subst.c:6223
+#: subst.c:6084
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "nije moguće duplicirati imenovanu cijev %s kao deskriptor datoteke %d"
 
-#: subst.c:6370
+#: subst.c:6213
 msgid "command substitution: ignored null byte in input"
 msgstr "nevaljana supstitucija: ignorira se prazni (nula) bajt na ulazu"
 
-#: subst.c:6533
+#: subst.c:6353
 msgid "cannot make pipe for command substitution"
 msgstr "nije moguće napraviti cijev za zamjenu naredbi"
 
-#: subst.c:6580
+#: subst.c:6397
 msgid "cannot make child for command substitution"
 msgstr "nije moguće napraviti potomka za zamjenu naredbi"
 
-#: subst.c:6613
+#: subst.c:6423
 msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr ""
-"command_substitute(): nije moguće duplicirati cijev kao deskriptor datoteke 1"
+msgstr "command_substitute(): nije moguće duplicirati cijev kao deskriptor datoteke 1"
 
-#: subst.c:7082 subst.c:10252
+#: subst.c:6883 subst.c:9952
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: nevaljano ime varijable za ime referencije"
 
-#: subst.c:7178 subst.c:7196 subst.c:7369
+#: subst.c:6979 subst.c:6997 subst.c:7169
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: nevaljana neizravna ekspanzija"
 
-#: subst.c:7212 subst.c:7377
+#: subst.c:7013 subst.c:7177
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "„%s“: nevaljano ime varijable"
 
-#: subst.c:7478
+#: subst.c:7256
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parametar nije postavljen"
 
-#: subst.c:7480
+#: subst.c:7258
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parametar je prazan ili nedefiniran"
 
-#: subst.c:7727 subst.c:7742
+#: subst.c:7503 subst.c:7518
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: rezultat od dijela stringa (substring) < 0"
 
-#: subst.c:9560 subst.c:9587
+#: subst.c:9281 subst.c:9302
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: loša supstitucija"
 
-#: subst.c:9678
+#: subst.c:9390
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: nije moguće dodijeliti na ovaj način"
 
-#: subst.c:10111
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"buduće inačice ljuske prisilit će vrednovanje kao aritmetičku supstituciju"
+#: subst.c:9814
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "buduće inačice ljuske prisilit će vrednovanje kao aritmetičku supstituciju"
 
-#: subst.c:10795
+#: subst.c:10367
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "loša supstitucija: nema zaključnog znaka \"`\" u %s"
 
-#: subst.c:11874
+#: subst.c:11434
 #, c-format
 msgid "no match: %s"
 msgstr "nema podudaranja: %s"
@@ -2103,21 +2059,21 @@ msgstr "očekivana je „)“"
 msgid "`)' expected, found %s"
 msgstr "očekivana je „)“, a nađen je %s"
 
-#: test.c:469 test.c:814
+#: test.c:466 test.c:799
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: očekivan je binarni operator"
 
-#: test.c:771 test.c:774
+#: test.c:756 test.c:759
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: očekivan je unarni operator"
 
-#: test.c:896
+#: test.c:881
 msgid "missing `]'"
 msgstr "nedostaje „]“"
 
-#: test.c:914
+#: test.c:899
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "sintaktička greška: neočekivan „%s“"
@@ -2126,113 +2082,102 @@ msgstr "sintaktička greška: neočekivan „%s“"
 msgid "invalid signal number"
 msgstr "nevaljani broj za signal"
 
-#: trap.c:323
+#: trap.c:325
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "trap handler: prekoračena je dopuštena razina gniježđenja (%d)"
 
-#: trap.c:412
+#: trap.c:414
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps(): loša vrijednost u trap_list[%d]: %p"
 
-#: trap.c:416
+#: trap.c:418
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: signalom rukuje SIG_DFL, opet šalje %d (%s) samom sebi"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: signalom rukuje SIG_DFL, opet šalje %d (%s) samom sebi"
 
-#: trap.c:509
+#: trap.c:487
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler(): loš signal %d"
 
-#: variables.c:424
+#: variables.c:421
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "greška pri uvozu definicije funkcije za „%s“"
 
-#: variables.c:838
+#: variables.c:833
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "razina ljuske (%d) je previsoka, vraćamo ju na 1"
 
-#: variables.c:2642
+#: variables.c:2674
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable(): u trenutnom opsegu nema konteksta funkcije"
 
-#: variables.c:2661
+#: variables.c:2693
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: varijabli se ne može dodijeliti vrijednost"
 
-#: variables.c:2818 variables.c:2874
-#, c-format
-msgid "%s: cannot inherit value from incompatible type"
-msgstr ""
-
-#: variables.c:3459
+#: variables.c:3475
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: nazivu referencije se dodjeljuje cijeli broj"
 
-#: variables.c:4390
+#: variables.c:4404
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables(): u trenutnom opsegu nema konteksta funkcije"
 
-#: variables.c:4757
+#: variables.c:4771
 #, c-format
 msgid "%s has null exportstr"
 msgstr "*** %s ima prazni string za izvoz"
 
-#: variables.c:4762 variables.c:4771
+#: variables.c:4776 variables.c:4785
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "*** nevaljani znak %d u izvoznom stringu za %s"
 
-#: variables.c:4777
+#: variables.c:4791
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "*** nema „=“ u izvoznom stringu za %s"
 
-#: variables.c:5317
+#: variables.c:5331
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context(): glava „shell_variables“ nije funkcijski kontekst"
 
-#: variables.c:5330
+#: variables.c:5344
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context(): nije „global_variables“ kontekst"
 
-#: variables.c:5410
+#: variables.c:5424
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-"pop_scope(): vrh od „shell_variables“ nije privremeni raspon valjanosti"
+msgstr "pop_scope(): vrh od „shell_variables“ nije privremeni raspon valjanosti"
 
-#: variables.c:6400
+#: variables.c:6387
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: nije moguće otvoriti kao DATOTEKU"
 
-#: variables.c:6405
+#: variables.c:6392
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: nevaljana vrijednost za „trace” deskriptora datoteke"
 
-#: variables.c:6450
+#: variables.c:6437
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s vrijednost za kompatibilnost je izvan raspona"
 
 #: version.c:46 version2.c:46
-#, fuzzy
-msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgid "Copyright (C) 2020 Free Software Foundation, Inc."
 msgstr "Copyright (C) 2020 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"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
 msgstr ""
 "Licencija:\n"
 "GPLv3+: GNU GPL inačica 3 ili novija <http://gnu.org/licenses/gpl.html>\n"
@@ -2263,8 +2208,7 @@ msgstr "%s: nije moguće rezervirati %lu bajtova"
 #: xmalloc.c:165
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-"%s: %s:%d: nije moguće rezervirati %lu bajtova (rezervirano je %lu bajtova)"
+msgstr "%s: %s:%d: nije moguće rezervirati %lu bajtova (rezervirano je %lu bajtova)"
 
 #: xmalloc.c:167
 #, c-format
@@ -2280,9 +2224,7 @@ msgid "unalias [-a] name [name ...]"
 msgstr "unalias [-a] IME [IME...]"
 
 #: 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 MAPA_TIPAKA] [-f DATOTEKA] [-q FUNKCIJA]\n"
 "           [-u FUNKCIJA] [-r PREČAC] [-x PREČAC:SHELL-NAREDBA]\n"
@@ -2317,17 +2259,11 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] NAREDBA [ARGUMENT...]"
 
 #: builtins.c:78
-#, fuzzy
-msgid ""
-"declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] "
-"[name ...]"
+msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
 msgstr "declare [-aAfFgiIlnrtux] [-p] [IME[=VRIJEDNOST]...]"
 
 #: builtins.c:80
-#, fuzzy
-msgid ""
-"typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] "
-"[name ...]"
+msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
 msgstr "typeset [-aAfFgiIlnrtux] [-p] IME[=VRIJEDNOST]..."
 
 #: builtins.c:82
@@ -2389,9 +2325,7 @@ msgid "help [-dms] [pattern ...]"
 msgstr "help [-dms] [UZORAK...]"
 
 #: 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 POZICIJA] [N]\n"
 "    ili: history -anrw [DATOTEKA]\n"
@@ -2408,9 +2342,7 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
 msgstr "disown [-h] [-ar] [SPECIFIKACIJA_POSLA... | PID...]"
 
 #: 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 SIGNAL_IME | -n SIGNAL_BROJ | -SIGNAL] PID | SPECIFIKACIJA_POSLA\n"
 " ili: kill -l [SIGNAL]"
@@ -2420,9 +2352,7 @@ msgid "let arg [arg ...]"
 msgstr "let ARGUMENT..."
 
 #: 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 POLJE] [-d MEĐA] [-i TEKST] [-p PROMPT]\n"
 "           [-n BROJ_ZNAKOVA] [-N BROJ_ZNAKOVA] [-t SEKUNDA]\n"
@@ -2433,8 +2363,7 @@ msgid "return [n]"
 msgstr "return [N]"
 
 #: builtins.c:142
-#, fuzzy
-msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
 msgstr "set [-abefhkmnptuvxBCHP] [-o IME_OPCIJE] [--] [ARGUMENT...]"
 
 #: builtins.c:144
@@ -2486,8 +2415,7 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] IME..."
 
 #: builtins.c:171
-#, fuzzy
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
 msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [LIMIT]"
 
 #: builtins.c:174
@@ -2523,21 +2451,15 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case RIJEČ in [UZORAK [| UZORAK]...) NAREDBE;;]... esac"
 
 #: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if NAREDBE; then NAREDBE; [ elif NAREDBE; then NAREDBE; ]... [ else "
-"NAREDBE; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if NAREDBE; then NAREDBE; [ elif NAREDBE; then NAREDBE; ]... [ else NAREDBE; ] fi"
 
 #: builtins.c:196
-#, fuzzy
-msgid "while COMMANDS; do COMMANDS-2; done"
+msgid "while COMMANDS; do COMMANDS; done"
 msgstr "while NAREDBE; do NAREDBE; done"
 
 #: builtins.c:198
-#, fuzzy
-msgid "until COMMANDS; do COMMANDS-2; done"
+msgid "until COMMANDS; do COMMANDS; done"
 msgstr "until NAREDBE; do NAREDBE; done"
 
 #: builtins.c:200
@@ -2591,19 +2513,14 @@ msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v VARIJABLA] FORMAT [ARGUMENTI]"
 
 #: builtins.c:231
-msgid ""
-"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
-"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
+msgid "complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
 msgstr ""
 "complete [-abcdefgjksuv] [-pr] [-DEI] [-o OPCIJA] [-A AKCIJA] [-C NAREDBA]\n"
 "                   [-F FUNCIJA] [-G GLOB_UZORAK] [-P PREFIKS] [-S SUFIKS]\n"
 "                   [-W POPIS_RIJEČI] [-X FILTAR_UZORAKA]  [IME...]"
 
 #: 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 OPCIJA] [-A AKCIJA] [-C NAREDBA] [-F FUNCIJA]\n"
 "                 [-G GLOB_UZORAK] [-P PREFIKS] [-S SUFIKS]\n"
@@ -2614,17 +2531,13 @@ msgid "compopt [-o|+o option] [-DEI] [name ...]"
 msgstr "compopt [-o|+o OPCIJA] [-DEI] [IME...]"
 
 #: 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 MEĐA] [-n KOLIČINA [-O POČETAK] [-s BROJ] [-t] [-u FD]\n"
 "                 [-C FUNKCIJA] [-c TOLIKO] [POLJE]"
 
 #: builtins.c:244
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
 msgstr ""
 "readarray [-d MEĐA] [-n KOLIČINA] [-O POČETAK] [-s BROJ] [-t] [-u FD]\n"
 "                     [-C FUNKCIJA] [-c TOLIKO] [POLJE]"
@@ -2644,16 +2557,14 @@ 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 ""
 "Definira ili prikaže aliase.\n"
 "\n"
 "    Bez argumenata (ili s opcijom -p), „alias“ ispiše popis aliasa na\n"
 "    standardni izlaz u upotrebljivom formatu: alias IME='ZAMJENA'.\n"
-"    S argumentima, alias je definiran za svako IME za koje je navedena "
-"ZAMJENA.\n"
+"    S argumentima, alias je definiran za svako IME za koje je navedena ZAMJENA.\n"
 "    Zaostali razmak (bjelina) u ZAMJENI čini da „alias“ prilikom ekspanzije\n"
 "    provjerava je li i sljedeća riječ zamjenska.\n"
 "\n"
@@ -2689,30 +2600,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"
@@ -2721,20 +2627,15 @@ msgstr ""
 "Prikaže i postavlja „Readline“ prečace (key binding) i varijable.\n"
 "\n"
 "    Veže sekvenciju tipki (key sequence, prečac) na „Readline“\n"
-"    funkciju ili na makro ili na „Readline“ varijablu. Sintaksa za "
-"argumente\n"
-"    koji nisu opcija je ista kao za ~/.inputrc, ali moraju biti "
-"proslijeđeni\n"
+"    funkciju ili na makro ili na „Readline“ varijablu. Sintaksa za argumente\n"
+"    koji nisu opcija je ista kao za ~/.inputrc, ali moraju biti proslijeđeni\n"
 "    kao jedan argument; primjer: bind '\"\\C-x\\C-r\": re-read-init-file'\n"
 "\n"
 "    Opcije:\n"
-"      -f DATOTEKA        pročita prečace (bindings, key sequences) iz "
-"DATOTEKE\n"
+"      -f DATOTEKA        pročita prečace (bindings, key sequences) iz DATOTEKE\n"
 "      -l                 izlista imena svih poznatih funkcija\n"
-"      -m MAPA_TIPAKA     koristi MAPU_TIPAKA (keymap) dok traje ova "
-"naredba;\n"
-"                         moguće MAPE_TIPAKA su jedna od emacs, emacs-"
-"standard,\n"
+"      -m MAPA_TIPAKA     koristi MAPU_TIPAKA (keymap) dok traje ova naredba;\n"
+"                         moguće MAPE_TIPAKA su jedna od emacs, emacs-standard,\n"
 "                         emacs-meta, emacs-ctlx, vi, vi-move, vi-command,\n"
 "                         i vi-insert.\n"
 "      -P                 izlista imena funkcija i prečaca\n"
@@ -2742,8 +2643,7 @@ msgstr ""
 "                           koji se može iskoristiti kao ulaz\n"
 "      -r PREČAC          razveže PREČAC (ukloni sekvenciju tipki za prečac)\n"
 "      -q FUNKCIJA        ispita i ispiše tipke koje pozivaju tu FUNKCIJU\n"
-"      -S                 izlista prečace (sekvencije tipki) koje pozivaju "
-"makroe\n"
+"      -S                 izlista prečace (sekvencije tipki) koje pozivaju makroe\n"
 "                           s njihovim vrijednostima\n"
 "      -s                 ispiše sekvencije tipki poje pozivaju makroe s\n"
 "                           njihovim vrijednostima u obliku koji se može\n"
@@ -2798,8 +2698,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"
@@ -2809,8 +2708,7 @@ msgstr ""
 "\n"
 "    Izvrši danu UGRAĐENU_SHELL_FUNKCIJU s navedenim ARGUMENTIMA.\n"
 "    To je korisno ako želite redefinirati implementaciju ugrađene shell\n"
-"    funkcije kao vlastitu shell funkciju (skriptu s istim imenom kao "
-"ugrađena\n"
+"    funkcije kao vlastitu shell funkciju (skriptu s istim imenom kao ugrađena\n"
 "    shell funkcija), a potrebna vam je funkcionalnost te ugrađene shell\n"
 "    funkcije unutar vaše vlastite skripte.\n"
 "\n"
@@ -2835,8 +2733,7 @@ msgstr ""
 "Vrati kontekst trenutnog poziva funkciji.\n"
 "\n"
 "    Bez IZRAZA, vrati „$line $filename“. Ako je dan IZRAZ, onda vrati\n"
-"    „$line $subroutine $filename“; ova dodatna informacija može poslužiti "
-"za\n"
+"    „$line $subroutine $filename“; ova dodatna informacija može poslužiti za\n"
 "    stvaranje „stack trace“.\n"
 "\n"
 "    Vrijednost IZRAZA naznačuje koliko ciklusa se treba vratiti\n"
@@ -2849,22 +2746,16 @@ msgstr ""
 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"
@@ -2880,19 +2771,16 @@ 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 ""
 "Promjeni trenutni direktorij.\n"
 "\n"
-"    Promijeni trenutni direktorij u navedeni DIREKTORIJ. Ako DIREKTORIJ "
-"nije\n"
+"    Promijeni trenutni direktorij u navedeni DIREKTORIJ. Ako DIREKTORIJ nije\n"
 "    naveden, za DIREKTORIJ se koristi vrijednost varijable HOME.\n"
 "\n"
 "    Varijabla CDPATH definira staze (direktorije) po kojima se\n"
@@ -2907,11 +2795,9 @@ msgstr ""
 "    naziv, „cd“ prijeđe u direktorij s tim nazivom.\n"
 "\n"
 "    Opcije:\n"
-"      -L    slijedi simboličke veze; simboličke veze u DIREKTORIJU "
-"razriješi\n"
+"      -L    slijedi simboličke veze; simboličke veze u DIREKTORIJU razriješi\n"
 "              nakon obrade zapisa „..“\n"
-"      -P    rabi fizičku strukturu direktorija umjesto da slijedi "
-"simboličke\n"
+"      -P    rabi fizičku strukturu direktorija umjesto da slijedi simboličke\n"
 "              veze; simboličke veze u DIREKTORIJU razriješi prije obrade\n"
 "              zapisa „..“\n"
 "      -e    ako je dana s opcijom „-P“, i trenutni radni direktorij nije\n"
@@ -2922,8 +2808,7 @@ msgstr ""
 "\n"
 "    Zadano, simboličke poveznice se slijede kao da je navedena opcija -L.\n"
 "    „..“ (ako se pojavi u DIREKTORIJU) obradi se uklanjanjem komponente\n"
-"    staze koja mu neposredno prethodi unatrag do kose crte „/“ ili do "
-"početka\n"
+"    staze koja mu neposredno prethodi unatrag do kose crte „/“ ili do početka\n"
 "    DIREKTORIJA.\n"
 "\n"
 "    Završi s uspjehom ako je direktorij promijenjen i ako je\n"
@@ -2987,8 +2872,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"
@@ -3048,8 +2932,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"
@@ -3066,8 +2949,7 @@ msgstr ""
 "      -F   prikaže samo imena funkcija bez definicija\n"
 "      -g   stvori globalne varijable samo za upotrebu u funkciji ljuske;\n"
 "             inače se ignoriraju\n"
-"      -I   ako stvori lokalnu varijablu, neka naslijedi atribute i "
-"vrijednost\n"
+"      -I   ako stvori lokalnu varijablu, neka naslijedi atribute i vrijednost\n"
 "             varijable s istim imenom u prethodnom opsegu\n"
 "      -p   prikaže atribute i vrijednost za svako dano IME\n"
 "\n"
@@ -3102,8 +2984,7 @@ msgid ""
 msgstr ""
 "Postavi vrijednosti i svojstva varijabli.\n"
 "\n"
-"    Sinonim za „declare“.  Za detalje utipkajte (bez navodnika) „help "
-"declare“."
+"    Sinonim za „declare“.  Za detalje utipkajte (bez navodnika) „help declare“."
 
 #: builtins.c:540
 msgid ""
@@ -3121,23 +3002,20 @@ msgid ""
 msgstr ""
 "Definira lokalne varijable.\n"
 "\n"
-"    Stvori lokalnu varijablu IME i dodijeli joj vrijednost. OPCIJA može "
-"biti\n"
+"    Stvori lokalnu varijablu IME i dodijeli joj vrijednost. OPCIJA može biti\n"
 "    bilo koja od opcija koju prihvaća naredba „declare“.\n"
 "\n"
 "    Lokalne varijable mogu se koristiti samo unutar funkcije i vidljive su\n"
 "    samo toj funkciji i njezinim potomcima.\n"
 "\n"
-"    Završi s uspjehom osim ako su navedene nevaljane opcije, ili se "
-"dogodila\n"
+"    Završi s uspjehom osim ako su navedene nevaljane opcije, ili se dogodila\n"
 "    greška pri dodijeli ili ljuska ne izvrši funkciju."
 
 #: builtins.c:557
 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"
@@ -3161,11 +3039,9 @@ msgid ""
 "    \t\t0 to 3 octal digits\n"
 "      \\xHH\tthe eight-bit character whose value is HH (hexadecimal).  HH\n"
 "    \t\tcan be one or two hex digits\n"
-"      \\uHHHH\tthe Unicode character whose value is the hexadecimal value "
-"HHHH.\n"
+"      \\uHHHH\tthe Unicode character whose value is the hexadecimal value HHHH.\n"
 "    \t\tHHHH can be one to four hex digits.\n"
-"      \\UHHHHHHHH the Unicode character whose value is the hexadecimal "
-"value\n"
+"      \\UHHHHHHHH the Unicode character whose value is the hexadecimal value\n"
 "    \t\tHHHHHHHH. HHHHHHHH can be one to eight hex digits.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3189,7 +3065,7 @@ msgstr ""
 "      \\E   znak za escape (ESC)\n"
 "      \\f   nova stranica (znak za FF, form feed)\n"
 "      \\n   novi redak (znak za LF, line feed)\n"
-"      \\r   na početak novoga retka (Enter, znak za CR, carriage return)\n"
+"      \\r   na početak novog retka (Enter, znak za CR, carriage return)\n"
 "      \\t   horizontalni tabulator\n"
 "      \\v   vertikalni tabulator\n"
 "      \\\\     backslash (\\)\n"
@@ -3216,8 +3092,7 @@ msgid ""
 msgstr ""
 "Ispiše argumente na standardni izlaz.\n"
 "\n"
-"    Prikaže ARGUMENTE na standardnom izlazu (pripoji im znak za novi "
-"redak).\n"
+"    Prikaže ARGUMENTE na standardnom izlazu (pripoji im znak za novi redak).\n"
 "    Opcijom „-n“ može se isključiti pripajanje znaka za novi redak.\n"
 "\n"
 "    Završi s uspjehom osim ako se ne dogodi greška pri pisanju."
@@ -3264,7 +3139,7 @@ msgstr ""
 "      -f   učita ugrađenu naredbu IME iz dijeljenog objekta DATOTEKA\n"
 "      -d   ukloni ugrađenu naredbu učitanu s „-f“\n"
 "\n"
-"    Bez opcija, omogućena su sva navedena IMENA. Bez imena prikazane su\n"
+"    Bez opcija, omogućena su sva navedena IMENA. Bez imena pokazane su\n"
 "    omogućene naredbe (ili s „-n“ onemogućene).\n"
 "\n"
 "    Primjer: da koristite binarnu datoteku „test“ koja se nalazi na stazi\n"
@@ -3278,8 +3153,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"
@@ -3341,26 +3215,20 @@ msgstr ""
 "    slova slijedi dvotočka, očekuje se da opcija ima argument koji treba\n"
 "    biti bjelinom odvojen od opcije.\n"
 "\n"
-"    Svaki put kad se pozove, getopts će smjestiti sljedeću opciju u "
-"ljuskinu\n"
+"    Svaki put kad se pozove, getopts će smjestiti sljedeću opciju u ljuskinu\n"
 "    varijablu IME (ako IME ne postoji, getopts ga inicijalizira), a indeks\n"
 "    sljedećeg argumenta koji treba procesirati u ljuskinu varijablu OPTIND.\n"
 "    OPTIND je inicijaliziran na 1 pri svakom pozivanju ljuske ili ljuskine\n"
 "    skripte. Ako opcija zahtijeva argument, getopts smjesti taj argument u\n"
 "    ljuskinu varijablu OPTARG.\n"
 "\n"
-"    getopts javlja greške na jedan od dva načina. Ako je dvotočka prvi "
-"znaku\n"
+"    getopts javlja greške na jedan od dva načina. Ako je dvotočka prvi znaku\n"
 "    u STRINGU_OPCIJA, getopts tiho prijavi grešku, tj. ne ispisuje poruke o\n"
-"    greškama. Ako naiđe na nevaljanu opciju, getopts smjesti nađeni znak "
-"opcije\n"
-"    u OPTARG. Ako zahtijevani argument nije pronađen, getopts smjesti „:“ u "
-"IME\n"
-"    i postavi OPTARG na pronađeni znak opcije. Ako getopts ne radi tiho i "
-"naiđe\n"
+"    greškama. Ako naiđe na nevaljanu opciju, getopts smjesti nađeni znak opcije\n"
+"    u OPTARG. Ako zahtijevani argument nije pronađen, getopts smjesti „:“ u IME\n"
+"    i postavi OPTARG na pronađeni znak opcije. Ako getopts ne radi tiho i naiđe\n"
 "    na nevaljanu opciju, getopts smjesti „?“ u IME i poništi OPTARG.\n"
-"    Ako zahtijevani argument nije pronađen, getopts smjesti „?“ u IME, "
-"poništi\n"
+"    Ako zahtijevani argument nije pronađen, getopts smjesti „?“ u IME, poništi\n"
 "    OPTARG i ispiše poruku o greškama.\n"
 "\n"
 "    Ako ljuskina varijabla OPTERR ima vrijednost 0, getopts onemogući ispis\n"
@@ -3378,8 +3246,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"
@@ -3387,13 +3254,11 @@ 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 ""
 "Zamjeni ljusku s danom naredbom.\n"
 "\n"
@@ -3427,8 +3292,7 @@ msgstr ""
 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 ""
 "Izlaz iz prijavne ljuske.\n"
@@ -3439,15 +3303,13 @@ msgstr ""
 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"
@@ -3461,12 +3323,11 @@ 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 ""
 "Prikaže ili izvrši naredbe iz popisa povijesti.\n"
 "\n"
-"    Koristi se za prikazivanje dosadašnjih, za uređivanje ili za ponovno\n"
+"    Koristi se za pokazivanje dosadašnjih, za uređivanje ili za ponovno\n"
 "    pokretanje naredbi. PRVA i ZADNJA mogu biti brojevi koji specificiraju\n"
 "    raspon ili PRVA može biti string s koji specificira najnoviju naredbu\n"
 "    koja započinje s tim slovima.\n"
@@ -3481,8 +3342,7 @@ msgstr ""
 "    U obliku „fc -s [UZORAK=ZAMJENA...] [NAREDBA]”,\n"
 "    „fc” nakon provedenih naznačenih supstitucija ponovno izvrši NAREDBU.\n"
 "\n"
-"    Prikladni alias s ovom funkcijom je r='fc -s'. Tako, utipkani „r“ "
-"izvrši\n"
+"    Prikladni alias s ovom funkcijom je r='fc -s'. Tako, utipkani „r“ izvrši\n"
 "    ponovno posljednju naredbu, a utipkani „r cc“ izvrši posljednju naredbu\n"
 "    koja započinje s „cc“.\n"
 "    \n"
@@ -3501,23 +3361,19 @@ msgid ""
 msgstr ""
 "Premjesti posao u prednji plan.\n"
 "\n"
-"    Premjesti specificirani posao u prednji plan i učini ga trenutnim "
-"poslom.\n"
+"    Premjesti specificirani posao u prednji plan i učini ga trenutnim poslom.\n"
 "    Bez navedene specifikacije posla, premjesti u prednji plan posao koji\n"
 "    ljuska smatra trenutnim.\n"
 "\n"
-"    Završi s kȏdom trenutne naredbe u prednjem planu ili s neuspjehom ako "
-"se\n"
+"    Završi s kȏdom trenutne naredbe u prednjem planu ili s neuspjehom ako se\n"
 "    dogodi greška."
 
 #: builtins.c:779
 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"
@@ -3537,8 +3393,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"
@@ -3571,8 +3426,7 @@ msgstr ""
 "    Svako navedeno IME traži se u $PATH i doda se popisu zapamćenih\n"
 "    naredbi.\n"
 "\n"
-"    Završi s uspjehom osim ako nije pronađeno IME ili je dana nevaljana "
-"opcija."
+"    Završi s uspjehom osim ako nije pronađeno IME ili je dana nevaljana opcija."
 
 #: builtins.c:818
 msgid ""
@@ -3592,8 +3446,7 @@ msgid ""
 "      PATTERN\tPattern specifying 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 ""
 "Prikaže podatke o ugrađenim (builtins) naredbama.\n"
 "\n"
@@ -3604,8 +3457,7 @@ msgstr ""
 "    Opcije:\n"
 "      -d   ukratko opisano djelovanje naredbe\n"
 "      -m   prikaže uporabu u pseudo manpage formatu\n"
-"      -s   prikaže samo sažetak uporabe za svaku naredbu koja podudara "
-"UZORAK\n"
+"      -s   prikaže samo sažetak uporabe za svaku naredbu koja podudara UZORAK\n"
 "\n"
 "    Završi s uspjehom osim ako UZORAK nije pronađen, ili je dana nevaljana\n"
 "    opcija."
@@ -3638,8 +3490,7 @@ 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."
@@ -3666,8 +3517,7 @@ msgstr ""
 "             bez spremanja u povijesni popis\n"
 "      -s   doda ARGUMENTE kao jednu stavku popisu povijesti\n"
 "\n"
-"    Ako je dana, DATOTEKA se koristi se kao povijesna datoteka; ako nije "
-"dana,\n"
+"    Ako je dana, DATOTEKA se koristi se kao povijesna datoteka; ako nije dana,\n"
 "    koristi se varijabla HISTFILE (ako ima vrijednost). Inače se koristi\n"
 "    ~/.bash_history.\n"
 "\n"
@@ -3714,12 +3564,10 @@ msgstr ""
 "      -s   ograniči izlaz samo na zaustavljene poslove\n"
 "\n"
 "    Ako je navedena opcija '-x', dana NAREDBA će se izvršiti tek nakon\n"
-"    zatvaranja svih navedenih poslova u ARGUMENTIMA (tj. njihov ID procesa "
-"je\n"
-"    zamijenjen s ID-om njima nadređenoga procesa).\n"
+"    zatvaranja svih navedenih poslova u ARGUMENTIMA (tj. njihov ID procesa je\n"
+"    zamijenjen s ID-om njima nadređenog procesa).\n"
 "\n"
-"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila "
-"greška.\n"
+"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila greška.\n"
 "    Ako je dana opcija -x, završi sa izlaznim kȏdom NAREDBE."
 
 #: builtins.c:906
@@ -3778,15 +3626,13 @@ msgstr ""
 "Pošalje signal poslu.\n"
 "\n"
 "    Procesima označenim s PID-om ili sa SPECIFIKACIJOM_POSLA pošalje signal\n"
-"    naveden brojem ili imenom. Ako nije naveden ni broj ni ime, „kill” "
-"pošalje\n"
+"    naveden brojem ili imenom. Ako nije naveden ni broj ni ime, „kill” pošalje\n"
 "    SIGTERM.\n"
 "\n"
 "    Opcije:\n"
 "      -s IME          IME je ime signala koji se šalje\n"
 "      -n BROJ         BROJ je broj signala koji se šalje\n"
-"      -l              izlista imena dostupnih signala; ako su dani "
-"argumenti\n"
+"      -l              izlista imena dostupnih signala; ako su dani argumenti\n"
 "                        iza „-l“, to su brojevi signala čija odgovarajuća\n"
 "                        imena treba ispisati\n"
 "      -L              == -l\n"
@@ -3796,8 +3642,7 @@ msgstr ""
 "    ste dostigli vaše ograničenje za broj procesa koje možete stvoriti;\n"
 "    tj. ne morate pokrenuti novi proces da ubijete prekobrojne procese.\n"
 "\n"
-"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila "
-"greška."
+"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila greška."
 
 #: builtins.c:949
 msgid ""
@@ -3806,8 +3651,7 @@ msgid ""
 "    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"
@@ -3849,8 +3693,7 @@ msgstr ""
 "    obavlja za cijele brojeve fiksne širine bez provjere prelijevanja.\n"
 "    Ipak, dijeljenje s nulom se detektira i prijavi kao greška.\n"
 "\n"
-"    Popis koji slijedi opisuje operatore s jednakom prednošću u istom "
-"retku,\n"
+"    Popis koji slijedi opisuje operatore s jednakom prednošću u istom retku,\n"
 "    a redci su poredani po opadajućoj prednosti.\n"
 "\n"
 "        var++, var--    post-inkrement, post-dekrement varijable\n"
@@ -3875,8 +3718,7 @@ msgstr ""
 "\n"
 "    Varijable ljuske su dopuštene kao parametri. Ime varijable se zamijeni\n"
 "    s njezinom vrijednošću (ako treba, pretvori se u cijeli broj).\n"
-"    Varijable, za upotrebu u izrazima, ne moraju imati atribut cijelog "
-"broja.\n"
+"    Varijable, za upotrebu u izrazima, ne moraju imati atribut cijelog broja.\n"
 "\n"
 "    Operatori se vrednuju prema pravilima prednosti. Najprije se\n"
 "    vrednuju pod-izrazi u zagradama i tako mogu prevagnuti nad gore\n"
@@ -3886,23 +3728,17 @@ msgstr ""
 "    inače završi s uspjehom."
 
 #: builtins.c:994
-#, fuzzy
 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"
-"    delimiters. By default, the backslash character escapes delimiter "
-"characters\n"
-"    and newline.\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"
@@ -3914,8 +3750,7 @@ msgid ""
 "      -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"
@@ -3933,18 +3768,15 @@ 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 ""
-"Pročita redak iz standardnoga ulaza i razdijeli ga na polja.\n"
+"Pročita redak iz standardnog ulaza i razdijeli ga na polja.\n"
 "\n"
-"    Pročita jedan redak iz standardnoga ulaza (ili navedenog deskriptora\n"
+"    Pročita jedan redak iz standardnog ulaza (ili navedenog deskriptora\n"
 "    datoteke FD ako je dana opcija „-u“) i dodijeli prvu riječ prvom IMENU,\n"
-"    drugu riječ drugom IMENU, i tako dalje; preostale riječi dodijeli "
-"zadnjem\n"
+"    drugu riječ drugom IMENU, i tako dalje; preostale riječi dodijeli zadnjem\n"
 "    IMENU. Samo se znakovi sadržani u  varijabli $IFS prepoznaju kao MEĐA\n"
 "    (separator riječi). Ako nije navedeno nijedno IME, pročitani redak se\n"
 "    spremi u varijablu REPLY.\n"
@@ -3952,35 +3784,30 @@ msgstr ""
 "    Opcije:\n"
 "      -a POLJE   pročitane riječi dodijeli sekvencijalnim indeksima POLJA\n"
 "                   počevši od nule\n"
-"      -d MEĐA    nastavi čitati sve dok ne pročita prvu MEĐU (umjesto LF "
-"znaka)\n"
+"      -d MEĐA    nastavi čitati sve dok ne pročita prvu MEĐU (umjesto LF znaka)\n"
 "      -e           rabi „Readline“ za dobaviti redak\n"
 "      -i TEKST   rabi TEKST kao početni tekst za „Readline“\n"
 "      -n BROJ    zaustavi čitanje nakon pročitanih ne više od BROJ znakova\n"
 "                   ili nakon LF znaka (umjesto da uvijek čeka na LF znak)\n"
 "      -N BROJ    zaustavi čitanje samo nakon pročitanih ne više od BROJ\n"
 "                   znakova ili nakon EOF znaka ili nakon isteka „t SEKUNDA\n"
-"      -p PROMPT  ispiše taj string kao prompt (bez LF) prije početka "
-"čitanja\n"
+"      -p PROMPT  ispiše taj string kao prompt (bez LF) prije početka čitanja\n"
 "      -r         backslash je doslovno kosa crta (nema posebno značenje)\n"
 "      -s         ne odjekuje (echo) ulaz koji dolazi iz terminala\n"
-"      -t BROJ    nakon isteka BROJA sekundi  prestane čekati na ulaz i "
-"završi\n"
+"      -t BROJ    nakon isteka BROJA sekundi  prestane čekati na ulaz i završi\n"
 "                   s kȏdom većim od 128; zadano, broj sekundi čekanja je\n"
-"                   vrijednost varijable TMOUT; BROJ može biti i realni "
-"broj;\n"
+"                   vrijednost varijable TMOUT; BROJ može biti i realni broj;\n"
 "                   Ako je BROJ = 0, „read“ završi odmah bez da išta čita, a\n"
 "                   samo ako je ulaz dostupni na specificiranom deskriptoru\n"
 "                   datoteke Završi s uspjehom\n"
 "\n"
-"      -u FD      čita iz deskriptora datoteke FD umjesto iz standardnoga "
-"ulaza\n"
+"      -u FD      čita iz deskriptora datoteke FD umjesto iz standardnog ulaza\n"
 "\n"
 "      Završi s uspjehom osim ako ne naiđe na konac datoteke (EOF) ili je\n"
 "      isteklo vrijeme čekanja ili se dogodila greška pri dodjeli ili je\n"
 "      naveden nevaljani deskriptor datoteke kao argument opciji „-u“."
 
-#: builtins.c:1042
+#: builtins.c:1041
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3999,7 +3826,7 @@ msgstr ""
 "\n"
 "    Vrati vrijednost N ili 1 ako ljuska ne izvrši funkciju ili skriptu."
 
-#: builtins.c:1055
+#: builtins.c:1054
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4042,8 +3869,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"
@@ -4067,8 +3893,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"
@@ -4087,54 +3912,44 @@ msgstr ""
 "Postavlja ili uklanja vrijednosti opcija ljuske i pozicijskih parametara.\n"
 "\n"
 "    Mijenja svojstva ljuske i vrijednosti pozicijskih parametara.\n"
-"    Bez opcija ili argumenata „set” ispiše imena i vrijednosti svih "
-"definiranih\n"
+"    Bez opcija ili argumenata „set” ispiše imena i vrijednosti svih definiranih\n"
 "    varijabli i funkcija u obliku koji se može iskoristiti kao ulaz.\n"
-"    Dostupne su sljedeće opcije („+“ umjesto „-“ onemogući navedenu "
-"opciju):\n"
+"    Dostupne su sljedeće opcije („+“ umjesto „-“ onemogući navedenu opciju):\n"
 "\n"
 "      -a  automatski izveze nove ili modificirane varijable i funkcije\n"
 "      -B  izvrši zamjenu vitičastih zagrada (brace expansion), zadano;\n"
 "      -b  odmah prijavi prekid posla (ne čeka da završi trenutna naredba)\n"
 "      -C  onemogući da preusmjereni izvoz piše preko regularnih datoteka\n"
-"      -E  omogući da bilo koji ERR „trap“ naslijede funkcije ljuske i "
-"potomci\n"
+"      -E  omogući da bilo koji ERR „trap“ naslijede funkcije ljuske i potomci\n"
 "      -e  završi odmah ako naredba završi s kȏdom različitim od nula\n"
-"      -f  onemogući zamjenske znakove za imena datoteka (isključi "
-"„globbing“)\n"
-"      -H  omogući upotrebu znaka „!“ za pozivanje naredbi iz povijesti "
-"(zadano)\n"
+"      -f  onemogući zamjenske znakove za imena datoteka (isključi „globbing“)\n"
+"      -H  omogući upotrebu znaka „!“ za pozivanje naredbi iz povijesti (zadano)\n"
 "      -h  pamti (apsolutne) lokacije izvršenih naredbi (zadano)\n"
 "      -k  sve argumente dodijeljene varijablama smjesti u okolinu\n"
 "            (a ne samo one argumente koji prethode imenu naredbe)\n"
 "      -m  upravljanje poslovima je omogućeno (zadano)\n"
 "      -n  pročita, ali ne izvrši naredbe\n"
-"      -o  IME_OPCIJE  omogući tu opciju (v. niže dugačke nazive za "
-"IME_OPCIJE)\n"
+"      -o  IME_OPCIJE  omogući tu opciju (v. niže dugačke nazive za IME_OPCIJE)\n"
 "      -P  ne razriješi simboličke veze pri izvršavanju naredbi poput „cd“\n"
 "            koje promjene trenutni direktorij\n"
 "      -p  uključi privilegirani način: datoteke BASH_ENV i ENV se zanemare,\n"
 "            funkcije ljuske se ne uvoze iz okoline, a zanemari se i\n"
-"            sve SHELLOPTS; taj način se automatski aktivira kad god se "
-"stvarni\n"
+"            sve SHELLOPTS; taj način se automatski aktivira kad god se stvarni\n"
 "            i efektivni UID i GID ne podudaraju. Isključivanje ove opcije\n"
 "            učini da je efektivni UID i GID isti kao i stvarni UID i GID.\n"
 "      -T  DEBUG i RETURN „trap“ naslijede funkcije ljuske i potomci\n"
 "      -t  završi nakon čitanja i izvršenja jedne naredbe\n"
-"      -u  tretira korištenje nepostojećih varijabli kao grešku pri "
-"supstituciji\n"
+"      -u  tretira korištenje nepostojećih varijabli kao grešku pri supstituciji\n"
 "      -v  ispisuje ulaz (odjekuje ih) istovremeno dok čitam\n"
 "      -x  ispisuje naredbe s argumentima istovremeno dok izvršava\n"
-"      --  dodijeli sve preostale argumente pozicijskim parametrima; ako "
-"nema\n"
+"      --  dodijeli sve preostale argumente pozicijskim parametrima; ako nema\n"
 "          preostalih argumenata, postojeći pozicijski argumenti se brišu\n"
 "      -   isključi opcije -v i -x; argumenti koji slijede su pozicijski\n"
 "            parametri (ali ako ih nema, postojeći pozicijski argumenti\n"
 "            se ne brišu)\n"
 "\n"
 "    Opcije se također mogu koristiti pri pokretanju ljuske. Trenutno stanje\n"
-"    svojstva može se naći u $-. Podrazumijeva se da su svi dodatni "
-"argumenti\n"
+"    svojstva može se naći u $-. Podrazumijeva se da su svi dodatni argumenti\n"
 "    pozicijski i dodijeljeni su u $1, $2, .. $N.\n"
 "\n"
 "    Dugački nazivi za IME_OPCIJE koji se koriste s opcijom -o (ili +o)\n"
@@ -4159,8 +3974,7 @@ msgstr ""
 "      nounset      == -u\n"
 "      onecmd       == -t\n"
 "      physical     == -P\n"
-"      pipefail     cjevovod vrati vrijednost izlaznog koda zadnje "
-"neuspješne\n"
+"      pipefail     cjevovod vrati vrijednost izlaznog koda zadnje neuspješne\n"
 "                     naredbe ili 0 ako su svi poslovi uspješno završeni\n"
 "      posix        striktno poštuje POSIX standard\n"
 "      privileged   == -p\n"
@@ -4170,7 +3984,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija."
 
-#: builtins.c:1140
+#: builtins.c:1139
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4182,8 +3996,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"
@@ -4208,13 +4021,12 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili IME je\n"
 "    „samo-za-čitanje“. (bez navodnika)"
 
-#: builtins.c:1162
+#: builtins.c:1161
 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"
@@ -4242,7 +4054,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili nije navedeno\n"
 "    valjano IME."
 
-#: builtins.c:1181
+#: builtins.c:1180
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4266,12 +4078,11 @@ msgstr ""
 "\n"
 "    Označi svako IME kao nepromjenjivo (readonly), tako da se vrijednosti\n"
 "    ovih IMENA ne mogu promijeniti kasnijim operacijama. Ako je dana\n"
-"    VRIJEDNOST, prvo mu dodijeli VRIJEDNOST, a zatim ga označi "
-"nepromjenjivim.\n"
+"    VRIJEDNOST, prvo mu dodijeli VRIJEDNOST, a zatim ga označi nepromjenjivim.\n"
 "\n"
 "    Opcije:\n"
-"      -a  svako IME se odnosi na varijable indeksiranoga polja\n"
-"      -A  svako IME se odnosi na varijable asocijativnoga polja\n"
+"      -a  svako IME se odnosi na varijable indeksiranog polja\n"
+"      -A  svako IME se odnosi na varijable asocijativnog polja\n"
 "      -f  svako IME se odnosi na funkcije ljuske\n"
 "      -p  prikaže popis svih nepromjenjivih varijabli ili funkcija\n"
 "            ovisno o opciji „-f“ (je li ili nije dana).\n"
@@ -4280,7 +4091,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili je IME nevaljano."
 
-#: builtins.c:1203
+#: builtins.c:1202
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4297,7 +4108,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je N negativni ili veći od $#."
 
-#: builtins.c:1215 builtins.c:1230
+#: builtins.c:1214 builtins.c:1229
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4320,7 +4131,7 @@ msgstr ""
 "    Završi s kȏdom zadnje izvršene naredbe iz DATOTEKE ili s kȏdom 1 ako se\n"
 "    DATOTEKA ne može pročitati."
 
-#: builtins.c:1246
+#: builtins.c:1245
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4344,7 +4155,7 @@ msgstr ""
 "    Završi s uspjehom osim ako upravljanje poslovima nije omogućeno\n"
 "    ili se dogodila greška."
 
-#: builtins.c:1262
+#: builtins.c:1261
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4378,8 +4189,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"
@@ -4400,8 +4210,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"
@@ -4443,22 +4252,18 @@ msgstr ""
 "        -d DATOTEKA       istina ako je datoteka direktorij\n"
 "        -e DATOTEKA       istina ako datoteka postoji\n"
 "        -f DATOTEKA       istina ako je datoteka regularna datoteka\n"
-"        -G DATOTEKA       istina ako je datoteka efektivno vlasništvo vaše "
-"skupine\n"
+"        -G DATOTEKA       istina ako je datoteka efektivno vlasništvo vaše skupine\n"
 "        -g DATOTEKA       istina ako je datoteka SETGUID\n"
 "        -h DATOTEKA       istina ako je datoteka simbolička veza\n"
-"        -k DATOTEKA       istina ako datoteka ima postavljeni \"sticky\" "
-"bit\n"
+"        -k DATOTEKA       istina ako datoteka ima postavljeni \"sticky\" bit\n"
 "        -L DATOTEKA       istina ako je datoteka simbolička veza\n"
-"        -N DATOTEKA       istina ako se datoteka promijenila od zadnjeg "
-"čitanja\n"
+"        -N DATOTEKA       istina ako se datoteka promijenila od zadnjeg čitanja\n"
 "        -O DATOTEKA       istina ako je datoteka efektivno vaše vlasništvo\n"
 "        -p DATOTEKA       istina ako je datoteka imenovana cijev\n"
 "        -r DATOTEKA       istina ako vi možete čitati datoteku\n"
 "        -S DATOTEKA       istina ako je datoteka utičnica\n"
 "        -s DATOTEKA       istina ako datoteka nije prazna\n"
-"        -t DESKRIPTOR     istina ako je deskriptor datoteke otvoren u "
-"terminalu\n"
+"        -t DESKRIPTOR     istina ako je deskriptor datoteke otvoren u terminalu\n"
 "        -u DATOTEKA       istina ako je datoteka SETUID\n"
 "        -w DATOTEKA       istina ako vi možete pisati datoteku\n"
 "        -x DATOTEKA       istina ako vi možete izvršiti datoteku\n"
@@ -4476,28 +4281,26 @@ msgstr ""
 "      STRING1 = STRING2   istina ako su stringovi jednaki\n"
 "      STRING1 != STRING2  istina ako stringovi nisu jednaki\n"
 "      STRING1 < STRING2   istina ako se leksikografski prvi string\n"
-"                            razvrsta ispred drugoga\n"
+"                            razvrsta ispred drugog\n"
 "      STRING1 > STRING2   istina ako se leksikografski prvi string\n"
-"                            razvrsta iza drugoga\n"
+"                            razvrsta iza drugog\n"
 "\n"
 "    Ostali operatori:\n"
 "        -o OPCIJA         istina ako je ova OPCIJA ljuske omogućena\n"
 "        -v VARIJABLA      istina ako ova VARIJABLA ima vrijednost\n"
-"        -R VARIJABLA      istina ako je ova VARIJABLA referencija "
-"(nameref) \n"
+"        -R VARIJABLA      istina ako je ova VARIJABLA referencija (nameref) \n"
 "        ! IZRAZ           istina ako IZRAZ neistinit\n"
 "      IZRAZ1 -a IZRAZ2    istina ako su oba izraza istinita\n"
 "      IZRAZ1 -o IZRAZ2    laž ako su oba izraza neistinita\n"
 "      ARG1 OP ARG2        istina ako je aritmetika valjana; operator OP je\n"
 "                            jedan od: -eq, -ne, -lt, -le, -gt ili -ge;\n"
-"                            koji znače: jednako, nejednako, manje od, "
-"manje,\n"
+"                            koji znače: jednako, nejednako, manje od, manje,\n"
 "                            ili jednako, veće od, veće ili jednako.\n"
 "\n"
 "    Završi s uspjehom ako je IZRAZ istinit, 1 ako je IZRAZ neistinit,\n"
 "    ili 2 ako je dan nevaljan argument."
 
-#: builtins.c:1344
+#: builtins.c:1343
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4509,12 +4312,11 @@ msgstr ""
 "    To je sinonim za ugrađenu funkciju „test“, ali zadnji argument\n"
 "    mora biti zagrada „]“ kao par zagradi „[“ na početku."
 
-#: builtins.c:1353
+#: builtins.c:1352
 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"
@@ -4527,12 +4329,11 @@ msgstr ""
 "\n"
 "    Završi uvijek s kȏdom 0."
 
-#: builtins.c:1365
+#: builtins.c:1364
 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"
@@ -4541,34 +4342,26 @@ 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 ""
 "Prikupljanje (hvatanje) signala i drugih događaja.\n"
 "\n"
@@ -4578,8 +4371,7 @@ msgstr ""
 "    ARGUMENT je naredba koja se pročita i izvrši kad ljuska primi jedan od\n"
 "    specificiranih signala (SIGNAL_SPEC). Ako nema ARGUMENTA (i dan je samo\n"
 "    jedan signal) ili ARGUMENT je „-“, specificirani signal zadobije svoju\n"
-"    originalnu vrijednost (koju je imao na startu ove ljuske). Ako je "
-"ARGUMENT\n"
+"    originalnu vrijednost (koju je imao na startu ove ljuske). Ako je ARGUMENT\n"
 "    prazni string, ljuska i njezini potomci ignoriraju svaki SIGNAL_SPEC.\n"
 "\n"
 "    Ako je SIGNAL_SPEC 0 ili EXIT, ARGUMENT se izvrši kad zatvorite\n"
@@ -4603,7 +4395,7 @@ msgstr ""
 "    Završi s uspjehom osim ako SIGNAL_SPEC nije valjan ili je dana\n"
 "    nevaljana opcija."
 
-#: builtins.c:1401
+#: builtins.c:1400
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4629,13 +4421,11 @@ 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 ""
 "Prikaže informacije o vrsti naredbe.\n"
 "\n"
-"    Pokaže, kako bi se interpretiralo svako dano IME kad bi se IME "
-"koristilo\n"
+"    Pokaže, kako bi se interpretiralo svako dano IME kad bi se IME koristilo\n"
 "    kao naredba.\n"
 "\n"
 "    Opcije:\n"
@@ -4655,12 +4445,11 @@ msgstr ""
 "\n"
 "    Završi s uspjehom ako se pronađu sva IMENA, inače s 1."
 
-#: builtins.c:1432
+#: builtins.c:1431
 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"
@@ -4750,7 +4539,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija\n"
 "    ili se dogodila greška."
 
-#: builtins.c:1483
+#: builtins.c:1482
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4782,27 +4571,23 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako MODE nije valjan ili je dana nevaljana opcija."
 
-#: builtins.c:1503
+#: builtins.c:1502
 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"
 "    in that job's pipeline.\n"
 "    \n"
-"    If the -n option is supplied, waits for a single job from the list of "
-"IDs,\n"
-"    or, if no IDs are supplied, for the next job to complete and returns "
-"its\n"
+"    If the -n option is supplied, waits for a single job from the list of IDs,\n"
+"    or, if no IDs are supplied, for the next job to complete and returns its\n"
 "    exit status.\n"
 "    \n"
 "    If the -p option is supplied, the process or job identifier of the job\n"
 "    for which the exit status is returned is assigned to the variable VAR\n"
-"    named by the option argument. The variable will be unset initially, "
-"before\n"
+"    named by the option argument. The variable will be unset initially, before\n"
 "    any assignment. This is useful only when the -n option is supplied.\n"
 "    \n"
 "    If the -f option is supplied, and job control is enabled, waits for the\n"
@@ -4818,8 +4603,7 @@ msgstr ""
 "    Čeka na svaki posao identificirani s ID — to jest indikatorom posla ili\n"
 "    indikatorom procesa — i izvijesti njegov završni status. Ako nije dan\n"
 "    ID, čeka na sve trenutno aktivne potomke, a završni status je nula.\n"
-"    Ako je ID specifikacija posla, čeka na sve procese u cjevovodu tog "
-"posla.\n"
+"    Ako je ID specifikacija posla, čeka na sve procese u cjevovodu tog posla.\n"
 "\n"
 "    Ako je dana opcija „-n“, čeka na svršetak jednog posla iz popisa ID-ova\n"
 "    ili ako nije dan nijedan ID, čeka da završi sljedeći posao i vrati\n"
@@ -4831,18 +4615,16 @@ msgstr ""
 "    Završi s kȏdom zadnjeg ID-a; s kȏdom 1 ako je ID nevaljan ili je dana\n"
 "    nevaljana opcija ili ako je -n dan, a ljuska nema neočekivane potomke."
 
-#: builtins.c:1534
+#: builtins.c:1533
 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 ""
 "Čeka da proces završi i vrati njegov izlazni kȏd.\n"
@@ -4854,7 +4636,7 @@ msgstr ""
 "    Završi s kȏdom zadnjeg PID-a, s kȏdom 1 ako je PID nevaljan,\n"
 "    ili s 2 ako je dana nevaljana opcija."
 
-#: builtins.c:1549
+#: builtins.c:1548
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4866,17 +4648,16 @@ msgid ""
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
 msgstr ""
-"Izvrši naredbe za svakoga člana u popisu.\n"
+"Izvrši naredbe za svakog člana u popisu.\n"
 "\n"
-"    Petlja „for“ izvrši sekvenciju naredbi za svakoga člana u popisu "
-"stavki.\n"
+"    Petlja „for“ izvrši sekvenciju naredbi za svakog člana u popisu stavki.\n"
 "    Ako nema operanda „in RIJEČIMA...; podrazumijeva se operand\n"
 "    „in \"$@\"“. Svakom elementu u RIJEČIMA, IME se postavi na taj element\n"
 "    i NAREDBE se izvrše.\n"
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1563
+#: builtins.c:1562
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4903,7 +4684,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1581
+#: builtins.c:1580
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4927,20 +4708,18 @@ msgstr ""
 "    Proširenjem RIJEČI, „select“ generira i prikaže izbornik na standardnom\n"
 "    izlazu za greške s brojem ispred svake riječi. Ako operand „u RIJEČIMA“\n"
 "    nije naveden, podrazumijeva se operand „in \"$@\"“.\n"
-"    Nakon izbornika prikaže se PS3 prompt i redak se čita iz standardnoga\n"
-"    ulaza; ako se redak sastoji od broja koji odgovara jednoj od prikazanih\n"
+"    Nakon izbornika prikaže se PS3 prompt i redak se čita iz standardnog\n"
+"    ulaza; ako se redak sastoji od broja koji odgovara jednoj od pokazanih\n"
 "    riječi, onda varijabla IME dobije vrijednost te riječi; ako je redak\n"
 "    prazan, RIJEČI i prompt se ponovno prikažu; ako se pročita EOF (Ctrl-D)\n"
-"    „select“ naredba završi. Bilo koja druga pročitana vrijednost učini da "
-"se\n"
+"    „select“ naredba završi. Bilo koja druga pročitana vrijednost učini da se\n"
 "    IME isprazni (nulira). Pročitani redak se spremi u varijablu REPLY.\n"
-"    NAREDBE se izvršavaju nakon svakog izbora, tako dugo dok „break“ "
-"naredba\n"
+"    NAREDBE se izvršavaju nakon svakog izbora, tako dugo dok „break“ naredba\n"
 "    ne prekine posao.\n"
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1602
+#: builtins.c:1601
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4967,7 +4746,7 @@ msgstr ""
 "\n"
 "    Završi s izlaznim kȏdom CJEVOVODA."
 
-#: builtins.c:1619
+#: builtins.c:1618
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4984,21 +4763,16 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1631
+#: builtins.c:1630
 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"
@@ -5014,14 +4788,12 @@ msgstr ""
 "\n"
 "    „if“ završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1648
-#, fuzzy
+#: builtins.c:1647
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS "
-"has\n"
-"    an exit status of zero.\n"
+"    Expand and execute COMMANDS as long as the final command in the\n"
+"    `while' COMMANDS has an exit status of zero.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
@@ -5033,14 +4805,12 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1660
-#, fuzzy
+#: builtins.c:1659
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS "
-"has\n"
-"    an exit status which is not zero.\n"
+"    Expand and execute COMMANDS as long as the final command in the\n"
+"    `until' COMMANDS has an exit status which is not zero.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
@@ -5052,7 +4822,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1672
+#: builtins.c:1671
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -5073,13 +4843,12 @@ msgstr ""
 "\n"
 "    Naredba coproc završi s kȏdom 0."
 
-#: builtins.c:1686
+#: builtins.c:1685
 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"
@@ -5095,7 +4864,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je IME readonly (samo-za-čitanje)."
 
-#: builtins.c:1700
+#: builtins.c:1699
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -5112,7 +4881,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1712
+#: builtins.c:1711
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5134,7 +4903,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom nastavljenog posla."
 
-#: builtins.c:1727
+#: builtins.c:1726
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5152,16 +4921,13 @@ msgstr ""
 "    Završi s kȏdom 1 ako je rezultat IZRAZA jednak 0;\n"
 "    inače završi s uspjehom."
 
-#: builtins.c:1739
+#: builtins.c:1738
 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"
@@ -5193,8 +4959,7 @@ msgstr ""
 "\n"
 "    Ako se rabe operatori „==“ ili „!=“, onda se string desno od operatora\n"
 "    smatra za uzorak i provodi se podudaranje uzoraka.\n"
-"    Ako se rabi operator „=~“, onda se string na desno od operatora "
-"podudara\n"
+"    Ako se rabi operator „=~“, onda se string na desno od operatora podudara\n"
 "    kao regularni izraz.\n"
 "\n"
 "    Operatori „&&“ i „|| ne vrednuju IZRAZ2 ako je IZRAZ1 dovoljan za\n"
@@ -5202,7 +4967,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom ili 1 ovisno o IZRAZU."
 
-#: builtins.c:1765
+#: builtins.c:1764
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5270,9 +5035,8 @@ msgstr ""
 "    HISTFILESIZE  maksimalni broj redaka datoteke s povijesti naredba\n"
 "    HISTIGNORE    popis uzoraka koji opisuju naredbe koje ne treba zapisati\n"
 "                    u datoteku koja sadrži povijest vaših naredbi\n"
-"    HISTSIZE      maksimalni broj redaka koje trenutna ljuska može "
-"dosegnuti\n"
-"    HOME          puni naziv staze do vašega osobnoga direktorija\n"
+"    HISTSIZE      maksimalni broj redaka koje trenutna ljuska može dosegnuti\n"
+"    HOME          puni naziv staze do vašega vlastitog direktorija\n"
 "    HOSTNAME      ime računala na kojem se izvršava „bash“\n"
 "    HOSTTYPE      vrsta CPU-a na kojem se izvršava „bash“\n"
 "    IGNOREEOF     broj ignoriranih Ctrl-D (EOF) prije zatvaranja ljuske\n"
@@ -5281,32 +5045,29 @@ msgstr ""
 "    MAILPATH      popis datoteka koje „bash“ provjeri za novu poštu\n"
 "    OSTYPE        distribucija Unix-a no kojem se izvršava ovaj „bash“\n"
 "    PATH          popis direktorija u kojima se traže naredbe\n"
-"    PROMPT_COMMAND  naredba koja se izvrši prije ispisa primarnoga prompta\n"
+"    PROMPT_COMMAND  naredba koja se izvrši prije ispisa primarnog prompta\n"
 "    PS1           string koji opisuje primarni prompt\n"
 "    PS2           string koji opisuje sekundarni prompt (zadano, „>“)\n"
-"    PWD           puni naziv staze trenutnog radnoga direktorija\n"
+"    PWD           puni naziv staze trenutnog radnog direktorija\n"
 "    SHELLOPTS     popis svih omogućenih opcija ljuske\n"
 "    TERM          naziv vrste trenutnog terminala\n"
 "    TIMEFORMAT    pravilo za format ispisa „time“ statistika\n"
-"    auto_resume   ako nije prazan, učini da se naredbena riječ na "
-"naredbenom\n"
+"    auto_resume   ako nije prazan, učini da se naredbena riječ na naredbenom\n"
 "                    retku prvo potraži na popisu zaustavljenih poslova,\n"
 "                    i ako se tamo pronađe, taj se posao premjesti u\n"
-"                    interaktivni način; vrijednost „exact“ znači da "
-"naredbena\n"
+"                    interaktivni način; vrijednost „exact“ znači da naredbena\n"
 "                    riječ mora strikno podudariti naredbu iz popisa;\n"
 "                    vrijednost „substring“ znači da naredbena riječ mora\n"
 "                    podudariti podstring naredbe iz popisa; bilo koja druga\n"
 "                    vrijednost znači da naredbena riječ mora biti prefiks\n"
 "                    zaustavljene naredbe\n"
-"    histchars     znakovi koje upravljaju s proširenjem i brzom "
-"supstitucijom\n"
+"    histchars     znakovi koje upravljaju s proširenjem i brzom supstitucijom\n"
 "                    povijesti; prvi znak je znak za „supstituciju\n"
 "                    povijesti“, obično „!“; drugi znak je „znak brze\n"
 "                    supstitucije“, obično „^“; treći znak je „komentar\n"
 "                    povijesti“, obično „#“.\n"
 
-#: builtins.c:1822
+#: builtins.c:1821
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5349,21 +5110,17 @@ msgstr ""
 "    Argumenti:\n"
 "      DIREKTORIJ  Doda DIREKTORIJ na vrh stȏga direktorija i\n"
 "                    učini ga novim trenutnim radnim direktorijem.\n"
-"      +N   Zarotira stȏg tako, da N-ti direktorij u stȏgu (brojeći od nule "
-"s\n"
-"             lijeve strane popisa prikazanoga s „dirs“) postane novi vrh "
-"stȏga.\n"
-"      -N   Zarotira stȏg tako, da N-ti direktorij u stȏgu (brojeći od nule "
-"s\n"
-"             desne strane popisa prikazanoga s „dirs“) postane novi vrh "
-"stȏga.\n"
+"      +N   Zarotira stȏg tako, da N-ti direktorij u stȏgu (brojeći od nule s\n"
+"             lijeve strane popisa pokazanog s „dirs“) postane novi vrh stȏga.\n"
+"      -N   Zarotira stȏg tako, da N-ti direktorij u stȏgu (brojeći od nule s\n"
+"             desne strane popisa pokazanog s „dirs“) postane novi vrh stȏga.\n"
 "\n"
 "      Naredba „dirs“ prikaže trenutni sadržaj stȏga direktorija.\n"
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili promjena\n"
 "    direktorija nije uspjela"
 
-#: builtins.c:1856
+#: builtins.c:1855
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5391,10 +5148,8 @@ msgid ""
 msgstr ""
 "Ukloni direktorije iz stȏga.\n"
 "\n"
-"    Ukloni zapise iz stȏga direktorija. Bez argumenata, ukloni direktorij "
-"na\n"
-"    vrhu stȏga i učini da je trenutni radni direktorij jednak novom "
-"direktoriju\n"
+"    Ukloni zapise iz stȏga direktorija. Bez argumenata, ukloni direktorij na\n"
+"    vrhu stȏga i učini da je trenutni radni direktorij jednak novom direktoriju\n"
 "    na vrhu stȏga.\n"
 "\n"
 "    Opcije:\n"
@@ -5403,10 +5158,10 @@ msgstr ""
 "\n"
 "    Argumenti:\n"
 "      +N   Ukloni da N-ti direktorij iz stȏga brojeći od nule s lijeve\n"
-"             strane popisa prikazanoga s „dirs“. Na primjer: „popd +0“\n"
+"             strane popisa pokazanog s „dirs“. Na primjer: „popd +0“\n"
 "             ukloni prvi, a „popd +1“ ukloni drugi direktorij.\n"
 "      +N   Ukloni da N-ti direktorij iz stȏga brojeći od nule s desne\n"
-"             strane popisa prikazanoga s „dirs“. Na primjer.: „popd -0“\n"
+"             strane popisa pokazanog s „dirs“. Na primjer.: „popd -0“\n"
 "             ukloni zadnji, a „popd -1“ ukloni predzadnji direktorij.\n"
 "\n"
 "    Naredba „dirs“ prikaže trenutni sadržaj stȏga direktorija.\n"
@@ -5414,7 +5169,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili promjena\n"
 "    direktorija nije uspjela."
 
-#: builtins.c:1886
+#: builtins.c:1885
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5461,10 +5216,9 @@ msgstr ""
 "      -N   Pokaže N-ti direktorij iz stȏga, brojeći od nule s\n"
 "             desne strane popisa kad se „dirs“ pokrene bez opcija.\n"
 "\n"
-"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila "
-"greška."
+"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila greška."
 
-#: builtins.c:1917
+#: builtins.c:1916
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5497,13 +5251,11 @@ msgstr ""
 "      -s   omogući (uključi) sve navedene IME_OPCIJE\n"
 "      -u   onemogući (isključi) sve navedene IME_OPCIJE\n"
 "\n"
-"    Bez opcija (ili samo s opcijom „-q“) završi s uspjehom ako je "
-"IME_OPCIJE\n"
+"    Bez opcija (ili samo s opcijom „-q“) završi s uspjehom ako je IME_OPCIJE\n"
 "    omogućeno, a s 1 ako je onemogućeno. Završi također s 1 ako je dano\n"
 "    nevaljano IME_OPCIJE, a završi s 2 ako je dana nevaljana opcija."
 
-#: builtins.c:1938
-#, fuzzy
+#: builtins.c:1937
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5511,36 +5263,27 @@ 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"
-"      %Q\tlike %q, but apply any precision to the unquoted argument before\n"
-"    \t\tquoting\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 ""
 "Oblikuje i ispiše ARGUMENTE po uputama FORMATA.\n"
@@ -5556,33 +5299,27 @@ msgstr ""
 "    koji se pretvore i kopiraju na izlaz; specifikacije formata od kojih\n"
 "    svaka uzrokuje ispisivanje sljedećeg sukcesivnog argumenta.\n"
 "\n"
-"    Pored standardnih simbola „diouxXfeEgGcs” za format opisanih u "
-"printf(1),\n"
+"    Pored standardnih simbola „diouxXfeEgGcs” za format opisanih u printf(1),\n"
 "    „printf” dodatno interpretira:\n"
 "      %b       proširi backslash (\\) kontrolne znakove u odgovarajuće\n"
 "               argumente\n"
-"      %q       citira argument tako, da se može iskoristiti kao ulaz za "
-"ljusku\n"
-"      %(fmt)T  koristeći FMT, ispiše date-time string u obliku format "
-"stringa\n"
+"      %q       citira argument tako, da se može iskoristiti kao ulaz za ljusku\n"
+"      %(fmt)T  koristeći FMT, ispiše date-time string u obliku format stringa\n"
 "               za strftime(3)\n"
 "\n"
 "    Dani format se koristi sve dok se ne potroše svi argumenti. Ako ima\n"
 "    manje argumenata nego što format treba, suvišne format specifikacije\n"
 "    se ponašaju kao da im dana vrijednost nula ili prazni string.\n"
 "\n"
-"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila "
-"greška\n"
+"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila greška\n"
 "    u pisanju ili greška pri dodijeli."
 
-#: builtins.c:1974
+#: builtins.c:1971
 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"
@@ -5597,10 +5334,8 @@ msgid ""
 "    \t\tcommand) word\n"
 "    \n"
 "    When completion is attempted, the actions are applied in the order the\n"
-"    uppercase-letter options are listed above. If multiple options are "
-"supplied,\n"
-"    the -D option takes precedence over -E, and both take precedence over -"
-"I.\n"
+"    uppercase-letter options are listed above. If multiple options are supplied,\n"
+"    the -D option takes precedence over -E, and both take precedence over -I.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
@@ -5624,20 +5359,18 @@ msgstr ""
 "             (obično naredbu) riječ\n"
 "\n"
 "    Redoslijed akcija pri pokušaju kompletiranja slijedi gore dan poredak\n"
-"    opcija pisanih u verzalu. Ako je navedeno više opcija, opcija „-D“ ima "
-"veću\n"
+"    opcija pisanih u verzalu. Ako je navedeno više opcija, opcija „-D“ ima veću\n"
 "    prednost od opcije „-E“, a obje imaju veću prednost od opcije „-I“\n"
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija\n"
 "    ili se dogodila greška."
 
-#: builtins.c:2004
+#: builtins.c:2001
 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"
@@ -5649,19 +5382,15 @@ msgstr ""
 "    moguća kompletiranja. Ako je dana neobvezna opcija RIJEČ (word)\n"
 "    generira odgovarajuća kompletiranja podudarna s RIJEČI.\n"
 "\n"
-"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila "
-"greška."
+"    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila greška."
 
-#: builtins.c:2019
+#: builtins.c:2016
 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"
@@ -5704,30 +5433,24 @@ msgstr ""
 "    pozvati „compopt“; time se onda promjene opcije za taj generator koji\n"
 "    trenutno izvršava kompletiranja.\n"
 "\n"
-"    Završi s uspjehom osim ako nije dana nevaljana opcija ili nije "
-"definirana\n"
+"    Završi s uspjehom osim ako nije dana nevaljana opcija ili nije definirana\n"
 "    specifikacija za kompletiranje IMENA."
 
-#: builtins.c:2050
+#: builtins.c:2047
 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"
@@ -5740,34 +5463,28 @@ 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 ""
-"Pročitane retke iz standardnoga ulaza upiše u varijablu indeksirano polje.\n"
+"Pročitane retke iz standardnog ulaza upiše u varijablu indeksirano polje.\n"
 "\n"
 "    Pročitane retke iz standardnog ulaza (ili ako je navedena opcija -u, iz\n"
-"    deskriptora datoteke FD) upiše u indeksiranu varijablu POLJE. Ako "
-"argument\n"
+"    deskriptora datoteke FD) upiše u indeksiranu varijablu POLJE. Ako argument\n"
 "    POLJE nije dan, za POLJE se (zadano) koristi varijabla MAPFILE\n"
 "\n"
 "    Opcije:\n"
 "      -d MEĐA      prvi znak u MEĐI (umjesto LF) je znak za kraj retka\n"
 "      -n KOLIČINA  kopira ne više od KOLIČINE redaka (0 kopira sve retke)\n"
-"      -O POČETAK   upisivanje u POLJE započinje od indeksa POČETAK (zadano "
-"0)\n"
+"      -O POČETAK   upisivanje u POLJE započinje od indeksa POČETAK (zadano 0)\n"
 "      -s BROJ      preskoči (izostavi) prvih BROJ redaka\n"
-"      -t           ukloni zaostalu MEĐU (zadano LF) iz svakog učitanog "
-"retka\n"
+"      -t           ukloni zaostalu MEĐU (zadano LF) iz svakog učitanog retka\n"
 "      -u FD        čita retke iz deskriptora datoteke FD umjesto iz\n"
 "                   standardnog ulaza\n"
-"      -C FUNKCIJA  vrednuje FUNKCIJU svaki put nakon TOLIKO pročitanih "
-"redaka\n"
+"      -C FUNKCIJA  vrednuje FUNKCIJU svaki put nakon TOLIKO pročitanih redaka\n"
 "      -c TOLIKO    svaki put nakon TOLIKO pročitanih redaka pozove FUNKCIJU\n"
 "\n"
 "    Argument:\n"
@@ -5775,8 +5492,7 @@ msgstr ""
 "\n"
 "    Ako je opcija „-C“ navedena bez opcije „-c“, TOLIKO je 5000 (zadano).\n"
 "    Kad FUNKCIJA vrednuje — dobiva indeks sljedećeg elementa polja koji se\n"
-"    upisuje i redak koji će biti dodijeljen tom elementu kao dodatne "
-"argumente.\n"
+"    upisuje i redak koji će biti dodijeljen tom elementu kao dodatne argumente.\n"
 "\n"
 "    Ako nije dan eksplicitni POČETAK, „mapfile“ počisti POLJE\n"
 "    prije početka upisivanja.\n"
@@ -5784,7 +5500,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je POLJE readonly (samo-za-čitanje) ili nije\n"
 "    polje ili je dana nevaljana opcija."
 
-#: builtins.c:2086
+#: builtins.c:2083
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5794,9 +5510,6 @@ msgstr ""
 "\n"
 "    Sinonim za „mapfile“."
 
-#~ msgid "%s: invalid associative array key"
-#~ msgstr "%s: nevaljan ključ asocijativnog polja"
-
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
@@ -5815,12 +5528,8 @@ msgstr ""
 #~ msgid "Copyright (C) 2018 Free Software Foundation, Inc."
 #~ msgstr "Copyright (C) 2018 Free Software Foundation, Inc."
 
-#~ msgid ""
-#~ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
-#~ "html>\n"
-#~ msgstr ""
-#~ "Licenca GPLv2+: GNU GPL inačica 2 ili novija <http://gnu.org/licenses/gpl."
-#~ "html>\n"
+#~ msgid "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n"
+#~ msgstr "Licenca GPLv2+: GNU GPL inačica 2 ili novija <http://gnu.org/licenses/gpl.html>\n"
 
 #~ msgid ":"
 #~ msgstr ":"
index 1bdfeecf97c4cb2cc7ddb637d2e10f02abf675e3..35e1320acabf2dd4abce47baa6c40a64d70c459b 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index 852a4a4c1d358379e5dc530e7c5494c7a97dddef..d3b9634ccc37d7a4866e3c53bd5eb330f22ffc74 100644 (file)
@@ -26,7 +26,7 @@ msgstr ""
 "Project-Id-Version: bash 5.1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2022-03-15 23:15+0800\n"
+"PO-Revision-Date: 2022-03-22 16:23+0800\n"
 "Last-Translator: Wenbin Lv <wenbin816@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -784,7 +784,7 @@ msgid ""
 "    \n"
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
-"将目录添加到目录栈顶,或着旋转栈直到当前工作目录成为\n"
+"将目录添加到目录栈顶,或者轮转栈直到当前工作目录成为\n"
 "    新的栈顶。不带参数时,交换栈顶的两个目录。\n"
 "    \n"
 "    选项:\n"
@@ -792,10 +792,10 @@ msgstr ""
 "    \t进行操作。\n"
 "    \n"
 "    参数:\n"
-"      +N\t转栈,使得第 N 个目录(\"dirs\" 显示的列表中左起,\n"
+"      +N\t转栈,使得第 N 个目录(\"dirs\" 显示的列表中左起,\n"
 "    \t从零开始)移动到栈顶。\n"
 "    \n"
-"      -N\t转栈,使得第 N 个目录(\"dirs\" 显示的列表中右起,\n"
+"      -N\t转栈,使得第 N 个目录(\"dirs\" 显示的列表中右起,\n"
 "    \t从零开始)移动到栈顶。\n"
 "    \n"
 "      目录\t将 <目录> 添加到栈顶,使其成为当前工作目录。\n"
@@ -5061,7 +5061,7 @@ msgid ""
 msgstr ""
 "将目录添加到栈中。\n"
 "    \n"
-"    将目录添加到目录栈顶,或着旋转栈直到当前工作目录成为\n"
+"    将目录添加到目录栈顶,或者轮转栈直到当前工作目录成为\n"
 "    新的栈顶。不带参数时,交换栈顶的两个目录。\n"
 "    \n"
 "    选项:\n"
@@ -5069,10 +5069,10 @@ msgstr ""
 "    \t\t进行操作。\n"
 "    \n"
 "    参数:\n"
-"      +N\t转栈,使得第 N 个目录(\"dirs\" 显示的列表中左起,\n"
+"      +N\t转栈,使得第 N 个目录(\"dirs\" 显示的列表中左起,\n"
 "    \t\t从零开始)移动到栈顶。\n"
 "    \n"
-"      -N\t转栈,使得第 N 个目录(\"dirs\" 显示的列表中右起,\n"
+"      -N\t转栈,使得第 N 个目录(\"dirs\" 显示的列表中右起,\n"
 "    \t\t从零开始)移动到栈顶。\n"
 "    \n"
 "      目录\t将 <目录> 添加到栈顶,使其成为当前工作目录。\n"
diff --git a/subst.c b/subst.c
index 514a269a021c9adb1f0510325b9f4fefc2dcb4b6..36d004cd084b049d246b7f5291532e4345e80e28 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -7422,6 +7422,13 @@ parameter_brace_expand_word (name, var_is_special, quoted, pflags, estatep)
 
       ret = param_expand (tt, &sindex, quoted, (int *)NULL, (int *)NULL,
                          (int *)NULL, (int *)NULL, pflags);
+
+      /* Make sure we note that we saw a quoted null string and pass the flag back
+        to the caller in addition to the value. */
+      if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) && STR_DOLLAR_AT_STAR (name) &&
+         ret && ret->word && QUOTED_NULL (ret->word))
+       ret->flags |= W_HASQUOTEDNULL;
+
       free (tt);
     }
 #if defined (ARRAY_VARS)
@@ -7475,8 +7482,13 @@ expand_arrayref:
          if (estatep)
            *estatep = es;      /* structure copy */
        }
+      /* Note that array[*] and array[@] expanded to a quoted null string by
+        returning the W_HASQUOTEDNULL flag to the caller in addition to TEMP. */
       else if (es.subtype == 1 && temp && QUOTED_NULL (temp) && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
        rflags |= W_HASQUOTEDNULL;
+      else if (es.subtype == 2 && temp && QUOTED_NULL (temp) && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
+       rflags |= W_HASQUOTEDNULL;
+
       if (estatep == 0)
        flush_eltstate (&es);
     }
@@ -10123,6 +10135,14 @@ bad_substitution:
        }
       else     /* VAR not set or VAR is NULL. */
        {
+         /* If we're freeing a quoted null here, we need to remember we saw
+            it so we can restore it later if needed, or the caller can note it.
+            The check against `+' doesn't really matter, since the other cases
+            don't use or return TFLAG, but it's good for clarity. */
+         if (c == '+' && temp && QUOTED_NULL (temp) &&
+             (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
+           tflag |= W_HASQUOTEDNULL;
+
          FREE (temp);
          temp = (char *)NULL;
          if (c == '=' && var_is_special)
@@ -10947,7 +10967,9 @@ expand_word_internal (word, quoted, isexp, contains_dollar_at, expanded_somethin
 
   DECLARE_MBSTATE;
 
-  /* OK, let's see if we can optimize a common idiom: "$@" */
+  /* OK, let's see if we can optimize a common idiom: "$@". This needs to make sure
+     that all of the flags callers care about (e.g., W_HASQUOTEDNULL) are set in
+     list->flags. */
   if (STREQ (word->word, "\"$@\"") &&
       (word->flags == (W_HASDOLLAR|W_QUOTED)) &&
       dollar_vars[1])          /* XXX - check IFS here as well? */
@@ -11677,7 +11699,11 @@ finished_with_string:
 
   if (*istring == '\0')
     {
+#if 0
       if (quoted_dollar_at == 0 && (had_quoted_null || quoted_state == PARTIALLY_QUOTED))
+#else
+      if (had_quoted_null || (quoted_dollar_at == 0 && quoted_state == PARTIALLY_QUOTED))
+#endif
        {
          istring[0] = CTLNUL;
          istring[1] = '\0';
index 0b06381072414283266cf5d055a42ac14b9b6da6..c8bef8dd12533217b1b65fc20d00f3d1cc1b81e7 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 d48089891c4cc523afa7dd7b296c54fe18ab8794..721eea124c7b7f64835a5ce16cd3e4bd0d648e85 100755 (executable)
@@ -1,3 +1,17 @@
+#   This program is free software: you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation, either version 3 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
 # first, let's start with the basics
 
 recho "$@"
@@ -246,6 +260,11 @@ ${THIS_SH} ./dollar-at-star8.sub
 # with different values for IFS
 ${THIS_SH} ./dollar-at-star9.sub
 
+# tests for expansions of "$*" and "$@" and their array equivalents when $1 == ''
+# and we're using the POSIX word expansions
+${THIS_SH} ./dollar-at-star10.sub
+${THIS_SH} ./dollar-at-star11.sub
+
 # tests for special expansion of "$*" and "${array[*]}" when used with other
 # expansions -- bugs through bash-2.05b
 ${THIS_SH} ./dollar-star1.sub
diff --git a/tests/dollar-at-star10.sub b/tests/dollar-at-star10.sub
new file mode 100644 (file)
index 0000000..6b52b01
--- /dev/null
@@ -0,0 +1,66 @@
+# checks for array variables and positional parameter expansions losing quoted
+# null string expansions -- problem through bash-5.1
+
+set -- ''
+myvar[0]=
+a="${myvar[*]}"
+
+recho "$*"
+recho "${*}"
+
+recho "${a}"
+recho "${myvar[*]}"
+
+recho "${a:+nonnull}"
+recho "${myvar[*]:+nonnull}"
+
+a="${myvar[@]}"
+
+recho "$@"
+recho "${@}"
+
+recho "${a}"
+recho "${myvar[@]}"
+
+recho "${a:+nonnull}"
+recho "${myvar[@]:+nonnull}"
+
+# check to make sure literal CTLNULs are handled correctly
+set -- $'\x7f'
+
+recho "$@"
+recho "${@}"
+recho "${@:+nonnull}"
+
+recho "$*"
+recho "${*}"
+recho "${*:+nonnull}"
+
+shift $#
+
+# these should echo nothing
+recho "${@}"
+recho "${@:+nonnull}"
+
+unset -v a
+
+# make sure that other null expansions result in null strings where appropriate
+set -- ''
+a[0]=
+
+recho "$*"$x
+recho "${*}"$x
+
+recho "$@"$x
+recho "${@}"$x
+
+recho "${a[*]}"$x
+recho "${a[@]}"$x
+
+
+recho "$@"$x
+recho "${@}"$x
+
+recho "${a[*]}"
+recho "${a[@]}"
+
diff --git a/tests/dollar-at-star11.sub b/tests/dollar-at-star11.sub
new file mode 100644 (file)
index 0000000..b7a6ec4
--- /dev/null
@@ -0,0 +1,80 @@
+a[0]='/'
+set -- /
+
+# these should all result in the empty (null) string
+
+recho "${a[0]%?}"
+recho "${a[*]%?}"
+recho "${a[@]%?}"
+
+recho "${*%?}"
+recho "${@%?}"
+
+recho "${a[0]#?}"
+recho "${a[*]#?}"
+recho "${a[@]#?}"
+
+recho "${*#?}"
+recho "${@#?}"
+
+recho "${a[0]/\//}"
+recho "${a[*]/\//}"
+recho "${a[@]/\//}"
+
+recho "${*/\//}"
+recho "${@/\//}"
+
+recho "${a[0]:1:1}"
+# these next four will all echo /
+
+# arrays are zero-based
+recho "${a[*]:0:1}"
+recho "${a[@]:0:1}"
+# but the positional parameters start at 1
+recho "${*:1:1}"
+recho "${@:1:1}"
+
+a[0]=''
+set -- ''
+
+# arrays are zero-based
+recho "${a[*]:0:1}"
+recho "${a[@]:0:1}"
+
+recho "${*:1:1}"
+recho "${@:1:1}"
+
+# these should all result in the empty (null) string, or quoted as such
+
+recho "${a[0]@Q}"
+recho "${a[*]@Q}"
+recho "${a[@]@Q}"
+
+recho "${*@Q}"
+recho "${@@Q}"
+
+recho "${a[0]@L}"
+recho "${a[*]@L}"
+recho "${a[@]@L}"
+
+recho "${*@L}"
+recho "${@@L}"
+
+# examples from the bug report
+unset -v a
+
+a[0]='/'
+for i in "${a[@]%/}"; do recho "$i"; done
+
+a[0]=''
+for i in "${a[@]}"; do recho "$i"; done
+
+a[0]='/'
+a[1]="//"
+for i in "${a[@]%/}"; do recho "$i"; done
+
+unset -v x y
+x=('/')
+y=("${x[@]%/}")
+
+echo "${#x[@]}:${#y[@]}"
index 09910d7e316b6da545c991598df2a4bbbb2d89e7..10c5cca13fdef331f00778bbe2acedc891bb22bd 100644 (file)
@@ -399,6 +399,73 @@ argv[1] = <^?>
 argv[1] = <^?>
 argv[1] = <>
 argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <^?>
+argv[1] = <^?>
+argv[1] = <nonnull>
+argv[1] = <^?>
+argv[1] = <^?>
+argv[1] = <nonnull>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = </>
+argv[1] = </>
+argv[1] = </>
+argv[1] = </>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <''>
+argv[1] = <''>
+argv[1] = <''>
+argv[1] = <''>
+argv[1] = <''>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = <>
+argv[1] = </>
+1:1
 xa|xb|xc
 xa|xb|xc
 a|b|c