]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
revert change that suppressed array subscript expansion when called by the let builti...
authorChet Ramey <chet.ramey@case.edu>
Mon, 24 Feb 2025 16:36:49 +0000 (11:36 -0500)
committerChet Ramey <chet.ramey@case.edu>
Mon, 24 Feb 2025 16:36:49 +0000 (11:36 -0500)
25 files changed:
CWRU/CWRU.chlog
MANIFEST
builtins/help.def
builtins/history.def
config.h.in
configure
configure.ac
configure.mk
doc/bash.1
doc/bashref.texi
examples/loadables/fltexpr.c
expr.c
externs.h
lib/readline/histfile.c
lib/sh/zmapfd.c
m4/d-type.m4 [new file with mode: 0644]
po/hr.gmo
po/hr.po
print_cmd.c
tests/arith.right
tests/arith.tests
tests/arith10.sub [new file with mode: 0644]
tests/array.right
tests/braces.right
tests/braces.tests

index d7386faf29581d239583b2377323f859c08dd995..4fc6d736236c500466174a6e3d48c962405a572a 100644 (file)
@@ -10985,3 +10985,36 @@ braces.c
        - brace_expand: call valid_seqterm if brace_gobbler finds a BRACE_SEQ
          expansion
          Inspired by report from Robert Elz <kre@munnari.oz.au>
+
+                                  2/13
+                                  ----
+doc/bash.1,doc/bashref.texi
+       - clarified the handling of double quotes in EXPRESSION in
+         (( EXPRESSION )) and $(( EXPRESSION )) to say that only unescaped
+         double quotes are removed
+
+expr.c
+       - expr_bind_variable,expr_streval: revert change from 1/10 that
+         suppresses additional expansion when called by the `let' builtin,
+         tag for possible inclusion in a future release when I can look
+         at parallel changes to ((...)) and $((...)) (and probably
+         declare 'a[" "]=12' or similar)
+
+                                  2/14
+                                  ----
+
+lib/sh/zmapfd.c,externs.h
+       - zmapfd: now returns ssize_t in case of large files when size_t is
+         larger than int
+
+builtins/evalfile.c,builtins/help.def
+       - zmapfd: changed callers
+
+print_cmd.c
+       - print_redirection: the default file descriptor for <> is 0
+         Report and fix from Emanuele Torre <torreemanuele6@gmail.com>
+
+                                  2/18
+                                  ----
+configure.ac
+       - check for d_type member of struct dirent for future use
index 4a1af2962d5c07e6e61fe94548e450bab3eba7e4..5dcd8cce1cdff54f784f9152968f84be6fefb4b4 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -533,6 +533,7 @@ m4/timespec.m4              f
 m4/bison.m4            f
 m4/c-bool.m4           f
 m4/codeset.m4          f
+m4/d-type.m4           f
 m4/extern-inline.m4    f
 m4/fcntl-o.m4          f
 m4/flexmember.m4       f
@@ -967,6 +968,7 @@ tests/arith6.sub    f
 tests/arith7.sub       f
 tests/arith8.sub       f
 tests/arith9.sub       f
+tests/arith10.sub      f
 tests/array.tests      f
 tests/array.right      f
 tests/array1.sub       f
index 8881900ce3b78ec3276c3c543fac9fa170fc541d..eb6f140ac6d9672dc0601bd870b287fdb3b3555a 100644 (file)
@@ -245,7 +245,8 @@ show_longdoc (int i)
 static void
 show_desc (char *name, int i)
 {
-  register int j, r;
+  int j;
+  ssize_t r;
   char * const *doc, *line;
   int fd, usefile;
 
@@ -258,8 +259,13 @@ show_desc (char *name, int i)
       if (fd < 0)
        return;
       r = zmapfd (fd, &line, doc[0]);
+      if (r < 0)
+       {
+         builtin_error ("%s: %s: %s", doc[0], _("read error"), strerror (errno));
+         free (line);
+         line = (char *)NULL;
+       }
       close (fd);
-      /* XXX - handle errors if zmapfd returns < 0 */
     }
   else
     line = doc ? doc[0] : (char *)NULL;
@@ -281,6 +287,7 @@ static void
 show_manpage (char *name, int i)
 {
   register int j;
+  ssize_t r;
   char * const *doc;
   char *line;
   int fd, usefile;
@@ -293,7 +300,13 @@ show_manpage (char *name, int i)
       fd = open_helpfile (doc[0]);
       if (fd < 0)
        return;
-      zmapfd (fd, &line, doc[0]);
+      r = zmapfd (fd, &line, doc[0]);
+      if (r < 0)
+       {
+         builtin_error ("%s: %s: %s", doc[0], _("read error"), strerror (errno));
+         free (line);
+         line = (char *)NULL;
+       }
       close (fd);
     }
   else
index f5dd416bbf8b962d542e462435a43502f1c6ad13..f0a996c9e767f600b05175e3f07fc9148f510852 100644 (file)
@@ -298,6 +298,11 @@ history_builtin (WORD_LIST *list)
       result = read_history (filename);
       history_lines_in_file = history_lines_read_from_file;
       /* history_lines_in_file = where_history () + history_base - 1; */
+#if 0
+      /* Report read errors from the history library. */
+      if (result > 0)
+       builtin_error ("%s: %s: %s", filename, _("read error"), strerror (errno));
+#endif
     }
   else if (flags & NFLAG)      /* Read `new' history from file. */
     {
@@ -312,6 +317,12 @@ history_builtin (WORD_LIST *list)
       history_lines_in_file = history_lines_read_from_file;
       /* history_lines_in_file = where_history () + history_base - 1; */
 
+#if 0
+      /* Report read errors from the history library. */
+      if (result > 0)
+       builtin_error ("%s: %s: %s", filename, _("read error"), strerror (errno));
+#endif
+
       /* If we're rewriting the history file at shell exit rather than just
         appending the lines from this session to it, the question is whether
         we reset history_lines_this_session to 0, losing any history entries
index dbef3a74572907d992637db29966038f1c4c66eb..7dac61a971bbcad41125fe33eff511a954c80b8d 100644 (file)
 
 #undef HAVE_STRUCT_DIRENT_D_NAMLEN
 
+#undef HAVE_STRUCT_DIRENT_D_TYPE
+
 #undef TIOCSTAT_IN_SYS_IOCTL
 
 #undef FIONREAD_IN_SYS_IOCTL
index 1ffb68ddc6b4dbc88849677ef8079be7b761e4a3..51e0fa23bc00f8fb93802c75755e403997086d1b 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac for Bash 5.3, version 5.074.
+# From configure.ac for Bash 5.3, version 5.075.
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.72 for bash 5.3-beta.
 #
@@ -6922,6 +6922,12 @@ fi
 
 
 
+# d-type.m4
+# serial 12
+
+
+
+
 
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 printf %s "checking for an ANSI C-conforming const... " >&6; }
@@ -9222,8 +9228,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
         LIBS=$save_LIBS
         test $gl_pthread_api = yes && break
       done
-      echo "$as_me:9225: gl_pthread_api=$gl_pthread_api" >&5
-      echo "$as_me:9226: LIBPTHREAD=$LIBPTHREAD" >&5
+      echo "$as_me:9231: gl_pthread_api=$gl_pthread_api" >&5
+      echo "$as_me:9232: LIBPTHREAD=$LIBPTHREAD" >&5
 
       gl_pthread_in_glibc=no
       # On Linux with glibc >= 2.34, libc contains the fully functional
@@ -9249,7 +9255,7 @@ rm -rf conftest*
 
           ;;
       esac
-      echo "$as_me:9252: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+      echo "$as_me:9258: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
 
       # Test for libpthread by looking for pthread_kill. (Not pthread_self,
       # since it is defined as a macro on OSF/1.)
@@ -9427,7 +9433,7 @@ fi
 
         fi
       fi
-      echo "$as_me:9430: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+      echo "$as_me:9436: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
     fi
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
 printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -9674,8 +9680,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
         LIBS=$save_LIBS
         test $gl_pthread_api = yes && break
       done
-      echo "$as_me:9677: gl_pthread_api=$gl_pthread_api" >&5
-      echo "$as_me:9678: LIBPTHREAD=$LIBPTHREAD" >&5
+      echo "$as_me:9683: gl_pthread_api=$gl_pthread_api" >&5
+      echo "$as_me:9684: LIBPTHREAD=$LIBPTHREAD" >&5
 
       gl_pthread_in_glibc=no
       # On Linux with glibc >= 2.34, libc contains the fully functional
@@ -9701,7 +9707,7 @@ rm -rf conftest*
 
           ;;
       esac
-      echo "$as_me:9704: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+      echo "$as_me:9710: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
 
       # Test for libpthread by looking for pthread_kill. (Not pthread_self,
       # since it is defined as a macro on OSF/1.)
@@ -9879,7 +9885,7 @@ fi
 
         fi
       fi
-      echo "$as_me:9882: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+      echo "$as_me:9888: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
     fi
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
 printf %s "checking whether POSIX threads API is available... " >&6; }
@@ -16939,7 +16945,7 @@ INTL_DEP= INTL_INC= LIBINTL_H=
 if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
        INTL_DEP='${INTL_LIBDIR}/libintl.a'
        INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
-       LIBINTL_H='${INTL_LIBDIR}/libintl.h'
+       LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
 
        printf "%s\n" "#define HAVE_LOCALE_CHARSET 1" >>confdefs.h
 
@@ -20005,6 +20011,48 @@ printf "%s\n" "#define HAVE_STRUCT_DIRENT_D_NAMLEN 1" >>confdefs.h
 fi
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for d_type member in directory struct" >&5
+printf %s "checking for d_type member in directory struct... " >&6; }
+if test ${gl_cv_struct_dirent_d_type+y}
+then :
+  printf %s "(cached) " >&6
+else case e in #(
+  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <sys/types.h>
+#include <dirent.h>
+
+int
+main (void)
+{
+struct dirent dp; dp.d_type = 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+  gl_cv_struct_dirent_d_type=yes
+else case e in #(
+  e) gl_cv_struct_dirent_d_type=no ;;
+esac
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+    conftest$ac_exeext conftest.$ac_ext
+
+    ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_struct_dirent_d_type" >&5
+printf "%s\n" "$gl_cv_struct_dirent_d_type" >&6; }
+   if test $gl_cv_struct_dirent_d_type = yes; then
+
+printf "%s\n" "#define HAVE_STRUCT_DIRENT_D_TYPE 1" >>confdefs.h
+
+   fi
+
+
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct winsize in sys/ioctl.h and termios.h" >&5
 printf %s "checking for struct winsize in sys/ioctl.h and termios.h... " >&6; }
 if test ${bash_cv_struct_winsize_header+y}
index 6409f85b6c196bcdd51c5cdd54a0bfac7f9eeefd..49becb33f18f6d925b849e119399089969287c17 100644 (file)
@@ -21,7 +21,7 @@ dnl Process this file with autoconf to produce a configure script.
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_REVISION([for Bash 5.3, version 5.074])dnl
+AC_REVISION([for Bash 5.3, version 5.075])dnl
 
 define(bashvers, 5.3)
 define(relstatus, beta)
@@ -778,6 +778,7 @@ m4_include([m4/glibc21.m4])
 m4_include([m4/host-cpu-c-abi.m4])
 
 m4_include([m4/c-bool.m4])
+m4_include([m4/d-type.m4])
 
 dnl C compiler characteristics
 AC_C_CONST
@@ -1079,6 +1080,7 @@ BASH_STRUCT_TERMIO_LDISC
 BASH_STRUCT_DIRENT_D_INO
 BASH_STRUCT_DIRENT_D_FILENO
 BASH_STRUCT_DIRENT_D_NAMLEN
+gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE
 BASH_STRUCT_WINSIZE
 BASH_STRUCT_TIMEVAL
 AC_CHECK_MEMBERS([struct stat.st_blocks])
index d6ff428b4e171edd1b2db23735098032834a76af..f10c494c237bd3fe85b6f017472ab5f2085d7558 100644 (file)
@@ -1,3 +1,49 @@
 # Make sure the first target in the makefile is the right one
 configure:     configure.ac aclocal.m4 config.h.in
        autoconf
+
+configure: \
+m4/bison.m4 \
+m4/c-bool.m4 \
+m4/codeset.m4 \
+m4/d-type.m4 \
+m4/extern-inline.m4 \
+m4/fcntl-o.m4 \
+m4/flexmember.m4 \
+m4/gettext.m4 \
+m4/glibc2.m4 \
+m4/glibc21.m4 \
+m4/host-cpu-c-abi.m4 \
+m4/iconv.m4 \
+m4/intdiv0.m4 \
+m4/intl-thread-locale.m4 \
+m4/intl.m4 \
+m4/intlmacosx.m4 \
+m4/intmax.m4 \
+m4/inttypes-pri.m4 \
+m4/inttypes.m4 \
+m4/inttypes_h.m4 \
+m4/lcmessage.m4 \
+m4/lib-ld.m4 \
+m4/lib-link.m4 \
+m4/lib-prefix.m4 \
+m4/locale_h.m4 \
+m4/lock.m4 \
+m4/nls.m4 \
+m4/po.m4 \
+m4/printf-posix.m4 \
+m4/progtest.m4 \
+m4/pthread_rwlock_rdlock.m4 \
+m4/size_max.m4 \
+m4/stat-time.m4 \
+m4/stdint_h.m4 \
+m4/strtoimax.m4 \
+m4/threadlib.m4 \
+m4/timespec.m4 \
+m4/uintmax_t.m4 \
+m4/ulonglong.m4 \
+m4/unlocked-io.m4 \
+m4/visibility.m4 \
+m4/wchar_t.m4 \
+m4/wint_t.m4 \
+m4/xsize.m4
index 369dee85f651e9d0f3f71f9c070ee28657550dec..c20f0734108c4317f165bb40d14e0b5e14b15b0e 100644 (file)
@@ -771,7 +771,8 @@ otherwise the return status is 1.
 The \fIexpression\fP
 undergoes the same expansions
 as if it were within double quotes,
-but double quote characters in \fIexpression\fP are not treated
+but unescaped double quote characters
+in \fIexpression\fP are not treated
 specially and are removed.
 .TP
 \fB[[\fP \fIexpression\fP \fB]]\fP
@@ -3410,7 +3411,7 @@ each generated term will contain the same number of digits,
 zero-padding where necessary.
 When letters are supplied, the expression expands to each character
 lexicographically between \fIx\fP and \fIy\fP, inclusive,
-using the default C locale.
+using the C locale.
 Note that both \fIx\fP and \fIy\fP must be of the same type
 (integer or letter).
 When the increment is supplied, it is used as the difference between
@@ -3689,9 +3690,15 @@ starting at the character specified by \fIoffset\fP.
 If \fIparameter\fP is \fB@\fP or \fB*\fP, an indexed array subscripted by
 \fB@\fP or \fB*\fP, or an associative array name, the results differ as
 described below.
-If \fIlength\fP is omitted, expands to the substring of the value of
+If \fB:\fP\fIlength\fP is omitted (the first form above), this
+expands to the substring of the value of
 \fIparameter\fP starting at the character specified by \fIoffset\fP
 and extending to the end of the value.
+If \fIoffset\fP is omitted,
+it is treated as 0.
+If \fIlength\fP is omitted,
+but the colon after \fIoffset\fP is present,
+it is treated as 0.
 \fIlength\fP and \fIoffset\fP are arithmetic expressions (see
 .SM
 .B
@@ -4164,8 +4171,9 @@ The
 .I expression
 undergoes the same expansions
 as if it were within double quotes,
-but double quote characters in \fIexpression\fP are not treated specially
-and are removed.
+but unescaped double quote characters
+in \fIexpression\fP are not treated
+specially and are removed.
 All tokens in the expression undergo parameter and variable expansion,
 command substitution, and quote removal.
 The result is treated as the arithmetic expression to be evaluated.
index 6afc4dc27f794737657efda33e364184aa74078b..7333ef1371cd106c28311ec0775254145e127e46 100644 (file)
@@ -1161,8 +1161,9 @@ The arithmetic @var{expression} is evaluated according to the rules
 described below (@pxref{Shell Arithmetic}).
 The @var{expression} undergoes the same expansions
 as if it were within double quotes,
-but double quote characters in @var{expression} are not treated specially
-and are removed.
+but unescaped double quote characters
+in @var{expression} are not treated
+specially and are removed.
 If the value of the expression is non-zero, the return status is 0;
 otherwise the return status is 1. 
 
@@ -2076,7 +2077,7 @@ each generated term will contain the same number of digits,
 zero-padding where necessary.
 When letters are supplied, the expression expands to each character
 lexicographically between @var{x} and @var{y}, inclusive,
-using the default C locale.
+using the C locale.
 Note that both @var{x} and @var{y} must be of the same type
 (integer or letter).
 When the increment is supplied, it is used as the difference between
@@ -2398,9 +2399,15 @@ starting at the character specified by @var{offset}.
 If @var{parameter} is @samp{@@} or @samp{*}, an indexed array subscripted by
 @samp{@@} or @samp{*}, or an associative array name, the results differ as
 described below.
-If @var{length} is omitted, it expands to the substring of the value of
+If :@var{length} is omitted (the first form above), this
+expands to the substring of the value of
 @var{parameter} starting at the character specified by @var{offset}
 and extending to the end of the value.
+If @var{offset} is omitted,
+it is treated as 0.
+If @var{length} is omitted,
+but the colon after @var{offset} is present,
+it is treated as 0.
 @var{length} and @var{offset} are arithmetic expressions
 (@pxref{Shell Arithmetic}).
 
@@ -2922,8 +2929,9 @@ $(( @var{expression} ))
 
 The @var{expression} undergoes the same expansions
 as if it were within double quotes,
-but double quote characters in @var{expression} are not treated specially
-and are removed.
+but unescaped double quote characters
+in @var{expression} are not treated
+specially and are removed.
 All tokens in the expression undergo parameter and variable expansion,
 command substitution, and quote removal.
 The result is treated as the arithmetic expression to be evaluated.
index f99e3863cc1c7e51408ab4bf46c6cbf970403198..8113de2581fb27613bbbed3e87cbc5ecfa04b8e2 100644 (file)
@@ -1,5 +1,7 @@
 /* fltexpr.c -- floating-point arithmetic expression evaluation. */
 
+/* A thinly-edited version of expr.c/builtins/let.def */
+
 /* Copyright (C) 2025 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
diff --git a/expr.c b/expr.c
index 7e527d1fa785a02e670fd9e8c21e4677beec5ba9..d16caa44f82a1853fd8034fd41ec75419c0baf95 100644 (file)
--- a/expr.c
+++ b/expr.c
@@ -338,8 +338,10 @@ expr_bind_variable (const char *lhs, const char *rhs)
 
 #if defined (ARRAY_VARS)
   aflags = (array_expand_once && already_expanded) ? ASS_NOEXPAND : 0; /* XXX */
+#if 0 /* TAG:bash-5.4 https://lists.gnu.org/archive/html/bug-bash/2024-12/msg00193.html */
   if (this_shell_builtin == let_builtin && shell_compatibility_level > 51)
     aflags |= ASS_NOEXPAND;            /* we didn't quote subscripts */
+#endif
   aflags |= ASS_ALLOWALLSUB;           /* allow assoc[@]=value */
 #else
   aflags = 0;
@@ -1167,8 +1169,10 @@ expr_streval (char *tok, int e, struct lvalue *lvalue)
 
 #if defined (ARRAY_VARS)
   tflag = (array_expand_once && already_expanded) ? AV_NOEXPAND : 0;   /* for a start */
+#if 0 /* TAG:bash-5.4 https://lists.gnu.org/archive/html/bug-bash/2024-12/msg00193.html */
   if (this_shell_builtin == let_builtin && shell_compatibility_level > 51)
     tflag |= AV_NOEXPAND;      /* we didn't quote subscripts */
+#endif
 #endif
 
   /* [[[[[ */
index ee9a52a0d6d33bc845c5a1aed23a5cf3f9ef7350..da26090f5a7ea38970e6c431c1cc3788dfa4a3b2 100644 (file)
--- a/externs.h
+++ b/externs.h
@@ -550,7 +550,7 @@ extern int zcatfd (int, int, const char *);
 extern ssize_t zgetline (int, char **, size_t *, int, int);
 
 /* declarations for functions defined in lib/sh/zmapfd.c */
-extern int zmapfd (int, char **, const char *);
+extern ssize_t zmapfd (int, char **, const char *);
 
 /* declarations for functions defined in lib/sh/zread.c */
 extern ssize_t zread (int, char *, size_t);
index 3499d40ce8434581024cae7ba04420af94c9798b..c73481dcf6e726426460fc3abaff4924b36e1a0a 100644 (file)
@@ -298,21 +298,24 @@ read_history_range (const char *filename, int from, int to)
 #endif
       goto error_and_exit;
     }
-
-  file_size = (size_t)finfo.st_size;
-
-  /* check for overflow on very large files */
-  if (file_size != finfo.st_size || file_size + 1 < file_size)
+  else
     {
-      errno = overflow_errno;
-      goto error_and_exit;
-    }
+      /* regular file */
+      file_size = (size_t)finfo.st_size;
 
-  if (file_size == 0)
-    {
-      xfree (input);
-      close (file);
-      return 0;        /* don't waste time if we don't have to */
+      /* check for overflow on very large files */
+      if (file_size != finfo.st_size || file_size + 1 < file_size)
+       {
+         errno = overflow_errno;
+         goto error_and_exit;
+       }
+
+      if (file_size == 0)
+       {
+         xfree (input);
+         close (file);
+         return 0;     /* don't waste time if we don't have to */
+       }
     }
 
 #ifdef HISTORY_USE_MMAP
index f2e1ea4da5693c81d470cb9875f8f2f8c35a8a3f..0bff51c2b0504694cee39bde3fd7adb1a5a56070 100644 (file)
@@ -44,16 +44,14 @@ extern ssize_t zread (int, char *, size_t);
 
 /* Dump contents of file descriptor FD to *OSTR.  FN is the filename for
    error messages (not used right now). */
-int
+ssize_t
 zmapfd (int fd, char **ostr, const char *fn)
 {
   ssize_t nr;
-  int rval;
   char lbuf[ZBUFSIZ];
   char *result;
   size_t rsize, rind;
 
-  rval = 0;
   result = (char *)xmalloc (rsize = ZBUFSIZ);
   rind = 0;
 
@@ -61,10 +59,7 @@ zmapfd (int fd, char **ostr, const char *fn)
     {
       nr = zread (fd, lbuf, sizeof (lbuf));
       if (nr == 0)
-       {
-         rval = rind;
-         break;
-       }
+       break;
       else if (nr < 0)
        {
          free (result);
@@ -86,5 +81,5 @@ zmapfd (int fd, char **ostr, const char *fn)
   else
     free (result);
 
-  return rval;
+  return (ssize_t)rind;
 }
diff --git a/m4/d-type.m4 b/m4/d-type.m4
new file mode 100644 (file)
index 0000000..d52ac30
--- /dev/null
@@ -0,0 +1,32 @@
+# d-type.m4
+# serial 12
+dnl Copyright (C) 1997, 1999-2004, 2006, 2009-2025 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl This file is offered as-is, without any warranty.
+
+dnl From Jim Meyering.
+dnl
+dnl Check whether struct dirent has a member named d_type.
+
+AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
+  [AC_CACHE_CHECK([for d_type member in directory struct],
+                  [gl_cv_struct_dirent_d_type],
+     [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#include <dirent.h>
+         ]],
+         [[struct dirent dp; dp.d_type = 0;]])],
+       [gl_cv_struct_dirent_d_type=yes],
+       [gl_cv_struct_dirent_d_type=no])
+     ]
+   )
+   if test $gl_cv_struct_dirent_d_type = yes; then
+     AC_DEFINE([HAVE_STRUCT_DIRENT_D_TYPE], [1],
+       [Define if there is a member named d_type in the struct describing
+        directory headers.])
+   fi
+  ]
+)
index 47e091e70c8638ea104619958eee5a7820561233..862e37dede7004e2c1ffdc89db86f626b87804a5 100644 (file)
Binary files a/po/hr.gmo and b/po/hr.gmo differ
index 570b4ef7cb2459e167ce2a5f64d300c628936295..158119de3279e56dd32667a950ebfe8c5ec62c3f 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
 # 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, 2022, 2023.
+# Božidar Putanec <bozidarp@yahoo.com>, 2018-2025.
 msgid ""
 msgstr ""
 "Project-Id-Version: bash-5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-11-12 11:51-0500\n"
-"PO-Revision-Date: 2024-03-31 18:43-0700\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2025-02-19 16:48-0800\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
 "Language: hr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"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-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: Poedit 3.2.2\n"
 
-#: arrayfunc.c:63
+#: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "loši indeks polja"
 
-#: arrayfunc.c:466 builtins/declare.def:748 variables.c:2196 variables.c:2225
-#: variables.c:3099
+#: arrayfunc.c:471 builtins/declare.def:709 variables.c:2242 variables.c:2268
+#: variables.c:3101
 #, c-format
 msgid "%s: removing nameref attribute"
 msgstr "%s: uklanjamo atribut nameref"
 
-#: arrayfunc.c:493 builtins/declare.def:920
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: nije moguće pretvoriti indeksirano polje u asocijativno polje"
 
-#: arrayfunc.c:789
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: nenumerički indeks nije moguć"
 
-#: arrayfunc.c:841
+#: arrayfunc.c:822
 #, 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:464
-#, fuzzy
-msgid "cannot create"
+#: bashhist.c:455
+#, c-format
+msgid "%s: cannot create: %s"
 msgstr "%s: nije moguće stvoriti: %s"
 
-#: bashline.c:4628
+#: bashline.c:4479
 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:4799
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
-msgstr "%s: prvi ne bijeli znak nije â\80\9e\"â\80\9c"
+msgstr "%s: prvi ne bijeli znak nije â\80\9e\"â\80\9d"
 
-#: bashline.c:4828
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
-msgstr "nema zakljuÄ\8dnog â\80\9e%câ\80\9c u %s"
+msgstr "nema zakljuÄ\8dnog â\80\9e%câ\80\9d u %s"
 
-#: bashline.c:4859
-#, fuzzy, c-format
-msgid "%s: missing separator"
-msgstr "%s: nedostaje separator (dvotočka)"
+#: bashline.c:4697
+#, c-format
+msgid "%s: missing colon separator"
+msgstr "%s: nema separatora (dvotočka)"
 
-#: bashline.c:4906
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
-msgstr "â\80\9e%sâ\80\9c: nije moguće razvezati prečac (keymap) za naredbu"
+msgstr "â\80\9e%sâ\80\9d: nije moguće razvezati prečac (keymap) za naredbu"
 
-#: braces.c:320
+#: braces.c:327
 #, c-format
 msgid "brace expansion: cannot allocate memory for %s"
 msgstr "zamjena vitičastih zagrada: nema dovoljno memorije za %s"
 
 # Brace expansion is a mechanism by which arbitrary strings may be generated
-#: braces.c:383
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %s elements"
+#: braces.c:406
+#, c-format
+msgid "brace expansion: failed to allocate memory for %u elements"
 msgstr "zamjena vitičastih zagrada: nema dovoljno memorije za %u elemenata"
 
-#: braces.c:442
+#: braces.c:451
 #, c-format
 msgid "brace expansion: failed to allocate memory for `%s'"
-msgstr "zamjena vitiÄ\8dastih zagrada: nema dovoljno memorije za â\80\9e%sâ\80\9c"
+msgstr "zamjena vitiÄ\8dastih zagrada: nema dovoljno memorije za â\80\9e%sâ\80\9d"
 
-#: builtins/alias.def:131 variables.c:1789
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
-msgstr "â\80\9e%sâ\80\9c: ime aliasa nije valjano"
+msgstr "â\80\9e%sâ\80\9d: ime aliasa nije valjano"
 
-#: builtins/bind.def:123
+#: builtins/bind.def:122 builtins/bind.def:125
 msgid "line editing not enabled"
 msgstr "nije omogućeno uređivanje redaka"
 
-#: builtins/bind.def:208
+#: builtins/bind.def:212
 #, c-format
 msgid "`%s': invalid keymap name"
-msgstr "â\80\9e%sâ\80\9c: nevaljano ime za prečac (keymap)"
+msgstr "â\80\9e%sâ\80\9d: nevaljano ime za prečac (keymap)"
 
-#: builtins/bind.def:277
-#, fuzzy
-msgid "cannot read"
+#: builtins/bind.def:252
+#, c-format
+msgid "%s: cannot read: %s"
 msgstr "%s: nije moguće pročitati: %s"
 
-#: builtins/bind.def:353 builtins/bind.def:382
+#: builtins/bind.def:328 builtins/bind.def:358
 #, c-format
 msgid "`%s': unknown function name"
-msgstr "â\80\9e%sâ\80\9c: nepoznato ime funkcije"
+msgstr "â\80\9e%sâ\80\9d: nepoznato ime funkcije"
 
-#: builtins/bind.def:361
+#: builtins/bind.def:336
 #, c-format
 msgid "%s is not bound to any keys.\n"
 msgstr "%s nije vezan na nijednu tipku.\n"
 
-#: builtins/bind.def:365
+#: builtins/bind.def:340
 #, c-format
 msgid "%s can be invoked via "
 msgstr "%s se može pozvati s prečacem "
 
-#: builtins/bind.def:401 builtins/bind.def:418
+#: builtins/bind.def:378 builtins/bind.def:395
 #, c-format
 msgid "`%s': cannot unbind"
-msgstr "â\80\9e%sâ\80\9c: nije moguće razvezati"
+msgstr "â\80\9e%sâ\80\9d: nije moguće razvezati"
 
-#: builtins/break.def:80 builtins/break.def:125
+#: builtins/break.def:77 builtins/break.def:119
 msgid "loop count"
 msgstr "broj ponavljanja petlje"
 
-#: builtins/break.def:145
+#: builtins/break.def:139
 msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr "ima smisla samo u â\80\9eforâ\80\9c, â\80\9ewhileâ\80\9c ili â\80\9euntilâ\80\9c petljama"
+msgstr "ima smisla samo u â\80\9eforâ\80\9d, â\80\9ewhileâ\80\9d ili â\80\9euntilâ\80\9d petljama"
 
-#: builtins/caller.def:135
-#, fuzzy
+#: builtins/caller.def:136
 msgid ""
 "Returns the context of the current subroutine call.\n"
 "    \n"
@@ -149,394 +146,361 @@ msgid ""
 "    provide a stack trace.\n"
 "    \n"
 "    The value of EXPR indicates how many call frames to go back before the\n"
-"    current one; the top frame is frame 0.\n"
-"    \n"
-"    Exit Status:\n"
-"    Returns 0 unless the shell is not executing a shell function or EXPR\n"
-"    is invalid."
+"    current one; the top frame is frame 0."
 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"
-"    stvaranje „stack trace“.\n"
-"\n"
-"    Vrijednost IZRAZA naznačuje koliko ciklusa se treba vratiti\n"
-"    unatrag od trenutne pozicije; trenutni ciklus ima vrijednost 0.\n"
+"    Bez IZRAZA, vrati „$line $filename”. S IZRAZOM, vrati\n"
+"    „$line $subroutine $filename”; ovi dodatni podaci mogu poslužiti\n"
+"    za „stack trace”.\n"
 "\n"
-"    Završi s uspjehom osim ako ljuska ne izvršava ljuskinu funkciju\n"
-"    ili je IZRAZ nevaljan."
+"    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:321
+#: builtins/cd.def:327
 msgid "HOME not set"
 msgstr "HOME nije definiran"
 
-#: builtins/cd.def:329 builtins/common.c:143 builtins/fc.def:293 test.c:946
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "previše argumenata"
 
-#: builtins/cd.def:335
+#: builtins/cd.def:342
 msgid "null directory"
 msgstr "null-direktorij"
 
-#: builtins/cd.def:345
+#: builtins/cd.def:353
 msgid "OLDPWD not set"
 msgstr "OLDPWD nije definiran"
 
-#: builtins/common.c:91
+#: builtins/common.c:96
 #, c-format
 msgid "line %d: "
 msgstr "redak %d: "
 
-#: builtins/common.c:117 error.c:227
+#: builtins/common.c:134 error.c:264
 #, c-format
 msgid "warning: "
 msgstr "upozorenje: "
 
-#: builtins/common.c:131
+#: builtins/common.c:148
 #, c-format
 msgid "%s: usage: "
 msgstr "%s: uporaba: "
 
-#: builtins/common.c:178 shell.c:524 shell.c:865
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: opcija zahtijeva argument"
 
-#: builtins/common.c:184
+#: builtins/common.c:200
 #, c-format
 msgid "%s: numeric argument required"
 msgstr "%s: nužan je numerički argument"
 
-#: builtins/common.c:190
+#: builtins/common.c:207
 #, c-format
 msgid "%s: not found"
 msgstr "%s: nije nađeno"
 
-#: builtins/common.c:198 shell.c:878
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: nevaljana opcija"
 
-#: builtins/common.c:204
+#: builtins/common.c:223
 #, c-format
 msgid "%s: invalid option name"
 msgstr "%s: nevaljano ime za opciju"
 
-#: builtins/common.c:210 error.c:461
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
-msgstr "â\80\9e%sâ\80\9c: nije valjano ime"
+msgstr "â\80\9e%sâ\80\9d: nije valjano ime"
 
-#: builtins/common.c:219
+#: builtins/common.c:240
 msgid "invalid octal number"
 msgstr "nevaljan oktalni broj"
 
-#: builtins/common.c:221
+#: builtins/common.c:242
 msgid "invalid hex number"
 msgstr "nevaljan heksadecimalni broj"
 
-#: builtins/common.c:223 expr.c:1559 expr.c:1573
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "nevaljani broj"
 
-#: builtins/common.c:230
+#: builtins/common.c:252
 #, c-format
 msgid "%s: invalid signal specification"
 msgstr "%s: nevaljana specifikacija signala"
 
-#: builtins/common.c:236
+#: builtins/common.c:259
 #, c-format
 msgid "`%s': not a pid or valid job spec"
-msgstr "â\80\9e%sâ\80\9c: nije PID ili nije valjana oznaka posla"
+msgstr "â\80\9e%sâ\80\9d: nije PID ili nije valjana oznaka posla"
 
-#: builtins/common.c:242 error.c:455
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: je samo-za-čitanje varijabla"
 
-#: builtins/common.c:248
+#: builtins/common.c:273
 #, c-format
 msgid "%s: cannot assign"
 msgstr "%s: nije moguće pridružiti"
 
-#: builtins/common.c:255
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s je izvan raspona"
 
-#: builtins/common.c:255 builtins/common.c:257
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:257
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s je izvan raspona"
 
-#: builtins/common.c:264
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: nema takvog posla"
 
-#: builtins/common.c:271
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: nema upravljanja poslovima"
 
-#: builtins/common.c:273
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "nema upravljanja poslovima"
 
-#: builtins/common.c:279
-#, fuzzy, c-format
-msgid "%s: invalid job specification"
-msgstr "%s: nevaljana specifikacija za istek vremena (timeout)"
-
-#: builtins/common.c:289
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: ograničeni način rada"
 
-#: builtins/common.c:291
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "ograničeni način rada"
 
-#: builtins/common.c:298
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: nije ugrađena naredba ljuske"
 
-#: builtins/common.c:307
-#, fuzzy
-msgid "write error"
+#: builtins/common.c:330
+#, c-format
+msgid "write error: %s"
 msgstr "greška pisanja: %s"
 
-#: builtins/common.c:314
-#, fuzzy
-msgid "error setting terminal attributes"
+#: builtins/common.c:338
+#, c-format
+msgid "error setting terminal attributes: %s"
 msgstr "greška pri postavljanju svojstava terminala: %s"
 
-#: builtins/common.c:316
-#, fuzzy
-msgid "error getting terminal attributes"
+#: builtins/common.c:340
+#, c-format
+msgid "error getting terminal attributes: %s"
 msgstr "greška pri preuzimanju svojstava terminala: %s"
 
-#: builtins/common.c:611
-#, fuzzy
-msgid "error retrieving current directory"
+#: builtins/common.c:642
+#, 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:675 builtins/common.c:677
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: dvosmislena oznaka posla"
 
-#: builtins/common.c:709
-#, fuzzy, c-format
-msgid "%s: job specification requires leading `%%'"
-msgstr "%s: opcija zahtijeva argument"
-
-#: builtins/common.c:937
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "u ovoj inačici pomoć nije dostupna"
 
-#: builtins/common.c:1005
-#, c-format
-msgid "%s: not an indexed array"
-msgstr "%s: nije indeksirano polje"
-
-#: builtins/common.c:1028 builtins/set.def:964 variables.c:3868
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: nije moguće izbrisati: %s je samo-za-čitanje"
 
-#: builtins/common.c:1033 builtins/set.def:930 variables.c:3873
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: nije moguće izbrisati"
 
-#: builtins/complete.def:285
+#: builtins/complete.def:287
 #, c-format
 msgid "%s: invalid action name"
 msgstr "%s: nevaljano ime za akciju"
 
-#: builtins/complete.def:501 builtins/complete.def:644
-#: builtins/complete.def:899
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: nema specifikacije za dovršavanje"
 
-#: builtins/complete.def:703
+#: builtins/complete.def:696
 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:705
+#: builtins/complete.def:698
 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:872
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "funkcija dovršavanja trenutno ne radi"
 
-#: builtins/declare.def:139
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "može se koristiti samo u funkciji"
 
-#: builtins/declare.def:471
+#: builtins/declare.def:437
 msgid "cannot use `-f' to make functions"
-msgstr "â\80\9e-fâ\80\9c se ne može koristiti za definiranje funkcija"
+msgstr "â\80\9e-fâ\80\9d se ne može koristiti za definiranje funkcija"
 
-#: builtins/declare.def:499 execute_cmd.c:6294
+#: builtins/declare.def:464 execute_cmd.c:6132
 #, c-format
 msgid "%s: readonly function"
 msgstr "%s: je samo-za-čitanje funkcija"
 
-#: builtins/declare.def:556 builtins/declare.def:843
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: referentna varijabla ne može biti polje (array)"
 
-#: builtins/declare.def:567 variables.c:3346
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: nameref varijablu nije dopušteno samoreferencirati"
 
-#: builtins/declare.def:572 variables.c:2035 variables.c:3343
+#: builtins/declare.def:537 variables.c:2072 variables.c:3278 variables.c:3286
+#: variables.c:3356
 #, c-format
 msgid "%s: circular name reference"
 msgstr "%s: kružna referencija imena"
 
-#: builtins/declare.def:576 builtins/declare.def:850 builtins/declare.def:859
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
-msgstr "â\80\9e%sâ\80\9c: nevaljano ime varijable za referenciju imena"
+msgstr "â\80\9e%sâ\80\9d: nevaljano ime varijable za referenciju imena"
 
-#: builtins/declare.def:908
+#: builtins/declare.def:856
 #, 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:914
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: nije moguće pretvoriti asocijativno u indeksirano polje"
 
-#: builtins/declare.def:943
+#: 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:149 builtins/enable.def:157
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "dinamičko učitavanje nije dostupno"
 
-#: builtins/enable.def:389
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
-msgstr "nije moguće otvoriti dijeljeni objekt %s: %s"
-
-#: builtins/enable.def:408
-#, c-format
-msgid "%s: builtin names may not contain slashes"
-msgstr ""
+msgstr "nije moguće otvoriti zajednički objekt %s: %s"
 
-#: builtins/enable.def:423
+#: builtins/enable.def:405
 #, 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:440
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: dinamički učitljiva ugrađena naredba već je učitana"
 
-#: builtins/enable.def:444
+#: builtins/enable.def:426
 #, 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:565
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: nije dinamički učitan"
 
-#: builtins/enable.def:591
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: nije moguće izbrisati: %s"
 
-#: builtins/evalfile.c:137 builtins/hash.def:190 execute_cmd.c:6114
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: je direktorij"
 
-#: builtins/evalfile.c:143
+#: builtins/evalfile.c:144
 #, c-format
 msgid "%s: not a regular file"
 msgstr "%s: nije obična datoteka"
 
-#: builtins/evalfile.c:152
+#: builtins/evalfile.c:153
 #, c-format
 msgid "%s: file is too large"
 msgstr "%s: datoteka je prevelika"
 
-#: builtins/evalfile.c:189 builtins/evalfile.c:207 execute_cmd.c:6196
-#: shell.c:1690
-#, fuzzy
-msgid "cannot execute binary file"
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
+#, c-format
+msgid "%s: cannot execute binary file"
 msgstr "%s: nije moguće izvršiti binarnu datoteku"
 
-#: builtins/evalstring.c:478
-#, fuzzy, c-format
-msgid "%s: ignoring function definition attempt"
-msgstr "greška pri uvozu definicije funkcije za „%s“"
-
-#: builtins/exec.def:157 builtins/exec.def:159 builtins/exec.def:248
-#, fuzzy
-msgid "cannot execute"
+#: builtins/exec.def:158 builtins/exec.def:160 builtins/exec.def:246
+#, c-format
+msgid "%s: cannot execute: %s"
 msgstr "%s: nije moguće izvršiti: %s"
 
-#: builtins/exit.def:61
+#: builtins/exit.def:64
 #, c-format
 msgid "logout\n"
 msgstr "odjavljen\n"
 
-#: builtins/exit.def:85
+#: builtins/exit.def:89
 msgid "not login shell: use `exit'"
-msgstr "nije prijavna ljuska; koristite â\80\9eexitâ\80\9c"
+msgstr "nije prijavna ljuska; koristite â\80\9eexitâ\80\9d"
 
 # stopped > pauzirano ili zaustavljeno
-#: builtins/exit.def:116
+#: builtins/exit.def:121
 #, c-format
 msgid "There are stopped jobs.\n"
 msgstr "Ima zaustavljenih poslova.\n"
 
-#: builtins/exit.def:118
+#: builtins/exit.def:123
 #, c-format
 msgid "There are running jobs.\n"
 msgstr "Ima pokrenutih poslova.\n"
 
-#: builtins/fc.def:284 builtins/fc.def:391 builtins/fc.def:435
+#: builtins/fc.def:275 builtins/fc.def:373 builtins/fc.def:417
 msgid "no command found"
 msgstr "nijedna naredba nije nađena"
 
-#: builtins/fc.def:381 builtins/fc.def:386 builtins/fc.def:425
-#: builtins/fc.def:430
+#: builtins/fc.def:363 builtins/fc.def:368 builtins/fc.def:407
+#: builtins/fc.def:412
 msgid "history specification"
 msgstr "specifikacija povijesti"
 
-#: builtins/fc.def:462
-#, fuzzy
-msgid "cannot open temp file"
+#: builtins/fc.def:444
+#, c-format
+msgid "%s: cannot open temp file: %s"
 msgstr "%s: Nije moguće otvoriti privremenu datoteku: %s"
 
-#: builtins/fg_bg.def:150 builtins/jobs.def:293
+#: builtins/fg_bg.def:152 builtins/jobs.def:284
 msgid "current"
 msgstr "trenutno"
 
-#: builtins/fg_bg.def:159
+#: builtins/fg_bg.def:161
 #, c-format
 msgid "job %d started without job control"
 msgstr "posao %d započet je bez upravljanja poslovima"
@@ -551,11 +515,11 @@ msgstr "%s: nelegalna opcija -- %c\n"
 msgid "%s: option requires an argument -- %c\n"
 msgstr "%s: opcija zahtijeva argument -- %c\n"
 
-#: builtins/hash.def:88
+#: builtins/hash.def:91
 msgid "hashing disabled"
 msgstr "hash-iranje (memoriranje) nije omogućeno"
 
-#: builtins/hash.def:144
+#: builtins/hash.def:139
 #, c-format
 msgid "%s: hash table empty\n"
 msgstr "%s: hash tablica je prazna\n"
@@ -582,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Ä\87i za â\80\9e%sâ\80\9c.\n"
-"PokuÅ¡ajte s â\80\9ehelp helpâ\80\9c, â\80\9eman -k %sâ\80\9c ili â\80\9einfo %sâ\80\9c."
+"Nema pomoÄ\87i za â\80\9e%sâ\80\9d.\n"
+"PokuÅ¡ajte s â\80\9ehelp helpâ\80\9d, â\80\9eman -k %sâ\80\9d ili â\80\9einfo %sâ\80\9d."
 
-#: builtins/help.def:214
-#, fuzzy
-msgid "cannot open"
-msgstr "obustava nije moguća"
+#: builtins/help.def:223
+#, c-format
+msgid "%s: cannot open: %s"
+msgstr "%s: Nije moguće otvoriti: %s"
 
-#: builtins/help.def:500
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -604,149 +567,150 @@ msgid ""
 "A star (*) next to a name means that the command is disabled.\n"
 "\n"
 msgstr ""
-"Ove bash naredbe su interno definirane. Utipkajte (bez navodnika) â\80\9ehelpâ\80\9c\n"
+"Ove bash naredbe su interno definirane. Utipkajte (bez navodnika) â\80\9ehelpâ\80\9d\n"
 "da vidite popis tih naredbi.\n"
-"Utipkajte â\80\9ehelp imeâ\80\9c za viÅ¡e uputa o naredbi â\80\9eimeâ\80\9c.\n"
-"Koristite â\80\9einfo bashâ\80\9c za detaljnije informacije i upute o ljusci.\n"
-"Koristite â\80\9eman -k ...â\80\9c ili â\80\9einfo ...â\80\9c za više podataka o ostalim naredbama.\n"
+"Utipkajte â\80\9ehelp imeâ\80\9d za viÅ¡e uputa o naredbi â\80\9eimeâ\80\9d.\n"
+"Koristite â\80\9einfo bashâ\80\9d za detaljnije informacije i upute o ljusci.\n"
+"Koristite â\80\9eman -k ...â\80\9d ili â\80\9einfo ...â\80\9d za više podataka o ostalim naredbama.\n"
 "\n"
 "Zvjezdica (*) pokraj imena znači da je naredba onemogućena.\n"
 "\n"
 
-#: builtins/history.def:162
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "moguć je samo jedan od -a, -n, -r ili -w"
 
-#: builtins/history.def:195 builtins/history.def:207 builtins/history.def:218
-#: builtins/history.def:243 builtins/history.def:250
+#: builtins/history.def:192 builtins/history.def:204 builtins/history.def:215
+#: builtins/history.def:228 builtins/history.def:240 builtins/history.def:247
 msgid "history position"
 msgstr "pozicija u povijesti"
 
-#: builtins/history.def:278
-#, fuzzy
-msgid "empty filename"
-msgstr "prazno ime varijable polja"
-
-#: builtins/history.def:280 subst.c:8215
-#, c-format
-msgid "%s: parameter null or not set"
-msgstr "%s: parametar je prazan ili nedefiniran"
-
-#: builtins/history.def:349
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: nevaljan vremenski žig"
 
-#: builtins/history.def:457
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: proširenje povijesti nije uspjelo"
 
+#: builtins/inlib.def:71
+#, c-format
+msgid "%s: inlib failed"
+msgstr "%s: „inlib” nije uspio"
+
 #: builtins/jobs.def:109
 msgid "no other options allowed with `-x'"
-msgstr "uz â\80\9e-xâ\80\9c nije dopuštena nijedna druga opcija"
+msgstr "uz â\80\9e-xâ\80\9d nije dopuštena nijedna druga opcija"
 
-#: builtins/kill.def:213
+#: builtins/kill.def:211
 #, c-format
 msgid "%s: arguments must be process or job IDs"
 msgstr "%s: argumenti moraju biti ID-ovi procesa ili ID-ovi posla"
 
-#: builtins/kill.def:275
+#: builtins/kill.def:274
 msgid "Unknown error"
 msgstr "Nepoznata greška"
 
-#: builtins/let.def:96 builtins/let.def:120 expr.c:633 expr.c:651
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "očekivan je izraz"
 
-#: builtins/mapfile.def:249 builtins/read.def:373
+#: builtins/mapfile.def:180
+#, c-format
+msgid "%s: not an indexed array"
+msgstr "%s: nije indeksirano polje"
+
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: nevaljana specifikacija deskriptora datoteke"
 
-#: builtins/mapfile.def:257 builtins/read.def:380
-#, fuzzy
-msgid "invalid file descriptor"
+#: builtins/mapfile.def:284 builtins/read.def:343
+#, c-format
+msgid "%d: invalid file descriptor: %s"
 msgstr "%d: nevaljan deskriptor datoteke: %s"
 
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: nevaljan broj (količina) redaka"
 
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: nevaljan početak polja (nevaljan indeks polja)"
 
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: nevaljana količina (redaka između poziva)"
 
-#: builtins/mapfile.def:327
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "prazno ime varijable polja"
 
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "nužna je podrška za varijable (vrsta) polje"
 
-#: builtins/printf.def:477
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
-msgstr "â\80\9e%sâ\80\9c: nedostaje znak u specifikaciji formata"
+msgstr "â\80\9e%sâ\80\9d: nema znaka za format"
 
-#: builtins/printf.def:603
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
-msgstr "„%c“: nevaljana specifikacija za format vremena"
-
-#: builtins/printf.def:705
-msgid "string length"
-msgstr ""
+msgstr "„%c”: nevaljana specifikacija za format vremena"
 
-#: builtins/printf.def:805
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
-msgstr "â\80\9e%câ\80\9c: nevaljan znak u specifikaciji formata"
+msgstr "â\80\9e%câ\80\9d: nevaljan znak u specifikaciji formata"
 
-#: builtins/printf.def:922
+#: builtins/printf.def:734
+#, c-format
+msgid "warning: %s: %s"
+msgstr "upozorenje: %s: %s"
+
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "problem s raščlanjivanjem formata: %s"
 
-#: builtins/printf.def:1107
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
-msgstr "nedostaje heksadecimalna znamenka za \\x"
+msgstr "nema heksadecimalne znamenke za \\x"
 
-#: builtins/printf.def:1122
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
-msgstr "nedostaje unikodna (unicode) znamenka za \\%c"
+msgstr "nema unicode znamenke za \\%c"
 
-#: builtins/pushd.def:198
+#: builtins/pushd.def:199
 msgid "no other directory"
 msgstr "nema drugog direktorija"
 
-#: builtins/pushd.def:358 builtins/pushd.def:383
+#: builtins/pushd.def:360
 #, c-format
 msgid "%s: invalid argument"
 msgstr "%s: nevaljan argument"
 
-#: builtins/pushd.def:501
+#: builtins/pushd.def:480
 msgid "<no current directory>"
 msgstr "<nema trenutnog direktorija>"
 
-#: builtins/pushd.def:543
+#: builtins/pushd.def:524
 msgid "directory stack empty"
 msgstr "stȏg direktorija je prazan"
 
-#: builtins/pushd.def:545
+#: builtins/pushd.def:526
 msgid "directory stack index"
 msgstr "indeks stȏga direktorija"
 
-#: builtins/pushd.def:708
+#: builtins/pushd.def:701
 msgid ""
 "Display the list of currently remembered directories.  Directories\n"
 "    find their way onto the list with the `pushd' command; you can get\n"
@@ -761,32 +725,30 @@ 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"
-"    na popis pomoÄ\87u naredbe â\80\9epushdâ\80\9c, a s naredbom â\80\9epopdâ\80\9c se uklanjaju.\n"
+"    na popis pomoÄ\87u naredbe â\80\9epushdâ\80\9d, a s naredbom â\80\9epopdâ\80\9d se uklanjaju.\n"
 "\n"
 "    Opcije:\n"
 "      -c   ukloni stȏg direktorija brisanjem svih elemenata\n"
 "      -l   ispiše apsolutne staze direktorija u odnosu na vaš vlastiti\n"
 "             direktorij (ne skraćuje staze upotrebom tilde)\n"
 "      -p   ispiše sadržaj stȏga po jedan direktorij po retku\n"
-"      -v   kao â\80\9e-pâ\80\9c, ali s prefiksom koji pokazuje\n"
+"      -v   kao â\80\9e-pâ\80\9d, ali s prefiksom koji pokazuje\n"
 "             poziciju direktorija u stȏgu\n"
 "\n"
 "    Argumenti:\n"
 "      +N   Pokaže N-ti direktorij iz stȏga, brojeći od od nule s\n"
-"             lijeve strane popisa kad se â\80\9edirsâ\80\9c pokrene bez opcija.\n"
+"             lijeve strane popisa kad se â\80\9edirsâ\80\9d pokrene bez opcija.\n"
 "      -N   Pokaže N-ti direktorij iz stȏga, brojeći od nule s\n"
-"             desne strane popisa kad se â\80\9edirsâ\80\9c pokrene bez opcija."
+"             desne strane popisa kad se â\80\9edirsâ\80\9d pokrene bez opcija."
 
-#: builtins/pushd.def:730
+#: builtins/pushd.def:723
 msgid ""
 "Adds a directory to the top of the directory stack, or rotates\n"
 "    the stack, making the new top of the stack the current working\n"
@@ -819,20 +781,16 @@ 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 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   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"
-"      Naredba â\80\9edirsâ\80\9c prikaže trenutni sadržaj stȏga direktorija."
+"      Naredba â\80\9edirsâ\80\9d prikaže trenutni sadržaj stȏga direktorija."
 
-#: builtins/pushd.def:755
+#: builtins/pushd.def:748
 msgid ""
 "Removes entries from the directory stack.  With no arguments, removes\n"
 "    the top directory from the stack, and changes to the new top directory.\n"
@@ -853,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"
@@ -863,358 +820,344 @@ msgstr ""
 "\n"
 "    Argumenti:\n"
 "      +N   Ukloni da N-ti direktorij iz stȏga brojeći od nule s lijeve\n"
-"           strane popisa pokazanog s â\80\9edirsâ\80\9c. Na primjer: â\80\9epopd +0â\80\9c\n"
-"           ukloni prvi, a â\80\9epopd +1â\80\9c ukloni drugi direktorij.\n"
+"           strane popisa pokazanog s â\80\9edirsâ\80\9d. Na primjer: â\80\9epopd +0â\80\9d\n"
+"           ukloni prvi, a â\80\9epopd +1â\80\9d ukloni drugi direktorij.\n"
 "      +N   Ukloni da N-ti direktorij iz stȏga brojeći od nule s desne\n"
-"           strane popisa pokazanog s â\80\9edirsâ\80\9c. Na primjer.: â\80\9epopd -0â\80\9c\n"
-"           ukloni zadnji, a â\80\9epopd -1â\80\9c ukloni predzadnji direktorij.\n"
+"           strane popisa pokazanog s â\80\9edirsâ\80\9d. Na primjer.: â\80\9epopd -0â\80\9d\n"
+"           ukloni zadnji, a â\80\9epopd -1â\80\9d ukloni predzadnji direktorij.\n"
 "\n"
-"    Naredba â\80\9edirsâ\80\9c prikaže trenutni sadržaj stȏga direktorija."
+"    Naredba â\80\9edirsâ\80\9d prikaže trenutni sadržaj stȏga direktorija."
 
-#: builtins/read.def:346
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: nevaljana specifikacija za istek vremena (timeout)"
 
-#: builtins/read.def:909
-#, fuzzy
-msgid "read error"
+#: builtins/read.def:827
+#, c-format
+msgid "read error: %d: %s"
 msgstr "greška čitanja: %d: %s"
 
-#: builtins/return.def:73
+#: 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:863
+#: 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:981
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: nije varijabla (vrste) polja"
 
-#: builtins/setattr.def:187
+#: builtins/setattr.def:189
 #, c-format
 msgid "%s: not a function"
 msgstr "%s: nije funkcija"
 
-#: builtins/setattr.def:192
+#: builtins/setattr.def:194
 #, c-format
 msgid "%s: cannot export"
 msgstr "%s: Nije moguće izvesti (export)"
 
-#: builtins/shift.def:74 builtins/shift.def:86
+#: builtins/shift.def:72 builtins/shift.def:79
 msgid "shift count"
 msgstr "broj (veličina) pomaka"
 
-#: builtins/shopt.def:332
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "nije moguće istovremeno postaviti i poništiti opcije ljuske"
 
-#: builtins/shopt.def:457
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: nevaljano ime za opciju ljuske"
 
-#: builtins/source.def:143
+#: builtins/source.def:128
 msgid "filename argument required"
 msgstr "ime datoteke je nužno kao argument"
 
-#: builtins/source.def:179
+#: builtins/source.def:154
 #, c-format
 msgid "%s: file not found"
 msgstr "%s: datoteka nije pronađena"
 
-#: builtins/suspend.def:105
+#: builtins/suspend.def:102
 msgid "cannot suspend"
 msgstr "obustava nije moguća"
 
-#: builtins/suspend.def:111
+#: builtins/suspend.def:112
 msgid "cannot suspend a login shell"
 msgstr "nije moguće obustaviti prijavnu ljusku"
 
-#: builtins/test.def:146 test.c:926
-msgid "missing `]'"
-msgstr "nedostaje „]“"
-
-#: builtins/type.def:231
+#: builtins/type.def:235
 #, c-format
 msgid "%s is aliased to `%s'\n"
-msgstr "%s je alias za â\80\9e%sâ\80\9c\n"
+msgstr "%s je alias za â\80\9e%sâ\80\9d\n"
 
-#: builtins/type.def:252
+#: builtins/type.def:256
 #, c-format
 msgid "%s is a shell keyword\n"
 msgstr "%s je ključna riječ ljuske\n"
 
-#: builtins/type.def:270 builtins/type.def:314
-#, c-format
-msgid "%s is a special shell builtin\n"
-msgstr "%s je specijalna ugrađena funkcija ljuske\n"
-
-#: builtins/type.def:289
+#: builtins/type.def:275
 #, c-format
 msgid "%s is a function\n"
 msgstr "%s je funkcija\n"
 
-#: builtins/type.def:316
+#: builtins/type.def:299
+#, c-format
+msgid "%s is a special shell builtin\n"
+msgstr "%s je specijalna ugrađena funkcija ljuske\n"
+
+#: builtins/type.def:301
 #, c-format
 msgid "%s is a shell builtin\n"
 msgstr "%s je ugrađena funkcija ljuske\n"
 
-#: builtins/type.def:338 builtins/type.def:425
+#: builtins/type.def:323 builtins/type.def:408
 #, c-format
 msgid "%s is %s\n"
 msgstr "%s je %s\n"
 
-#: builtins/type.def:358
+#: builtins/type.def:343
 #, c-format
 msgid "%s is hashed (%s)\n"
 msgstr "%s je zapamćen (hashed) (%s)\n"
 
-#: builtins/ulimit.def:401
+#: builtins/ulimit.def:400
 #, c-format
 msgid "%s: invalid limit argument"
 msgstr "%s: nevaljan argument za ograničenje"
 
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:426
 #, c-format
 msgid "`%c': bad command"
-msgstr "â\80\9e%câ\80\9c: loša naredba"
+msgstr "â\80\9e%câ\80\9d: loša naredba"
 
-#: builtins/ulimit.def:463 builtins/ulimit.def:733
-#, fuzzy
-msgid "cannot get limit"
+#: builtins/ulimit.def:464
+#, c-format
+msgid "%s: cannot get limit: %s"
 msgstr "%s: nije moguće odrediti vrijednost ograničenja: %s"
 
-#: builtins/ulimit.def:496
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "ograničenje"
 
-#: builtins/ulimit.def:509 builtins/ulimit.def:797
-#, fuzzy
-msgid "cannot modify limit"
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
+#, c-format
+msgid "%s: cannot modify limit: %s"
 msgstr "%s: nije moguće promijeniti ograničenja: %s"
 
-#: builtins/umask.def:114
+#: builtins/umask.def:115
 msgid "octal number"
 msgstr "oktalni broj"
 
-#: builtins/umask.def:256
+#: builtins/umask.def:232
 #, c-format
 msgid "`%c': invalid symbolic mode operator"
-msgstr "â\80\9e%câ\80\9c: nevaljan operator u simboličnom načinu"
+msgstr "â\80\9e%câ\80\9d: nevaljan operator u simboličnom načinu"
 
-#: builtins/umask.def:341
+#: builtins/umask.def:287
 #, c-format
 msgid "`%c': invalid symbolic mode character"
-msgstr "â\80\9e%câ\80\9c: nevaljan znak u simboličnom načinu"
+msgstr "â\80\9e%câ\80\9d: nevaljan znak u simboličnom načinu"
 
-#: error.c:83 error.c:311 error.c:313 error.c:315
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " redak "
 
-#: error.c:151
+#: error.c:164
 #, c-format
 msgid "last command: %s\n"
 msgstr "zadnja naredba: %s\n"
 
-#: error.c:159
+#: error.c:172
 #, c-format
 msgid "Aborting..."
 msgstr "Prekidamo..."
 
 #. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:244
+#: error.c:287
 #, c-format
 msgid "INFORM: "
 msgstr "informacija: "
 
-#: error.c:261
+#: error.c:310
 #, c-format
 msgid "DEBUG warning: "
 msgstr "Dijagnostičko upozorenje: "
 
-#: error.c:413
+#: error.c:488
 msgid "unknown command error"
 msgstr "nepoznata greška naredbe"
 
-#: error.c:414
+#: error.c:489
 msgid "bad command type"
 msgstr "loš tip naredbe"
 
-#: error.c:415
+#: error.c:490
 msgid "bad connector"
 msgstr "loš konektor"
 
-#: error.c:416
+#: error.c:491
 msgid "bad jump"
 msgstr "loš skok"
 
-#: error.c:449
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: nevezana varijabla"
 
-#: eval.c:256
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
-msgstr ""
-"\atimed out, čekanje na ulaz je isteklo: auto-logout, automatska-odjava\n"
+msgstr "\atimed out, čekanje na ulaz je isteklo: auto-logout, automatska-odjava\n"
 
-#: execute_cmd.c:606
-#, fuzzy
-msgid "cannot redirect standard input from /dev/null"
+#: execute_cmd.c:555
+#, 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:1404
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
-msgstr "TIMEFORMAT: â\80\9e%câ\80\9c: nevaljan znak za format"
+msgstr "TIMEFORMAT: â\80\9e%câ\80\9d: nevaljan znak za format"
 
-#: execute_cmd.c:2485
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc(): coproc [%d:%s] još uvijek postoji"
 
-#: execute_cmd.c:2639
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "greška cijevi"
 
-#: execute_cmd.c:4092
-#, c-format
-msgid "invalid regular expression `%s': %s"
-msgstr ""
-
-#: execute_cmd.c:4094
-#, c-format
-msgid "invalid regular expression `%s'"
-msgstr ""
-
-#: execute_cmd.c:5048
+#: execute_cmd.c:4923
 #, 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:5061
+#: execute_cmd.c:4935
 #, 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:5190
+#: execute_cmd.c:5043
 #, 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:5728
-#, fuzzy
-msgid "command not found"
-msgstr "%s: naredba nije pronađena"
-
-#: execute_cmd.c:5757
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
-msgstr "%s: ograniÄ\8denje : znak â\80\9e\80\9c nije dopušten u imenima naredba"
+msgstr "%s: ograniÄ\8denje : znak â\80\9e\80\9d nije dopušten u imenima naredba"
 
-#: execute_cmd.c:6150
-#, fuzzy
-msgid "bad interpreter"
-msgstr "%s: %s: loš interpreter"
+#: execute_cmd.c:5715
+#, c-format
+msgid "%s: command not found"
+msgstr "%s: naredba nije pronađena"
 
-#: execute_cmd.c:6159
+#: execute_cmd.c:5957
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: execute_cmd.c:5975
 #, c-format
 msgid "%s: cannot execute: required file not found"
 msgstr "%s: nije moguće izvršiti: potrebna datoteka nije nađena"
 
-#: execute_cmd.c:6335
+#: execute_cmd.c:6000
+#, c-format
+msgid "%s: %s: bad interpreter"
+msgstr "%s: %s: loš interpreter"
+
+#: execute_cmd.c:6037
+#, c-format
+msgid "%s: cannot execute binary file: %s"
+msgstr "%s: binarnu datoteku %s nije moguće pokrenuti/izvršiti"
+
+#: execute_cmd.c:6123
+#, c-format
+msgid "`%s': is a special builtin"
+msgstr "„%s” je specijalna funkcija ugrađena u ljusku"
+
+#: execute_cmd.c:6175
 #, 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:265
+#: expr.c:263
 msgid "expression recursion level exceeded"
 msgstr "prekoračena je dopuštena razina rekurzija izraza"
 
-#: expr.c:293
+#: expr.c:291
 msgid "recursion stack underflow"
 msgstr "podlijevanje stȏga rekurzija (prazni stȏg)"
 
-#: expr.c:471
-#, fuzzy
-msgid "arithmetic syntax error in expression"
+#: expr.c:478
+msgid "syntax error in expression"
 msgstr "sintaktička greška u izrazu"
 
-#: expr.c:515
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "pokušaj dodjeljivanja ne-varijabli (objektu koji nije varijabla)"
 
-#: expr.c:524
-#, fuzzy
-msgid "arithmetic syntax error in variable assignment"
+#: expr.c:531
+msgid "syntax error in variable assignment"
 msgstr "sintaktička greška u dodjeljivanju varijabli"
 
-#: expr.c:538 expr.c:905
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "dijeljenje s 0"
 
-#: expr.c:586
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "**interna greška** : loš simbol u izrazu za dodjelu"
 
-#: expr.c:640
+#: expr.c:647
 msgid "`:' expected for conditional expression"
-msgstr "znak â\80\9e\80\9c je nužan u uvjetnom izrazu"
+msgstr "znak â\80\9e\80\9d je nužan u uvjetnom izrazu"
 
-#: expr.c:967
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "eksponent je manji od 0"
 
-#: expr.c:1028
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "očekivalo se ime nakon pre-increment ili pre-decrement"
 
-#: expr.c:1055
+#: expr.c:1057
 msgid "missing `)'"
-msgstr "nedostaje „)“"
+msgstr "nema „)”"
 
-#: expr.c:1106 expr.c:1489
-#, fuzzy
-msgid "arithmetic syntax error: operand expected"
+#: expr.c:1108 expr.c:1492
+msgid "syntax error: operand expected"
 msgstr "sintaktička greška: očekivan je operand"
 
-#: expr.c:1450 expr.c:1471
-msgid "--: assignment requires lvalue"
-msgstr ""
-
-#: expr.c:1452 expr.c:1473
-msgid "++: assignment requires lvalue"
-msgstr ""
-
-#: expr.c:1491
-#, fuzzy
-msgid "arithmetic syntax error: invalid arithmetic operator"
+#: expr.c:1494
+msgid "syntax error: invalid arithmetic operator"
 msgstr "sintaktička greška: nevaljan aritmetički operator"
 
-#: expr.c:1514
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
-msgstr "%s%s%s: %s (simbol greÅ¡ke je â\80\9e%sâ\80\9c)"
+msgstr "%s%s%s: %s (simbol greÅ¡ke je â\80\9e%sâ\80\9d)"
 
-#: expr.c:1577
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "nevaljana aritmetička baza"
 
-#: expr.c:1586
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "%s: nevaljana cijelo brojna (integer) konstanta"
 
-#: expr.c:1602
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "vrijednost baze je prevelika"
 
-#: expr.c:1653
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: greška u izrazu\n"
@@ -1223,197 +1166,186 @@ msgstr "%s: greška u izrazu\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd(): nije moguće pristupiti nadređenim direktorijima"
 
-#: general.c:459
-#, c-format
-msgid "`%s': is a special builtin"
-msgstr "„%s“ je specijalna funkcija ugrađena u ljusku"
-
-#: input.c:98 subst.c:6540
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "nije moguće onemogućiti „nodelay” način za deskriptor datoteke %d"
 
-#: input.c:254
+#: 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:262
+#: 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:549
+#: jobs.c:543
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline(): pgrp pipe (procesna skupina cijevi)"
 
-#: jobs.c:910
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: PETLJA: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:962
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: PETLJA: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1380
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "račvani PID %d pripada tekućem poslu %d"
 
-#: jobs.c:1496
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "uklanjamo zaustavljeni posao %d sa skupinom procesa %ld"
 
-#: jobs.c:1620
+#: jobs.c:1502
 #, 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:1949
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid(): %ld: PID ne postoji"
 
-#: jobs.c:1963
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Signal %d"
 
-#: jobs.c:1974 jobs.c:2000
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Gotovo"
 
-#: jobs.c:1979 siglist.c:123
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Zaustavljeno"
 
-#: jobs.c:1983
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Zaustavljeno(%s)"
 
-#: jobs.c:1987
+#: jobs.c:1881
 msgid "Running"
 msgstr "Pokrenuto"
 
-#: jobs.c:2004
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Gotovo(%d)"
 
-#: jobs.c:2006
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Izlaz %d"
 
-#: jobs.c:2009
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Nepoznata izlazna vrijednost (izlazni kȏd)Nepoznato"
 
-#: jobs.c:2105
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(ispis memorije je spremljen!) "
 
-#: jobs.c:2124
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2391
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "promijeni skupinu potomka (% ld u% ld)"
 
-#: jobs.c:2753 nojobs.c:640
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: PID %ld nije potomak ove ljuske"
 
-#: jobs.c:3049
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: proces %ld nije nigdje registriran"
 
-#: jobs.c:3407
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: posao %d je zaustavljen"
 
-#: jobs.c:3835
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: nema tekućih poslova"
 
-#: jobs.c:3842
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: posao je završen"
 
-#: jobs.c:3851
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: posao %d je već u pozadini"
 
-#: jobs.c:4089
+#: jobs.c:3793
 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:4638
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: redak %d: "
 
-#: jobs.c:4654 nojobs.c:895
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (ispis memorije je spremljen!)"
 
-#: jobs.c:4674 jobs.c:4694
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(radni direktorij je sada: %s)\n"
 
-#: jobs.c:4738
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp() nije uspješna"
 
-#: jobs.c:4794
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: nema upravljanja poslom u pozadini"
 
-#: jobs.c:4810
+#: jobs.c:4450
 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:4820
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid()"
 
-#: jobs.c:4841 jobs.c:4850
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "nije moguće postaviti procesnu skupinu (%d) terminala"
 
-#: jobs.c:4855
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "nema upravljanja poslom u ovoj ljusci"
 
-#: lib/malloc/malloc.c:364
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc(): neuspješni kontrolni test: %s\n"
 
-#: lib/malloc/malloc.c:375
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1422,396 +1354,378 @@ msgstr ""
 "\r\n"
 "malloc(): %s:%d: loše provedeni kontrolni test\r\n"
 
-#: lib/malloc/malloc.c:376 lib/malloc/malloc.c:925
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "nepoznato"
 
-#: lib/malloc/malloc.c:876
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc(): zauzeti blok na popisu slobodnih blokova"
 
-#: lib/malloc/malloc.c:961
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free(): pozvana s argumentom bloka koji je već slobodan"
 
-#: lib/malloc/malloc.c:964
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free(): pozvana s argumentom bloka koji se ne koristi"
 
-#: lib/malloc/malloc.c:982
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free(): otkriveno je podlijevanje, mh_nbytes izvan raspona"
 
-#: lib/malloc/malloc.c:988
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free(): otkriveno je podlijevanje; magic8 je oštećen"
 
-#: lib/malloc/malloc.c:995
+#: lib/malloc/malloc.c:1014
 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:1155
+#: lib/malloc/malloc.c:1176
 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:1170
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc(): otkriveno je podlijevanje, mh_nbytes izvan raspona"
 
-#: lib/malloc/malloc.c:1176
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc(): otkriveno je podlijevanje; magic8 je oštećen"
 
-#: lib/malloc/malloc.c:1184
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc(): veličine početnog i zaključnog (dijela) bloka su različite"
 
-#: lib/malloc/table.c:179
+#: lib/malloc/table.c:191
 #, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
 msgstr "register_alloc(): rezervacijska tablica je popunjena s FIND_ALLOC??\n"
 
-#: lib/malloc/table.c:188
+#: lib/malloc/table.c:200
 #, c-format
 msgid "register_alloc: %p already in table as allocated?\n"
 msgstr "register_alloc(): %p je već rezerviran u tablici??\n"
 
-#: lib/malloc/table.c:237
+#: lib/malloc/table.c:253
 #, c-format
 msgid "register_free: %p already in table as free?\n"
 msgstr "register_free(): %p je već slobodan u tablici??\n"
 
-#: lib/sh/fmtulong.c:90
+#: lib/sh/fmtulong.c:102
 msgid "invalid base"
 msgstr "nevaljana baza"
 
-#: lib/sh/netopen.c:161
+#: lib/sh/netopen.c:168
 #, c-format
 msgid "%s: host unknown"
 msgstr "%s: nepoznati host"
 
-#: lib/sh/netopen.c:168
+#: lib/sh/netopen.c:175
 #, c-format
 msgid "%s: invalid service"
 msgstr "%s: nevaljana usluga"
 
-#: lib/sh/netopen.c:294
+#: lib/sh/netopen.c:306
 #, c-format
 msgid "%s: bad network path specification"
 msgstr "%s: loša specifikacija za mrežnu stazu"
 
-#: lib/sh/netopen.c:332
+#: lib/sh/netopen.c:347
 msgid "network operations not supported"
 msgstr "mrežne operacije nisu podržane"
 
-#: locale.c:226 locale.c:228 locale.c:301 locale.c:303
-#, fuzzy
-msgid "cannot change locale"
+#: locale.c:219
+#, 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
+#, 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
+#, c-format
+msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale(): %s: nije moguće promijeniti jezično područje (%s)"
 
-#: mailcheck.c:435
+#: locale.c:296
+#, c-format
+msgid "setlocale: %s: cannot change locale (%s): %s"
+msgstr "setlocale(): %s: nije moguće promijeniti jezično područje (%s): %s"
+
+#: mailcheck.c:439
 msgid "You have mail in $_"
 msgstr "Imate poštu u $_"
 
-#: mailcheck.c:460
+#: mailcheck.c:464
 msgid "You have new mail in $_"
 msgstr "Imate novu poštu u $_"
 
-#: mailcheck.c:476
+#: mailcheck.c:480
 #, c-format
 msgid "The mail in %s has been read\n"
 msgstr "Pošta u %s je već pročitana\n"
 
-#: make_cmd.c:286
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "sintaktička greška: nužan je aritmetički izraz"
 
-#: make_cmd.c:288
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
-msgstr "sintaktiÄ\8dka greÅ¡ka: neoÄ\8dekivan â\80\9e\80\9c znak"
+msgstr "sintaktiÄ\8dka greÅ¡ka: neoÄ\8dekivan â\80\9e\80\9d znak"
 
-#: make_cmd.c:289
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
-msgstr "sintaktiÄ\8dka greÅ¡ka: â\80\9e((%s))â\80\9c"
+msgstr "sintaktiÄ\8dka greÅ¡ka: â\80\9e((%s))â\80\9d"
 
-#: make_cmd.c:523
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document(): loš tip instrukcije %d"
 
-#: make_cmd.c:627
+#: make_cmd.c:668
 #, 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:722
+#: make_cmd.c:769
 #, 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:2572
+#: parse.y:2428
 #, 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:2864
-#, fuzzy
-msgid "script file read error"
-msgstr "greška pisanja: %s"
-
-#: parse.y:3101
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "maksimalna broj (količina) here-document-a je premašena"
 
-#: parse.y:3901 parse.y:4799 parse.y:6853
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
-msgstr "neoÄ\8dekivan kraj-datoteke (EOF) pri traženju odgovarajuÄ\87eg â\80\9e%câ\80\9c"
+msgstr "neoÄ\8dekivan kraj-datoteke (EOF) pri traženju odgovarajuÄ\87eg â\80\9e%câ\80\9d"
 
-#: parse.y:5006
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
-msgstr "neoÄ\8dekivan kraj datoteke (EOF) pri traženju â\80\9e]]â\80\9c"
+msgstr "neoÄ\8dekivan kraj datoteke (EOF) pri traženju â\80\9e]]â\80\9d"
 
-#: parse.y:5011
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr "sintaktiÄ\8dka greÅ¡ka u uvjetnom izrazu: neoÄ\8dekivan simbol â\80\9e%sâ\80\9c"
+msgstr "sintaktiÄ\8dka greÅ¡ka u uvjetnom izrazu: neoÄ\8dekivan simbol â\80\9e%sâ\80\9d"
 
-#: parse.y:5015
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "sintaktička greška u uvjetnom izrazu"
 
-#: parse.y:5093
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
-msgstr "neoÄ\8dekivan simbol â\80\9e%sâ\80\9c; oÄ\8dekivana je â\80\9e\80\9c"
+msgstr "neoÄ\8dekivan simbol â\80\9e%sâ\80\9d; oÄ\8dekivana je â\80\9e\80\9d"
 
-#: parse.y:5097
+#: parse.y:4543
 msgid "expected `)'"
-msgstr "oÄ\8dekivana je â\80\9e\80\9c"
+msgstr "oÄ\8dekivana je â\80\9e\80\9d"
 
-#: parse.y:5127
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
-msgstr "neoÄ\8dekivan argument â\80\9e%sâ\80\9c za uvjetni unarni operator"
+msgstr "neoÄ\8dekivan argument â\80\9e%sâ\80\9d za uvjetni unarni operator"
 
-#: parse.y:5131
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "neočekivan argument za uvjetni unarni operator"
 
-#: parse.y:5178
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
-msgstr "neoÄ\8dekivani simbol â\80\9e%sâ\80\9c; očekivan je uvjetni binarni operator"
+msgstr "neoÄ\8dekivani simbol â\80\9e%sâ\80\9d; očekivan je uvjetni binarni operator"
 
-#: parse.y:5182
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "očekivan je uvjetni binarni operator"
 
-#: parse.y:5211
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
-msgstr "neoÄ\8dekivan argument â\80\9e%sâ\80\9c uvjetnom binarnom operatoru"
+msgstr "neoÄ\8dekivan argument â\80\9e%sâ\80\9d uvjetnom binarnom operatoru"
 
-#: parse.y:5215
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "neočekivan argument uvjetnom binarnom operatoru"
 
-#: parse.y:5226
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
-msgstr "neoÄ\8dekivan simbol â\80\9e%câ\80\9c u uvjetnoj naredbi"
+msgstr "neoÄ\8dekivan simbol â\80\9e%câ\80\9d u uvjetnoj naredbi"
 
-#: parse.y:5229
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
-msgstr "neoÄ\8dekivan simbol â\80\9e%sâ\80\9c u uvjetnoj naredbi"
+msgstr "neoÄ\8dekivan simbol â\80\9e%sâ\80\9d u uvjetnoj naredbi"
 
-#: parse.y:5233
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "neočekivan simbol %d u uvjetnoj naredbi"
 
-#: parse.y:6821
-#, fuzzy, c-format
-msgid "syntax error near unexpected token `%s' while looking for matching `%c'"
-msgstr "neočekivan kraj-datoteke (EOF) pri traženju odgovarajućeg „%c“"
-
-#: parse.y:6823
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
-msgstr "sintaktiÄ\8dka greÅ¡ka blizu neoÄ\8dekivanog simbola â\80\9e%sâ\80\9c"
+msgstr "sintaktiÄ\8dka greÅ¡ka blizu neoÄ\8dekivanog simbola â\80\9e%sâ\80\9d"
 
-#: parse.y:6842
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
-msgstr "sintaktiÄ\8dka greÅ¡ka blizu â\80\9e%sâ\80\9c"
+msgstr "sintaktiÄ\8dka greÅ¡ka blizu â\80\9e%sâ\80\9d"
 
-#: parse.y:6861
-#, fuzzy, c-format
-msgid "syntax error: unexpected end of file from `%s' command on line %d"
-msgstr "sintaktička greška: neočekivani kraj datoteke"
-
-#: parse.y:6863
-#, fuzzy, c-format
-msgid "syntax error: unexpected end of file from command on line %d"
-msgstr "sintaktička greška: neočekivani kraj datoteke"
-
-#: parse.y:6867
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "sintaktička greška: neočekivani kraj datoteke"
 
-#: parse.y:6867
+#: parse.y:6151
 msgid "syntax error"
 msgstr "sintaktička greška"
 
-#: parse.y:6916
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Koristite \"%s\" za izlaz iz ljuske.\n"
 
-#: parse.y:7114
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
-msgstr "neoÄ\8dekivani kraj datoteke pri traženju odgovarajuÄ\87e â\80\9e\80\9c"
+msgstr "neoÄ\8dekivani kraj datoteke pri traženju odgovarajuÄ\87e â\80\9e\80\9d"
 
-#: pathexp.c:897
-#, fuzzy
-msgid "invalid glob sort type"
-msgstr "nevaljana baza"
-
-#: pcomplete.c:1070
+#: pcomplete.c:1132
 #, c-format
 msgid "completion: function `%s' not found"
-msgstr "completion(): funkcija â\80\9e%sâ\80\9c nije pronađena"
+msgstr "completion(): funkcija â\80\9e%sâ\80\9d nije pronađena"
 
-#: pcomplete.c:1654
+#: pcomplete.c:1722
 #, c-format
 msgid "programmable_completion: %s: possible retry loop"
 msgstr "programmable_completion(): %s: moguća ponovljena petlja"
 
-#: pcomplib.c:176
+#: pcomplib.c:182
 #, c-format
 msgid "progcomp_insert: %s: NULL COMPSPEC"
 msgstr "progcomp_insert(): %s: prazni COMPSPEC"
 
-#: print_cmd.c:324
+#: print_cmd.c:302
 #, c-format
 msgid "print_command: bad connector `%d'"
-msgstr "print_command(): loÅ¡ konektor â\80\9e%dâ\80\9c"
+msgstr "print_command(): loÅ¡ konektor â\80\9e%dâ\80\9d"
 
-#: print_cmd.c:399
+#: print_cmd.c:375
 #, c-format
 msgid "xtrace_set: %d: invalid file descriptor"
 msgstr "xtrace_set(): %d: nevaljan deskriptor datoteke"
 
-#: print_cmd.c:404
+#: print_cmd.c:380
 msgid "xtrace_set: NULL file pointer"
 msgstr "xtrace_set(): pointer datoteke je NULL"
 
-#: print_cmd.c:408
+#: 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:1597
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
-msgstr "cprintf(): â\80\9e%câ\80\9c: nevaljan znak za format"
+msgstr "cprintf(): â\80\9e%câ\80\9d: nevaljan znak za format"
 
-#: redir.c:145 redir.c:193
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "deskriptor datoteke je izvan raspona"
 
-#: redir.c:200
-#, fuzzy
-msgid "ambiguous redirect"
+#: redir.c:205
+#, c-format
+msgid "%s: ambiguous redirect"
 msgstr "%s: dvosmisleno preusmjeravanje"
 
-#: redir.c:204
-#, fuzzy
-msgid "cannot overwrite existing file"
+#: redir.c:209
+#, c-format
+msgid "%s: cannot overwrite existing file"
 msgstr "%s: nije moguće pisati preko postojeće datoteke"
 
-#: redir.c:209
-#, fuzzy
-msgid "restricted: cannot redirect output"
+#: redir.c:214
+#, c-format
+msgid "%s: restricted: cannot redirect output"
 msgstr "%s: ograničeno: nije moguće preusmjeriti izlaz"
 
-#: redir.c:214
-#, fuzzy
-msgid "cannot create temp file for here-document"
+#: redir.c:219
+#, c-format
+msgid "cannot create temp file for here-document: %s"
 msgstr "nije moguće stvoriti privremenu datoteku za here-document: %s"
 
-#: redir.c:218
-#, fuzzy
-msgid "cannot assign fd to variable"
+#: redir.c:223
+#, c-format
+msgid "%s: cannot assign fd to variable"
 msgstr "%s: nije moguće dodijeliti deskriptor datoteke varijabli"
 
-#: redir.c:633
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port nije podržan bez umrežavanja"
 
-#: redir.c:937 redir.c:1051 redir.c:1109 redir.c:1273
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "greška  preusmjeravanja: nije moguće duplicirati deskriptor datoteke"
 
-#: shell.c:359
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "nije moguće pronaći /tmp; stvorite taj direktorij!"
 
-#: shell.c:363
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp mora biti valjano ime direktorija"
 
-#: shell.c:827
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "u interaktivnoj ljusci pretty-printing se zanemaruje"
 
-#: shell.c:969
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: nevaljana opcija"
 
-#: shell.c:1357
+#: shell.c:1343
 #, 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:1373
+#: shell.c:1354
 #, 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:1562
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "nije moguće pokrenuti debugger; dijagnostika je onemogućena"
 
-#: shell.c:1675
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: Je direktorij"
 
-#: shell.c:1891
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Nemam ime!"
 
-#: shell.c:2055
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, inačica %s-(%s)\n"
 
-#: shell.c:2056
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1820,54 +1734,51 @@ msgstr ""
 "Uporaba: %s [GNU duga opcija] [opcija]...\n"
 "         %s [GNU duga opcija] [opcija] skripta...\n"
 
-#: shell.c:2058
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "GNU duge opcije:\n"
 
-#: shell.c:2062
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Kratke opcije:\n"
 
-#: shell.c:2063
+#: shell.c:2069
 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:2082
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s ili -o opcija  (može se promijeniti sa „set”)\n"
 
-#: shell.c:2088
+#: shell.c:2094
 #, 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:2089
+#: shell.c:2095
 #, 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:2090
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
-msgstr "Koristite naredbu â\80\9ebashbugâ\80\9c za prijavljivanje grešaka.\n"
+msgstr "Koristite naredbu â\80\9ebashbugâ\80\9d za prijavljivanje grešaka.\n"
 
-#: shell.c:2092
+#: shell.c:2098
 #, 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:2093
+#: shell.c:2099
 #, 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:808
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask(): %d: nevaljana operacija"
@@ -2037,309 +1948,284 @@ msgstr "Zahtjev za informacijama"
 msgid "Unknown Signal #%d"
 msgstr "Nepoznati signal #%d"
 
-#: subst.c:1501 subst.c:1793 subst.c:1999
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
-msgstr "loÅ¡a supstitucija: nema zakljuÄ\8dnog â\80\9e%sâ\80\9c u %s"
+msgstr "loÅ¡a supstitucija: nema zakljuÄ\8dnog â\80\9e%sâ\80\9d u %s"
 
-#: subst.c:3599
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: nije moguće dodijeliti popis elementu polja"
 
-#: subst.c:6379 subst.c:6395
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "nije moguće napraviti cijev za zamjenu procesa"
 
-#: subst.c:6455
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "nije moguće napraviti potomka za zamjenu procesa"
 
-#: subst.c:6530
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "nije moguće otvoriti imenovanu cijev %s za čitanje"
 
-#: subst.c:6532
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "nije moguće otvoriti imenovanu cijev %s za pisanje"
 
-#: subst.c:6555
+#: subst.c:6223
 #, 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:6721
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "nevaljana supstitucija: zanemaren prazni (nula) bajt u ulazu"
 
-#: subst.c:6960
-msgid "function_substitute: cannot open anonymous file for output"
-msgstr ""
-
-#: subst.c:7034
-#, fuzzy
-msgid "function_substitute: cannot duplicate anonymous file as standard output"
-msgstr ""
-"command_substitute(): nije moguće duplicirati cijev kao deskriptor datoteke 1"
-
-#: subst.c:7208 subst.c:7229
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "nije moguće napraviti cijev za zamjenu naredbi"
 
-#: subst.c:7280
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "nije moguće napraviti potomka za zamjenu naredbi"
 
-#: subst.c:7313
+#: subst.c:6613
 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:7802 subst.c:10978
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: nevaljano ime varijable za ime referencije"
 
-#: subst.c:7895 subst.c:7913 subst.c:8089
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: nevaljana neizravna ekspanzija"
 
-#: subst.c:7929 subst.c:8097
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
-msgstr "â\80\9e%sâ\80\9c: nevaljano ime varijable"
+msgstr "â\80\9e%sâ\80\9d: nevaljano ime varijable"
 
-#: subst.c:8114 subst.c:10260 subst.c:10287
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: loša supstitucija"
-
-#: subst.c:8213
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parametar nije postavljen"
 
-#: subst.c:8469 subst.c:8484
+#: subst.c:7480
+#, c-format
+msgid "%s: parameter null or not set"
+msgstr "%s: parametar je prazan ili nedefiniran"
+
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: rezultat od dijela stringa (substring) < 0"
 
-#: subst.c:10386
+#: subst.c:9560 subst.c:9587
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: loša supstitucija"
+
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: nije moguće dodijeliti na ovaj način"
 
-#: subst.c:10844
-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: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:11552
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "loša supstitucija: nema zaključnog znaka \"`\" u %s"
 
-#: subst.c:12626
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "nema podudaranja: %s"
 
-#: test.c:156
+#: test.c:147
 msgid "argument expected"
 msgstr "očekivan je argument"
 
-#: test.c:164
-#, fuzzy, c-format
-msgid "%s: integer expected"
+#: test.c:156
+#, c-format
+msgid "%s: integer expression expected"
 msgstr "%s: očekivan je cjelobrojni izraz"
 
-#: test.c:292
+#: test.c:265
 msgid "`)' expected"
-msgstr "oÄ\8dekivana je â\80\9e\80\9c"
+msgstr "oÄ\8dekivana je â\80\9e\80\9d"
 
-#: test.c:294
+#: test.c:267
 #, c-format
 msgid "`)' expected, found %s"
-msgstr "oÄ\8dekivana je â\80\9e\80\9c, a nađen je %s"
+msgstr "oÄ\8dekivana je â\80\9e\80\9d, a nađen je %s"
 
-#: test.c:488 test.c:831
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: očekivan je binarni operator"
 
-#: test.c:792 test.c:795
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: očekivan je unarni operator"
 
-#: test.c:944
+#: test.c:896
+msgid "missing `]'"
+msgstr "nema „]”"
+
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
-msgstr "sintaktiÄ\8dka greÅ¡ka: neoÄ\8dekivan â\80\9e%sâ\80\9c"
+msgstr "sintaktiÄ\8dka greÅ¡ka: neoÄ\8dekivan â\80\9e%sâ\80\9d"
 
-#: trap.c:225
+#: trap.c:220
 msgid "invalid signal number"
 msgstr "nevaljani broj za signal"
 
-#: trap.c:358
+#: trap.c:323
 #, 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:455
+#: trap.c:412
 #, 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:459
+#: trap.c:416
 #, 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:592
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler(): loš signal %d"
 
-#: unwind_prot.c:246 unwind_prot.c:292
-#, fuzzy
-msgid "frame not found"
-msgstr "%s: datoteka nije pronađena"
-
-#: variables.c:441
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
-msgstr "greÅ¡ka pri uvozu definicije funkcije za â\80\9e%sâ\80\9c"
+msgstr "greÅ¡ka pri uvozu definicije funkcije za â\80\9e%sâ\80\9d"
 
-#: variables.c:864
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "razina ljuske (%d) je previsoka, vraćamo ju na 1"
 
-#: variables.c:2191 variables.c:2220 variables.c:2278 variables.c:2297
-#: variables.c:2315 variables.c:2350 variables.c:2378 variables.c:2405
-#: variables.c:2431 variables.c:3274 variables.c:3282 variables.c:3797
-#: variables.c:3841
-#, fuzzy, c-format
-msgid "%s: maximum nameref depth (%d) exceeded"
-msgstr "maksimalna broj (količina) here-document-a je premašena"
-
-#: variables.c:2641
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable(): u trenutnom opsegu nema konteksta funkcije"
 
-#: variables.c:2660
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: varijabli se ne može dodijeliti vrijednost"
 
-#: variables.c:2831 variables.c:2884
+#: variables.c:2818 variables.c:2874
 #, c-format
 msgid "%s: cannot inherit value from incompatible type"
 msgstr "%s: nije moguće naslijediti vrijednost nekompatibilnog tipa"
 
-#: variables.c:3437
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: nazivu referencije se dodjeljuje cijeli broj"
 
-#: variables.c:4387
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables(): u trenutnom opsegu nema konteksta funkcije"
 
-#: variables.c:4791
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "*** %s ima prazni string za izvoz"
 
-#: variables.c:4796 variables.c:4805
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "*** nevaljani znak %d u izvoznom stringu za %s"
 
-#: variables.c:4811
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
-msgstr "*** nema â\80\9e\80\9c u izvoznom stringu za %s"
+msgstr "*** nema â\80\9e\80\9d u izvoznom stringu za %s"
 
-#: variables.c:5329
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
-msgstr "pop_var_context(): glava â\80\9eshell_variablesâ\80\9c nije funkcijski kontekst"
+msgstr "pop_var_context(): glava â\80\9eshell_variablesâ\80\9d nije funkcijski kontekst"
 
-#: variables.c:5342
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
-msgstr "pop_var_context(): nije â\80\9eglobal_variablesâ\80\9c kontekst"
+msgstr "pop_var_context(): nije â\80\9eglobal_variablesâ\80\9d kontekst"
 
-#: variables.c:5432
+#: variables.c:5410
 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:6423
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: nije moguće otvoriti kao DATOTEKU"
 
-#: variables.c:6428
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: nevaljana vrijednost za „trace” deskriptora datoteke"
 
-#: variables.c:6472
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s vrijednost za kompatibilnost je izvan raspona"
 
-#: version.c:50
-#, fuzzy
-msgid "Copyright (C) 2024 Free Software Foundation, Inc."
+#: version.c:46 version2.c:46
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
 msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
-#: version.c:51
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
+#: version.c:47 version2.c:47
+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"
 
-#: version.c:90
+#: version.c:86 version2.c:86
 #, c-format
 msgid "GNU bash, version %s (%s)\n"
 msgstr "GNU bash, inačica %s (%s)\n"
 
-#: version.c:95
+#: version.c:91 version2.c:91
 msgid "This is free software; you are free to change and redistribute it."
 msgstr "Ovo je slobodan softver: slobodno ga mijenjajte i dijelite."
 
-#: version.c:96
+#: version.c:92 version2.c:92
 msgid "There is NO WARRANTY, to the extent permitted by law."
 msgstr "NEMA JAMSTVA do granica dopuštenih zakonom."
 
-#: xmalloc.c:84
+#: xmalloc.c:93
 #, c-format
 msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
 msgstr "%s: nije moguće rezervirati %lu bajtova (rezervirano je %lu bajtova)"
 
-#: xmalloc.c:86
+#: xmalloc.c:95
 #, c-format
 msgid "%s: cannot allocate %lu bytes"
 msgstr "%s: nije moguće rezervirati %lu bajtova"
 
-#: xmalloc.c:164
+#: 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:166
+#: xmalloc.c:167
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes"
 msgstr "%s: %s:%d: nije moguće rezervirati %lu bajtova"
@@ -2353,9 +2239,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"
@@ -2378,8 +2262,7 @@ msgid "caller [expr]"
 msgstr "caller [IZRAZ]"
 
 #: builtins.c:66
-#, fuzzy
-msgid "cd [-L|[-P [-e]]] [-@] [dir]"
+msgid "cd [-L|[-P [-e]] [-@]] [dir]"
 msgstr "cd [-L|[-P [-e]] [-@]] [DIREKTORIJ]"
 
 #: builtins.c:68
@@ -2391,20 +2274,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] NAREDBA [ARGUMENT...]"
 
 #: builtins.c:78
-msgid ""
-"declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] "
-"[name ...]"
-msgstr ""
-"declare [aAfFgiIlnrtux] [IME[=VRIJEDNOST]...] ili declare -p [-aAfFilnrtux] "
-"[IME...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [aAfFgiIlnrtux] [IME[=VRIJEDNOST]...] ili declare -p [-aAfFilnrtux] [IME...]"
 
 #: builtins.c:80
-msgid ""
-"typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] "
-"[name ...]"
-msgstr ""
-"typeset [-aAfFgiIlnrtux] IME[=VRIJEDNOST]… ili typeset -p [-aAfFilnrtux] "
-"[IME...]"
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] IME[=VRIJEDNOST]… ili typeset -p [-aAfFilnrtux] [IME...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2465,9 +2340,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"
@@ -2484,9 +2357,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]"
@@ -2496,10 +2367,7 @@ msgid "let arg [arg ...]"
 msgstr "let ARGUMENT..."
 
 #: builtins.c:138
-#, fuzzy
-msgid ""
-"read [-Eers] [-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"
@@ -2534,13 +2402,11 @@ msgid "shift [n]"
 msgstr "shift [N]"
 
 #: builtins.c:152
-#, fuzzy
-msgid "source [-p path] filename [arguments]"
+msgid "source filename [arguments]"
 msgstr "source DATOTEKA [ARGUMENTI]"
 
 #: builtins.c:154
-#, fuzzy
-msgid ". [-p path] filename [arguments]"
+msgid ". filename [arguments]"
 msgstr ". DATOTEKA [ARGUMENTI]"
 
 #: builtins.c:157
@@ -2556,8 +2422,7 @@ msgid "[ arg... ]"
 msgstr "[ ARGUMENT... ]"
 
 #: builtins.c:166
-#, fuzzy
-msgid "trap [-Plp] [[action] signal_spec ...]"
+msgid "trap [-lp] [[arg] signal_spec ...]"
 msgstr "trap [-lp] [[ARGUMENT] SIGNAL_SPEC...]"
 
 #: builtins.c:168
@@ -2581,137 +2446,118 @@ msgid "wait [pid ...]"
 msgstr "wait [PID...]"
 
 #: builtins.c:184
-msgid "! PIPELINE"
-msgstr ""
-
-#: builtins.c:186
 msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
 msgstr "for IME [in RIJEČIMA...].; do NAREDBE; done"
 
-#: builtins.c:188
+#: builtins.c:186
 msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
 msgstr "for (( IZRAZ1; IZRAZ2; IZRAZ3 )); do NAREDBE; done"
 
-#: builtins.c:190
+#: builtins.c:188
 msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
 msgstr "select IME [in RIJEČI... ;] do NAREDBE; done"
 
-#: builtins.c:192
+#: builtins.c:190
 msgid "time [-p] pipeline"
 msgstr "time [-p] CJEVOVOD"
 
-#: builtins.c:194
+#: builtins.c:192
 msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case RIJEČ in [UZORAK [| UZORAK]...) NAREDBE;;]... esac"
 
-#: builtins.c:196
-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: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"
 
-#: builtins.c:198
+#: builtins.c:196
 msgid "while COMMANDS; do COMMANDS-2; done"
 msgstr "while NAREDBE; do NAREDBE-2; done"
 
-#: builtins.c:200
+#: builtins.c:198
 msgid "until COMMANDS; do COMMANDS-2; done"
 msgstr "until NAREDBE; do NAREDBE-2; done"
 
-#: builtins.c:202
+#: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
 msgstr "coproc [IME] NAREDBA [PREUSMJERAVANJA]"
 
-#: builtins.c:204
+#: builtins.c:202
 msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
 msgstr ""
 "function IME { NAREDBE ; }\n"
 "     ili: IME () { NAREDBE ; }"
 
-#: builtins.c:206
+#: builtins.c:204
 msgid "{ COMMANDS ; }"
 msgstr "{ NAREDBE; }"
 
-#: builtins.c:208
+#: builtins.c:206
 msgid "job_spec [&]"
 msgstr "SPECIFIKACIJA_POSLA [&]"
 
-#: builtins.c:210
+#: builtins.c:208
 msgid "(( expression ))"
 msgstr "(( IZRAZ ))"
 
-#: builtins.c:212
+#: builtins.c:210
 msgid "[[ expression ]]"
 msgstr "[[ IZRAZ ]]"
 
-#: builtins.c:214
+#: builtins.c:212
 msgid "variables - Names and meanings of some shell variables"
 msgstr "var — imena i značenje nekih varijabla ljuske"
 
-#: builtins.c:217
+#: builtins.c:215
 msgid "pushd [-n] [+N | -N | dir]"
 msgstr "pushd [-n] [+N | -N | DIREKTORIJ]"
 
-#: builtins.c:221
+#: builtins.c:219
 msgid "popd [-n] [+N | -N]"
 msgstr "popd [-n] [+N | -N]"
 
-#: builtins.c:225
+#: builtins.c:223
 msgid "dirs [-clpv] [+N] [-N]"
 msgstr "dirs [-clpv] [+N] [-N]"
 
-#: builtins.c:228
+#: builtins.c:226
 msgid "shopt [-pqsu] [-o] [optname ...]"
 msgstr "shopt [-pqsu] [-o] [IME_OPCIJE...]"
 
-#: builtins.c:230
+#: builtins.c:228
 msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v VARIJABLA] FORMAT [ARGUMENTI]"
 
-#: builtins.c:233
-msgid ""
-"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
-"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
+#: 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 ...]"
 msgstr ""
 "complete [-abcdefgjksuv] [-pr] [-DEI] [-o OPCIJA] [-A AKCIJA] [-C NAREDBA]\n"
 "                   [-F FUNKCIJA] [-G GLOB_UZORAK] [-P PREFIKS] [-S SUFIKS]\n"
 "                   [-W POPIS_RIJEČI] [-X FILTAR_UZORAKA]  [IME...]"
 
-#: builtins.c:237
-#, fuzzy
-msgid ""
-"compgen [-V varname] [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-"
-"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [word]"
+#: 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]"
 msgstr ""
 "compgen [-abcdefgjksuv] [-o OPCIJA] [-A AKCIJA] [-C NAREDBA] [-F FUNCIJA]\n"
 "                 [-G GLOB_UZORAK] [-P PREFIKS] [-S SUFIKS]\n"
 "                 [-W POPIS_RIJEČI] [-X FILTAR_UZORAKA]  [IME...]"
 
-#: builtins.c:241
+#: builtins.c:239
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
 msgstr "compopt [-o|+o OPCIJA] [-DEI] [IME...]"
 
-#: builtins.c:244
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+#: builtins.c:242
+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:246
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+#: builtins.c:244
+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]"
 
-#: builtins.c:258
+#: builtins.c:256
 msgid ""
 "Define or display aliases.\n"
 "    \n"
@@ -2726,17 +2572,15 @@ 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), â\80\9ealiasâ\80\9c ispiše popis aliasa na\n"
+"    Bez argumenata (ili s opcijom -p), â\80\9ealiasâ\80\9d 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"
-"    Zaostali razmak (bjelina) u ZAMJENI čini da „alias“ prilikom ekspanzije\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"
 "    Options:\n"
@@ -2744,7 +2588,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako alias nije definiran za dano IME."
 
-#: builtins.c:280
+#: builtins.c:278
 msgid ""
 "Remove each NAME from the list of defined aliases.\n"
 "    \n"
@@ -2755,12 +2599,11 @@ msgid ""
 msgstr ""
 "Ukloni svako navedeno IME iz popisa definiranih aliasa.\n"
 "\n"
-"    S opcijom â\80\9e-aâ\80\9c izbriše sve definirane aliase.\n"
+"    S opcijom â\80\9e-aâ\80\9d izbriše sve definirane aliase.\n"
 "\n"
 "    Završi s uspjehom osim ako IME nije postojeći alias."
 
-#: builtins.c:293
-#, fuzzy
+#: builtins.c:291
 msgid ""
 "Set Readline key bindings and variables.\n"
 "    \n"
@@ -2772,55 +2615,42 @@ 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"
-"    If arguments remain after option processing, the -p and -P options "
-"treat\n"
-"    them as readline command names and restrict output to those names.\n"
-"    \n"
 "    Exit Status:\n"
 "    bind returns 0 unless an unrecognized option is given or an error occurs."
 msgstr ""
-"Prikaže i postavlja â\80\9eReadlineâ\80\9c prečace (key binding) i varijable.\n"
+"Prikaže i postavlja â\80\9eReadlineâ\80\9d prečace (key binding) i varijable.\n"
 "\n"
-"    Veže sekvenciju tipki (key sequence, prečac) na „Readline“ funkciju\n"
-"    ili na makronaredbe ili na „Readline“ varijablu. Sintaksa za argumente\n"
-"    koji nisu opcija je ista kao za ~/.inputrc, ali moraju biti "
-"proslijeđeni\n"
+"    Veže sekvenciju tipki (key sequence, prečac) na „Readline” funkciju\n"
+"    ili na makronaredbe 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"
@@ -2830,8 +2660,7 @@ msgstr ""
 "      -q FUNKCIJA        ispita i ispiše tipke koje pozivaju tu FUNKCIJU\n"
 "      -S                 izlista prečace (sekvencije tipki) koje pozivaju\n"
 "                           makronaredbe s njihovim vrijednostima\n"
-"      -s                 ispiše sekvencije tipki koje pozivaju makronaredbe "
-"s\n"
+"      -s                 ispiše sekvencije tipki koje pozivaju makronaredbe s\n"
 "                           njihovim vrijednostima u obliku koji se može\n"
 "                           iskoristiti kao ulaz\n"
 "      -u FUNKCIJA        razveže sve prečace vezane na tu FUNKCIJU\n"
@@ -2840,14 +2669,14 @@ msgstr ""
 "                           u formatu koji se može iskoristiti kao ulaz\n"
 "      -x PREČAC:SHELL-NAREDBA  izvrši SHELL-NAREDBU svaki put kad se unese\n"
 "                                 PREČAC (sekvencija tipki)\n"
-"      -X                 ispiÅ¡e preÄ\8dace (sekvencije tipki) vezane s â\80\9e-xâ\80\9c i\n"
+"      -X                 ispiÅ¡e preÄ\8dace (sekvencije tipki) vezane s â\80\9e-xâ\80\9d i\n"
 "                           njima pridružene naredbe u obliku koji se može\n"
 "                           iskoristiti kao ulaz\n"
 "\n"
 "    Završi s uspjehom osim ako je dana neprepoznata opcija ili se je\n"
 "    dogodila greška."
 
-#: builtins.c:335
+#: builtins.c:330
 msgid ""
 "Exit for, while, or until loops.\n"
 "    \n"
@@ -2863,7 +2692,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je N manji od 1."
 
-#: builtins.c:347
+#: builtins.c:342
 msgid ""
 "Resume for, while, or until loops.\n"
 "    \n"
@@ -2878,14 +2707,13 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je N manji od 1."
 
-#: builtins.c:359
+#: builtins.c:354
 msgid ""
 "Execute shell builtins.\n"
 "    \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"
@@ -2895,15 +2723,14 @@ 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"
 "    Završi s kȏdom UGRAĐENE_SHELL_FUNKCIJE ili s kȏdom 1 ako\n"
 "    UGRAĐENA_SHELL_FUNKCIJA nije ugrađene funkcija ljuske."
 
-#: builtins.c:374
+#: builtins.c:369
 msgid ""
 "Return the context of the current subroutine call.\n"
 "    \n"
@@ -2920,10 +2747,9 @@ msgid ""
 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"
-"    stvaranje „stack trace“.\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"
+"    stvaranje „stack trace”.\n"
 "\n"
 "    Vrijednost IZRAZA naznačuje koliko ciklusa se treba vratiti\n"
 "    unatrag od trenutne pozicije; trenutni ciklus ima vrijednost 0.\n"
@@ -2931,27 +2757,20 @@ msgstr ""
 "    Završi s uspjehom osim ako ljuska ne izvršava ljuskinu funkciju\n"
 "    ili je IZRAZ nevaljan."
 
-#: builtins.c:392
-#, fuzzy
+#: builtins.c:387
 msgid ""
 "Change the shell working directory.\n"
 "    \n"
-"    Change the current directory to DIR.  The default DIR is the value of "
-"the\n"
-"    HOME shell variable. If DIR is \"-\", it is converted to $OLDPWD.\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"
@@ -2967,19 +2786,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"
@@ -2989,36 +2805,32 @@ msgstr ""
 "    prazni naziv za direktorij je isto što i trenutni direktorij (.)\n"
 "    CDPATH se ne koristi ako DIREKTORIJ započinje s kosom crtom (/)\n"
 "\n"
-"    Ako se direktorij ne pronaÄ\91e, a omoguÄ\87ena je opcija â\80\9ecdable_varsâ\80\9c,\n"
+"    Ako se direktorij ne pronaÄ\91e, a omoguÄ\87ena je opcija â\80\9ecdable_varsâ\80\9d,\n"
 "    tada se dana riječ uzme kao ime varijable; ako ta varijabla sadrži\n"
-"    naziv, â\80\9ecdâ\80\9c prijeđe u direktorij s tim nazivom.\n"
+"    naziv, â\80\9ecdâ\80\9d prijeđe u direktorij s tim nazivom.\n"
 "\n"
 "    Opcije:\n"
-"      -L    slijedi simbolične poveznice; simbolične poveznice u DIREKTORIJU "
-"razriješi\n"
-"              nakon obrade instance „..“\n"
-"      -P    rabi fizičku strukturu direktorija umjesto da slijedi "
-"simbolične\n"
-"              poveznice; simbolične poveznice u DIREKTORIJU razriješi prije "
-"obrade\n"
-"              instance „..“\n"
-"      -e    ako je dana s opcijom „-P“, i trenutni radni direktorij nije\n"
+"      -L    slijedi simbolične linkove; simbolične linkove u DIREKTORIJU razriješi\n"
+"              nakon obrade instance „..”\n"
+"      -P    rabi fizičku strukturu direktorija umjesto da slijedi simbolične\n"
+"              linkove; simbolične linkove u DIREKTORIJU razriješi prije obrade\n"
+"              instance „..”\n"
+"      -e    ako je dana s opcijom „-P”, i trenutni radni direktorij nije\n"
 "              moguće uspješno odrediti nakon uspješne promjene direktorija,\n"
-"              â\80\9ecdâ\80\9c završi s kȏdom različitim od 0.\n"
+"              â\80\9ecdâ\80\9d završi s kȏdom različitim od 0.\n"
 "      -@    opiše proširene atribute povezane s datotekom kao direktorij\n"
 "              koji sadrži atribute datoteke (ako sustav to podržava)\n"
 "\n"
-"    Zadano, simbolične 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"
+"    Zadano, simbolične linkove slijedi kao da je navedena opcija -L.\n"
+"    „..” (ako se pojavi u DIREKTORIJU) obradi je uklanjanjem komponente\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"
-"    varijabla okoline PWD uspjeÅ¡no postavljena kad je dana opcija â\80\9e-Pâ\80\9c;\n"
+"    varijabla okoline PWD uspjeÅ¡no postavljena kad je dana opcija â\80\9e-Pâ\80\9d;\n"
 "    u suprotnom završi s kȏdom 1."
 
-#: builtins.c:430
+#: builtins.c:425
 msgid ""
 "Print the name of the current working directory.\n"
 "    \n"
@@ -3037,15 +2849,14 @@ msgstr ""
 "\n"
 "    Opcije:\n"
 "      -L   ispiše vrijednost od $PWD ako sadrži trenutni radni direktorij\n"
-"      -P   ispiše stvarnu fizičku stazu do direktorija bez simboličnih "
-"poveznica\n"
+"      -P   ispiše stvarnu fizičku stazu do direktorija bez simboličnih linkova\n"
 "\n"
-"    Bez opcija, â\80\9epwdâ\80\9c se ponaÅ¡a kao da je navedena opcija â\80\9e-Lâ\80\9c\n"
+"    Bez opcija, â\80\9epwdâ\80\9d se ponaÅ¡a kao da je navedena opcija â\80\9e-Lâ\80\9d\n"
 "\n"
 "    Završi s uspjehom osim ako nije dana nevaljana opcija\n"
 "    ili se trenutni radni direktorij ne može pročitati."
 
-#: builtins.c:447
+#: builtins.c:442
 msgid ""
 "Null command.\n"
 "    \n"
@@ -3055,7 +2866,7 @@ msgid ""
 "    Always succeeds."
 msgstr "Naredba nema nikakvog efekta, ne radi ništa; uvijek završi uspješno."
 
-#: builtins.c:458
+#: builtins.c:453
 msgid ""
 "Return a successful result.\n"
 "    \n"
@@ -3063,7 +2874,7 @@ msgid ""
 "    Always succeeds."
 msgstr "Uvijek završi uspješno s kȏdom 0."
 
-#: builtins.c:467
+#: builtins.c:462
 msgid ""
 "Return an unsuccessful result.\n"
 "    \n"
@@ -3071,13 +2882,12 @@ msgid ""
 "    Always fails."
 msgstr "Uvijek završi neuspješno s kȏdom 1."
 
-#: builtins.c:476
+#: builtins.c:471
 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"
@@ -3098,15 +2908,13 @@ msgstr ""
 "    Opcije:\n"
 "      -p   rabi zadanu vrijednost za PATH kao garanciju\n"
 "             pronalaženja svih standardnih programa\n"
-"      -v   pokaže ime naredbe koja bi se izvršila similar to the „type“ "
-"builtin\n"
+"      -v   pokaže ime naredbe koja bi se izvršila similar to the „type” builtin\n"
 "      -V   == kao „-v” ali opširnije\n"
 "\n"
 "    Završi s izlaznim kȏdom NAREDBE\n"
 "    ili s 1 ako NAREDBA nije pronađena."
 
-#: builtins.c:495
-#, fuzzy
+#: builtins.c:490
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -3134,14 +2942,12 @@ msgid ""
 "      -u\tto convert the value of each NAME to upper case on assignment\n"
 "      -x\tto make NAMEs export\n"
 "    \n"
-"    Using `+' instead of `-' turns off the given attribute, except for a,\n"
-"    A, and r.\n"
+"    Using `+' instead of `-' turns off the given attribute.\n"
 "    \n"
 "    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"
@@ -3158,35 +2964,34 @@ msgstr ""
 "      -F   prikaže samo imena funkcija bez definicija\n"
 "      -g   stvori globalne varijable samo za upotrebu u funkciji ljuske;\n"
 "             inače su zanemarene\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"
 "    Opcije koje postavljaju atribute:\n"
 "      -a   učini od navedenih IMENA indeksirana polja (ako je to podržano)\n"
 "      -A   učini od navedenih IMENA asocijativna polja (ako je to podržano)\n"
-"      -i   uÄ\8dini da navedena IMENA dobiju â\80\9eintegerâ\80\9c svojstva\n"
+"      -i   uÄ\8dini da navedena IMENA dobiju â\80\9eintegerâ\80\9d svojstva\n"
 "      -l   pretvori slova navedenih IMENA u mala slova prilikom upotrebe\n"
 "      -n   učini da dano IME referira na varijablu imenovanu\n"
 "             sa svojom vrijednosti\n"
 "      -r   učini navedena IMENA readonly\n"
-"      -t   uÄ\8dini da navedena IMENA dobiju â\80\9etraceâ\80\9c svojstva\n"
+"      -t   uÄ\8dini da navedena IMENA dobiju â\80\9etraceâ\80\9d svojstva\n"
 "      -u   pretvori slova navedenih IMENA u velika slova prilikom upotrebe\n"
 "      -x   označi navedena IMENA za ekport\n"
 "\n"
-"    â\80\9e\80\9c umjesto â\80\9e\80\9c isključi dani atribut.\n"
+"    â\80\9e\80\9d umjesto â\80\9e\80\9d isključi dani atribut.\n"
 "\n"
-"    Varijable s â\80\9eintegerâ\80\9c atributom obavljaju aritmetičke operacije tijekom\n"
-"    izvoÄ\91enja i upotrebe (pogledajte â\80\9eletâ\80\9c naredbu).\n"
+"    Varijable s â\80\9eintegerâ\80\9d atributom obavljaju aritmetičke operacije tijekom\n"
+"    izvoÄ\91enja i upotrebe (pogledajte â\80\9eletâ\80\9d naredbu).\n"
 "\n"
-"    Unutar funkcije â\80\9edeclareâ\80\9c učini navedena IMENA lokalnima, slično kao\n"
-"    naredba â\80\9elocalâ\80\9c. Opcija â\80\9e-gâ\80\9c spriječi takvo ponašanje.\n"
+"    Unutar funkcije â\80\9edeclareâ\80\9d učini navedena IMENA lokalnima, slično kao\n"
+"    naredba â\80\9elocalâ\80\9d. Opcija â\80\9e-gâ\80\9d spriječi takvo ponašanje.\n"
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija\n"
 "    ili se dogodila greška prilikom zadavanja varijabli."
 
-#: builtins.c:538
+#: builtins.c:532
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -3194,20 +2999,15 @@ 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:546
-#, fuzzy
+#: builtins.c:540
 msgid ""
 "Define local variables.\n"
 "    \n"
 "    Create a local variable called NAME, and give it VALUE.  OPTION can\n"
 "    be any option accepted by `declare'.\n"
 "    \n"
-"    If any NAME is \"-\", local saves the set of shell options and restores\n"
-"    them when the function returns.\n"
-"    \n"
 "    Local variables can only be used within a function; they are visible\n"
 "    only to the function where they are defined and its children.\n"
 "    \n"
@@ -3217,23 +3017,20 @@ msgid ""
 msgstr ""
 "Definira lokalne varijable.\n"
 "\n"
-"    Stvori lokalnu varijablu IME i dodijeli joj vrijednost. OPCIJA može "
-"biti\n"
-"    bilo koja od opcija koju prihvaća naredba „declare“.\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:566
+#: 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"
@@ -3257,11 +3054,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"
@@ -3277,7 +3072,7 @@ msgstr ""
 "      -e   interpretira sljedeće backslash (\\) kontrolne kȏdove\n"
 "      -E   ne interpretira sljedeće backslash (\\) kontrolne kȏdove\n"
 "\n"
-"    â\80\9eechoâ\80\9c interpretira ove kontrolne kȏdove:\n"
+"    â\80\9eechoâ\80\9d interpretira ove kontrolne kȏdove:\n"
 "      \\a   alert (zvučni signal)\n"
 "      \\b   backspace\n"
 "      \\c   spriječi daljni izlaz\n"
@@ -3291,14 +3086,14 @@ msgstr ""
 "      \\\\     backslash (\\)\n"
 "      \\0NNN   znak s ASCII kȏdom NNN (oktalni, 1 do 3 oktalne znamenke)\n"
 "      \\xHH    osmobitni znak čija je vrijednost HH (heksadecimalna)\n"
-"      \\uHHHH  unikodni znak čija je vrijednost HHHH  (heksadecimalna)\n"
+"      \\uHHHH  unicode znak čija je vrijednost HHHH  (heksadecimalna)\n"
 "                 HHHH može biti od 1 do 4 heksadecimalne znamenke\n"
-"      \\UHHHHHHHH  unikodni znak čija je vrijednost HHHH  (heksadecimalna)\n"
+"      \\UHHHHHHHH  unicode znak čija je vrijednost HHHH  (heksadecimalna)\n"
 "                     HHHHHHHH može biti od 1 do 8 heksadecimalnih znamenki\n"
 "\n"
 "    Završi s uspjehom osim ako se ne dogodi greška pri pisanju."
 
-#: builtins.c:606
+#: builtins.c:597
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
@@ -3312,14 +3107,12 @@ msgid ""
 msgstr ""
 "Ispiše argumente na standardni izlaz.\n"
 "\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"
+"    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."
 
-#: builtins.c:621
-#, fuzzy
+#: builtins.c:612
 msgid ""
 "Enable and disable shell builtins.\n"
 "    \n"
@@ -3339,12 +3132,6 @@ msgid ""
 "    \n"
 "    Without options, each NAME is enabled.\n"
 "    \n"
-"    On systems with dynamic loading, the shell variable BASH_LOADABLES_PATH\n"
-"    defines a search path for the directory containing FILENAMEs that do\n"
-"    not contain a slash. It may include \".\" to force a search of the "
-"current\n"
-"    directory.\n"
-"    \n"
 "    To use the `test' found in $PATH instead of the shell builtin\n"
 "    version, type `enable -n test'.\n"
 "    \n"
@@ -3365,24 +3152,23 @@ msgstr ""
 "\n"
 "    Opcije koje upravljaju dinamičko učitavanje:\n"
 "      -f   učita ugrađenu naredbu IME iz dijeljenog objekta DATOTEKA\n"
-"      -d   ukloni ugraÄ\91enu naredbu uÄ\8ditanu s â\80\9e-fâ\80\9c\n"
+"      -d   ukloni ugraÄ\91enu naredbu uÄ\8ditanu s â\80\9e-fâ\80\9d\n"
 "\n"
 "    Bez opcija, omogućena su sva navedena IMENA. Bez imena pokazane su\n"
-"    omoguÄ\87ene naredbe (ili s â\80\9e-nâ\80\9c onemogućene).\n"
+"    omoguÄ\87ene naredbe (ili s â\80\9e-nâ\80\9d onemogućene).\n"
 "\n"
-"    Primjer: da koristite binarnu datoteku â\80\9etestâ\80\9c koja se nalazi na stazi\n"
+"    Primjer: da koristite binarnu datoteku â\80\9etestâ\80\9d koja se nalazi na stazi\n"
 "    pretraživanja PATH, umjesto ugrađene (test) naredbe, utipkajte\n"
-"    (bez navodnika) â\80\9eenable -n testâ\80\9c.\n"
+"    (bez navodnika) â\80\9eenable -n testâ\80\9d.\n"
 "\n"
 "    Završi s uspjehom osim ako IME nije ugrađena naredba ili se nije\n"
 "    dogodila greška."
 
-#: builtins.c:654
+#: builtins.c:640
 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"
@@ -3395,7 +3181,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom naredbe ili uspješno ako je naredba prazna."
 
-#: builtins.c:666
+#: builtins.c:652
 msgid ""
 "Parse option arguments.\n"
 "    \n"
@@ -3444,26 +3230,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"
-"    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"
+"    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"
 "    OPTARG i ispiše poruku o greškama.\n"
 "\n"
 "    Ako ljuskina varijabla OPTERR ima vrijednost 0, getopts onemogući ispis\n"
@@ -3476,13 +3256,12 @@ msgstr ""
 "    Završi s uspjehom ako pronađe opciju; ako naiđe na kraj opcija\n"
 "    ili ako se dogodi greška, završi s neuspjehom."
 
-#: builtins.c:708
+#: builtins.c:694
 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"
@@ -3490,13 +3269,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 ""
 "Zamijeni ljusku s danom naredbom.\n"
 "\n"
@@ -3507,15 +3284,15 @@ msgstr ""
 "    Opcije:\n"
 "      -a IME   dȁde IME kao nulti argument NAREDBI\n"
 "      -c       izvrši NAREDBU u praznoj okolini\n"
-"      -l       proslijedi crticu (â\80\9e\80\9c) kao nulti argument NAREDBE\n"
+"      -l       proslijedi crticu (â\80\9e\80\9d) kao nulti argument NAREDBE\n"
 "\n"
 "    Ako se naredba ne može izvršiti, ne-interaktivna ljuska završi,\n"
-"    osim ako je aktivna opcija ljuske â\80\9eexecfailâ\80\9c.\n"
+"    osim ako je aktivna opcija ljuske â\80\9eexecfailâ\80\9d.\n"
 "\n"
 "    Završi s uspjehom, osim ako NAREDBA nije pronađena ili se dogodila\n"
 "    greška preusmjeravanja."
 
-#: builtins.c:729
+#: builtins.c:715
 msgid ""
 "Exit the shell.\n"
 "    \n"
@@ -3526,32 +3303,28 @@ msgstr ""
 "\n"
 "    Završi s kȏdom N. Bez N završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:738
+#: builtins.c:724
 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"
 "\n"
 "    Završi s kȏdom N. Završi s greškom ako to nije prijavna ljuska."
 
-#: builtins.c:748
-#, fuzzy
+#: builtins.c:734
 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"
@@ -3564,11 +3337,8 @@ msgid ""
 "    runs the last command beginning with `cc' and typing `r' re-executes\n"
 "    the last command.\n"
 "    \n"
-"    The history builtin also operates on the history list.\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"
@@ -3579,7 +3349,7 @@ msgstr ""
 "\n"
 "    Opcije:\n"
 "      -e EDITOR  ime EDITORA koji će se koristi; zadano, koristi se FCEDIT,\n"
-"                   zatim EDITOR ili konaÄ\8dno â\80\9eviâ\80\9c\n"
+"                   zatim EDITOR ili konaÄ\8dno â\80\9eviâ\80\9d\n"
 "      -l         izlista popis naredbi (umjesto uređivanja)\n"
 "      -n         popis bez brojeva\n"
 "      -r         popis s obrnutim redoslijedom (najnovija prva)\n"
@@ -3587,14 +3357,13 @@ 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"
-"    ponovno posljednju naredbu, a utipkani „r cc“ izvrši posljednju naredbu\n"
-"    koja započinje s „cc“.\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"
 "    Završi s kȏdom izvršene naredbe, a različito od 0 ako se dogodi greška."
 
-#: builtins.c:780
+#: builtins.c:764
 msgid ""
 "Move job to the foreground.\n"
 "    \n"
@@ -3607,23 +3376,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:795
+#: 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"
@@ -3631,20 +3396,19 @@ msgid ""
 msgstr ""
 "Premjesti poslove u pozadinu.\n"
 "\n"
-"    Premjesti specificirane poslove u pozadinu, kao da su pokrenuti s â\80\9e\80\9c\n"
+"    Premjesti specificirane poslove u pozadinu, kao da su pokrenuti s â\80\9e\80\9d\n"
 "    Ako nije navedena nijedna SPECIFIKACIJA_POSLA, premjesti u pozadinu\n"
 "    posao koji ljuska smatra trenutnim.\n"
 "\n"
 "    Završi s uspjehom osim ako upravljanje poslovima nije omogućeno\n"
 "    ili se dogodila greška."
 
-#: builtins.c:809
+#: builtins.c:793
 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"
@@ -3677,10 +3441,9 @@ 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:834
+#: builtins.c:818
 msgid ""
 "Display information about builtin commands.\n"
 "    \n"
@@ -3698,8 +3461,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"
@@ -3710,14 +3472,12 @@ 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."
 
-#: builtins.c:858
-#, fuzzy
+#: builtins.c:842
 msgid ""
 "Display or manipulate the history list.\n"
 "    \n"
@@ -3741,16 +3501,11 @@ msgid ""
 "      -s\tappend the ARGs to the history list as a single entry\n"
 "    \n"
 "    If FILENAME is given, it is used as the history file.  Otherwise,\n"
-"    if HISTFILE has a value, that is used. If FILENAME is not supplied\n"
-"    and HISTFILE is unset or null, the -a, -n, -r, and -w options have\n"
-"    no effect and return success.\n"
-"    \n"
-"    The fc builtin also operates on the history list.\n"
+"    if HISTFILE has a value, that is used, else ~/.bash_history.\n"
 "    \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."
@@ -3758,7 +3513,7 @@ msgstr ""
 "Prikaže ili manipulira povijest naredbi.\n"
 "\n"
 "    Prikaže numerirani popis izvršenih naredbi (povijest); ispred\n"
-"    modificiranih stavki stoji prefiks â\80\9e\80\9c. S argumentom N\n"
+"    modificiranih stavki stoji prefiks â\80\9e\80\9d. S argumentom N\n"
 "    ispiše samo N posljednjih redaka povijesti.\n"
 "\n"
 "    Opcije:\n"
@@ -3766,7 +3521,7 @@ msgstr ""
 "      -d   POZICIJA  izbriše redak povijesti na toj POZICIJI. Negativna\n"
 "           POZICIJA odbrojava od kraja popisa.\n"
 "\n"
-"      -a   doda trenutnu povijest â\80\9epovijesnojâ\80\9c datoteci\n"
+"      -a   doda trenutnu povijest â\80\9epovijesnojâ\80\9d datoteci\n"
 "      -n   doda sve nepročitane retke povijesne datoteke\n"
 "             trenutnom popisu povijesti\n"
 "      -r   pročita i doda povijesnu datoteku\n"
@@ -3777,8 +3532,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"
@@ -3789,7 +3543,7 @@ msgstr ""
 "    Završi s uspjehom osim ako nije dana nevaljana opcija ili se dogodila\n"
 "    greška."
 
-#: builtins.c:899
+#: builtins.c:879
 msgid ""
 "Display status of jobs.\n"
 "    \n"
@@ -3825,15 +3579,13 @@ 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"
+"    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:926
+#: builtins.c:906
 msgid ""
 "Remove jobs from current shell.\n"
 "    \n"
@@ -3864,7 +3616,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili nije\n"
 "    navedena SPECIFIKACIJA_POSLA."
 
-#: builtins.c:945
+#: builtins.c:925
 msgid ""
 "Send a signal to a job.\n"
 "    \n"
@@ -3889,36 +3641,32 @@ 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"
-"                        iza „-l“, to su brojevi signala čija odgovarajuća\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"
 "\n"
-"    â\80\9ekillâ\80\9c je ugrađena ljuskina naredba iz dva razloga: dopušta korištenje\n"
+"    â\80\9ekillâ\80\9d je ugrađena ljuskina naredba iz dva razloga: dopušta korištenje\n"
 "    ID posla umjesto ID procesa i također dopušta ubiti procese iako\n"
 "    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:969
+#: builtins.c:949
 msgid ""
 "Evaluate arithmetic expressions.\n"
 "    \n"
 "    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
 "    fixed-width integers with no check for overflow, though division by 0\n"
 "    is trapped and flagged as an error.  The following list of operators is\n"
-"    grouped into levels of equal-precedence operators.  The levels are "
-"listed\n"
+"    grouped into levels of equal-precedence operators.  The levels are listed\n"
 "    in order of decreasing precedence.\n"
 "    \n"
 "    \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3960,8 +3708,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"
@@ -3986,34 +3733,28 @@ 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 redefinirati gore\n"
 "    opisana pravilila prednosti.\n"
 "\n"
-"    Ako je vrednovanje zadnjeg ARGUMENTA nula (0), â\80\9eletâ\80\9c završi s kȏdom 1;\n"
+"    Ako je vrednovanje zadnjeg ARGUMENTA nula (0), â\80\9eletâ\80\9d završi s kȏdom 1;\n"
 "    inače završi s uspjehom."
 
-#: builtins.c:1014
-#, fuzzy
+#: builtins.c:994
 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"
+"    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"
 "    \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"
@@ -4021,14 +3762,11 @@ msgid ""
 "      -d delim\tcontinue until the first character of DELIM is read, rather\n"
 "    \t\tthan newline\n"
 "      -e\tuse Readline to obtain the line\n"
-"      -E\tuse Readline to obtain the line and use the bash default\n"
-"    \t\tcompletion instead of Readline's default completion\n"
 "      -i text\tuse TEXT as the initial text for Readline\n"
 "      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
 "    \t\tfor a newline, but honor a delimiter if fewer than\n"
 "    \t\tNCHARS characters are read before the delimiter\n"
-"      -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+"      -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
 "    \t\tEOF is encountered or read times out, ignoring any\n"
 "    \t\tdelimiter\n"
 "      -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -4046,58 +3784,48 @@ 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 standardnog ulaza i razdijeli ga na polja.\n"
 "\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"
+"    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"
 "    IMENU. Samo se znakovi sadržani u  varijabli $IFS prepoznaju kao MEĐA\n"
-"    (separator riječi). Zadano, obratna kosa crta (backslash) maskira "
-"znakove\n"
+"    (separator riječi). Zadano, obratna kosa crta (backslash) maskira znakove\n"
 "    za separator i znak za novi redak.\n"
 "\n"
-"    Ako nije navedeno nijedno IME, pročitani redak se spremi u varijablu "
-"REPLY.\n"
+"    Ako nije navedeno nijedno IME, pročitani redak se spremi u varijablu REPLY.\n"
 "\n"
 "    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"
-"      -e           rabi „Readline“ za dobaviti redak\n"
-"      -i TEKST   rabi TEKST kao početni tekst za „Readline“\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"
-"                   Ako je BROJ = 0, „read“ završi odmah bez da išta čita, a\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 standardnog "
-"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 â\80\9e-uâ\80\9c."
+"      naveden nevaljani deskriptor datoteke kao argument opciji â\80\9e-uâ\80\9d."
 
-#: builtins.c:1064
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -4108,7 +3836,7 @@ msgid ""
 "    Exit Status:\n"
 "    Returns N, or failure if the shell is not executing a function or script."
 msgstr ""
-"VraÄ\8danje iz funkcije ljuske.\n"
+"VraÄ\87anje iz funkcije ljuske.\n"
 "\n"
 "    Učini da funkcija ili pokrenuta skripta završi sa izlaznom vrijednošću\n"
 "    specificiranom s N. Ako N nije dan, završi s kȏdom zadnje naredbe\n"
@@ -4116,8 +3844,7 @@ msgstr ""
 "\n"
 "    Vrati vrijednost N ili 1 ako ljuska ne izvrši funkciju ili skriptu."
 
-#: builtins.c:1077
-#, fuzzy
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4160,8 +3887,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"
@@ -4185,18 +3911,13 @@ 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"
 "      -   Assign any remaining arguments to the positional parameters.\n"
 "          The -x and -v options are turned off.\n"
 "    \n"
-"    If -o is supplied with no option-name, set prints the current shell\n"
-"    option settings. If +o is supplied with no option-name, set prints a\n"
-"    series of set commands to recreate the current option settings.\n"
-"    \n"
 "    Using + rather than - causes these flags to be turned off.  The\n"
 "    flags can also be used upon invocation of the shell.  The current\n"
 "    set of flags may be found in $-.  The remaining n ARGs are positional\n"
@@ -4209,66 +3930,56 @@ 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 duge nazive za IME_OPCIJE)\n"
-"      -P  ne razriješi simbolične poveznice pri izvršavanju naredbi poput "
-"„cd“\n"
-"            koje promjene trenutni direktorij\n"
+"      -P  ne razriješi simbolične linkove pri izvršavanju naredbi poput „cd”\n"
+"            koje promijene 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 â\80\9etrapâ\80\9c naslijede funkcije ljuske i potomci\n"
+"      -T  DEBUG i RETURN â\80\9etrapâ\80\9d 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 mogu koristiti i 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"
 "    Dugi nazivi za IME_OPCIJE koji se koriste s opcijom -o (ili +o)\n"
 "      allexport    == -a\n"
 "      braceexpand  == -B (zamjena vitičastih zagrada)\n"
-"      emacs        za ureÄ\91ivanje redaka koristi suÄ\8delje u â\80\9eemacsâ\80\9c stilu\n"
+"      emacs        za ureÄ\91ivanje redaka koristi suÄ\8delje u â\80\9eemacsâ\80\9d stilu\n"
 "      errexit      == -e\n"
 "      errtrace     == -E\n"
 "      functrace    == -T\n"
 "      hashall      == -h\n"
 "      histexpand   == -H\n"
-"      history      omoguÄ\87i naredbu â\80\9ehistoryâ\80\9c\n"
+"      history      omoguÄ\87i naredbu â\80\9ehistoryâ\80\9d\n"
 "      ignoreeof    zanemari Ctrl-D; ne završi (ne iziđe iz) ljusku na EOF\n"
 "      interactive-comments  dopusti komentiranje u interaktivnim naredbama\n"
 "      keyword      == -k\n"
@@ -4281,18 +3992,17 @@ 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"
 "      verbose      == -v\n"
-"      vi           za ureÄ\91ivanje redaka koristi suÄ\8delje u â\80\9eviâ\80\9c stilu\n"
+"      vi           za ureÄ\91ivanje redaka koristi suÄ\8delje u â\80\9eviâ\80\9d stilu\n"
 "      xtrace       == -x\n"
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija."
 
-#: builtins.c:1166
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4304,8 +4014,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"
@@ -4323,20 +4032,19 @@ msgstr ""
 "      -n   tretira svako IME kao referenciju na neki objekt i ukloni\n"
 "             samu varijablu IME umjesto referiranog objekta\n"
 "\n"
-"    Bez opcija, â\80\9eunsetâ\80\9c prvo pokuša ukloniti varijablu, a ako to\n"
+"    Bez opcija, â\80\9eunsetâ\80\9d prvo pokuša ukloniti varijablu, a ako to\n"
 "    ne uspije, onda pokuša ukloniti funkciju. Neke varijable nije moguće\n"
 "    ukloniti; pogledajte „readonly.\n"
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili IME je\n"
-"    â\80\9esamo-za-Ä\8ditanjeâ\80\9c. (bez navodnika)"
+"    â\80\9esamo-za-Ä\8ditanjeâ\80\9d. (bez navodnika)"
 
-#: builtins.c:1188
+#: builtins.c:1162
 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"
@@ -4359,12 +4067,12 @@ msgstr ""
 "      -n   ukloni izvezeni atribut iz svakog IMENA\n"
 "      -p   izlista popis svih izvezenih varijabli i funkcija\n"
 "\n"
-"    Argument â\80\9e--â\80\9c spriječi daljnje procesiranje opcija.\n"
+"    Argument â\80\9e--â\80\9d spriječi daljnje procesiranje opcija.\n"
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili nije navedeno\n"
 "    valjano IME."
 
-#: builtins.c:1207
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4388,21 +4096,20 @@ 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 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 â\80\9e-fâ\80\9c (je li ili nije dana).\n"
+"            ovisno o opciji â\80\9e-fâ\80\9d (je li ili nije dana).\n"
 "\n"
-"    Argument â\80\9e--â\80\9c onemogući daljnje obrađivanje opcija.\n"
+"    Argument â\80\9e--â\80\9d onemogući daljnje obrađivanje opcija.\n"
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili je IME nevaljano."
 
-#: builtins.c:1229
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4419,17 +4126,14 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je N negativni ili veći od $#."
 
-#: builtins.c:1241 builtins.c:1257
-#, fuzzy
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
-"    Read and execute commands from FILENAME in the current shell. If the\n"
-"    -p option is supplied, the PATH argument is treated as a colon-\n"
-"    separated list of directories to search for FILENAME. If -p is not\n"
-"    supplied, $PATH is searched to find FILENAME. If any ARGUMENTS are\n"
-"    supplied, they become the positional parameters when FILENAME is "
-"executed.\n"
+"    Read and execute commands from FILENAME in the current shell.  The\n"
+"    entries in $PATH are used to find the directory containing FILENAME.\n"
+"    If any ARGUMENTS are supplied, they become the positional parameters\n"
+"    when FILENAME is executed.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the status of the last command executed in FILENAME; fails if\n"
@@ -4445,18 +4149,15 @@ 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:1274
-#, fuzzy
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
 "    Suspend the execution of this shell until it receives a SIGCONT signal.\n"
-"    Unless forced, login shells and shells without job control cannot be\n"
-"    suspended.\n"
+"    Unless forced, login shells cannot be suspended.\n"
 "    \n"
 "    Options:\n"
-"      -f\tforce the suspend, even if the shell is a login shell or job\n"
-"    \t\tcontrol is not enabled.\n"
+"      -f\tforce the suspend, even if the shell is a login shell\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless job control is not enabled or an error occurs."
@@ -4472,7 +4173,7 @@ msgstr ""
 "    Završi s uspjehom osim ako upravljanje poslovima nije omogućeno\n"
 "    ili se dogodila greška."
 
-#: builtins.c:1292
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4506,8 +4207,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"
@@ -4528,8 +4228,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"
@@ -4561,7 +4260,7 @@ msgstr ""
 "    ili binarni. Unarni izrazi se često koriste za ispitivanje stanja\n"
 "    datoteke. Također postoje operatori za usporedbu stringova i brojeva.\n"
 "\n"
-"    PonaÅ¡anje od â\80\9etestâ\80\9c ovisi o broju argumenata. Potražite u â\80\9ebashâ\80\9c\n"
+"    PonaÅ¡anje od â\80\9etestâ\80\9d ovisi o broju argumenata. Potražite u â\80\9ebashâ\80\9d\n"
 "    uputama detalje za uporabu.\n"
 "\n"
 "    Operatori za datoteke:\n"
@@ -4571,22 +4270,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čna poveznica\n"
-"        -k DATOTEKA       istina ako datoteka ima postavljeni \"sticky\" "
-"bit\n"
-"        -L DATOTEKA       istina ako je datoteka simbolična poveznica\n"
-"        -N DATOTEKA       istina ako se datoteka promijenila od zadnjeg "
-"čitanja\n"
+"        -h DATOTEKA       istina ako je datoteka simbolični link\n"
+"        -k DATOTEKA       istina ako datoteka ima postavljeni \"sticky\" bit\n"
+"        -L DATOTEKA       istina ako je datoteka simbolični link\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"
@@ -4595,8 +4290,7 @@ msgstr ""
 "                            kasnije od druge\n"
 "      DTEKA1 -ot DTEKA2   istina ako je prva datoteka promijenjena\n"
 "                            ranije od druge\n"
-"      DTEKA1 -ef DTEKA2   istina ako je prva datoteka čvrsta poveznica na "
-"drugu\n"
+"      DTEKA1 -ef DTEKA2   istina ako je prva datoteka čvrsti link na drugu\n"
 "\n"
 "    Operatori za stringove:\n"
 "        -z STRING         istina ako je string prazni\n"
@@ -4612,21 +4306,19 @@ msgstr ""
 "    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:1374
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4635,15 +4327,14 @@ msgid ""
 msgstr ""
 "Provjeri uvjetni izraz.\n"
 "\n"
-"    To je sinonim za ugraÄ\91enu funkciju â\80\9etestâ\80\9c, ali zadnji argument\n"
-"    mora biti zagrada â\80\9e\80\9c kao par zagradi â\80\9e\80\9c na početku."
+"    To je sinonim za ugraÄ\91enu funkciju â\80\9etestâ\80\9d, ali zadnji argument\n"
+"    mora biti zagrada â\80\9e\80\9d kao par zagradi â\80\9e\80\9d na početku."
 
-#: builtins.c:1383
+#: builtins.c:1353
 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"
@@ -4656,54 +4347,39 @@ msgstr ""
 "\n"
 "    Završi uvijek s kȏdom 0."
 
-#: builtins.c:1395
-#, fuzzy
+#: builtins.c:1365
 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"
-"    ACTION is a command to be read and executed when the shell receives the\n"
-"    signal(s) SIGNAL_SPEC.  If ACTION is absent (and a single SIGNAL_SPEC\n"
+"    ARG is a command to be read and executed when the shell receives the\n"
+"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
 "    is supplied) or `-', each specified signal is reset to its original\n"
-"    value.  If ACTION is the null string each SIGNAL_SPEC is ignored by the\n"
+"    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) ACTION is executed on exit from the shell.\n"
-"    If a SIGNAL_SPEC is DEBUG, ACTION is executed before every simple "
-"command\n"
-"    and selected other commands. If a SIGNAL_SPEC is RETURN, ACTION is\n"
-"    executed each time a shell function or a script run by the . or source\n"
-"    builtins finishes executing.  A SIGNAL_SPEC of ERR means to execute "
-"ACTION\n"
-"    each time a command's failure would cause the shell to exit when the -e\n"
-"    option is enabled.\n"
-"    \n"
-"    If no arguments are supplied, trap prints the list of commands "
-"associated\n"
-"    with each trapped signal in a form that may be reused as shell input to\n"
-"    restore the same signal dispositions.\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"
+"    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 in a\n"
-"    \t\tform that may be reused as shell input; or for all trapped\n"
-"    \t\tsignals if no arguments are supplied\n"
-"      -P\tdisplay the trap commands associated with each SIGNAL_SPEC. At "
-"least\n"
-"    \t\tone SIGNAL_SPEC must be supplied. -P and -p cannot be used\n"
-"    \t\ttogether.\n"
-"    \n"
-"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\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"
 "    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"
@@ -4712,20 +4388,19 @@ msgstr ""
 "\n"
 "    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"
+"    jedan signal) ili ARGUMENT je „-”, specificirani signal zadobije svoju\n"
+"    originalnu vrijednost (koju je imao na startu ove ljuske). Ako je ARGUMENT\n"
 "    prazni string, ljuska i njezini potomci zanemare svaki SIGNAL_SPEC.\n"
 "\n"
 "    Ako je SIGNAL_SPEC 0 ili EXIT, ARGUMENT se izvrši kad zatvorite\n"
 "    (exit) ljusku. Ako je SIGNAL_SPEC DEBUG, ARGUMENT se izvrši prije\n"
 "    svake jednostavne naredbe. Ako je SIGNAL_SPEC RETURN, ARGUMENT se\n"
 "    izvrši svaki put kad funkcija ljuske ili skripta izvršena s . ili\n"
-"    â\80\9eugraÄ\91eni sourceâ\80\9c završi izvršavanje. SIGNAL_SPEC ERR znači da se\n"
+"    â\80\9eugraÄ\91eni sourceâ\80\9d završi izvršavanje. SIGNAL_SPEC ERR znači da se\n"
 "    ARGUMENT izvrši nakon neuspješne naredbe koja bi uzrokovala da ljuska\n"
-"    zavrÅ¡i (exit) kad je opcija â\80\9e-eâ\80\9c omogućena.\n"
+"    zavrÅ¡i (exit) kad je opcija â\80\9e-eâ\80\9d omogućena.\n"
 "\n"
-"    Bez argumenta, â\80\9etrapâ\80\9c izlista popis koji prikaže asocijaciju\n"
+"    Bez argumenta, â\80\9etrapâ\80\9d izlista popis koji prikaže asocijaciju\n"
 "    između naredbi i signala.\n"
 "\n"
 "    Opcije:\n"
@@ -4733,12 +4408,12 @@ msgstr ""
 "      -p   prikaže koja naredba je povezana sa svakim signalom\n"
 "\n"
 "    Svaki je SIGNAL_SPEC ili ime signala iz <signal.h> ili broj signala.\n"
-"    Signal se može poslati ljusci s â\80\9ekill -signal $$â\80\9c.\n"
+"    Signal se može poslati ljusci s â\80\9ekill -signal $$â\80\9d.\n"
 "\n"
 "    Završi s uspjehom osim ako SIGNAL_SPEC nije valjan ili je dana\n"
 "    nevaljana opcija."
 
-#: builtins.c:1438
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4764,18 +4439,16 @@ 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 tipu 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"
 "     -a   prikaže sve lokacije koje sadrže izvršnu datoteku IME; ako nije\n"
-"            dana opcija â\80\9e-pâ\80\9c prikaže i aliase, ugrađene naredbe ljuske,\n"
+"            dana opcija â\80\9e-pâ\80\9d prikaže i aliase, ugrađene naredbe ljuske,\n"
 "            funkcije, ključne riječi, i datoteke na disku\n"
 "     -f   zanemari funkcije ljuske (ne traži ih, slično naredbi „command”)\n"
 "     -P   traži svako navedeno IME po stazama u PATH, čak i ako je IME\n"
@@ -4783,20 +4456,18 @@ msgstr ""
 "            datoteke na disku\n"
 "     -p   ispiše ime izvršne datoteke na disku ili ništa ako je IME alias,\n"
 "            ugrađena naredba ljuske, funkcija ili ključna riječ\n"
-"     -t   ispiÅ¡e samo vrstu navedenih IMENA: â\80\9ealiasâ\80\9c, â\80\9ebuiltinâ\80\9c, â\80\9efileâ\80\9c,\n"
-"            â\80\9efunctionâ\80\9c ili â\80\9ekeywordâ\80\9c, ovisno o tome je li riječ o aliasu,\n"
+"     -t   ispiÅ¡e samo vrstu navedenih IMENA: â\80\9ealiasâ\80\9d, â\80\9ebuiltinâ\80\9d, â\80\9efileâ\80\9d,\n"
+"            â\80\9efunctionâ\80\9d ili â\80\9ekeywordâ\80\9d, ovisno o tome je li riječ o aliasu,\n"
 "            ugrađenoj funkciji (builtin), datoteci na disku, definiranoj\n"
 "            funkciji ili ključnoj riječi; ili ništa, ako je ime nepoznato\n"
 "\n"
 "    Završi s uspjehom ako se pronađu sva IMENA, inače s 1."
 
-#: builtins.c:1469
-#, fuzzy
+#: builtins.c:1432
 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"
@@ -4833,13 +4504,9 @@ msgid ""
 "    Otherwise, the current value of the specified resource is printed.  If\n"
 "    no option is given, then -f is assumed.\n"
 "    \n"
-"    Values are in 1024-byte increments, except for -t, which is in seconds;\n"
-"    -p, which is in increments of 512 bytes; -R, which is in microseconds;\n"
-"    -b, which is in bytes; and -e, -i, -k, -n, -q, -r, -u, -x, and -P,\n"
-"    which accept unscaled values.\n"
-"    \n"
-"    When in posix mode, values supplied with -c and -f are in 512-byte\n"
-"    increments.\n"
+"    Values are in 1024-byte increments, except for -t, which is in seconds,\n"
+"    -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
+"    number of processes.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
@@ -4850,17 +4517,17 @@ msgstr ""
 "    procesima koje stvara -- na sustavima koji to dopuštaju.\n"
 "\n"
 "    Opcije:\n"
-"      -S    rabi â\80\9emekanoâ\80\9c (soft) ograničenje resursa\n"
-"      -H    rabi â\80\9etvrdoâ\80\9c (hard) ograničenje resursa\n"
+"      -S    rabi â\80\9emekanoâ\80\9d (soft) ograničenje resursa\n"
+"      -H    rabi â\80\9etvrdoâ\80\9d (hard) ograničenje resursa\n"
 "      -a    popis svih trenutnih ograničenja\n"
 "      -b    maks. veličina međuspremnika utičnice\n"
-"      -c    maks. veliÄ\8dina â\80\9ecoreâ\80\9c datoteka (u kB)\n"
+"      -c    maks. veliÄ\8dina â\80\9ecoreâ\80\9d datoteka (u kB)\n"
 "      -d    maks. veličina segmenta s procesnim podacima (in kB)\n"
-"      -e    maks. prednost rasporeÄ\91ivanja (â\80\9eniceâ\80\9c vrijednost)\n"
+"      -e    maks. prednost rasporeÄ\91ivanja (â\80\9eniceâ\80\9d vrijednost)\n"
 "      -f    maks. veličina datoteka ljuska i njeni potomci mogu zapisati\n"
 "      -i    maks. broj signala koji može biti na čekanju\n"
 "      -l    maks. veličina koju proces može zaključati u memoriju\n"
-"      -k    maks. broj rezerviranih/dodijeljenih â\80\9ekqueuesâ\80\9c za taj proces\n"
+"      -k    maks. broj rezerviranih/dodijeljenih â\80\9ekqueuesâ\80\9d za taj proces\n"
 "      -m    maks. iznos fizičke memorije procesa (in kB)\n"
 "      -n    maks. broj otvorenih deskriptora datoteka\n"
 "      -p    maks. veličina međuspremnika cijevi\n"
@@ -4879,18 +4546,18 @@ msgstr ""
 "\n"
 "    Ako je specificirani, LIMIT postane nova vrijednost za specificirani\n"
 "    resurs, inače se prikažu trenutne vrijednosti. Specijalne vrijednosti,\n"
-"    â\80\9esoftâ\80\9c, â\80\9ehardâ\80\9c, i â\80\9eunlimitedâ\80\9c su trenutni soft limit, trenutni hard\n"
+"    â\80\9esoftâ\80\9d, â\80\9ehardâ\80\9d, i â\80\9eunlimitedâ\80\9d su trenutni soft limit, trenutni hard\n"
 "    limit i unlimited. Ako nijedna opcija nije specificirana, podrazumijeva\n"
-"    se da je aktivna â\80\9e-fâ\80\9c opcija.\n"
+"    se da je aktivna â\80\9e-fâ\80\9d opcija.\n"
 "\n"
-"    Vrijednosti su viÅ¡ekratnik od 1024 bajta, osim za â\80\9e-tâ\80\9c koji je\n"
-"    u sekundama, â\80\9e-pâ\80\9c koji je viÅ¡ekratnik od 512 bajta i â\80\9e-uâ\80\9c je apsolutni\n"
+"    Vrijednosti su viÅ¡ekratnik od 1024 bajta, osim za â\80\9e-tâ\80\9d koji je\n"
+"    u sekundama, â\80\9e-pâ\80\9d koji je viÅ¡ekratnik od 512 bajta i â\80\9e-uâ\80\9d je apsolutni\n"
 "    broj procesa.\n"
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija\n"
 "    ili se dogodila greška."
 
-#: builtins.c:1524
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4922,27 +4589,23 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako MODE nije valjan ili je dana nevaljana opcija."
 
-#: builtins.c:1544
+#: builtins.c:1503
 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"
@@ -4958,31 +4621,28 @@ 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 â\80\9e-nâ\80\9c, čeka na svršetak jednog posla iz popisa ID-ova\n"
+"    Ako je dana opcija â\80\9e-nâ\80\9d, č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"
 "    njegov izlazni kȏd.\n"
 "\n"
-"    Ako je dana opcija â\80\9e-fâ\80\9c i upravljanje poslovima je omogućeno, čeka dok\n"
+"    Ako je dana opcija â\80\9e-fâ\80\9d i upravljanje poslovima je omogućeno, čeka dok\n"
 "    specificirani ID ne završi, umjesto da promijeni status.\n"
 "\n"
 "    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:1575
+#: builtins.c:1534
 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"
@@ -4994,16 +4654,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:1590
-msgid ""
-"Execute PIPELINE, which can be a simple command, and negate PIPELINE's\n"
-"    return status.\n"
-"    \n"
-"    Exit Status:\n"
-"    The logical negation of PIPELINE's return status."
-msgstr ""
-
-#: builtins.c:1600
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -5017,14 +4668,14 @@ msgid ""
 msgstr ""
 "Izvrši naredbe za svakog člana u popisu.\n"
 "\n"
-"    Petlja â\80\9eforâ\80\9c izvrši sekvenciju naredbi za svakog člana u popisu stavki.\n"
+"    Petlja â\80\9eforâ\80\9d izvrši sekvenciju naredbi za svakog člana u popisu stavki.\n"
 "    Ako nema operanda „in RIJEČIMA...; podrazumijeva se operand\n"
-"    â\80\9ein \"$@\"â\80\9c. Svakom elementu u RIJEČIMA, IME se postavi na taj element\n"
+"    â\80\9ein \"$@\"â\80\9d. 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:1614
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -5040,7 +4691,7 @@ msgid ""
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
 msgstr ""
-"AritmetiÄ\8dka â\80\9eforâ\80\9c petlja.\n"
+"AritmetiÄ\8dka â\80\9eforâ\80\9d petlja.\n"
 "\n"
 "    Isto kao:\n"
 "\n"
@@ -5051,7 +4702,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1632
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -5072,23 +4723,21 @@ msgid ""
 msgstr ""
 "Pripremi izbornik i izvrši izabrane naredbe.\n"
 "\n"
-"    ProÅ¡irenjem RIJEÄ\8cI, â\80\9eselectâ\80\9c generira i prikaže izbornik na standardnom\n"
-"    izlazu za greÅ¡ke s brojem ispred svake rijeÄ\8di. Ako operand â\80\9eu RIJEÄ\8cIMAâ\80\9c\n"
-"    nije naveden, podrazumijeva se operand â\80\9ein \"$@\"â\80\9c.\n"
+"    ProÅ¡irenjem RIJEÄ\8cI, â\80\9eselectâ\80\9d generira i prikaže izbornik na standardnom\n"
+"    izlazu za greÅ¡ke s brojem ispred svake rijeÄ\8di. Ako operand â\80\9eu RIJEÄ\8cIMAâ\80\9d\n"
+"    nije naveden, podrazumijeva se operand â\80\9ein \"$@\"â\80\9d.\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:1653
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -5110,12 +4759,12 @@ msgstr ""
 "    korisnikom i CPU vrijeme potrošeno sustavom za izvršavanje naredbi.\n"
 "\n"
 "    Izlazni format se može prilagoditi s varijablom okoline TIMEFORMAT.\n"
-"    Opcija â\80\9e-pâ\80\9c zanemari TIMEFORMAT i ispiše izlaz u prenosivom POSIX\n"
+"    Opcija â\80\9e-pâ\80\9d zanemari TIMEFORMAT i ispiše izlaz u prenosivom POSIX\n"
 "    formatu.\n"
 "\n"
 "    Završi s izlaznim kȏdom CJEVOVODA."
 
-#: builtins.c:1670
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -5128,25 +4777,20 @@ msgstr ""
 "Izvrši naredbe ovisno o podudaranju s uzorkom.\n"
 "\n"
 "    Izvrši onu NAREDBU koja odgovara prvom UZORKU podudarnom s RIJEČI.\n"
-"    Znak â\80\9e\80\9c rabi se za razdvajanje više uzoraka.\n"
+"    Znak â\80\9e\80\9d rabi se za razdvajanje više uzoraka.\n"
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1682
+#: builtins.c:1631
 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"
@@ -5154,20 +4798,19 @@ msgid ""
 msgstr ""
 "Izvrši naredbe u skladu s uvjetima.\n"
 "\n"
-"    IzvrÅ¡i naredbe iza â\80\9eifâ\80\9c; ako to završi s kȏdom 0, izvrši naredbe\n"
-"    iza prvog â\80\9ethenâ\80\9c; inaÄ\8de, izvrÅ¡i naredbe iza sljedeÄ\87eg â\80\9eelifâ\80\9c\n"
-"    (ako postoji) ili â\80\9eelseâ\80\9c (ako postoji). Ako â\80\9eelifâ\80\9c završi s kȏdom\n"
-"    nula, izvrÅ¡i naredbe iza odgovarajuÄ\87eg â\80\9ethenâ\80\9c. Ako nema viÅ¡e â\80\9eelifâ\80\9c,\n"
-"    ili â\80\9eelseâ\80\9c ili nakon izvrÅ¡enih naredbi iza â\80\9ethenâ\80\9c, â\80\9eifâ\80\9c naredba završi.\n"
+"    IzvrÅ¡i naredbe iza â\80\9eifâ\80\9d; ako to završi s kȏdom 0, izvrši naredbe\n"
+"    iza prvog â\80\9ethenâ\80\9d; inaÄ\8de, izvrÅ¡i naredbe iza sljedeÄ\87eg â\80\9eelifâ\80\9d\n"
+"    (ako postoji) ili â\80\9eelseâ\80\9d (ako postoji). Ako â\80\9eelifâ\80\9d završi s kȏdom\n"
+"    nula, izvrÅ¡i naredbe iza odgovarajuÄ\87eg â\80\9ethenâ\80\9d. Ako nema viÅ¡e â\80\9eelifâ\80\9d,\n"
+"    ili â\80\9eelseâ\80\9d ili nakon izvrÅ¡enih naredbi iza â\80\9ethenâ\80\9d, â\80\9eifâ\80\9d naredba završi.\n"
 "\n"
-"    â\80\9eifâ\80\9c završi s kȏdom zadnje izvršene naredbe."
+"    â\80\9eifâ\80\9d završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1699
+#: builtins.c:1648
 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"
+"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS has\n"
 "    an exit status of zero.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5180,12 +4823,11 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1711
+#: builtins.c:1660
 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"
+"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS has\n"
 "    an exit status which is not zero.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5198,7 +4840,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1723
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -5219,13 +4861,12 @@ msgstr ""
 "\n"
 "    Naredba coproc završi s kȏdom 0."
 
-#: builtins.c:1737
+#: builtins.c:1686
 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"
@@ -5241,7 +4882,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je IME readonly (samo-za-čitanje)."
 
-#: builtins.c:1751
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -5258,7 +4899,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1763
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5274,13 +4915,13 @@ msgstr ""
 "Nastavi posao u interaktivnom načinu.\n"
 "\n"
 "    Nastavi zaustavljeni ili pozadinski posao u interaktivnom modu\n"
-"    To je ekvivalentno naredbi â\80\9efgâ\80\9c. SPECIFIKACIJU_POSLA može specificirati\n"
-"    ili ime posla ili broj posla. Ako â\80\9e\80\9c slijedi iza SPECIFIKACIJE_POSLA\n"
-"    onda posao prelazi u pozadinu. To je ekvivalentno naredbi â\80\9ebgâ\80\9c\n"
+"    To je ekvivalentno naredbi â\80\9efgâ\80\9d. SPECIFIKACIJU_POSLA može specificirati\n"
+"    ili ime posla ili broj posla. Ako â\80\9e\80\9d slijedi iza SPECIFIKACIJE_POSLA\n"
+"    onda posao prelazi u pozadinu. To je ekvivalentno naredbi â\80\9ebgâ\80\9d\n"
 "\n"
 "    Završi s kȏdom nastavljenog posla."
 
-#: builtins.c:1778
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5298,16 +4939,13 @@ msgstr ""
 "    Završi s kȏdom 1 ako je rezultat IZRAZA jednak 0;\n"
 "    inače završi s uspjehom."
 
-#: builtins.c:1790
+#: builtins.c:1739
 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"
@@ -5329,7 +4967,7 @@ msgstr ""
 "\n"
 "    Vrednuje dani uvjetni IZRAZ; ovisno o rezultatu evaluacije završi s\n"
 "    izlaznim kȏdom 0 (istina) ili 1 (neistina, laž).  Izrazi koriste iste\n"
-"    osnovne komponente koje koristi ugraÄ\91ena naredba (builtin) â\80\9etestâ\80\9c,\n"
+"    osnovne komponente koje koristi ugraÄ\91ena naredba (builtin) â\80\9etestâ\80\9d,\n"
 "    i mogu se kombinirati sa sljedećim operatorima:\n"
 "\n"
 "        ( IZRAZ )     vrati vrijednost danog IZRAZA\n"
@@ -5337,18 +4975,17 @@ msgstr ""
 "        IZRAZ1 && IZRAZ2    istina ako su oba izraza istinita, inače laž\n"
 "        IZRAZ1 || IZRAZ2    laž ako su oba izraza neistinita, inače istina\n"
 "\n"
-"    Ako se rabe operatori â\80\9e==â\80\9c ili â\80\9e!=â\80\9c, onda se string desno od operatora\n"
+"    Ako se rabe operatori â\80\9e==â\80\9d ili â\80\9e!=â\80\9d, 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 â\80\9e&&â\80\9c i „|| ne vrednuju IZRAZ2 ako je IZRAZ1 dovoljan za\n"
+"    Operatori â\80\9e&&â\80\9d i „|| ne vrednuju IZRAZ2 ako je IZRAZ1 dovoljan za\n"
 "    određivanje konačnog rezulata.\n"
 "\n"
 "    Završi s uspjehom ili 1 ovisno o IZRAZU."
 
-#: builtins.c:1816
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5406,9 +5043,9 @@ msgstr ""
 "    U nastavku je opis brojnih varijabli od kojih neke sadrže popis\n"
 "    elemenata. U svakom od tih popisa elementi su razdvojeni dvotočkama.\n"
 "\n"
-"    BASH_VERSION  inaÄ\8dica ovog â\80\9ebashâ\80\9c programa\n"
+"    BASH_VERSION  inaÄ\8dica ovog â\80\9ebashâ\80\9d programa\n"
 "    CDPATH        popis direktorija u kojima se traži direktorij\n"
-"                    kad argument od â\80\9ecdâ\80\9c (direktorij) nije u\n"
+"                    kad argument od â\80\9ecdâ\80\9d (direktorij) nije u\n"
 "                    trenutnom radnom direktoriju\n"
 "    GLOBIGNORE    popis uzoraka koji opisuju imena datoteka koje\n"
 "                    su zanemarene prilikom ekspanzije imena staza\n"
@@ -5416,43 +5053,39 @@ 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"
+"    HISTSIZE      maksimalni broj redaka koje trenutna ljuska može dosegnuti\n"
 "    HOME          puni naziv staze do vašega vlastitog direktorija\n"
-"    HOSTNAME      ime raÄ\8dunala na kojem se izvrÅ¡ava â\80\9ebashâ\80\9c\n"
-"    HOSTTYPE      tip CPU-a na kojem se izvrÅ¡ava â\80\9ebashâ\80\9c\n"
+"    HOSTNAME      ime raÄ\8dunala na kojem se izvrÅ¡ava â\80\9ebashâ\80\9d\n"
+"    HOSTTYPE      tip CPU-a na kojem se izvrÅ¡ava â\80\9ebashâ\80\9d\n"
 "    IGNOREEOF     broj zanemarenih Ctrl-D (EOF) prije zatvaranja ljuske\n"
-"    MACHTYPE      vrsta raÄ\8dunala na kojem se izvrÅ¡ava â\80\9ebashâ\80\9c\n"
-"    MAILCHECK     kako Ä\8desto (u sekundama) â\80\9ebashâ\80\9c gleda ima li nove pošte\n"
-"    MAILPATH      popis datoteka koje â\80\9ebashâ\80\9c provjeri za novu poštu\n"
-"    OSTYPE        distribucija Unix-a no kojem se izvrÅ¡ava ovaj â\80\9ebashâ\80\9c\n"
+"    MACHTYPE      vrsta raÄ\8dunala na kojem se izvrÅ¡ava â\80\9ebashâ\80\9d\n"
+"    MAILCHECK     kako Ä\8desto (u sekundama) â\80\9ebashâ\80\9d gleda ima li nove pošte\n"
+"    MAILPATH      popis datoteka koje â\80\9ebashâ\80\9d provjeri za novu poštu\n"
+"    OSTYPE        distribucija Unix-a no kojem se izvrÅ¡ava ovaj â\80\9ebashâ\80\9d\n"
 "    PATH          popis direktorija u kojima se traže naredbe\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, â\80\9e\80\9c)\n"
+"    PS2           string koji opisuje sekundarni prompt (zadano, â\80\9e\80\9d)\n"
 "    PWD           puni naziv staze trenutnog radnog direktorija\n"
 "    SHELLOPTS     popis svih omogućenih opcija ljuske\n"
 "    TERM          naziv tipa 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"
+"    TIMEFORMAT    pravilo za format ispisa „time” statistika\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 â\80\9esubstringâ\80\9c znači da naredbena riječ mora\n"
+"                    vrijednost â\80\9esubstringâ\80\9d 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â\80\9c, obiÄ\8dno â\80\9e\80\9c; drugi znak je „znak brze\n"
-"                    supstitucijeâ\80\9c, obiÄ\8dno â\80\9e\80\9c; treći znak je „komentar\n"
-"                    povijestiâ\80\9c, obiÄ\8dno â\80\9e\80\9c.\n"
+"                    povijestiâ\80\9d, obiÄ\8dno â\80\9e\80\9d; drugi znak je „znak brze\n"
+"                    supstitucijeâ\80\9d, obiÄ\8dno â\80\9e\80\9d; treći znak je „komentar\n"
+"                    povijestiâ\80\9d, obiÄ\8dno â\80\9e\80\9d.\n"
 
-#: builtins.c:1873
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5495,21 +5128,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 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   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 â\80\9edirsâ\80\9c prikaže trenutni sadržaj stȏga direktorija.\n"
+"      Naredba â\80\9edirsâ\80\9d 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:1907
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5537,10 +5166,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"
@@ -5549,18 +5176,18 @@ msgstr ""
 "\n"
 "    Argumenti:\n"
 "      +N   Ukloni da N-ti direktorij iz stȏga brojeći od nule s lijeve\n"
-"             strane popisa pokazanog s â\80\9edirsâ\80\9c. Na primjer: â\80\9epopd +0â\80\9c\n"
-"             ukloni prvi, a â\80\9epopd +1â\80\9c ukloni drugi direktorij.\n"
+"             strane popisa pokazanog s â\80\9edirsâ\80\9d. Na primjer: â\80\9epopd +0â\80\9d\n"
+"             ukloni prvi, a â\80\9epopd +1â\80\9d ukloni drugi direktorij.\n"
 "      +N   Ukloni da N-ti direktorij iz stȏga brojeći od nule s desne\n"
-"             strane popisa pokazanog s â\80\9edirsâ\80\9c. Na primjer.: â\80\9epopd -0â\80\9c\n"
-"             ukloni zadnji, a â\80\9epopd -1â\80\9c ukloni predzadnji direktorij.\n"
+"             strane popisa pokazanog s â\80\9edirsâ\80\9d. Na primjer.: â\80\9epopd -0â\80\9d\n"
+"             ukloni zadnji, a â\80\9epopd -1â\80\9d ukloni predzadnji direktorij.\n"
 "\n"
-"    Naredba â\80\9edirsâ\80\9c prikaže trenutni sadržaj stȏga direktorija.\n"
+"    Naredba â\80\9edirsâ\80\9d 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:1937
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5591,26 +5218,25 @@ msgstr ""
 "Ispiše sadržaj stȏga direktorija.\n"
 "\n"
 "    Pokaže popis trenutno zapamćenih direktorija. Direktoriji se unose\n"
-"    na popis pomoÄ\87u naredbe â\80\9epushdâ\80\9c, a s naredbom â\80\9epopdâ\80\9c se uklanjaju.\n"
+"    na popis pomoÄ\87u naredbe â\80\9epushdâ\80\9d, a s naredbom â\80\9epopdâ\80\9d se uklanjaju.\n"
 "    \n"
 "    Opcije:\n"
 "      -c   počisti stȏg direktorija brisanjem svih elemenata\n"
 "      -l   ispiše apsolutne staze direktorija u odnosu na osobni\n"
 "             direktorij (ne skraćuje staze upotrebom tilde)\n"
 "      -p   ispiše sadržaj stȏga po jedan direktorij po retku\n"
-"      -v   kao â\80\9e-pâ\80\9c, ali s prefiksom koji pokazuje\n"
+"      -v   kao â\80\9e-pâ\80\9d, ali s prefiksom koji pokazuje\n"
 "             poziciju direktorija stȏgu\n"
 "\n"
 "    Argumenti:\n"
 "      +N   Pokaže N-ti direktorij iz stȏga, brojeći od od nule s\n"
-"             lijeve strane popisa kad se â\80\9edirsâ\80\9c pokrene bez opcija.\n"
+"             lijeve strane popisa kad se â\80\9edirsâ\80\9d pokrene bez opcija.\n"
 "      -N   Pokaže N-ti direktorij iz stȏga, brojeći od nule s\n"
-"             desne strane popisa kad se â\80\9edirsâ\80\9c pokrene bez opcija.\n"
+"             desne strane popisa kad se â\80\9edirsâ\80\9d 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:1968
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5632,24 +5258,22 @@ msgstr ""
 "Omogući ili onemogući opcije ljuske.\n"
 "\n"
 "    Promjeni postavku svakoj opciji IME_OPCIJE ljuske. Bez ikakvih opcija i\n"
-"    argumenta, â\80\9eshoptâ\80\9c izlista sve opcije ljuske pokazujući je ili nije\n"
+"    argumenta, â\80\9eshoptâ\80\9d izlista sve opcije ljuske pokazujući je ili nije\n"
 "    uključena.\n"
 "\n"
 "    Opcije:\n"
 "      -o   ograniči IME_OPCIJE na ona koja su definirana\n"
-"             za upotrebu sa â\80\9eset -oâ\80\9c\n"
+"             za upotrebu sa â\80\9eset -oâ\80\9d\n"
 "      -p   generira izlaz koji se može koristi za ulaz\n"
 "      -q   izostavi izlaz (ništa ne ispisuje)\n"
 "      -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 s 1 i ako je dano\n"
 "    nevaljano IME_OPCIJE, a završi s 2 ako je dana nevaljana opcija."
 
-#: builtins.c:1989
-#, fuzzy
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5657,36 +5281,29 @@ 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 characters csndiouxXeEfFgGaA "
-"described\n"
-"    in printf(3), printf interprets:\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"
@@ -5702,37 +5319,30 @@ 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"
+"      %q       citira argument tako, da se može iskoristiti kao ulaz za ljusku\n"
 "      %Q       kao %q, ali primijeni bilo kakvu preciznost na necitirani\n"
 "               argument prije citiranja\n"
-"      %(fmt)T  koristeći FMT, ispiše date-time string u obliku format "
-"stringa\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:2025
-#, fuzzy
+#: builtins.c:1974
 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"
-"    or NAMEs are supplied, display existing completion specifications in a "
-"way\n"
-"    that allows them to be reused as input.\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"
 "      -p\tprint existing completion specifications in a reusable format\n"
@@ -5746,15 +5356,13 @@ 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."
 msgstr ""
-"Specificira kako â\80\9eReadlineâ\80\9c treba kompletirati argumente.\n"
+"Specificira kako â\80\9eReadlineâ\80\9d treba kompletirati argumente.\n"
 "\n"
 "    Za svako navedeno IME specificira kako se kompletiraju argumenti. Bez\n"
 "    opcija ispiše postojeće specifikacije koje se mogu ponovno\n"
@@ -5766,56 +5374,45 @@ msgstr ""
 "      -r   ukloni specifikaciju kompletiranja za svako navedeno IME\n"
 "             ili ukloni sve specifikacije ako nisu navedena IMENA\n"
 "      -D   na naredbe koje nemaju vlastitu specifikaciju za kompletiranje\n"
-"             primjeni â\80\9ezadanoâ\80\9c ponašanje specifikacija i akcija\n"
-"      -E   primjeni zadano ponaÅ¡anje specifikacija i akcija i na â\80\9eprazneâ\80\9c\n"
+"             primjeni â\80\9ezadanoâ\80\9d ponašanje specifikacija i akcija\n"
+"      -E   primjeni zadano ponaÅ¡anje specifikacija i akcija i na â\80\9eprazneâ\80\9d\n"
 "             naredbe --; pokuša kompletirati prazni redak\n"
 "      -I   primjeni zadano ponašanje specifikacija i akcija i na početnu\n"
 "             (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"
-"    prednost od opcije „-E“, a obje imaju veću prednost od opcije „-I“\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:2055
-#, fuzzy
+#: builtins.c:2004
 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 present, generate "
-"matches\n"
-"    against WORD.\n"
-"    \n"
-"    If the -V option is supplied, store the possible completions in the "
-"indexed\n"
-"    array VARNAME instead of printing them to the standard output.\n"
+"    completions.  If the optional WORD argument is supplied, matches against\n"
+"    WORD are generated.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 "Prikaže moguća kompletiranja ovisno o opcijama.\n"
 "\n"
-"    â\80\9ecompgenâ\80\9c je namijenjen za upotrebu unutar funkcije koja generira\n"
+"    â\80\9ecompgenâ\80\9d je namijenjen za upotrebu unutar funkcije koja generira\n"
 "    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:2073
+#: builtins.c:2019
 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"
@@ -5847,41 +5444,35 @@ msgstr ""
 "    Opcije:\n"
 "      -o OPCIJA   omogući ovu OPCIJU kompletiranja za svako IME\n"
 "      -D          promijeni opcije za „zadano” kompletiranje\n"
-"      -E          promijeni opcije za kompletiranje â\80\9eprazneâ\80\9c naredbe\n"
+"      -E          promijeni opcije za kompletiranje â\80\9eprazneâ\80\9d naredbe\n"
 "      -I          promijeni opcije za kompletiranje na početnu riječ\n"
 "\n"
-"    â\80\9e\80\9c umjesto â\80\9e\80\9c isključi odgovarajuću opciju.\n"
+"    â\80\9e\80\9d umjesto â\80\9e\80\9d isključi odgovarajuću opciju.\n"
 "\n"
 "    Svako IME ukazuje na naredbu za koju specifikacija kompletiranja mora\n"
-"    veÄ\87 prije biti definirana pomoÄ\87u ugraÄ\91ene naredbe â\80\9ecompleteâ\80\9c. Ako nije\n"
+"    veÄ\87 prije biti definirana pomoÄ\87u ugraÄ\91ene naredbe â\80\9ecompleteâ\80\9d. Ako nije\n"
 "    dano nijedno IME, funkcija koja trenutno generira kompletiranja mora\n"
-"    pozvati â\80\9ecompoptâ\80\9c; time se onda promjene opcije za taj generator koji\n"
+"    pozvati â\80\9ecompoptâ\80\9d; 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:2104
+#: builtins.c:2050
 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"
@@ -5894,51 +5485,44 @@ 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 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"
 "      POLJE        ime varijable polja u koju se upisuju pročitani redci\n"
 "\n"
-"    Ako je opcija â\80\9e-Câ\80\9c navedena bez opcije â\80\9e-câ\80\9c, TOLIKO je 5000 (zadano).\n"
+"    Ako je opcija â\80\9e-Câ\80\9d navedena bez opcije â\80\9e-câ\80\9d, 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Ä\8cETAK, â\80\9emapfileâ\80\9c počisti POLJE\n"
+"    Ako nije dan eksplicitni POÄ\8cETAK, â\80\9emapfileâ\80\9d počisti POLJE\n"
 "    prije početka upisivanja.\n"
 "\n"
 "    Završi s uspjehom osim ako je POLJE readonly (samo-za-čitanje) ili nije\n"
 "    polje ili je dana nevaljana opcija."
 
-#: builtins.c:2140
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5946,62 +5530,7 @@ msgid ""
 msgstr ""
 "Učita retke iz datoteke u varijablu indeksirano polje.\n"
 "\n"
-"    Sinonim za „mapfile“."
-
-#, c-format
-#~ msgid "%s: cannot open: %s"
-#~ msgstr "%s: Nije moguće otvoriti: %s"
-
-#, c-format
-#~ msgid "%s: inlib failed"
-#~ msgstr "%s: „inlib” nije uspio"
-
-#, c-format
-#~ msgid "%s: %s"
-#~ msgstr "%s: %s"
-
-#, c-format
-#~ msgid "%s: cannot execute binary file: %s"
-#~ msgstr "%s: binarnu datoteku %s nije moguće pokrenuti/izvršiti"
-
-#, c-format
-#~ msgid "setlocale: LC_ALL: cannot change locale (%s)"
-#~ msgstr "setlocale(): LC_ALL: nije moguće promijeniti jezično područje (%s)"
-
-#, 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"
-
-#, c-format
-#~ msgid "setlocale: %s: cannot change locale (%s): %s"
-#~ msgstr "setlocale(): %s: nije moguće promijeniti jezično područje (%s): %s"
-
-#~ msgid ""
-#~ "Returns the context of the current subroutine call.\n"
-#~ "    \n"
-#~ "    Without EXPR, returns \"$line $filename\".  With EXPR, returns\n"
-#~ "    \"$line $subroutine $filename\"; this extra information can be used "
-#~ "to\n"
-#~ "    provide a stack trace.\n"
-#~ "    \n"
-#~ "    The value of EXPR indicates how many call frames to go back before "
-#~ "the\n"
-#~ "    current one; the top frame is frame 0."
-#~ msgstr ""
-#~ "Vrati kontekst trenutnog poziva funkciji.\n"
-#~ "\n"
-#~ "    Bez IZRAZA, vrati „$line $filename“. S IZRAZOM, vrati\n"
-#~ "    „$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"
-#~ "    trenutne pozicije, s time da je pozicija 0 trenutna pozicija."
-
-#, c-format
-#~ msgid "warning: %s: %s"
-#~ msgstr "upozorenje: %s: %s"
+"    Sinonim za „mapfile”."
 
 #~ msgid "%s: invalid associative array key"
 #~ msgstr "%s: nevaljan ključ asocijativnog polja"
@@ -6024,12 +5553,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 "Licenc GPLv2+: GNU GPL inačica 2 ili novija <http://gnu.org/licenses/gpl.html>\n"
 
 #~ msgid ":"
 #~ msgstr ":"
index e702133851c564169dfb7a6c0b7c64a37e73a657..2ad4b8ef7aed2188fefd975fd7321a5b7d4e086a 100644 (file)
@@ -1199,7 +1199,7 @@ print_redirection (REDIRECT *redirect)
     case r_input_output:
       if (redirect->rflags & REDIR_VARASSIGN)
        cprintf ("{%s}", redir_word->word);
-      else if (redirector != 1)
+      else if (redirector != 0)
        cprintf ("%d", redirector);
       cprintf ("<> %s", redirectee->word);
       break;
index e17a127a038d4b410e61fceb1af3f57cf7b65d8e..1e52e6b6641f2a8edf4a6e8c2889b0922afaf97c 100644 (file)
@@ -281,15 +281,89 @@ after 4 0
 + set +x
 ./arith9.sub: line 37: 4+: arithmetic syntax error: operand expected (error token is "+")
 x = 4+ y =
+== arraysub ==
+=== assoc_expand_once unset ===
+declare -a a=([0]="10")
+declare -a a=([0]="11")
+declare -a a=([0]="12")
+declare -a a=([0]="13")
+declare -a a=([0]="14")
+./arith10.sub: line 33: " ": arithmetic syntax error: operand expected (error token is "" "")
+declare -a a=([0]="16")
+declare -a a=([0]="17")
+declare -a a=([0]="18")
+./arith10.sub: line 38: "": arithmetic syntax error: operand expected (error token is """")
+declare -a a=([0]="20")
+declare -a a=([0]="21")
+declare -a a=([0]="22")
+declare -a a=([0]="23")
+./arith10.sub: line 44: ((: `a[]': not a valid identifier
+declare -a a=([0]="0")
+./arith10.sub: line 45: `a[]': not a valid identifier
+declare -a a=([0]="0")
+declare -a a=([0]="26")
+=== assoc_expand_once set ===
+declare -a a=([0]="10")
+declare -a a=([0]="11")
+declare -a a=([0]="12")
+declare -a a=([0]="13")
+declare -a a=([0]="14")
+./arith10.sub: line 33: " ": arithmetic syntax error: operand expected (error token is "" "")
+declare -a a=([0]="16")
+declare -a a=([0]="17")
+./arith10.sub: line 36: " ": arithmetic syntax error: operand expected (error token is "" "")
+./arith10.sub: line 38: "": arithmetic syntax error: operand expected (error token is """")
+declare -a a=([0]="20")
+declare -a a=([0]="21")
+./arith10.sub: line 41: "": arithmetic syntax error: operand expected (error token is """")
+declare -a a=([0]="23")
+./arith10.sub: line 44: ((: `a[]': not a valid identifier
+declare -a a=([0]="0")
+./arith10.sub: line 45: `a[]': not a valid identifier
+declare -a a=([0]="0")
+./arith10.sub: line 46: "": arithmetic syntax error: operand expected (error token is """")
+== substring ==
+12
+12
+
+
+345
+== cond ==
+1
+1
+0
+== arithsub ==
+0
+1 0
+0
+2 0
+./arith10.sub: line 80: "" : arithmetic syntax error: operand expected (error token is """ ")
+0
+4 0
+5 0
+6 0
+== arithcmd ==
+1 1
+2 1
+3 1
+./arith10.sub: line 89: ((: 1 -  : arithmetic syntax error: operand expected (error token is "-  ")
+4 1
+== letbltin ==
+1 1
+2 1
+./arith10.sub: line 94: let: 0 - "": arithmetic syntax error: operand expected (error token is """")
+3 1
+./arith10.sub: line 95: let: 0 - "": arithmetic syntax error: operand expected (error token is """")
+4 1
 8 12
-./arith.tests: line 332: ((: x=9 y=41 : arithmetic syntax error in expression (error token is "y=41 ")
-./arith.tests: line 336: a b: arithmetic syntax error in expression (error token is "b")
-./arith.tests: line 337: ((: a b: arithmetic syntax error in expression (error token is "b")
+./arith.tests: line 335: ((: x=9 y=41 : arithmetic syntax error in expression (error token is "y=41 ")
+./arith.tests: line 339: a b: arithmetic syntax error in expression (error token is "b")
+./arith.tests: line 340: ((: a b: arithmetic syntax error in expression (error token is "b")
 42
 42
 42
 42
 42
 42
-./arith.tests: line 352: 'foo' : arithmetic syntax error: operand expected (error token is "'foo' ")
-./arith.tests: line 355: b[c]d: arithmetic syntax error in expression (error token is "d")
+./arith.tests: line 355: 'foo' : arithmetic syntax error: operand expected (error token is "'foo' ")
+./arith.tests: line 358: b[c]d: arithmetic syntax error in expression (error token is "d")
index fec2afd02728a0ab5c0e29ad835c52a3a1aa59e0..4e36b005c35f8a2e3dac1c36cd22ad63591295cd 100644 (file)
@@ -321,6 +321,9 @@ ${THIS_SH} ./arith8.sub
 # expressions with unset variables and nounset enabled
 ${THIS_SH} ./arith9.sub
 
+# empty expressions in various arithmetic evaluation contexts
+${THIS_SH} ./arith10.sub
+
 x=4
 y=7
 
diff --git a/tests/arith10.sub b/tests/arith10.sub
new file mode 100644 (file)
index 0000000..291a7d2
--- /dev/null
@@ -0,0 +1,95 @@
+#   Copyright 2025 The Free Software Foundation
+#
+#   This 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/>.
+#
+
+# let's see how various arithmetic contexts handle embedded double quotes and
+# empty expressions
+
+declare -a a
+
+afunc()
+{
+       a[0]=0
+
+       ( a[" "]=10 ; declare -p a )
+       ( (( a[" "]=11 )) ; declare -p a )
+       ( : $(( a[" "]=12 )) ; declare -p a )
+       ( let a\[" "\]=13 ; declare -p a )
+
+       ( declare "a[\" \"]=14" ; declare -p a )
+
+       ( a[\" \"]=15; declare -p a )
+       ( (( a[\" \"]=16 )) ; declare -p a )
+       ( : $(( a[\" \"]=17 )) ; declare -p a )
+       ( let "a[\" \"]"=18 ; declare -p a )
+
+       ( a[\"\"]=19 ; declare -p a )
+       ( (( a[\"\"]=20 )) ; declare -p a  )
+       ( : $(( a[\"\"]=21 )) ; declare -p a )
+       ( let "a[\"\"]"=22 ; declare -p a )
+
+       ( a[""]=23 ; declare -p a )
+       ( (( a[""]=24 )); declare -p a )
+       ( : $(( a[""]=25 )); declare -p a )
+       ( let 'a[""]=26' ; declare -p a )
+}
+
+echo == arraysub ==
+shopt -u assoc_expand_once
+echo === assoc_expand_once unset ===
+afunc
+
+unset a
+declare -a a
+
+shopt -s assoc_expand_once
+echo === assoc_expand_once set ===
+afunc
+unset a
+
+echo == substring ==
+a=12345
+
+echo ${a:0:2}
+echo ${a::2}
+
+echo ${a:2:0}
+echo ${a:2:}
+echo ${a:2}
+
+echo == cond ==
+[[ "" -gt 1 ]] ; echo $?
+[[ 1 -le "" ]] ; echo $?
+[[ 0 -eq "" ]] ; echo $?
+
+echo == arithsub ==
+echo $(( )) ; echo 1 $?
+echo $(( "" )) ; echo 2 $?
+echo $(( \"\" )) ; echo 3 $?
+echo $(()) ; echo 4 $?
+a=$(( )) ; echo 5 $?
+a=$(( "" )) ; echo 6 $?
+
+echo == arithcmd ==
+(( )) ; echo 1 $?
+(( "" )) ; echo 2 $?
+(( " " )) ; echo 3 $?
+(( 1 - "" )) ; echo 4 $?
+
+echo == letbltin ==
+let '' ; echo 1 $?
+let ' ' ; echo 2 $?
+let '0 - ""' ; echo 3 $?
+let "0 - \"\"" ; echo 4 $?
index 6b7b21c2ff6419b03d4840343366e4ff437f04a1..d9f50b5e38e049f0cc7b6862e4013adc7a674c4f 100644 (file)
@@ -133,7 +133,7 @@ length = 3
 value = new1 new2 new3
 ./array.tests: line 267: syntax error near unexpected token `&'
 ./array.tests: line 267: `badarray=( metacharacters like & need to be quoted in compound assignments)'
-./array.tests: line 271: narray: unbound variable
+./array.tests: line 271: narray[4]: unbound variable
 ./array1.sub: line 1: syntax error near unexpected token `('
 ./array1.sub: line 1: `printf "%s\n" -a a=(a 'b  c')'
 ./array2.sub: line 1: declare: `[]=asdf': not a valid identifier
index 7bcbc38802126eea5c2726a16d325520cea282ce..4a0c349dd477c3b826a0086732c25ddde8595344 100644 (file)
@@ -68,6 +68,17 @@ z x v t r p n l j h f d b
 10 8 6 4 2 0
 10 8 6 4 2 0
 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0
+{1..7} {1..8} {1..9} {2..7} {2..8} {2..9} {3..7} {3..8} {3..9}
+{a..1} {a..2} {a..3} {b..1} {b..2} {b..3} {c..1} {c..2} {c..3}
+{a..1} {a..10} {b..1} {b..10} {c..1} {c..10}
+{a..1} {a..2} {a..3} {a..4} {c..1} {c..2} {c..3} {c..4}
+{1..4} {2..4} {3..4}
+{6..7} {6..8} {6..9}
+{abcde.f}
+X{..a}Z
+0{1..}2
+{a..1..5}
+x{1..a}0 x{1..a}1 x{1..a}2 y{1..a}0 y{1..a}1 y{1..a}2
 {1..10.f}
 {1..ff}
 {1..10..ff}
index e1920f29a9c8b317a68a535749712f429048b7d0..848d1fa7a8e982e51f0859f6338404dbb6b5b389 100644 (file)
@@ -130,6 +130,25 @@ echo {10..0..2}
 echo {10..0..-2}
 echo {-50..-0..5}
 
+# the outer sequence expression is invalid but the other brace expansions are ok
+# fixed post-bash-5.2
+
+echo {{1,2,3}..{7,8,9}}
+echo {{a..c}..{1..3}}
+echo {{a..c}..{1,10}}
+echo {{a,c}..{1..4}}
+
+echo {{1,2,3}..4}
+echo {6..{7,8,9}}
+
+# these are all invalid brace expansions
+
+echo {abcde.f}
+echo X{..a}Z
+echo 0{1..}2
+echo {a..1..5}
+echo {x,y}{1..a}{0,1,2}
+
 # bad
 echo {1..10.f}
 echo {1..ff}