]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
Bash-5.2-rc2 release
authorChet Ramey <chet.ramey@case.edu>
Mon, 25 Jul 2022 17:33:03 +0000 (13:33 -0400)
committerChet Ramey <chet.ramey@case.edu>
Mon, 25 Jul 2022 17:33:03 +0000 (13:33 -0400)
77 files changed:
CHANGES
CHANGES-5.2 [new file with mode: 0644]
CWRU/changelog
MANIFEST
Makefile.in
NEWS
NEWS-5.2 [new file with mode: 0644]
builtins/evalstring.c
builtins/printf.def
builtins/setattr.def
configure
configure.ac
doc/bash.0
doc/bash.1
doc/bash.info
doc/bashref.info
doc/bashref.texi
eval.c
execute_cmd.c
expr.c
externs.h
jobs.c
lib/readline/doc/rluser.texi
lib/readline/isearch.c
parse.y
po/bg.gmo
po/bg.po
po/ca.gmo
po/ca.po
po/cs.gmo
po/cs.po
po/fr.gmo
po/fr.po
po/hr.gmo
po/hr.po
po/ja.gmo
po/ja.po
po/ko.gmo
po/ko.po
po/nb.gmo
po/nb.po
po/nl.gmo
po/nl.po
po/pl.gmo
po/pl.po
po/ro.gmo
po/ro.po
po/sv.gmo
po/sv.po
po/uk.gmo
po/uk.po
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
print_cmd.c
subst.c
test.c
tests/alias.right
tests/alias.tests
tests/alias6.sub [new file with mode: 0644]
tests/comsub.right
tests/comsub.tests
tests/comsub5.sub
tests/dynvar.tests
tests/errors.right
tests/errors.tests
tests/errors9.sub [new file with mode: 0644]
tests/heredoc.right
tests/new-exp.right
tests/new-exp16.sub
tests/test.right
tests/test.tests
variables.c
variables.h
y.tab.c
y.tab.h

diff --git a/CHANGES b/CHANGES
index 8304d426355984909191deed15583b3b54bff97d..1439125eb89fd0a0f047ca1f9c2a948f29f8f8a7 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,42 @@
+This document details the changes between this version, bash-5.2-rc2, and
+the previous version, bash-5.2-rc1.
+
+1. Changes to Bash
+
+a. Fixed a bug that could disable history saving after a compound array
+   assignment in an interactive shell.
+
+b. Fixed a bug that could cause incorrect error messages when running a DEBUG
+   trap during a conditional or arithmetic command.
+
+c. Fixed a bug that caused test to print an error message when given ! ! arg
+   as arguments.
+
+d. Fixed a bug that resulted in incorrect error messages when completing a
+   backquoted command substitution.
+
+e. Changed command substitution parsing to reproduce the original text more
+   closely when reconsituting the command string from the parsed command.
+
+f. Fixed a bug that could cause an EXIT trap to use the wrong variable context
+   when the errexit option is set.
+
+g. Fixed a bug that could cause the parser to incorrectly delimit a token when
+   an alias expansion ended with a multibyte character.
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+a. Since there is no `declare -' equivalent of `local -', make sure to use
+   `local -' in the output of `local -p'.
+
+b. Null anchored matches in pattern substitution now process `&' in the
+   replacement string, like sed.
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
 This document details the changes between this version, bash-5.2-rc1, and
 the previous version, bash-5.2-beta.
 
@@ -321,7 +360,10 @@ b. There is a new internal timer framework used for read builtin timeouts.
 
 c. Rewrote the command substitution parsing code to call the parser recursively
    and rebuild the command string from the parsed command. This allows better
-   syntax checking and catches errors much earlier.
+   syntax checking and catches errors much earlier. Along with this, if
+   command substitution parsing completes with here-documents remaining to be
+   read, the shell prints a warning message and reads the here-document bodies
+   from the current input stream.
 
 d. The `ulimit' builtin now treats an operand remaining after all of the options
    and arguments are parsed as an argument to the last command specified by
diff --git a/CHANGES-5.2 b/CHANGES-5.2
new file mode 100644 (file)
index 0000000..262cd6f
--- /dev/null
@@ -0,0 +1,487 @@
+This document details the changes between this version, bash-5.2-rc2, and
+the previous version, bash-5.2-rc1.
+
+1. Changes to Bash
+
+a. Fixed a bug that could disable history saving after a compound array
+   assignment in an interactive shell.
+
+b. Fixed a bug that could cause incorrect error messages when running a DEBUG
+   trap during a conditional or arithmetic command.
+
+c. Fixed a bug that caused test to print an error message when given ! ! arg
+   as arguments.
+
+d. Fixed a bug that resulted in incorrect error messages when completing a
+   backquoted command substitution.
+
+e. Changed command substitution parsing to reproduce the original text more
+   closely when reconsituting the command string from the parsed command.
+
+f. Fixed a bug that could cause an EXIT trap to use the wrong variable context
+   when the errexit option is set.
+
+g. Fixed a bug that could cause the parser to incorrectly delimit a token when
+   an alias expansion ended with a multibyte character.
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+a. Since there is no `declare -' equivalent of `local -', make sure to use
+   `local -' in the output of `local -p'.
+
+b. Null anchored matches in pattern substitution now process `&' in the
+   replacement string, like sed.
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-rc1, and
+the previous version, bash-5.2-beta.
+
+1. Changes to Bash
+
+a. Changes to `wait -p' and how it sets the variable name in the presence of
+   valid and invalid PID arguments.
+
+b. Fixed a bug that caused compgen to dump core if the completion engine was
+   not initialized.
+
+c. Fixed a memory leak in the variable name programmable completion code.
+
+d. Here-documents and here-strings use tempfiles if the shell compatibility
+   level is 50 or lower.
+
+e. Non-interactive shells exit on a syntax error encountered while parsing a
+   command substitution.
+
+f. Fixed a bug with inherited parser state while parsing a command substitution.
+
+g. Fixed a bug that caused the shell not to check for terminating signals
+   after executing the command_string supplied with `-c' and before executing
+   the exit trap.
+
+h. Changes to avoid a make race condition while generating builtins.c.
+
+i. Make it explicit that BASH_REMATCH is always a global variable, and that
+   local copies are (currently) ignored.
+
+j. Fixed a bug that caused an ambiguous redirection (>&word) to be printed
+   incorrectly (>&word) if no file descriptor was supplied.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused rl_eof_found to be set prematurely while reading a
+   multi-character key sequence in callback mode.
+
+3. New Features in Bash
+
+a. In posix mode, the `printf' builtin checks for the `L' length modifier and
+   uses long double for floating point conversion specifiers if it's present,
+   double otherwise.
+
+b. The `globbing' completion code now takes the `globstar' option into account.
+
+c. `suspend -f' now forces the shell to suspend even if job control is not
+   currently enabled.
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-beta, and
+the previous version, bash-5.2-alpha.
+
+1. Changes to Bash
+
+a. Fixed a problem with command-oriented history and multi-line commands that
+   caused embedded blank lines to be run together.
+
+b. Changed the way `&' is quoted when performing pattern substitution and
+   `patsub_replacement' is enabled.
+
+c. Fixed some integer overflows when expanding strings or reading the output
+   of command substitution larger than 2GB.
+
+d. `wait -p' without the `-n' option now does something useful if there are no
+   jobs.
+
+e. Fixed an issue with read timeouts in posix mode.
+
+f. Changed here-document processing to process $'...' and $"..." only when they
+   appear in the WORD portion of ${PARAM OP WORD} in the here-document body
+   and the body is being expanded.
+
+g. Changed alias expansion in command substitution to be posix-conformant
+   (performed while initially parsing the command substitution) when in posix
+   mode.
+
+h. Bash optimizes away more forks in subshells.
+
+i. Here-document construction now performs quote removal on the here-document
+   delimiter only if it's marked as quoted, which prevents quote characters in
+   command substitutions from being removed.
+
+j. Prompt string expansion now gives invisible characters in the expansion of
+   the \w, \W, and \s escape sequences a visible representation to avoid
+   problems with redisplay.
+
+k. Fixed a problem with SIGINT during the execution of a command bound with
+   `bind -x' affecting the saved terminal settings.
+
+l. Fixed an inconsistency with how $@ expands in a construct like ${@:+set}
+   or ${array[@]:+set} in the presence of null positional parameters or
+   array elements.
+
+2. Changes to Readline
+
+a. Prevent some display problems when running a command as the result of a
+   trap or one bound using `bind -x' and the command generates output.
+
+b. Fixed an issue with multi-line prompt strings that have one or more
+   invisible characters at the end of a physical line.
+
+c. Fixed an issue that caused a history line's undo list to be cleared when
+   it should not have been.
+
+3. New Features in Bash
+
+a. There is a new bindable readline command name: `vi-edit-and-execute-command'.
+
+4. New Features in Readline
+
+a. Two new bindable string variables: active-region-start-color and
+   active-region-end-color. The first sets the color used to display the
+   active region; the second turns it off. If set, these are used in place
+   of terminal standout mode.
+
+b. New readline state (RL_STATE_EOF) and application-visible variable
+   (rl_eof_found) to allow applications to detect when readline reads EOF
+   before calling the deprep-terminal hook.
+
+c. There is a new configuration option: --with-shared-termcap-library, which
+   forces linking the shared readline library with the shared termcap (or
+   curses/ncurses/termlib) library so applications don't have to do it.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-alpha, and
+the previous version, bash-5.1-release.
+
+1. Changes to Bash
+
+a. Fixed a bug that assigned a value to the variable name supplied as an
+   argument to `wait -p' when there were no jobs.
+
+b. Fixed a bug that resulted in performing incorrect word expansion on the
+   key/value pairs in a compound array assignment.
+
+c. Fixed a bug that could put the child forked to run a command substitution
+   into the wrong process group.
+
+d. Fixed a problem that could cause the lastpipe option to work incorrectly if
+   file descriptor 0 was closed.
+
+e. Bash tries to suppress traps if a forked child receives a trapped signal
+   before it has a chance to reset its signal handlers.
+
+f. Fixed several memory leaks in compound array assignments.
+
+g. Fixed a problem with performing an assignment with `+=' to an array element
+   that was the value of a nameref.
+
+h. Fixed a bug that could cause a nameref containing an array reference using
+   `@' or `*' not to expand to multiple words.
+
+i. Fixed a bug where extended glob functions could match `.' or `..' when it
+   wasn't explicitly specified, even if dotglob was set.
+
+j. Fixed a bug that caused non-interactive posix-mode shells not to exit on a
+   variable assignment error while assigning into the temporary environment.
+
+k. Fixed a bug that caused parsing errors if an alias contained a compound
+   array assignment.
+
+l. Fixed a couple of instances where bash checked syntax too aggressively when
+   trying to determine how to add a partial command to command-oriented
+   history.
+
+m. Fixed a parser problem that caused it not to allow reserved words to follow
+   the `((' and `[[' commands.
+
+n. Fixed a bad offset calculation when using negative offsets to `history -d'.
+
+o. Fixed an off-by-one error that caused a read past the end of a buffer when
+   reading a multibyte character from the output of a command substitution.
+
+p. Fixed a problem with a failed `exec' command not setting $? to the right
+   value for an exit trap.
+
+q. Fixed a problem that caused bash not to unlink FIFOs created as part of
+   expanding redirections for an external command.
+
+r. Fixed a bug that could cause aliases not to be expanded in case statements.
+
+s. Fixed a bug that could cause word completion to attempt programmable
+   completion for the target of a redirection, instead of filename completion.
+
+t. Fixed a bug that could result in errors after rebinding a key sequence with
+   `bind -x' multiple times.
+
+u. Fixed a problem that could result in not quoting the result when performing
+   command name completion with a glob pattern in the command name.
+
+v. `mapfile' now uses fully-buffered reads in more cases, which should improve
+   bulk read performance.
+
+w. Fixed a bug that caused `wait -n' to not reset its internal state when
+   interrupted by a signal, resulting in subsequent calls failing.
+
+x. Fixed a bug with parsing numeric arguments to readline key sequences
+   installed with `bind -x'.
+
+y. Bash suppresses forking in several additional cases, including most uses
+   of $(<file).
+
+z. If there are multiple `!' tokens in a [[ command, toggle the invert state
+   instead of setting it unconditionally.
+
+aa. Fixed a bug where running `fc' on an empty history list would cause the
+    shell to crash.
+
+bb. Word completion now checks whether or not a quote character closes a
+    quoted string begun on a previous line, so readline doesn't interpret the
+    quote as starting a new quoted string.
+
+cc. Fixed a typo that translated \UNNNNNNNN characters that were not valid in
+    the current locale encoding as \uNNNNNNNN.
+
+dd. Fixed an issue that could cause bash to print timing statistics for the
+    wrong command when `set -e' causes a command to fail.
+
+ee. Bash now runs the exit trap in function context if a failed command in
+    the function causes the shell to exit.
+
+ff. Some fixes to how subshells modify $SHLVL.
+
+gg. Fixed a bug that caused `mapfile -t' not to remove the delimiter when the
+    delimiter is > 128 in the current encoding.
+
+hh. Fixed a problem that could cause the shell to attempt to free unallocated
+    memory if an expansion error occurred.
+
+ii. Fixed a bug in the bash malloc implementation of malloc_usable_size. Bash
+    did not use it, but it could cause problems with library functions that
+    did.
+
+jj. If the `exec' builtin fails, and the shell does not exit, it restores
+    trapped signals to their trapped state.
+
+kk. Fixed a bug that could cause variable assignment arguments to `declare' to
+    expand variables using attributes that the call to declare was turning off.
+
+ll. Fixed a bug with LINENO and arithmetic for commands.
+
+mm. Fixed a posix-mode bug that caused tildes not to be expanded after an
+    unquoted colon on the right side of an assignment statement.
+
+nn. Fixed a problem with `caller' and line numbers when executing an ERR trap.
+
+oo. Fixed a problem that could make the value returned by ${a:=b} not be the
+    final value assigned to a (e.g., if `a' has an attribute that modifies
+    the value on assignment).
+
+pp. Fixed a problem with saving multi-line here-documents to the history list
+    where the here-document delimiter does not appear on the first line.
+
+qq. Fixed a bug with using += to assign to dynamic variables like RANDOM.
+
+rr. Fixed a bug that caused `set -n' to modify $? if set after execution had
+    started.
+
+ss. Builtins like printf/read/wait now behave more consistently when assigning
+    arbitrary keys to associative arrays (like `]'. when appropriately quoted).
+
+tt. Fixed a problem with here-document collection printing the wrong prompt
+    when parsing a compound list in an interactive shell.
+
+uu. Fixed a problem with quoting shell expansion characters (like `$') when
+    they appear in a tab-completed word along with characters that do need
+    quoting (e.g.. $HOME/VirtualBox VMs).
+
+2. Changes to Readline
+
+a. Fixed a problem with cleaning up active marks when using callback mode.
+
+b. Fixed a problem with arithmetic comparison operators checking the version.
+
+c. Fixed a problem that could cause readline not to build on systems without
+   POSIX signal functions.
+
+d. Fixed a bug that could cause readline to crash if the application removed
+   the callback line handler before readline read all typeahead.
+
+e. Added additional checks for read errors in the middle of readline commands.
+
+f. Fixed a redisplay problem that occurred when switching from the digit-
+   argument prompt `(arg: N)' back to the regular prompt and the regular
+   prompt contained invisible characters.
+
+g. Fixed a problem with restoring the prompt when aborting an incremental
+   search.
+
+h. Fix a problem with characters > 128 not being displayed correctly in certain
+   single-byte encodings.
+
+i. Fixed a problem with unix-filename-rubout that caused it to delete too much
+   when applied to a pathname consisting only of one or more slashes.
+
+j. Fixed a display problem that caused the prompt to be wrapped incorrectly if
+   the screen changed dimensions during a call to readline() and the prompt
+   became longer than the screen width.
+
+k. Fixed a problem that caused the \r output by turning off bracketed paste
+   to overwrite the line if terminal echo was disabled.
+
+l. Fixed a bug that could cause colored-completion-prefix to not display if
+   completion-prefix-display-length was set.
+
+m. Fixed a problem with line wrapping prompts when a group of invisible
+   characters runs to the right edge of the screen and the prompt extends
+   longer then the screen width.
+
+n. Fixed a couple problems that could cause rl_end to be set incorrectly by
+   transpose-words.
+
+3. New Features in Bash
+
+a. The bash malloc returns memory that is aligned on 16-byte boundaries.
+
+b. There is a new internal timer framework used for read builtin timeouts.
+
+c. Rewrote the command substitution parsing code to call the parser recursively
+   and rebuild the command string from the parsed command. This allows better
+   syntax checking and catches errors much earlier. Along with this, if
+   command substitution parsing completes with here-documents remaining to be
+   read, the shell prints a warning message and reads the here-document bodies
+   from the current input stream.
+
+d. The `ulimit' builtin now treats an operand remaining after all of the options
+   and arguments are parsed as an argument to the last command specified by
+   an option. This is for POSIX compatibility.
+
+e. Here-document parsing now handles $'...' and $"..." quoting when reading the
+   here-document body.
+
+f. The `shell-expand-line' and `history-and-alias-expand-line' bindable readline
+   commands now understand $'...' and $"..." quoting.
+
+g. There is a new `spell-correct-word' bindable readline command to perform
+   spelling correction on the current word.
+
+h. The `unset' builtin now attempts to treat arguments as array subscripts
+   without parsing or expanding the subscript, even when `assoc_expand_once'
+   is not set.
+
+i. There is a default value for $BASH_LOADABLES_PATH in config-top.h.
+
+j. Associative array assignment and certain instances of referencing (e.g.,
+   `test -v') now allow `@' and `*' to be used as keys.
+
+k. Bash attempts to expand indexed and associative array subscripts only
+   once when executing shell constructs and word expansions.
+
+l. The `unset' builtin allows a subscript of `@' or `*' to unset a key with
+   that value for associative arrays instead of unsetting the entire array
+   (which you can still do with `unset arrayname'). For indexed arrays, it
+   removes all elements of the array without unsetting it (like `A=()').
+
+m. Additional builtins (printf/test/read/wait) do a better job of not
+   parsing array subscripts if array_expand_once is set.
+
+n. New READLINE_ARGUMENT variable set to numeric argument for readline commands
+   defined using `bind -x'.
+
+o. The new `varredir_close' shell option causes bash to automatically close
+   file descriptors opened with {var}<fn and other styles of varassign
+   redirection unless they're arguments to the `exec' builtin.
+
+p. The `$0' special parameter is now set to the name of the script when running
+   any (non-interactive) startup files such as $BASH_ENV.
+
+q. The `enable' builtin tries to load a loadable builtin using the default
+   search path if `enable name' (without any options) attempts to enable a
+   non-existent builtin.
+
+r. The `printf' builtin has a new format specifier: %Q. This acts like %q but
+   applies any specified precision to the original unquoted argument, then
+   quotes and outputs the result.
+
+s. The new `noexpand_translations' option controls whether or not the translated
+   output of $"..." is single-quoted.
+
+t. There is a new parameter transformation operator: @k. This is like @K, but
+   expands the result to separate words after word splitting.
+
+u. There is an alternate array implementation, selectable at `configure' time,
+   that optimizes access speed over memory use (use the new configure
+    --enable-alt-array-implementation option).
+
+v. If an [N]<&WORD- or [N]>&WORD- redirection has WORD expand to the empty
+   string, treat the redirection as [N]<&- or [N]>&- and close file descriptor
+   N (default 0).
+
+w. Invalid parameter transformation operators are now invalid word expansions,
+   and so cause fatal errors in non-interactive shells.
+
+x. New shell option: patsub_replacement. When enabled, a `&' in the replacement
+   string of the pattern substitution expansion is replaced by the portion of
+   the string that matched the pattern. Backslash will escape the `&' and
+   insert a literal `&'.
+
+y. `command -p' no longer looks in the hash table for the specified command.
+
+z. The new `--enable-translatable-strings' option to `configure' allows $"..."
+   support to be compiled in or out.
+
+aa. The new `globskipdots' shell option forces pathname expansion never to
+    return `.' or `..' unless explicitly matched.
+
+bb. Array references using `@' and `*' that are the value of nameref variables
+    (declare -n ref='v[@]' ; echo $ref) no longer cause the shell to exit if
+    set -u is enabled and the array (v) is unset.
+
+4. New Features in Readline
+
+a. There is now an HS_HISTORY_VERSION containing the version number of the
+   history library for applications to use.
+
+b. History expansion better understands multiple history expansions that may
+   contain strings that would ordinarily inhibit history expansion (e.g.,
+   `abc!$!$').
+
+c. There is a new framework for readline timeouts, including new public
+   functions to set timeouts and query how much time is remaining before a
+   timeout hits, and a hook function that can trigger when readline times
+   out. There is a new state value to indicate a timeout.
+
+d. Automatically bind termcap key sequences for page-up and page-down to
+   history-search-backward and history-search-forward, respectively.
+
+e. There is a new `fetch-history' bindable command that retrieves the history
+   entry corresponding to its numeric argument. Negative arguments count back
+   from the end of the history.
+
+f. `vi-undo' is now a bindable command.
+
+g. There is a new option: `enable-active-region'. This separates control of
+   the active region and bracketed-paste. It has the same default value as
+   bracketed-paste, and enabling bracketed paste enables the active region.
+   Users can now turn off the active region while leaving bracketed paste
+   enabled.
+
+h. rl_completer_word_break_characters is now `const char *' like
+   rl_basic_word_break_characters.
+
+i. Readline looks in $LS_COLORS for a custom filename extension
+   (*.readline-colored-completion-prefix) and uses that as the default color
+   for the common prefix displayed when `colored-completion-prefix' is set.
index ee45b9c483e0c9cb5d0977aa57622b0be72ca4b9..8d6e8f9d90549890a4c297ea6b4a8b9f28deb9a2 100644 (file)
@@ -3686,3 +3686,138 @@ print_cmd.c
                                   ----
 configure.ac
        - bumped version to bash-5.2-rc1
+
+[bash-5.2-rc1 released]
+
+                                  6/15
+                                  ----
+parse.y
+       - parse_string_to_word_list: save the parser state before any state-
+         changing functions like bash_history_disable(). Reported by
+         Clark Wang <dearvoid@gmail.com>
+
+                                  6/16
+                                  ----
+doc/bash.1
+       - play tricks with the value of the zZ number register to refer to
+         `bash(1)' instead of `above' or `below' when creating the builtins
+         man page
+
+                                  6/17
+                                  ----
+doc/{bash.1,bashref.texi}
+       - wait: note that wait will return > 128 if interrupted by a signal.
+         Reported by AA <aathan_github@memeplex.com>
+
+execute_cmd.c
+       - {execute_cond_node,execute_arith_command,eval_arith_for_expr}: make
+         sure to reset this_command_name after running any DEBUG trap so the
+         DEBUG trap doesn't overwrite it.
+         Reported by Emanuele Torre <torreemanuele6@gmail.com>.
+       - execute_select_command: set this_command_name to NULL after running
+         any DEBUG trap like execute_for_command does
+
+                                  6/23
+                                  ----
+test.c
+       - three_arguments: when given [ ! ! arg ], make sure to advance POS
+         after calling two_arguments to avoid a `too many arguments' error.
+         Report from Steffen Nurpmeso <steffen@sdaoden.eu>
+
+                                  6/27
+                                  ----
+subst.c
+       - expand_word_internal: when expanding backquoted command substitution,
+         call string_extract with the SX_REQMATCH flag (closing backquote
+         required) only if the word flags don't contain W_COMPLETE,
+         indicating that we're doing this for completion, probably to
+         determine whether or not to append something to the word. Fixes bug
+         reported by Emanuele Torre <torreemanuele6@gmail.com>.
+
+                                   7/5
+                                   ---
+execute_cmd.c
+       - execute_connection: treat a connector of '\n' the same as ';'
+
+print_cmd.c
+       - print_comsub: new function, sets flag noting we are printing a
+         command substitution and calls make_command_string
+       - make_command_string_internal: add '\n' to the ';' case; print command
+         list with newline connector appropriately
+
+parse.y
+       - parse_comsub: call print_comsub instead of make_command_string
+       - list1 production (part of compound_list): if a list is separated by
+         newlines, and the parser is parsing a command substitution, make
+         the connection command with a '\n' connector. Makes the text
+         output of parse_comsub closer to the original source text. From a
+         report from Martijn Dekker <martijn@inlv.org>
+
+                                   7/6
+                                   ---
+doc/bash.1,lib/readline/doc/rluser.texi
+       - complete: add note about arguments passed to command specified by
+         `complete -C'; suggested by Mark Chandler <mcp@synq.so>
+
+builtins/setattr.def
+       - show_local_var_attributes: special-case `local -', since there is
+         no `declare -' equivalent.
+         Reported by Emanuele Torre <torreemanuele6@gmail.com>.
+       - show_all_var_attributes: use `local -' when printing a variable named
+         `-' at the current non-zero variable context
+
+parse.y
+       - shell_getc: if we are at the end of an alias, returning a space,
+         make sure we mark the previous character as single-byte by modifying
+         shell_input_line_property so the space we return is properly
+         recognized. This would fail before if the last character of the
+         alias was a multi-byte character. Reported by
+         Vangelis Natsios <vnatsios@gmail.com>
+
+                                  7/12
+                                  ----
+lib/readline/isearch.c
+       - rl_display_search: don't call rl_redisplay_function before returning;
+         rl_message already calls it. Reported by
+         Frédéric Moulins <frederic@moulins.org>
+
+configure.ac
+       - bumped version to bash-5.2-rc2
+
+                                  7/18
+                                  ----
+jobs.c
+       - set_job_control: don't bother calling tcgetpgrp if shell_tty < 0,
+         since it will just fail
+
+variables.c
+       - reset_local_contexts: new function, delete all context tables
+         associated with shell functions and set variable_context to 0.
+         Called when we want to stop executing in a shell function without
+         going through the pop_context chain with its side effects
+
+variables.h
+       - reset_local_contexts: extern declaration
+
+builtins/evalstring.c
+       - parse_and_execute: call reset_local_contexts instead of setting
+         variable_context to 0
+
+eval.c
+       - reader_loop: call reset_local_contexts in cases where the shell has
+         longjmped for a fatal error and errexit is enabled (ERREXIT), but
+         not for other cases, and especially not for the exit builtin,
+         instead of just setting variable_context to 0. Fixes issue originally
+         reported by Robert Stoll <robert.stoll@tegonal.com>
+
+subst.c
+       - pat_subst: implement sed-like behavior when presented with a null
+         pattern that's anchored at the start or end of the string, or when
+         presented with a null string: process the replacement string for `&'
+         and `\&' and substitute in the result as before. Patch from
+         Koichi Murase <myoga.murase@gmail.com>
+
+                                  7/20
+                                  ----
+
+[bash-5.2-rc2 frozen]
index 61ff12dd6b7c85341c27da12a18fb05a50c21354..cbe97c648f35f8b51c6af80e6d5e518f2e8cc110 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -890,6 +890,7 @@ tests/alias2.sub    f
 tests/alias3.sub       f
 tests/alias4.sub       f
 tests/alias5.sub       f
+tests/alias6.sub       f
 tests/alias.right      f
 tests/appendop.tests   f
 tests/appendop1.sub    f
@@ -1077,6 +1078,7 @@ tests/errors5.sub f
 tests/errors6.sub      f
 tests/errors7.sub      f
 tests/errors8.sub      f
+tests/errors9.sub      f
 tests/execscript       f
 tests/exec.right       f
 tests/exec1.sub                f       755
index 5fc3644cf9e549e38e09e919556be52f456bc817..1a4f37b663019fe0092fd36d09a09f264818a5c5 100644 (file)
@@ -627,7 +627,6 @@ valgrind:
 gcov:
        ${MAKE} ${MFLAGS} CFLAGS=-g ADDON_CFLAGS='${GCOV_XCFLAGS}' ADDON_LDFLAGS='${GCOV_XLDFLAGS}' .made
 
-
 # have to make this separate because making tests depend on $(PROGRAM)
 asan-tests: asan  $(TESTS_SUPPORT)
        @-test -d tests || mkdir tests
diff --git a/NEWS b/NEWS
index 42c3fc643d202180e2db8907ab367c74fd821b85..955b64cd00f043b5b528e793429459b68fbab390 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,10 @@ b. There is a new internal timer framework used for read builtin timeouts.
 
 c. Rewrote the command substitution parsing code to call the parser recursively
    and rebuild the command string from the parsed command. This allows better
-   syntax checking and catches errors much earlier.
+   syntax checking and catches errors much earlier. Along with this, if
+   command substitution parsing completes with here-documents remaining to be
+   read, the shell prints a warning message and reads the here-document bodies
+   from the current input stream.
 
 d. The `ulimit' builtin now treats an operand remaining after all of the options
    and arguments are parsed as an argument to the last command specified by
@@ -109,6 +112,9 @@ ee. The `globbing' completion code now takes the `globstar' option into account.
 ff. `suspend -f' now forces the shell to suspend even if job control is not
    currently enabled.
 
+gg. Since there is no `declare -' equivalent of `local -', make sure to use
+    `local -' in the output of `local -p'.
+
 2. New Features in Readline
 
 a. There is now an HS_HISTORY_VERSION containing the version number of the
diff --git a/NEWS-5.2 b/NEWS-5.2
new file mode 100644 (file)
index 0000000..e685e0a
--- /dev/null
+++ b/NEWS-5.2
@@ -0,0 +1,165 @@
+This is a terse description of the new features added to bash-5.2 since
+the release of bash-5.1.  As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. The bash malloc returns memory that is aligned on 16-byte boundaries.
+
+b. There is a new internal timer framework used for read builtin timeouts.
+
+c. Rewrote the command substitution parsing code to call the parser recursively
+   and rebuild the command string from the parsed command. This allows better
+   syntax checking and catches errors much earlier. Along with this, if
+   command substitution parsing completes with here-documents remaining to be
+   read, the shell prints a warning message and reads the here-document bodies
+   from the current input stream.
+
+d. The `ulimit' builtin now treats an operand remaining after all of the options
+   and arguments are parsed as an argument to the last command specified by
+   an option. This is for POSIX compatibility.
+
+e. Here-document parsing now handles $'...' and $"..." quoting when reading the
+   here-document body.
+
+f. The `shell-expand-line' and `history-and-alias-expand-line' bindable readline
+   commands now understand $'...' and $"..." quoting.
+
+g. There is a new `spell-correct-word' bindable readline command to perform
+   spelling correction on the current word.
+
+h. The `unset' builtin now attempts to treat arguments as array subscripts
+   without parsing or expanding the subscript, even when `assoc_expand_once'
+   is not set.
+
+i. There is a default value for $BASH_LOADABLES_PATH in config-top.h.
+
+j. Associative array assignment and certain instances of referencing (e.g.,
+   `test -v' now allow `@' and `*' to be used as keys.
+
+k. Bash attempts to expand indexed array subscripts only once when executing
+   shell constructs and word expansions.
+
+l. The `unset' builtin allows a subscript of `@' or `*' to unset a key with
+   that value for associative arrays instead of unsetting the entire array
+   (which you can still do with `unset arrayname'). For indexed arrays, it
+   removes all elements of the array without unsetting it (like `A=()').
+
+m. Additional builtins (printf/test/read/wait) do a better job of not
+   parsing array subscripts if array_expand_once is set.
+
+n. New READLINE_ARGUMENT variable set to numeric argument for readline commands
+   defined using `bind -x'.
+
+o. The new `varredir_close' shell option causes bash to automatically close
+   file descriptors opened with {var}<fn and other styles of varassign
+   redirection unless they're arguments to the `exec' builtin.
+
+p. The `$0' special parameter is now set to the name of the script when running
+   any (non-interactive) startup files such as $BASH_ENV.
+
+q. The `enable' builtin tries to load a loadable builtin using the default
+   search path if `enable name' (without any options) attempts to enable a
+   non-existent builtin.
+
+r. The `printf' builtin has a new format specifier: %Q. This acts like %q but
+   applies any specified precision to the original unquoted argument, then
+   quotes and outputs the result.
+
+s. The new `noexpand_translations' option controls whether or not the translated
+   output of $"..." is single-quoted.
+
+t. There is a new parameter transformation operator: @k. This is like @K, but
+   expands the result to separate words after word splitting.
+
+u. There is an alternate array implementation, selectable at `configure' time,
+   that optimizes access speed over memory use (use the new configure
+    --enable-alt-array-implementation option).
+
+v. If an [N]<&WORD- or [N]>&WORD- redirection has WORD expand to the empty
+   string, treat the redirection as [N]<&- or [N]>&- and close file descriptor
+   N (default 0).
+
+w. Invalid parameter transformation operators are now invalid word expansions,
+   and so cause fatal errors in non-interactive shells.
+
+x. New shell option: patsub_replacement. When enabled, a `&' in the replacement
+   string of the pattern substitution expansion is replaced by the portion of
+   the string that matched the pattern. Backslash will escape the `&' and
+   insert a literal `&'.
+
+y. `command -p' no longer looks in the hash table for the specified command.
+
+z. The new `--enable-translatable-strings' option to `configure' allows $"..."
+   support to be compiled in or out.
+
+aa. The new `globskipdots' shell option forces pathname expansion never to
+    return `.' or `..' unless explicitly matched.
+
+bb. Array references using `@' and `*' that are the value of nameref variables
+    (declare -n ref='v[@]' ; echo $ref) no longer cause the shell to exit if
+    set -u is enabled and the array (v) is unset.
+
+cc. There is a new bindable readline command name:
+    `vi-edit-and-execute-command'.
+
+dd. In posix mode, the `printf' builtin checks for the `L' length modifier and
+    uses long double for floating point conversion specifiers if it's present,
+    double otherwise.
+
+ee. The `globbing' completion code now takes the `globstar' option into account.
+
+ff. `suspend -f' now forces the shell to suspend even if job control is not
+   currently enabled.
+
+gg. Since there is no `declare -' equivalent of `local -', make sure to use
+    `local -' in the output of `local -p'.
+
+2. New Features in Readline
+
+a. There is now an HS_HISTORY_VERSION containing the version number of the
+   history library for applications to use.
+
+b. History expansion better understands multiple history expansions that may
+   contain strings that would ordinarily inhibit history expansion (e.g.,
+   `abc!$!$').
+
+c. There is a new framework for readline timeouts, including new public
+   functions to set timeouts and query how much time is remaining before a
+   timeout hits, and a hook function that can trigger when readline times
+   out. There is a new state value to indicate a timeout.
+
+d. Automatically bind termcap key sequences for page-up and page-down to
+   history-search-backward and history-search-forward, respectively.
+
+e. There is a new `fetch-history' bindable command that retrieves the history
+   entry corresponding to its numeric argument. Negative arguments count back
+   from the end of the history.
+
+f. `vi-undo' is now a bindable command.
+
+g. There is a new option: `enable-active-region'. This separates control of
+   the active region and bracketed-paste. It has the same default value as
+   bracketed-paste, and enabling bracketed paste enables the active region.
+   Users can now turn off the active region while leaving bracketed paste
+   enabled.
+
+h. rl_completer_word_break_characters is now `const char *' like
+   rl_basic_word_break_characters.
+
+i. Readline looks in $LS_COLORS for a custom filename extension
+   (*.readline-colored-completion-prefix) and uses that as the default color
+   for the common prefix displayed when `colored-completion-prefix' is set.
+
+j. Two new bindable string variables: active-region-start-color and
+   active-region-end-color. The first sets the color used to display the
+   active region; the second turns it off. If set, these are used in place
+   of terminal standout mode.
+
+k. New readline state (RL_STATE_EOF) and application-visible variable
+   (rl_eof_found) to allow applications to detect when readline reads EOF
+   before calling the deprep-terminal hook.
+
+l. There is a new configuration option: --with-shared-termcap-library, which
+   forces linking the shared readline library with the shared termcap (or
+   curses/ncurses/termlib) library so applications don't have to do it.
index 7023eb320b96dd7bf90f85c31f1effd0059da22f..fd635299581f57369fe999365d998de6669f7edb 100644 (file)
@@ -363,12 +363,14 @@ parse_and_execute (string, from_file, flags)
                 these circumstances.  Don't bother with cleanup here because
                 we don't want to run the function execution cleanup stuff
                 that will cause pop_context and other functions to run.
+                We call reset_local_contexts() instead, which just frees
+                context memory.
                 XXX - change that if we want the function context to be
                 unwound. */
              if (exit_immediately_on_error && variable_context)
                {
                  discard_unwind_frame ("pe_dispose");
-                 variable_context = 0; /* not in a function */
+                 reset_local_contexts (); /* not in a function */
                }
              should_jump_to_top_level = 1;
              goto out;
index 22560991ded38c190adc17715ccf0e06af8debf4..84658c3990c822bccb146ecf964af0ddb4398b7d 100644 (file)
@@ -250,7 +250,7 @@ printf_builtin (list)
      WORD_LIST *list;
 {
   int ch, fieldwidth, precision;
-  int have_fieldwidth, have_precision, use_Lmod;
+  int have_fieldwidth, have_precision, use_Lmod, altform;
   char convch, thisch, nextch, *format, *modstart, *precstart, *fmt, *start;
 #if defined (HANDLE_MULTIBYTE)
   char mbch[25];               /* 25 > MB_LEN_MAX, plus can handle 4-byte UTF-8 and large Unicode characters*/
@@ -341,7 +341,7 @@ printf_builtin (list)
       for (fmt = format; *fmt; fmt++)
        {
          precision = fieldwidth = 0;
-         have_fieldwidth = have_precision = 0;
+         have_fieldwidth = have_precision = altform = 0;
          precstart = 0;
 
          if (*fmt == '\\')
@@ -379,9 +379,11 @@ printf_builtin (list)
              continue;
            }
 
-         /* found format specification, skip to field width */
+         /* Found format specification, skip to field width. We check for
+            alternate form for possible later use. */
          for (; *fmt && strchr(SKIP1, *fmt); ++fmt)
-           ;
+           if (*fmt == '#')
+             altform++;
 
          /* Skip optional field width. */
          if (*fmt == '*')
index c2ea7d568f7128106d42476488411d37d1cb237b..f2df3a6e74d3b7857cac7f7ae73adc5f8423639c 100644 (file)
@@ -363,7 +363,11 @@ show_all_var_attributes (v, nodefs)
 
   for (i = any_failed = 0; var = variable_list[i]; i++)
     {
-      show_var_attributes (var, READONLY_OR_EXPORT, nodefs);
+      /* There is no equivalent `declare -'. */
+      if (variable_context && var->context == variable_context && STREQ (var->name, "-"))
+       printf ("local -\n");
+      else  
+       show_var_attributes (var, READONLY_OR_EXPORT, nodefs);
       if (any_failed = sh_chkwrite (any_failed))
         break;
     }
@@ -387,7 +391,11 @@ show_local_var_attributes (v, nodefs)
 
   for (i = any_failed = 0; var = variable_list[i]; i++)
     {
-      show_var_attributes (var, READONLY_OR_EXPORT, nodefs);
+      /* There is no equivalent `declare -'. */
+      if (STREQ (var->name, "-"))
+       printf ("local -\n");
+      else  
+       show_var_attributes (var, READONLY_OR_EXPORT, nodefs);
       if (any_failed = sh_chkwrite (any_failed))
         break;
     }
index dbacea7fa0264b762687baaa3137d2f3bba26f18..994f727568d794db2dfa804ffed7effc5a24d54f 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.ac for Bash 5.2, version 5.041.
+# From configure.ac for Bash 5.2, version 5.043.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for bash 5.2-rc1.
+# Generated by GNU Autoconf 2.71 for bash 5.2-rc2.
 #
 # Report bugs to <bug-bash@gnu.org>.
 #
@@ -612,8 +612,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='bash'
 PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='5.2-rc1'
-PACKAGE_STRING='bash 5.2-rc1'
+PACKAGE_VERSION='5.2-rc2'
+PACKAGE_STRING='bash 5.2-rc2'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 PACKAGE_URL=''
 
@@ -1467,7 +1467,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bash 5.2-rc1 to adapt to many kinds of systems.
+\`configure' configures bash 5.2-rc2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1533,7 +1533,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 5.2-rc1:";;
+     short | recursive ) echo "Configuration of bash 5.2-rc2:";;
    esac
   cat <<\_ACEOF
 
@@ -1740,7 +1740,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bash configure 5.2-rc1
+bash configure 5.2-rc2
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2397,7 +2397,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bash $as_me 5.2-rc1, which was
+It was created by bash $as_me 5.2-rc2, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -3176,7 +3176,7 @@ ac_config_headers="$ac_config_headers config.h"
 
 
 BASHVERS=5.2
-RELSTATUS=rc1
+RELSTATUS=rc2
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*|releng*|maint*)     DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -5317,7 +5317,7 @@ CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
 if test "$opt_profiling" = "yes"; then
        PROFILE_FLAGS=-pg
        case "$host_os" in
-       solaris2*|linux*)       ;;
+       solaris2*|linux*|darwin*)       ;;
        *)              opt_static_link=yes ;;
        esac
        DEBUG= MALLOC_DEBUG=
@@ -22369,7 +22369,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bash $as_me 5.2-rc1, which was
+This file was extended by bash $as_me 5.2-rc2, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -22437,7 +22437,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-bash config.status 5.2-rc1
+bash config.status 5.2-rc2
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
index 417e89a565ae4bcc9e604539715e9413f55b1b0b..034b3e23fb6d704d79e0cb2db4c364b12c3a467a 100644 (file)
@@ -21,10 +21,10 @@ 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.2, version 5.041])dnl
+AC_REVISION([for Bash 5.2, version 5.043])dnl
 
 define(bashvers, 5.2)
-define(relstatus, rc1)
+define(relstatus, rc2)
 
 AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
 
@@ -497,7 +497,7 @@ dnl these must come after the test for cc/gcc
 if test "$opt_profiling" = "yes"; then
        PROFILE_FLAGS=-pg
        case "$host_os" in
-       solaris2*|linux*)       ;;
+       solaris2*|linux*|darwin*)       ;;
        *)              opt_static_link=yes ;;
        esac
        DEBUG= MALLOC_DEBUG=
index 4e3d97bb2cf6ab9d197c46a4d2d14cc9bbebf4fe..5f6e0830248605955c340ef5c346c16ef73797ec 100644 (file)
@@ -459,19 +459,19 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
 
        s\bse\bel\ble\bec\bct\bt _\bn_\ba_\bm_\be [ i\bin\bn _\bw_\bo_\br_\bd ] ; d\bdo\bo _\bl_\bi_\bs_\bt ; d\bdo\bon\bne\be
               The list of words following i\bin\bn is expanded, generating a list of
-              items.  The set of expanded words is printed on the standard er-
-              ror,  each preceded by a number.  If the i\bin\bn _\bw_\bo_\br_\bd is omitted, the
-              positional parameters are printed (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS  below).   The
-              P\bPS\bS3\b3  prompt  is then displayed and a line read from the standard
-              input.  If the line consists of a number corresponding to one of
-              the displayed words, then the value of _\bn_\ba_\bm_\be is set to that word.
-              If the line is empty, the words and prompt are displayed  again.
-              If  EOF  is  read,  the command completes.  Any other value read
-              causes _\bn_\ba_\bm_\be to be set to null.  The line read is  saved  in  the
-              variable R\bRE\bEP\bPL\bLY\bY.  The _\bl_\bi_\bs_\bt is executed after each selection until
-              a b\bbr\bre\bea\bak\bk command is executed.  The exit status of s\bse\bel\ble\bec\bct\bt  is  the
-              exit  status of the last command executed in _\bl_\bi_\bs_\bt, or zero if no
-              commands were executed.
+              items, and the set of expanded words is printed on the  standard
+              error,  each  preceded  by a number.  If the i\bin\bn _\bw_\bo_\br_\bd is omitted,
+              the positional parameters are printed  (see  P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS  below).
+              s\bse\bel\ble\bec\bct\bt  then  displays  the P\bPS\bS3\b3 prompt and reads a line from the
+              standard input.  If the line consists of a number  corresponding
+              to  one of the displayed words, then the value of _\bn_\ba_\bm_\be is set to
+              that word.  If the line is empty, the words and prompt are  dis-
+              played  again.  If EOF is read, the s\bse\bel\ble\bec\bct\bt command completes and
+              returns 1.  Any other value read causes _\bn_\ba_\bm_\be to be set to  null.
+              The  line read is saved in the variable R\bRE\bEP\bPL\bLY\bY.  The _\bl_\bi_\bs_\bt is exe-
+              cuted after each selection until a b\bbr\bre\bea\bak\bk  command  is  executed.
+              The exit status of s\bse\bel\ble\bec\bct\bt is the exit status of the last command
+              executed in _\bl_\bi_\bs_\bt, or zero if no commands were executed.
 
        c\bca\bas\bse\be _\bw_\bo_\br_\bd i\bin\bn [ [(] _\bp_\ba_\bt_\bt_\be_\br_\bn [ |\b| _\bp_\ba_\bt_\bt_\be_\br_\bn ] ... ) _\bl_\bi_\bs_\bt ;; ] ... e\bes\bsa\bac\bc
               A c\bca\bas\bse\be command first expands _\bw_\bo_\br_\bd, and tries to match it against
@@ -4764,196 +4764,197 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               ified as -\b-v\bv.
               -\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
                       _\bc_\bo_\bm_\bm_\ba_\bn_\bd  is  executed in a subshell environment, and its
-                      output is used as the possible completions.
+                      output is used as the possible  completions.   Arguments
+                      are passed as with the -\b-F\bF option.
               -\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                      The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in  the  current
-                      shell  environment.   When the function is executed, the
+                      The  shell  function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
+                      shell environment.  When the function is  executed,  the
                       first argument ($\b$1\b1) is the name of the command whose ar-
                       guments are being completed, the second argument ($\b$2\b2) is
                       the word being completed, and the third argument ($\b$3\b3) is
-                      the  word preceding the word being completed on the cur-
-                      rent command line.  When it finishes, the possible  com-
-                      pletions  are  retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+                      the word preceding the word being completed on the  cur-
+                      rent  command line.  When it finishes, the possible com-
+                      pletions are retrieved from the value of  the  C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
                       array variable.
               -\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      The pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt  is  expanded  to
+                      The  pathname  expansion  pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
                       generate the possible completions.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      _\bp_\br_\be_\bf_\bi_\b is  added at the beginning of each possible com-
+                      _\bp_\br_\be_\bf_\bi_\bis added at the beginning of each  possible  com-
                       pletion after all other options have been applied.
               -\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
                       _\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
                       other options have been applied.
               -\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
-                      The  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt  is  split using the characters in the I\bIF\bFS\bS
-                      special variable as delimiters, and each resultant  word
-                      is  expanded.  Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt,
+                      The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters  in  the  I\bIF\bFS\bS
+                      special  variable as delimiters, and each resultant word
+                      is expanded.  Shell quoting is honored within  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt,
                       in order to provide a mechanism for the words to contain
-                      shell  metacharacters or characters in the value of I\bIF\bFS\bS.
-                      The possible completions are the members of  the  resul-
+                      shell metacharacters or characters in the value of  I\bIF\bFS\bS.
+                      The  possible  completions are the members of the resul-
                       tant list which match the word being completed.
               -\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\b is  a pattern as used for pathname expansion.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bis a pattern as used for  pathname  expansion.
                       It is applied to the list of possible completions gener-
-                      ated  by  the  preceding options and arguments, and each
-                      completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the  list.
-                      A  leading  !\b!  in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
+                      ated by the preceding options and  arguments,  and  each
+                      completion  matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
+                      A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the  pattern;  in  this
                       case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
 
-              The return value is true unless an invalid option  is  supplied,
-              an  option  other than -\b-p\bp or -\b-r\br is supplied without a _\bn_\ba_\bm_\be argu-
-              ment, an attempt is made to remove  a  completion  specification
+              The  return  value is true unless an invalid option is supplied,
+              an option other than -\b-p\bp or -\b-r\br is supplied without a  _\bn_\ba_\bm_\b argu-
+              ment,  an  attempt  is made to remove a completion specification
               for a _\bn_\ba_\bm_\be for which no specification exists, or an error occurs
               adding a completion specification.
 
        c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
-              Modify completion options for each _\bn_\ba_\bm_\be  according  to  the  _\bo_\bp_\b-
+              Modify  completion  options  for  each _\bn_\ba_\bm_\be according to the _\bo_\bp_\b-
               _\bt_\bi_\bo_\bns, or for the currently-executing completion if no _\bn_\ba_\bm_\bes are
-              supplied.  If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the  completion  op-
-              tions  for  each  _\bn_\ba_\bm_\be  or the current completion.  The possible
-              values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the  c\bco\bom\bmp\bpl\ble\bet\bte\be  builtin  de-
-              scribed  above.  The -\b-D\bD option indicates that other supplied op-
-              tions should apply to the ``default'' command  completion;  that
-              is,  completion  attempted  on a command for which no completion
+              supplied.   If  no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion op-
+              tions for each _\bn_\ba_\bm_\be or the  current  completion.   The  possible
+              values  of  _\bo_\bp_\bt_\bi_\bo_\bn  are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin de-
+              scribed above.  The -\b-D\bD option indicates that other supplied  op-
+              tions  should  apply to the ``default'' command completion; that
+              is, completion attempted on a command for  which  no  completion
               has previously been defined.  The -\b-E\bE option indicates that other
-              supplied  options  should apply to ``empty'' command completion;
-              that is, completion attempted on a blank line.   The  -\b-I\b option
+              supplied options should apply to ``empty''  command  completion;
+              that  is,  completion  attempted on a blank line.  The -\b-I\bI option
               indicates that other supplied options should apply to completion
-              on the initial non-assignment word on the line, or after a  com-
-              mand  delimiter  such  as  ;\b; or |\b|, which is usually command name
+              on  the initial non-assignment word on the line, or after a com-
+              mand delimiter such as ;\b; or |\b|, which  is  usually  command  name
               completion.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
               completion specification exists, or an output error occurs.
 
        c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
               Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
-              s\bse\bel\ble\bec\bct\b loop.   If  _\bn  is specified, resume at the _\bnth enclosing
-              loop.  _\bn must be >= 1.  If _\bn is greater than the number  of  en-
-              closing  loops, the last enclosing loop (the ``top-level'' loop)
-              is resumed.  The return value is 0 unless _\bn is not greater  than
+              s\bse\bel\ble\bec\bct\bloop.  If _\bn is specified, resume  at  the  _\bnth  enclosing
+              loop.   _\bn  must be >= 1.  If _\bn is greater than the number of en-
+              closing loops, the last enclosing loop (the ``top-level''  loop)
+              is  resumed.  The return value is 0 unless _\bn is not greater than
               or equal to 1.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              Declare  variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes are
-              given then display the values of variables.  The -\b-p\bp option  will
+              Declare variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes  are
+              given  then display the values of variables.  The -\b-p\bp option will
               display the attributes and values of each _\bn_\ba_\bm_\be.  When -\b-p\bp is used
-              with _\bn_\ba_\bm_\be arguments, additional options, other than -\b-f\bf  and  -\b-F\bF,
-              are  ignored.   When  -\b-p\bp  is supplied without _\bn_\ba_\bm_\be arguments, it
-              will display the attributes and values of all  variables  having
+              with  _\bn_\ba_\bm_\be  arguments, additional options, other than -\b-f\bf and -\b-F\bF,
+              are ignored.  When -\b-p\bp is supplied  without  _\bn_\ba_\bm_\be  arguments,  it
+              will  display  the attributes and values of all variables having
               the attributes specified by the additional options.  If no other
-              options are supplied with  -\b-p\bp,  d\bde\bec\bcl\bla\bar\bre\be  will  display  the  at-
-              tributes  and values of all shell variables.  The -\b-f\bf option will
+              options  are  supplied  with  -\b-p\bp,  d\bde\bec\bcl\bla\bar\bre\be  will display the at-
+              tributes and values of all shell variables.  The -\b-f\bf option  will
               restrict the display to shell functions.  The -\b-F\bF option inhibits
-              the  display of function definitions; only the function name and
+              the display of function definitions; only the function name  and
               attributes are printed.  If the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled
-              using  s\bsh\bho\bop\bpt\bt,  the  source  file name and line number where each
-              _\bn_\ba_\bm_\bis defined are displayed as well.  The  -\b-F\bF  option  implies
+              using s\bsh\bho\bop\bpt\bt, the source file name and  line  number  where  each
+              _\bn_\ba_\bm_\b is  defined  are displayed as well.  The -\b-F\bF option implies
               -\b-f\bf.  The -\b-g\bg option forces variables to be created or modified at
               the global scope, even when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell func-
-              tion.   It  is ignored in all other cases.  The -\b-I\bI option causes
-              local variables to inherit the attributes  (except  the  _\bn_\ba_\bm_\be_\br_\be_\bf
+              tion.  It is ignored in all other cases.  The -\b-I\bI  option  causes
+              local  variables  to  inherit the attributes (except the _\bn_\ba_\bm_\be_\br_\be_\bf
               attribute) and value of any existing variable with the same _\bn_\ba_\bm_\be
-              at a surrounding scope.  If there is no existing  variable,  the
+              at  a  surrounding scope.  If there is no existing variable, the
               local variable is initially unset.  The following options can be
-              used to restrict output to variables with the  specified  attri-
+              used  to  restrict output to variables with the specified attri-
               bute or to give variables attributes:
-              -\b-a\ba     Each  _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see A\bAr\brr\bra\bay\bys\bs
+              -\b-a\ba     Each _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see  A\bAr\brr\bra\bay\bys\bs
                      above).
-              -\b-A\bA     Each _\bn_\ba_\bm_\be is an associative array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+              -\b-A\bA     Each  _\bn_\ba_\bm_\be  is  an associative array variable (see A\bAr\brr\bra\bay\bys\bs
                      above).
               -\b-f\bf     Use function names only.
               -\b-i\bi     The variable is treated as an integer; arithmetic evalua-
-                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed  when
+                     tion  (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
                      the variable is assigned a value.
-              -\b-l\bl     When  the  variable  is  assigned a value, all upper-case
-                     characters are converted to lower-case.   The  upper-case
+              -\b-l\bl     When the variable is assigned  a  value,  all  upper-case
+                     characters  are  converted to lower-case.  The upper-case
                      attribute is disabled.
-              -\b-n\bn     Give  each  _\bn_\ba_\bm_\be  the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making it a name
-                     reference to another variable.  That  other  variable  is
-                     defined  by  the  value of _\bn_\ba_\bm_\be.  All references, assign-
-                     ments, and attribute modifications to _\bn_\ba_\bm_\be, except  those
-                     using  or changing the -\b-n\bn attribute itself, are performed
-                     on the variable referenced by _\bn_\ba_\bm_\be's value.  The  nameref
+              -\b-n\bn     Give each _\bn_\ba_\bm_\be the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making  it  a  name
+                     reference  to  another  variable.  That other variable is
+                     defined by the value of _\bn_\ba_\bm_\be.   All  references,  assign-
+                     ments,  and attribute modifications to _\bn_\ba_\bm_\be, except those
+                     using or changing the -\b-n\bn attribute itself, are  performed
+                     on  the variable referenced by _\bn_\ba_\bm_\be's value.  The nameref
                      attribute cannot be applied to array variables.
               -\b-r\br     Make _\bn_\ba_\bm_\bes readonly.  These names cannot then be assigned
                      values by subsequent assignment statements or unset.
               -\b-t\bt     Give each _\bn_\ba_\bm_\be the _\bt_\br_\ba_\bc_\be attribute.  Traced functions in-
-                     herit  the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling shell.
+                     herit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling  shell.
                      The trace attribute has no special meaning for variables.
-              -\b-u\bu     When the variable is assigned  a  value,  all  lower-case
-                     characters  are  converted to upper-case.  The lower-case
+              -\b-u\bu     When  the  variable  is  assigned a value, all lower-case
+                     characters are converted to upper-case.   The  lower-case
                      attribute is disabled.
-              -\b-x\bx     Mark _\bn_\ba_\bm_\bes for export to subsequent commands via the  en-
+              -\b-x\bx     Mark  _\bn_\ba_\bm_\bes for export to subsequent commands via the en-
                      vironment.
 
-              Using  `+'  instead of `-' turns off the attribute instead, with
-              the exceptions that +\b+a\ba and +\b+A\bA may not be used to  destroy  array
-              variables  and  +\b+r\br will not remove the readonly attribute.  When
+              Using `+' instead of `-' turns off the attribute  instead,  with
+              the  exceptions  that +\b+a\ba and +\b+A\bA may not be used to destroy array
+              variables and +\b+r\br will not remove the readonly  attribute.   When
               used in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be local, as
-              with  the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is supplied.  If a
-              variable name is followed by =_\bv_\ba_\bl_\bu_\be, the value of  the  variable
-              is  set  to _\bv_\ba_\bl_\bu_\be.  When using -\b-a\ba or -\b-A\bA and the compound assign-
-              ment syntax to create array variables, additional attributes  do
-              not  take effect until subsequent assignments.  The return value
+              with the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is supplied.  If  a
+              variable  name  is followed by =_\bv_\ba_\bl_\bu_\be, the value of the variable
+              is set to _\bv_\ba_\bl_\bu_\be.  When using -\b-a\ba or -\b-A\bA and the  compound  assign-
+              ment  syntax to create array variables, additional attributes do
+              not take effect until subsequent assignments.  The return  value
               is 0 unless an invalid option is encountered, an attempt is made
               to define a function using ``-f foo=bar'', an attempt is made to
               assign a value to a readonly variable, an attempt is made to as-
               sign a value to an array variable without using the compound as-
-              signment syntax (see A\bAr\brr\bra\bay\bys\bs above), one of the _\bn_\ba_\bm_\be_\bs  is  not  a
-              valid  shell variable name, an attempt is made to turn off read-
-              only status for a readonly variable, an attempt is made to  turn
+              signment  syntax  (see  A\bAr\brr\bra\bay\bys\bs above), one of the _\bn_\ba_\bm_\be_\bs is not a
+              valid shell variable name, an attempt is made to turn off  read-
+              only  status for a readonly variable, an attempt is made to turn
               off array status for an array variable, or an attempt is made to
               display a non-existent function with -\b-f\bf.
 
        d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
-              Without options, displays the list of currently  remembered  di-
-              rectories.   The default display is on a single line with direc-
-              tory names separated by spaces.  Directories are  added  to  the
-              list  with  the  p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd command removes entries
+              Without  options,  displays the list of currently remembered di-
+              rectories.  The default display is on a single line with  direc-
+              tory  names  separated  by spaces.  Directories are added to the
+              list with the p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd  command  removes  entries
               from the list.  The current directory is always the first direc-
               tory in the stack.
-              -\b-c\bc     Clears  the  directory  stack  by deleting all of the en-
+              -\b-c\bc     Clears the directory stack by deleting  all  of  the  en-
                      tries.
-              -\b-l\bl     Produces a listing  using  full  pathnames;  the  default
+              -\b-l\bl     Produces  a  listing  using  full  pathnames; the default
                      listing format uses a tilde to denote the home directory.
               -\b-p\bp     Print the directory stack with one entry per line.
-              -\b-v\bv     Print  the  directory stack with one entry per line, pre-
+              -\b-v\bv     Print the directory stack with one entry per  line,  pre-
                      fixing each entry with its index in the stack.
               +\b+_\bn     Displays the _\bnth entry counting from the left of the list
                      shown by d\bdi\bir\brs\bs when invoked without options, starting with
                      zero.
-              -\b-_\bn     Displays the _\bnth entry counting from  the  right  of  the
+              -\b-_\bn     Displays  the  _\bnth  entry  counting from the right of the
                      list shown by d\bdi\bir\brs\bs when invoked without options, starting
                      with zero.
 
-              The return value is 0 unless an invalid option is supplied or  _\bn
+              The  return value is 0 unless an invalid option is supplied or _\bn
               indexes beyond the end of the directory stack.
 
        d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bj_\bo_\bb_\bs_\bp_\be_\bc ... | _\bp_\bi_\bd ... ]
-              Without  options,  remove  each _\bj_\bo_\bb_\bs_\bp_\be_\bc from the table of active
-              jobs.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither the -\b-a\ba nor the  -\b-r\br
-              option  is  supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If the -\b-h\bh option
-              is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from  the  table,  but  is
-              marked  so  that  S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the shell re-
+              Without options, remove each _\bj_\bo_\bb_\bs_\bp_\be_\bc from the  table  of  active
+              jobs.   If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither the -\b-a\ba nor the -\b-r\br
+              option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If the  -\b-h\b option
+              is  given,  each  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is not removed from the table, but is
+              marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if  the  shell  re-
               ceives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means
-              to  remove or mark all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc ar-
+              to remove or mark all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\b ar-
               gument restricts operation to running jobs.  The return value is
               0 unless a _\bj_\bo_\bb_\bs_\bp_\be_\bc does not specify a valid job.
 
        e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
-              Output  the  _\ba_\br_\bgs,  separated  by spaces, followed by a newline.
-              The return status is 0 unless a write error occurs.   If  -\b-n\b is
+              Output the _\ba_\br_\bgs, separated by spaces,  followed  by  a  newline.
+              The  return  status  is 0 unless a write error occurs.  If -\b-n\bn is
               specified, the trailing newline is suppressed.  If the -\b-e\be option
-              is given,  interpretation  of  the  following  backslash-escaped
-              characters  is  enabled.  The -\b-E\bE option disables the interpreta-
-              tion of these escape characters, even on systems where they  are
-              interpreted  by  default.  The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used
-              to dynamically determine whether or not e\bec\bch\bho\bo expands  these  es-
-              cape  characters by default.  e\bec\bch\bho\bo does not interpret -\b--\b- to mean
-              the end of options.  e\bec\bch\bho\bo interprets the  following  escape  se-
+              is  given,  interpretation  of  the  following backslash-escaped
+              characters is enabled.  The -\b-E\bE option disables  the  interpreta-
+              tion  of these escape characters, even on systems where they are
+              interpreted by default.  The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may  be  used
+              to  dynamically  determine whether or not e\bec\bch\bho\bo expands these es-
+              cape characters by default.  e\bec\bch\bho\bo does not interpret -\b--\b- to  mean
+              the  end  of  options.  e\bec\bch\bho\bo interprets the following escape se-
               quences:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -4966,200 +4967,200 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
-              \\b\0\b0_\bn_\bn_\bn  the  eight-bit  character  whose value is the octal value
+              \\b\0\b0_\bn_\bn_\bn  the eight-bit character whose value is  the  octal  value
                      _\bn_\bn_\bn (zero to three octal digits)
-              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
+              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
                      value _\bH_\bH (one or two hex digits)
-              \\b\u\bu_\bH_\bH_\bH_\bH the  Unicode (ISO/IEC 10646) character whose value is the
+              \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits)
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     the Unicode (ISO/IEC 10646) character whose value is  the
+                     the  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits)
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
-              Enable  and disable builtin shell commands.  Disabling a builtin
+              Enable and disable builtin shell commands.  Disabling a  builtin
               allows a disk command which has the same name as a shell builtin
-              to  be  executed without specifying a full pathname, even though
-              the shell normally searches for builtins before  disk  commands.
-              If  -\b-n\bn  is used, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are en-
-              abled.  For example, to use the t\bte\bes\bst\bt binary found via  the  P\bPA\bAT\bTH\bH
-              instead  of  the  shell builtin version, run ``enable -n test''.
-              The -\b-f\bf option means to load the new builtin  command  _\bn_\ba_\bm_\b from
+              to be executed without specifying a full pathname,  even  though
+              the  shell  normally searches for builtins before disk commands.
+              If -\b-n\bn is used, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\be_\bs  are  en-
+              abled.   For  example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
+              instead of the shell builtin version, run  ``enable  -n  test''.
+              The  -\b-f\bf  option  means to load the new builtin command _\bn_\ba_\bm_\be from
               shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
               Bash will use the value of the B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH variable as a
               colon-separated list of directories in which to search for _\bf_\bi_\bl_\be_\b-
-              _\bn_\ba_\bm_\be.  The default is  system-dependent.   The  -\b-d\bd  option  will
-              delete  a  builtin  previously loaded with -\b-f\bf.  If no _\bn_\ba_\bm_\be argu-
-              ments are given, or if the -\b-p\bp option  is  supplied,  a  list  of
-              shell  builtins is printed.  With no other option arguments, the
+              _\bn_\ba_\bm_\be.   The  default  is  system-dependent.   The -\b-d\bd option will
+              delete a builtin previously loaded with -\b-f\bf.  If  no  _\bn_\ba_\bm_\b argu-
+              ments  are  given,  or  if  the -\b-p\bp option is supplied, a list of
+              shell builtins is printed.  With no other option arguments,  the
               list consists of all enabled shell builtins.  If -\b-n\bn is supplied,
               only disabled builtins are printed.  If -\b-a\ba is supplied, the list
-              printed includes all builtins, with an indication of whether  or
-              not  each  is  enabled.   If  -\b-s\bs  is supplied, the output is re-
-              stricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  If no options are  sup-
-              plied  and a _\bn_\ba_\bm_\be is not a shell builtin, e\ben\bna\bab\bbl\ble\be will attempt to
-              load _\bn_\ba_\bm_\be from a shared object named _\bn_\ba_\bm_\be,  as  if  the  command
-              were  ``enable  -f  _\bn_\ba_\bm_\be  _\bn_\ba_\bm_\be .  The return value is 0 unless a
-              _\bn_\ba_\bm_\bis not a shell builtin or there is an error loading  a  new
+              printed  includes all builtins, with an indication of whether or
+              not each is enabled.  If -\b-s\bs  is  supplied,  the  output  is  re-
+              stricted  to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  If no options are sup-
+              plied and a _\bn_\ba_\bm_\be is not a shell builtin, e\ben\bna\bab\bbl\ble\be will attempt  to
+              load  _\bn_\ba_\bm_\be  from  a  shared object named _\bn_\ba_\bm_\be, as if the command
+              were ``enable -f _\bn_\ba_\bm_\be _\bn_\ba_\bm_\be .  The return value  is  0  unless  a
+              _\bn_\ba_\bm_\b is  not a shell builtin or there is an error loading a new
               builtin from a shared object.
 
        e\bev\bva\bal\bl [_\ba_\br_\bg ...]
-              The  _\ba_\br_\bgs  are read and concatenated together into a single com-
-              mand.  This command is then read and executed by the shell,  and
-              its  exit status is returned as the value of e\bev\bva\bal\bl.  If there are
+              The _\ba_\br_\bgs are read and concatenated together into a  single  com-
+              mand.   This command is then read and executed by the shell, and
+              its exit status is returned as the value of e\bev\bva\bal\bl.  If there  are
               no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
 
        e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
-              If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new  process
-              is  created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  If
+              If  _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new process
+              is created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   If
               the -\b-l\bl option is supplied, the shell places a dash at the begin-
               ning of the zeroth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is what _\bl_\bo_\b-
-              _\bg_\bi_\bn(1) does.  The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be  executed  with
-              an  empty environment.  If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
+              _\bg_\bi_\bn(1)  does.   The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
+              an empty environment.  If -\b-a\ba is supplied, the shell passes  _\bn_\ba_\bm_\be
               as the zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not  be executed for some reason, a non-interactive shell exits,
-              unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In that  case,  it
-              returns  failure.   An  interactive shell returns failure if the
-              file cannot be executed.  A subshell  exits  unconditionally  if
-              e\bex\bxe\bec\b fails.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections take
-              effect in the current shell, and the return  status  is  0.   If
+              not be executed for some reason, a non-interactive shell  exits,
+              unless  the  e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In that case, it
+              returns failure.  An interactive shell returns  failure  if  the
+              file  cannot  be  executed.  A subshell exits unconditionally if
+              e\bex\bxe\bec\bfails.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections  take
+              effect  in  the  current  shell, and the return status is 0.  If
               there is a redirection error, the return status is 1.
 
        e\bex\bxi\bit\bt [_\bn]
-              Cause  the  shell  to exit with a status of _\bn.  If _\bn is omitted,
+              Cause the shell to exit with a status of _\bn.  If  _\bn  is  omitted,
               the exit status is that of the last command executed.  A trap on
               E\bEX\bXI\bIT\bT is executed before the shell terminates.
 
        e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
        e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
-              The  supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
-              ronment of subsequently executed commands.  If the -\b-f\bf option  is
-              given,  the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given, or
-              if the -\b-p\bp option is supplied, a list of names  of  all  exported
-              variables  is printed.  The -\b-n\bn option causes the export property
+              The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the  envi-
+              ronment  of subsequently executed commands.  If the -\b-f\bf option is
+              given, the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given,  or
+              if  the  -\b-p\bp  option is supplied, a list of names of all exported
+              variables is printed.  The -\b-n\bn option causes the export  property
               to be removed from each _\bn_\ba_\bm_\be.  If a variable name is followed by
               =_\bw_\bo_\br_\bd, the value of the variable is set to _\bw_\bo_\br_\bd.  e\bex\bxp\bpo\bor\brt\bt returns
               an exit status of 0 unless an invalid option is encountered, one
-              of  the  _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is sup-
+              of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf  is  sup-
               plied with a _\bn_\ba_\bm_\be that is not a function.
 
        f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
        f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
-              The first form selects a range of commands from  _\bf_\bi_\br_\bs_\bt  to  _\bl_\ba_\bs_\bt
-              from  the  history  list  and  displays or edits and re-executes
-              them.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a  string  (to  locate
-              the  last command beginning with that string) or as a number (an
-              index into the history list, where a negative number is used  as
-              an  offset  from  the  current command number).  When listing, a
-              _\bf_\bi_\br_\bs_\bor _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is  equivalent  to
-              the  current  command  (usually  the f\bfc\bc command); otherwise 0 is
-              equivalent to -1 and -0 is invalid.  If _\bl_\ba_\bs_\bt is  not  specified,
-              it  is  set  to the current command for listing (so that ``fc -l
-              -10'' prints the last 10 commands) and to _\bf_\bi_\br_\bs_\bt  otherwise.   If
-              _\bf_\bi_\br_\bs_\b is  not  specified, it is set to the previous command for
+              The  first  form  selects a range of commands from _\bf_\bi_\br_\bs_\bt to _\bl_\ba_\bs_\bt
+              from the history list and  displays  or  edits  and  re-executes
+              them.   _\bF_\bi_\br_\bs_\bt  and  _\bl_\ba_\bs_\bt may be specified as a string (to locate
+              the last command beginning with that string) or as a number  (an
+              index  into the history list, where a negative number is used as
+              an offset from the current command  number).   When  listing,  a
+              _\bf_\bi_\br_\bs_\b or  _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is equivalent to
+              the current command (usually the f\bfc\bc  command);  otherwise  0  is
+              equivalent  to  -1 and -0 is invalid.  If _\bl_\ba_\bs_\bt is not specified,
+              it is set to the current command for listing (so  that  ``fc  -l
+              -10''  prints  the last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.  If
+              _\bf_\bi_\br_\bs_\bis not specified, it is set to the  previous  command  for
               editing and -16 for listing.
 
-              The -\b-n\bn option suppresses the command numbers when listing.   The
-              -\b-r\b option reverses the order of the commands.  If the -\b-l\bl option
-              is given, the commands are listed on  standard  output.   Other-
-              wise,  the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file containing
-              those commands.  If _\be_\bn_\ba_\bm_\be is not given, the value of the  F\bFC\bCE\bED\bDI\bIT\bT
-              variable  is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not set.
-              If neither variable is set, _\bv_\bi is used.  When  editing  is  com-
+              The  -\b-n\bn option suppresses the command numbers when listing.  The
+              -\b-r\boption reverses the order of the commands.  If the -\b-l\b option
+              is  given,  the  commands are listed on standard output.  Other-
+              wise, the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file  containing
+              those  commands.  If _\be_\bn_\ba_\bm_\be is not given, the value of the F\bFC\bCE\bED\bDI\bIT\bT
+              variable is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not  set.
+              If  neither  variable  is set, _\bv_\bi is used.  When editing is com-
               plete, the edited commands are echoed and executed.
 
-              In  the  second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
-              of _\bp_\ba_\bt is replaced by _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the  same  as
-              _\bf_\bi_\br_\bs_\b above.  A useful alias to use with this is ``r="fc -s"'',
-              so that typing ``r cc'' runs the  last  command  beginning  with
+              In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after  each  instance
+              of  _\bp_\ba_\bt  is replaced by _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
+              _\bf_\bi_\br_\bs_\babove.  A useful alias to use with this is ``r="fc  -s"'',
+              so  that  typing  ``r  cc'' runs the last command beginning with
               ``cc'' and typing ``r'' re-executes the last command.
 
-              If  the  first form is used, the return value is 0 unless an in-
-              valid option is encountered or _\bf_\bi_\br_\bs_\bt  or  _\bl_\ba_\bs_\bt  specify  history
-              lines  out  of  range.  If the -\b-e\be option is supplied, the return
+              If the first form is used, the return value is 0 unless  an  in-
+              valid  option  is  encountered  or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+              lines out of range.  If the -\b-e\be option is  supplied,  the  return
               value is the value of the last command executed or failure if an
               error occurs with the temporary file of commands.  If the second
-              form is used, the return status is that of the  command  re-exe-
-              cuted,  unless  _\bc_\bm_\bd  does  not  specify a valid history line, in
+              form  is  used, the return status is that of the command re-exe-
+              cuted, unless _\bc_\bm_\bd does not specify  a  valid  history  line,  in
               which case f\bfc\bc returns failure.
 
        f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
-              Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the  current  job.
+              Resume  _\bj_\bo_\bb_\bs_\bp_\be_\bc  in the foreground, and make it the current job.
               If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb
-              is used.  The return value is that of the  command  placed  into
-              the  foreground,  or failure if run when job control is disabled
+              is  used.   The  return value is that of the command placed into
+              the foreground, or failure if run when job control  is  disabled
               or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not spec-
-              ify  a  valid  job  or  _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+              ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies  a  job  that  was  started
               without job control.
 
        g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg _\b._\b._\b.]
-              g\bge\bet\bto\bop\bpt\bts\bis used by shell procedures to parse positional  parame-
-              ters.   _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  contains  the  option characters to be recog-
-              nized; if a character is followed by a colon, the option is  ex-
+              g\bge\bet\bto\bop\bpt\bts\b is used by shell procedures to parse positional parame-
+              ters.  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option  characters  to  be  recog-
+              nized;  if a character is followed by a colon, the option is ex-
               pected to have an argument, which should be separated from it by
-              white space.  The colon and question mark characters may not  be
-              used  as  option  characters.   Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs
-              places the next option in the shell variable _\bn_\ba_\bm_\be,  initializing
+              white  space.  The colon and question mark characters may not be
+              used as option characters.  Each time  it  is  invoked,  g\bge\bet\bto\bop\bpt\bts\bs
+              places  the next option in the shell variable _\bn_\ba_\bm_\be, initializing
               _\bn_\ba_\bm_\be if it does not exist, and the index of the next argument to
               be processed into the variable O\bOP\bPT\bTI\bIN\bND\bD.  O\bOP\bPT\bTI\bIN\bND\bD is initialized to
               1 each time the shell or a shell script is invoked.  When an op-
               tion requires an argument, g\bge\bet\bto\bop\bpt\bts\bs places that argument into the
               variable O\bOP\bPT\bTA\bAR\bRG\bG.  The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically;
-              it must be manually reset  between  multiple  calls  to  g\bge\bet\bto\bop\bpt\bts\bs
-              within  the  same shell invocation if a new set of parameters is
+              it  must  be  manually  reset  between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs
+              within the same shell invocation if a new set of  parameters  is
               to be used.
 
               When the end of options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a re-
               turn value greater than zero.  O\bOP\bPT\bTI\bIN\bND\bD is set to the index of the
               first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
 
-              g\bge\bet\bto\bop\bpt\bts\bnormally parses the positional parameters, but  if  more
-              arguments  are  supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses those in-
+              g\bge\bet\bto\bop\bpt\bts\b normally  parses the positional parameters, but if more
+              arguments are supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses  those  in-
               stead.
 
-              g\bge\bet\bto\bop\bpt\bts\bcan report errors in two ways.  If the  first  character
-              of  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  is  a  colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used.  In
-              normal operation, diagnostic messages are printed  when  invalid
-              options  or  missing  option  arguments are encountered.  If the
-              variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no  error  messages  will  be  dis-
+              g\bge\bet\bto\bop\bpt\bts\b can  report errors in two ways.  If the first character
+              of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, _\bs_\bi_\bl_\be_\bn_\bt error  reporting  is  used.   In
+              normal  operation,  diagnostic messages are printed when invalid
+              options or missing option arguments  are  encountered.   If  the
+              variable  O\bOP\bPT\bTE\bER\bRR\bR  is  set  to  0, no error messages will be dis-
               played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
 
               If an invalid option is seen, g\bge\bet\bto\bop\bpt\bts\bs places ? into _\bn_\ba_\bm_\be and, if
-              not silent, prints an  error  message  and  unsets  O\bOP\bPT\bTA\bAR\bRG\bG.   If
-              g\bge\bet\bto\bop\bpt\bts\b is  silent, the option character found is placed in O\bOP\bP-\b-
+              not  silent,  prints  an  error  message  and unsets O\bOP\bPT\bTA\bAR\bRG\bG.  If
+              g\bge\bet\bto\bop\bpt\bts\bis silent, the option character found is placed  in  O\bOP\bP-\b-
               T\bTA\bAR\bRG\bG and no diagnostic message is printed.
 
-              If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not  silent,
-              a  question  mark  (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is unset, and a
-              diagnostic message is printed.  If g\bge\bet\bto\bop\bpt\bts\bs  is  silent,  then  a
-              colon  (:\b:)  is  placed  in  _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG is set to the option
+              If  a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
+              a question mark (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is  unset,  and  a
+              diagnostic  message  is  printed.   If g\bge\bet\bto\bop\bpt\bts\bs is silent, then a
+              colon (:\b:) is placed in _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG  is  set  to  the  option
               character found.
 
-              g\bge\bet\bto\bop\bpt\bts\breturns true if an option, specified or unspecified,  is
+              g\bge\bet\bto\bop\bpt\bts\b returns true if an option, specified or unspecified, is
               found.  It returns false if the end of options is encountered or
               an error occurs.
 
        h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
               Each time h\bha\bas\bsh\bh is invoked, the full pathname of the command _\bn_\ba_\bm_\be
-              is  determined  by searching the directories in $\b$P\bPA\bAT\bTH\bH and remem-
+              is determined by searching the directories in $\b$P\bPA\bAT\bTH\bH  and  remem-
               bered.  Any previously-remembered pathname is discarded.  If the
               -\b-p\bp option is supplied, no path search is performed, and _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
-              is used as the full filename of  the  command.   The  -\b-r\b option
+              is  used  as  the  full  filename of the command.  The -\b-r\br option
               causes the shell to forget all remembered locations.  The -\b-d\bd op-
-              tion causes the shell to forget the remembered location of  each
-              _\bn_\ba_\bm_\be.   If the -\b-t\bt option is supplied, the full pathname to which
-              each _\bn_\ba_\bm_\be corresponds is printed.  If  multiple  _\bn_\ba_\bm_\b arguments
+              tion  causes the shell to forget the remembered location of each
+              _\bn_\ba_\bm_\be.  If the -\b-t\bt option is supplied, the full pathname to  which
+              each  _\bn_\ba_\bm_\be  corresponds  is printed.  If multiple _\bn_\ba_\bm_\be arguments
               are supplied with -\b-t\bt, the _\bn_\ba_\bm_\be is printed before the hashed full
               pathname.  The -\b-l\bl option causes output to be displayed in a for-
-              mat  that may be reused as input.  If no arguments are given, or
+              mat that may be reused as input.  If no arguments are given,  or
               if only -\b-l\bl is supplied, information about remembered commands is
-              printed.   The  return status is true unless a _\bn_\ba_\bm_\be is not found
+              printed.  The return status is true unless a _\bn_\ba_\bm_\be is  not  found
               or an invalid option is supplied.
 
        h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
-              Display helpful information about builtin commands.  If  _\bp_\ba_\bt_\bt_\be_\br_\bn
-              is  specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
-              _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise help for all the builtins and  shell  control
+              Display  helpful information about builtin commands.  If _\bp_\ba_\bt_\bt_\be_\br_\bn
+              is specified, h\bhe\bel\blp\bp gives detailed help on all commands  matching
+              _\bp_\ba_\bt_\bt_\be_\br_\bn;  otherwise  help for all the builtins and shell control
               structures is printed.
               -\b-d\bd     Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
               -\b-m\bm     Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
@@ -5177,54 +5178,54 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg _\b._\b._\b.]
               With no options, display the command history list with line num-
               bers.  Lines listed with a *\b* have been modified.  An argument of
-              _\blists only the last _\bn lines.  If the shell variable  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
-              F\bFO\bOR\bRM\bMA\bAT\b is  set  and not null, it is used as a format string for
-              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each  dis-
-              played  history  entry.  No intervening blank is printed between
-              the formatted time stamp and the history line.  If  _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b is
-              supplied,  it  is  used as the name of the history file; if not,
-              the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied,  have  the
+              _\b lists only the last _\bn lines.  If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
+              F\bFO\bOR\bRM\bMA\bAT\bis set and not null, it is used as a  format  string  for
+              _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3)  to display the time stamp associated with each dis-
+              played history entry.  No intervening blank is  printed  between
+              the  formatted  time stamp and the history line.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
+              supplied, it is used as the name of the history  file;  if  not,
+              the  value  of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used.  Options, if supplied, have the
               following meanings:
               -\b-c\bc     Clear the history list by deleting all the entries.
               -\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
-                     Delete  the  history entry at position _\bo_\bf_\bf_\bs_\be_\bt.  If _\bo_\bf_\bf_\bs_\be_\bt
+                     Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt.   If  _\bo_\bf_\bf_\bs_\be_\bt
                      is negative, it is interpreted as relative to one greater
                      than the last history position, so negative indices count
-                     back from the end of the history,  and  an  index  of  -1
+                     back  from  the  end  of  the history, and an index of -1
                      refers to the current h\bhi\bis\bst\bto\bor\bry\by -\b-d\bd command.
               -\b-d\bd _\bs_\bt_\ba_\br_\bt-_\be_\bn_\bd
-                     Delete  the  range  of  history entries between positions
-                     _\bs_\bt_\ba_\br_\band _\be_\bn_\bd, inclusive.  Positive and  negative  values
+                     Delete the range of  history  entries  between  positions
+                     _\bs_\bt_\ba_\br_\b and  _\be_\bn_\bd, inclusive.  Positive and negative values
                      for _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd are interpreted as described above.
-              -\b-a\ba     Append  the  ``new''  history  lines to the history file.
-                     These are history lines entered since  the  beginning  of
+              -\b-a\ba     Append the ``new'' history lines  to  the  history  file.
+                     These  are  history  lines entered since the beginning of
                      the current b\bba\bas\bsh\bh session, but not already appended to the
                      history file.
-              -\b-n\bn     Read the history lines not already read from the  history
-                     file  into the current history list.  These are lines ap-
-                     pended to the history file since  the  beginning  of  the
+              -\b-n\bn     Read  the history lines not already read from the history
+                     file into the current history list.  These are lines  ap-
+                     pended  to  the  history  file since the beginning of the
                      current b\bba\bas\bsh\bh session.
-              -\b-r\br     Read  the contents of the history file and append them to
+              -\b-r\br     Read the contents of the history file and append them  to
                      the current history list.
               -\b-w\bw     Write the current history list to the history file, over-
                      writing the history file's contents.
-              -\b-p\bp     Perform  history  substitution  on the following _\ba_\br_\bg_\bs and
-                     display the result on  the  standard  output.   Does  not
-                     store  the results in the history list.  Each _\ba_\br_\bg must be
+              -\b-p\bp     Perform history substitution on the  following  _\ba_\br_\bg_\b and
+                     display  the  result  on  the  standard output.  Does not
+                     store the results in the history list.  Each _\ba_\br_\bg must  be
                      quoted to disable normal history expansion.
-              -\b-s\bs     Store the _\ba_\br_\bg_\bs in the history list  as  a  single  entry.
-                     The  last  command  in the history list is removed before
+              -\b-s\bs     Store  the  _\ba_\br_\bg_\bs  in  the history list as a single entry.
+                     The last command in the history list  is  removed  before
                      the _\ba_\br_\bg_\bs are added.
 
-              If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time  stamp  informa-
-              tion  associated  with each history entry is written to the his-
-              tory file, marked with the history comment character.  When  the
-              history  file  is read, lines beginning with the history comment
-              character followed immediately by a  digit  are  interpreted  as
+              If  the  H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time stamp informa-
+              tion associated with each history entry is written to  the  his-
+              tory  file, marked with the history comment character.  When the
+              history file is read, lines beginning with the  history  comment
+              character  followed  immediately  by  a digit are interpreted as
               timestamps for the following history entry.  The return value is
               0 unless an invalid option is encountered, an error occurs while
-              reading  or writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt or range
-              is supplied as an argument to -\b-d\bd, or the history expansion  sup-
+              reading or writing the history file, an invalid _\bo_\bf_\bf_\bs_\be_\bt or  range
+              is  supplied as an argument to -\b-d\bd, or the history expansion sup-
               plied as an argument to -\b-p\bp fails.
 
        j\bjo\bob\bbs\bs [-\b-l\bln\bnp\bpr\brs\bs] [ _\bj_\bo_\bb_\bs_\bp_\be_\bc ... ]
@@ -5232,15 +5233,15 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               The first form lists the active jobs.  The options have the fol-
               lowing meanings:
               -\b-l\bl     List process IDs in addition to the normal information.
-              -\b-n\bn     Display information only about  jobs  that  have  changed
+              -\b-n\bn     Display  information  only  about  jobs that have changed
                      status since the user was last notified of their status.
-              -\b-p\bp     List  only  the  process  ID  of  the job's process group
+              -\b-p\bp     List only the process  ID  of  the  job's  process  group
                      leader.
               -\b-r\br     Display only running jobs.
               -\b-s\bs     Display only stopped jobs.
 
-              If _\bj_\bo_\bb_\bs_\bp_\be_\bc is given, output is restricted to  information  about
-              that  job.   The  return status is 0 unless an invalid option is
+              If  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is given, output is restricted to information about
+              that job.  The return status is 0 unless an  invalid  option  is
               encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
 
               If the -\b-x\bx option is supplied, j\bjo\bob\bbs\bs replaces any _\bj_\bo_\bb_\bs_\bp_\be_\bc found in
@@ -5249,142 +5250,142 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
        k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
        k\bki\bil\bll\bl -\b-l\bl|-\b-L\bL [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
-              Send the signal named by _\bs_\bi_\bg_\bs_\bp_\be_\bc  or  _\bs_\bi_\bg_\bn_\bu_\bm  to  the  processes
-              named  by  _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
-              signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix)  or
-              a  signal  number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
-              present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl  lists  the
-              signal  names.   If any arguments are supplied when -\b-l\bl is given,
-              the names of the signals  corresponding  to  the  arguments  are
+              Send  the  signal  named  by  _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
+              named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc.  _\bs_\bi_\bg_\bs_\bp_\be_\bc is either  a  case-insensitive
+              signal  name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
+              a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number.  If _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  not
+              present,  then  S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed.  An argument of -\b-l\bl lists the
+              signal names.  If any arguments are supplied when -\b-l\bl  is  given,
+              the  names  of  the  signals  corresponding to the arguments are
               listed, and the return status is 0.  The _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to
-              -\b-l\bis a number specifying either a signal  number  or  the  exit
-              status  of  a  process terminated by a signal.  The -\b-L\bL option is
-              equivalent to -\b-l\bl.  k\bki\bil\bll\bl returns true if at least one signal  was
+              -\b-l\b is  a  number  specifying either a signal number or the exit
+              status of a process terminated by a signal.  The  -\b-L\bL  option  is
+              equivalent  to -\b-l\bl.  k\bki\bil\bll\bl returns true if at least one signal was
               successfully sent, or false if an error occurs or an invalid op-
               tion is encountered.
 
        l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
               Each _\ba_\br_\bg is an arithmetic expression to be evaluated (see A\bAR\bRI\bIT\bTH\bH-\b-
-              M\bME\bET\bTI\bIC\b E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  above).   If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt
+              M\bME\bET\bTI\bIC\bE\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above).  If the last _\ba_\br_\bg evaluates  to  0,  l\ble\bet\bt
               returns 1; 0 is returned otherwise.
 
        l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ... | - ]
-              For each argument, a local variable named _\bn_\ba_\bm_\be is  created,  and
-              assigned  _\bv_\ba_\bl_\bu_\be.   The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
+              For  each  argument, a local variable named _\bn_\ba_\bm_\be is created, and
+              assigned _\bv_\ba_\bl_\bu_\be.  The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the  options  accepted
               by d\bde\bec\bcl\bla\bar\bre\be.  When l\blo\boc\bca\bal\bl is used within a function, it causes the
-              variable  _\bn_\ba_\bm_\be  to have a visible scope restricted to that func-
-              tion and its children.  If _\bn_\ba_\bm_\be is -, the set of  shell  options
-              is  made  local to the function in which l\blo\boc\bca\bal\bl is invoked: shell
-              options changed using the s\bse\bet\bt builtin inside  the  function  are
-              restored  to  their  original  values when the function returns.
+              variable _\bn_\ba_\bm_\be to have a visible scope restricted to  that  func-
+              tion  and  its children.  If _\bn_\ba_\bm_\be is -, the set of shell options
+              is made local to the function in which l\blo\boc\bca\bal\bl is  invoked:  shell
+              options  changed  using  the s\bse\bet\bt builtin inside the function are
+              restored to their original values  when  the  function  returns.
               The restore is effected as if a series of s\bse\bet\bt commands were exe-
-              cuted  to restore the values that were in place before the func-
-              tion.  With no operands, l\blo\boc\bca\bal\bl writes a list of local  variables
-              to  the  standard  output.  It is an error to use l\blo\boc\bca\bal\bl when not
-              within a function.  The return status is 0 unless l\blo\boc\bca\bal\bl is  used
-              outside  a  function,  an invalid _\bn_\ba_\bm_\be is supplied, or _\bn_\ba_\bm_\be is a
+              cuted to restore the values that were in place before the  func-
+              tion.   With no operands, l\blo\boc\bca\bal\bl writes a list of local variables
+              to the standard output.  It is an error to use  l\blo\boc\bca\bal\bl  when  not
+              within  a function.  The return status is 0 unless l\blo\boc\bca\bal\bl is used
+              outside a function, an invalid _\bn_\ba_\bm_\be is supplied, or  _\bn_\ba_\bm_\be  is  a
               readonly variable.
 
        l\blo\bog\bgo\bou\but\bt Exit a login shell.
 
-       m\bma\bap\bpf\bfi\bil\ble\b[-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu  _\bf_\bd]  [-\b-C\bC
+       m\bma\bap\bpf\bfi\bil\ble\b [-\b-d\bd  _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
        _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
        r\bre\bea\bad\bda\bar\brr\bra\bay\by [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
        _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
-              Read lines from the standard input into the indexed array  vari-
-              able  _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is sup-
-              plied.  The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options,  if
+              Read  lines from the standard input into the indexed array vari-
+              able _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is  sup-
+              plied.   The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by.  Options, if
               supplied, have the following meanings:
-              -\b-d\bd     The  first  character  of _\bd_\be_\bl_\bi_\bm is used to terminate each
-                     input line, rather than newline.  If _\bd_\be_\bl_\bi_\bm is  the  empty
+              -\b-d\bd     The first character of _\bd_\be_\bl_\bi_\bm is used  to  terminate  each
+                     input  line,  rather than newline.  If _\bd_\be_\bl_\bi_\bm is the empty
                      string, m\bma\bap\bpf\bfi\bil\ble\be will terminate a line when it reads a NUL
                      character.
-              -\b-n\bn     Copy at most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all  lines  are
+              -\b-n\bn     Copy  at  most _\bc_\bo_\bu_\bn_\bt lines.  If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
                      copied.
-              -\b-O\bO     Begin  assigning  to  _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn.  The default
+              -\b-O\bO     Begin assigning to _\ba_\br_\br_\ba_\by at index  _\bo_\br_\bi_\bg_\bi_\bn.   The  default
                      index is 0.
               -\b-s\bs     Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
-              -\b-t\bt     Remove a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each  line
+              -\b-t\bt     Remove  a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each line
                      read.
-              -\b-u\bu     Read  lines  from file descriptor _\bf_\bd instead of the stan-
+              -\b-u\bu     Read lines from file descriptor _\bf_\bd instead of  the  stan-
                      dard input.
-              -\b-C\bC     Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.   The
+              -\b-C\bC     Evaluate  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read.  The
                      -\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
-              -\b-c\bc     Specify  the  number  of  lines read between each call to
+              -\b-c\bc     Specify the number of lines read  between  each  call  to
                      _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
 
-              If -\b-C\bC is specified without -\b-c\bc,  the  default  quantum  is  5000.
+              If  -\b-C\bC  is  specified  without  -\b-c\bc, the default quantum is 5000.
               When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
               array element to be assigned and the line to be assigned to that
-              element  as  additional  arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
+              element as additional arguments.  _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk  is  evaluated  after
               the line is read but before the array element is assigned.
 
-              If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear  _\ba_\br_\b-
+              If  not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear _\ba_\br_\b-
               _\br_\ba_\by before assigning to it.
 
-              m\bma\bap\bpf\bfi\bil\ble\b returns successfully unless an invalid option or option
-              argument is supplied, _\ba_\br_\br_\ba_\by is invalid or  unassignable,  or  if
+              m\bma\bap\bpf\bfi\bil\ble\breturns successfully unless an invalid option or  option
+              argument  is  supplied,  _\ba_\br_\br_\ba_\by is invalid or unassignable, or if
               _\ba_\br_\br_\ba_\by is not an indexed array.
 
        p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
               Removes entries from the directory stack.  The elements are num-
-              bered from 0 starting at the first  directory  listed  by  d\bdi\bir\brs\bs.
-              With  no  arguments,  p\bpo\bop\bpd\bd  removes  the  top directory from the
+              bered  from  0  starting  at the first directory listed by d\bdi\bir\brs\bs.
+              With no arguments, p\bpo\bop\bpd\bd  removes  the  top  directory  from  the
               stack, and changes to the new top directory.  Arguments, if sup-
               plied, have the following meanings:
-              -\b-n\bn     Suppresses  the  normal change of directory when removing
+              -\b-n\bn     Suppresses the normal change of directory  when  removing
                      directories from the stack, so that only the stack is ma-
                      nipulated.
-              +\b+_\bn     Removes  the _\bnth entry counting from the left of the list
-                     shown by d\bdi\bir\brs\bs, starting with zero, from the  stack.   For
-                     example:  ``popd +0'' removes the first directory, ``popd
+              +\b+_\bn     Removes the _\bnth entry counting from the left of the  list
+                     shown  by  d\bdi\bir\brs\bs, starting with zero, from the stack.  For
+                     example: ``popd +0'' removes the first directory,  ``popd
                      +1'' the second.
               -\b-_\bn     Removes the _\bnth entry counting from the right of the list
-                     shown  by  d\bdi\bir\brs\bs, starting with zero.  For example: ``popd
-                     -0'' removes the last directory, ``popd -1'' the next  to
+                     shown by d\bdi\bir\brs\bs, starting with zero.  For  example:  ``popd
+                     -0''  removes the last directory, ``popd -1'' the next to
                      last.
 
-              If  the  top element of the directory stack is modified, and the
-              _\b-_\boption was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin  to  change
+              If the top element of the directory stack is modified,  and  the
+              _\b-_\b option  was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin to change
               to the directory at the top of the stack.  If the c\bcd\bd fails, p\bpo\bop\bpd\bd
               returns a non-zero value.
 
-              Otherwise, p\bpo\bop\bpd\bd returns false if an invalid  option  is  encoun-
+              Otherwise,  p\bpo\bop\bpd\bd  returns  false if an invalid option is encoun-
               tered, the directory stack is empty, or a non-existent directory
               stack entry is specified.
 
-              If the p\bpo\bop\bpd\bd command is successful, bash runs d\bdi\bir\brs\bs  to  show  the
-              final  contents of the directory stack, and the return status is
+              If  the  p\bpo\bop\bpd\bd  command is successful, bash runs d\bdi\bir\brs\bs to show the
+              final contents of the directory stack, and the return status  is
               0.
 
        p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
-              Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output  under  the
-              control  of  the  _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the output to be
-              assigned to the variable _\bv_\ba_\br rather than being  printed  to  the
+              Write  the  formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
+              control of the _\bf_\bo_\br_\bm_\ba_\bt.  The -\b-v\bv option causes the  output  to  be
+              assigned  to  the  variable _\bv_\ba_\br rather than being printed to the
               standard output.
 
-              The  _\bf_\bo_\br_\bm_\ba_\bt  is a character string which contains three types of
-              objects: plain characters, which are simply copied  to  standard
-              output,  character  escape  sequences,  which  are converted and
-              copied to the standard output, and format  specifications,  each
-              of  which  causes  printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.  In
+              The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three  types  of
+              objects:  plain  characters, which are simply copied to standard
+              output, character escape  sequences,  which  are  converted  and
+              copied  to  the standard output, and format specifications, each
+              of which causes printing of the next  successive  _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.   In
               addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(1) format specifications, p\bpr\bri\bin\bnt\btf\bf
               interprets the following extensions:
               %\b%b\bb     causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in the
                      corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in the same way as e\bec\bch\bho\bo -\b-e\be.
-              %\b%q\bq     causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt  in  a
+              %\b%q\bq     causes  p\bpr\bri\bin\bnt\btf\bf  to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
                      format that can be reused as shell input.
-              %\b%Q\bQ     like  %\b%q\bq, but applies any supplied precision to the _\ba_\br_\bg_\bu_\b-
+              %\b%Q\bQ     like %\b%q\bq, but applies any supplied precision to the  _\ba_\br_\bg_\bu_\b-
                      _\bm_\be_\bn_\bt before quoting it.
               %\b%(\b(_\bd_\ba_\bt_\be_\bf_\bm_\bt)\b)T\bT
-                     causes p\bpr\bri\bin\bnt\btf\bf to output the  date-time  string  resulting
-                     from  using  _\bd_\ba_\bt_\be_\bf_\bm_\bt  as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
+                     causes  p\bpr\bri\bin\bnt\btf\bf  to  output the date-time string resulting
+                     from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format  string  for  _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
                      The corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt is an integer representing the
-                     number  of seconds since the epoch.  Two special argument
-                     values may be used: -1 represents the current  time,  and
-                     -2  represents the time the shell was invoked.  If no ar-
+                     number of seconds since the epoch.  Two special  argument
+                     values  may  be used: -1 represents the current time, and
+                     -2 represents the time the shell was invoked.  If no  ar-
                      gument is specified, conversion behaves as if -1 had been
-                     given.   This  is an exception to the usual p\bpr\bri\bin\bnt\btf\bf behav-
+                     given.  This is an exception to the usual  p\bpr\bri\bin\bnt\btf\b behav-
                      ior.
 
               The %b, %q, and %T directives all use the field width and preci-
@@ -5392,104 +5393,104 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               bytes from (or use that wide a field for) the expanded argument,
               which usually contains more characters than the original.
 
-              Arguments  to non-string format specifiers are treated as C con-
+              Arguments to non-string format specifiers are treated as C  con-
               stants, except that a leading plus or minus sign is allowed, and
-              if  the leading character is a single or double quote, the value
+              if the leading character is a single or double quote, the  value
               is the ASCII value of the following character.
 
-              The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all  of  the  _\ba_\br_\bg_\bu_\b-
+              The  _\bf_\bo_\br_\bm_\ba_\bt  is  reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
               _\bm_\be_\bn_\bt_\bs.  If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
-              the extra format specifications behave as if  a  zero  value  or
-              null  string,  as  appropriate,  had  been supplied.  The return
+              the  extra  format  specifications  behave as if a zero value or
+              null string, as appropriate,  had  been  supplied.   The  return
               value is zero on success, non-zero on failure.
 
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
        p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
-              Adds a directory to the top of the directory stack,  or  rotates
-              the  stack,  making the new top of the stack the current working
-              directory.  With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two  ele-
-              ments  of the directory stack.  Arguments, if supplied, have the
+              Adds  a  directory to the top of the directory stack, or rotates
+              the stack, making the new top of the stack the  current  working
+              directory.   With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
+              ments of the directory stack.  Arguments, if supplied, have  the
               following meanings:
-              -\b-n\bn     Suppresses the normal change of directory  when  rotating
-                     or  adding  directories  to  the  stack, so that only the
+              -\b-n\bn     Suppresses  the  normal change of directory when rotating
+                     or adding directories to the  stack,  so  that  only  the
                      stack is manipulated.
-              +\b+_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
-                     from  the  left  of the list shown by d\bdi\bir\brs\bs, starting with
+              +\b+_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
+                     from the left of the list shown by  d\bdi\bir\brs\bs,  starting  with
                      zero) is at the top.
-              -\b-_\bn     Rotates the stack so that  the  _\bnth  directory  (counting
-                     from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
+              -\b-_\bn     Rotates  the  stack  so  that the _\bnth directory (counting
+                     from the right of the list shown by d\bdi\bir\brs\bs,  starting  with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top
 
               After the stack has been modified, if the -\b-n\bn option was not sup-
-              plied,  p\bpu\bus\bsh\bhd\bd  uses the c\bcd\bd builtin to change to the directory at
+              plied, p\bpu\bus\bsh\bhd\bd uses the c\bcd\bd builtin to change to the  directory  at
               the top of the stack.  If the c\bcd\bd fails, p\bpu\bus\bsh\bhd\bd returns a non-zero
               value.
 
-              Otherwise,  if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns 0 unless
-              the directory stack  is  empty.   When  rotating  the  directory
-              stack,  p\bpu\bus\bsh\bhd\bd returns 0 unless the directory stack is empty or a
+              Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns 0  unless
+              the  directory  stack  is  empty.   When  rotating the directory
+              stack, p\bpu\bus\bsh\bhd\bd returns 0 unless the directory stack is empty or  a
               non-existent directory stack element is specified.
 
-              If the p\bpu\bus\bsh\bhd\bd command is successful, bash runs d\bdi\bir\brs\bs to  show  the
+              If  the  p\bpu\bus\bsh\bhd\bd command is successful, bash runs d\bdi\bir\brs\bs to show the
               final contents of the directory stack.
 
        p\bpw\bwd\bd [-\b-L\bLP\bP]
-              Print  the  absolute  pathname of the current working directory.
+              Print the absolute pathname of the  current  working  directory.
               The pathname printed contains no symbolic links if the -\b-P\bP option
               is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
-              is enabled.  If the -\b-L\bL option is used, the pathname printed  may
-              contain  symbolic links.  The return status is 0 unless an error
+              is  enabled.  If the -\b-L\bL option is used, the pathname printed may
+              contain symbolic links.  The return status is 0 unless an  error
               occurs while reading the name of the current directory or an in-
               valid option is supplied.
 
        r\bre\bea\bad\bd [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp
        _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One line is read from the standard input, or from the  file  de-
+              One  line  is read from the standard input, or from the file de-
               scriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, split into
-              words as described above under W\bWo\bor\brd\bd  S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg,  and  the  first
-              word  is assigned to the first _\bn_\ba_\bm_\be, the second word to the sec-
-              ond _\bn_\ba_\bm_\be, and so on.  If there are more words  than  names,  the
+              words  as  described  above  under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and the first
+              word is assigned to the first _\bn_\ba_\bm_\be, the second word to the  sec-
+              ond  _\bn_\ba_\bm_\be,  and  so on.  If there are more words than names, the
               remaining words and their intervening delimiters are assigned to
-              the last _\bn_\ba_\bm_\be.  If there are fewer words  read  from  the  input
-              stream  than  names, the remaining names are assigned empty val-
-              ues.  The characters in I\bIF\bFS\bS are used  to  split  the  line  into
-              words  using  the  same  rules the shell uses for expansion (de-
-              scribed above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg).   The  backslash  character
+              the  last  _\bn_\ba_\bm_\be.   If  there are fewer words read from the input
+              stream than names, the remaining names are assigned  empty  val-
+              ues.   The  characters  in  I\bIF\bFS\bS  are used to split the line into
+              words using the same rules the shell  uses  for  expansion  (de-
+              scribed  above  under  W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg).  The backslash character
               (\\b\) may be used to remove any special meaning for the next char-
-              acter read and for line  continuation.   Options,  if  supplied,
+              acter  read  and  for  line continuation.  Options, if supplied,
               have the following meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
                      variable _\ba_\bn_\ba_\bm_\be, starting at 0.  _\ba_\bn_\ba_\bm_\be is unset before any
-                     new  values  are  assigned.  Other _\bn_\ba_\bm_\be arguments are ig-
+                     new values are assigned.  Other _\bn_\ba_\bm_\be  arguments  are  ig-
                      nored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
                      The first character of _\bd_\be_\bl_\bi_\bm is used to terminate the in-
-                     put  line,  rather  than  newline.  If _\bd_\be_\bl_\bi_\bm is the empty
-                     string, r\bre\bea\bad\bd will terminate a line when it  reads  a  NUL
+                     put line, rather than newline.  If  _\bd_\be_\bl_\bi_\bm  is  the  empty
+                     string,  r\bre\bea\bad\bd  will  terminate a line when it reads a NUL
                      character.
               -\b-e\be     If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
-                     (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the  line.   Read-
-                     line  uses  the  current (or default, if line editing was
-                     not previously active) editing settings, but  uses  Read-
+                     (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE  above) is used to obtain the line.  Read-
+                     line uses the current (or default, if  line  editing  was
+                     not  previously  active) editing settings, but uses Read-
                      line's default filename completion.
               -\b-i\bi _\bt_\be_\bx_\bt
-                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used  to  read the line, _\bt_\be_\bx_\bt is
+                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
+                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
                      waiting for a complete line of input, but honors a delim-
-                     iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before  the
+                     iter  if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
                      delimiter.
               -\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\bs characters
-                     rather than waiting for a complete line of input,  unless
-                     EOF  is encountered or r\bre\bea\bad\bd times out.  Delimiter charac-
-                     ters encountered in the input are not  treated  specially
-                     and  do  not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
-                     are read.  The result is not split on the  characters  in
-                     I\bIF\bFS\bS;  the intent is that the variable is assigned exactly
+                     r\bre\bea\bad\breturns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\b characters
+                     rather  than waiting for a complete line of input, unless
+                     EOF is encountered or r\bre\bea\bad\bd times out.  Delimiter  charac-
+                     ters  encountered  in the input are not treated specially
+                     and do not cause r\bre\bea\bad\bd to return until  _\bn_\bc_\bh_\ba_\br_\b characters
+                     are  read.   The result is not split on the characters in
+                     I\bIF\bFS\bS; the intent is that the variable is assigned  exactly
                      the characters read (with the exception of backslash; see
                      the -\b-r\br option below).
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
@@ -5497,133 +5498,133 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash is considered to be part of the line.  In  particu-
-                     lar,  a  backslash-newline pair may not then be used as a
+                     slash  is considered to be part of the line.  In particu-
+                     lar, a backslash-newline pair may not then be used  as  a
                      line continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
-                     line of input (or a specified number  of  characters)  is
-                     not  read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a deci-
-                     mal number with a fractional portion following the  deci-
-                     mal  point.   This  option  is  only effective if r\bre\bea\bad\bd is
-                     reading input from a terminal,  pipe,  or  other  special
-                     file;  it  has no effect when reading from regular files.
+                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
+                     line  of  input  (or a specified number of characters) is
+                     not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a  deci-
+                     mal  number with a fractional portion following the deci-
+                     mal point.  This option is  only  effective  if  r\bre\bea\bad\b is
+                     reading  input  from  a  terminal, pipe, or other special
+                     file; it has no effect when reading from  regular  files.
                      If r\bre\bea\bad\bd times out, r\bre\bea\bad\bd saves any partial input read into
-                     the  specified  variable _\bn_\ba_\bm_\be.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd re-
-                     turns immediately, without trying to read any data.   The
-                     exit  status  is 0 if input is available on the specified
-                     file descriptor, or the read will  return  EOF,  non-zero
-                     otherwise.   The  exit  status is greater than 128 if the
+                     the specified variable _\bn_\ba_\bm_\be.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0,  r\bre\bea\bad\b re-
+                     turns  immediately, without trying to read any data.  The
+                     exit status is 0 if input is available on  the  specified
+                     file  descriptor,  or  the read will return EOF, non-zero
+                     otherwise.  The exit status is greater than  128  if  the
                      timeout is exceeded.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
-              If no _\bn_\ba_\bm_\be_\bs are supplied, the line read, without the ending  de-
-              limiter  but  otherwise  unmodified, is assigned to the variable
-              R\bRE\bEP\bPL\bLY\bY.  The exit status is zero, unless end-of-file  is  encoun-
-              tered,  r\bre\bea\bad\bd times out (in which case the status is greater than
-              128), a variable assignment error (such as assigning to a  read-
+              If  no _\bn_\ba_\bm_\be_\bs are supplied, the line read, without the ending de-
+              limiter but otherwise unmodified, is assigned  to  the  variable
+              R\bRE\bEP\bPL\bLY\bY.   The  exit status is zero, unless end-of-file is encoun-
+              tered, r\bre\bea\bad\bd times out (in which case the status is greater  than
+              128),  a variable assignment error (such as assigning to a read-
               only variable) occurs, or an invalid file descriptor is supplied
               as the argument to -\b-u\bu.
 
        r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\bAf\bf] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd] ...]
-              The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of  these  _\bn_\ba_\bm_\be_\bs
-              may  not  be changed by subsequent assignment.  If the -\b-f\bf option
-              is supplied, the functions corresponding to  the  _\bn_\ba_\bm_\be_\bs  are  so
-              marked.   The  -\b-a\ba  option restricts the variables to indexed ar-
-              rays; the -\b-A\bA option restricts the variables to  associative  ar-
+              The  given  _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
+              may not be changed by subsequent assignment.  If the  -\b-f\b option
+              is  supplied,  the  functions  corresponding to the _\bn_\ba_\bm_\be_\bs are so
+              marked.  The -\b-a\ba option restricts the variables  to  indexed  ar-
+              rays;  the  -\b-A\bA option restricts the variables to associative ar-
               rays.  If both options are supplied, -\b-A\bA takes precedence.  If no
-              _\bn_\ba_\bm_\barguments are given, or if the -\b-p\bp  option  is  supplied,  a
+              _\bn_\ba_\bm_\b arguments  are  given,  or if the -\b-p\bp option is supplied, a
               list of all readonly names is printed.  The other options may be
-              used to restrict the output to a subset of the set  of  readonly
-              names.   The -\b-p\bp option causes output to be displayed in a format
-              that may be reused as input.  If a variable name is followed  by
-              =_\bw_\bo_\br_\bd,  the  value  of  the variable is set to _\bw_\bo_\br_\bd.  The return
-              status is 0 unless an invalid option is encountered, one of  the
+              used  to  restrict the output to a subset of the set of readonly
+              names.  The -\b-p\bp option causes output to be displayed in a  format
+              that  may be reused as input.  If a variable name is followed by
+              =_\bw_\bo_\br_\bd, the value of the variable is set  to  _\bw_\bo_\br_\bd.   The  return
+              status  is 0 unless an invalid option is encountered, one of the
               _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is supplied with
               a _\bn_\ba_\bm_\be that is not a function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
-              Causes a function to stop executing and return the value  speci-
-              fied  by _\bn to its caller.  If _\bn is omitted, the return status is
-              that of the last command executed in the function body.  If  r\bre\be-\b-
+              Causes  a function to stop executing and return the value speci-
+              fied by _\bn to its caller.  If _\bn is omitted, the return status  is
+              that  of the last command executed in the function body.  If r\bre\be-\b-
               t\btu\bur\brn\bn is executed by a trap handler, the last command used to de-
-              termine the status is the last command executed before the  trap
-              handler.   If  r\bre\bet\btu\bur\brn\bn  is executed during a D\bDE\bEB\bBU\bUG\bG trap, the last
-              command used to determine the status is the  last  command  exe-
-              cuted  by the trap handler before r\bre\bet\btu\bur\brn\bn was invoked.  If r\bre\bet\btu\bur\brn\bn
-              is used outside a function, but during execution of a script  by
-              the  .\b.   (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop executing
-              that script and return either _\bn or the exit status of  the  last
-              command  executed  within  the  script as the exit status of the
+              termine  the status is the last command executed before the trap
+              handler.  If r\bre\bet\btu\bur\brn\bn is executed during a D\bDE\bEB\bBU\bUG\bG  trap,  the  last
+              command  used  to  determine the status is the last command exe-
+              cuted by the trap handler before r\bre\bet\btu\bur\brn\bn was invoked.  If  r\bre\bet\btu\bur\brn\bn
+              is  used outside a function, but during execution of a script by
+              the .\b.  (s\bso\bou\bur\brc\bce\be) command, it causes the shell to  stop  executing
+              that  script  and return either _\bn or the exit status of the last
+              command executed within the script as the  exit  status  of  the
               script.  If _\bn is supplied, the return value is its least signif-
-              icant  8  bits.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn is sup-
-              plied a non-numeric argument, or is used outside a function  and
-              not  during  execution  of a script by .\b. or s\bso\bou\bur\brc\bce\be.  Any command
+              icant 8 bits.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn  is  sup-
+              plied  a non-numeric argument, or is used outside a function and
+              not during execution of a script by .\b. or  s\bso\bou\bur\brc\bce\be.   Any  command
               associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before execution re-
               sumes after the function or script.
 
        s\bse\bet\bt [-\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
        s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
-              Without  options, display the name and value of each shell vari-
-              able in a format that can be reused as input for setting or  re-
+              Without options, display the name and value of each shell  vari-
+              able  in a format that can be reused as input for setting or re-
               setting the currently-set variables.  Read-only variables cannot
-              be reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.   The
-              output  is sorted according to the current locale.  When options
-              are specified, they set or unset shell  attributes.   Any  argu-
-              ments  remaining  after  option processing are treated as values
+              be  reset.  In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.  The
+              output is sorted according to the current locale.  When  options
+              are  specified,  they  set or unset shell attributes.  Any argu-
+              ments remaining after option processing are  treated  as  values
               for the positional parameters and are assigned, in order, to $\b$1\b1,
-              $\b$2\b2,  .\b..\b..\b.   $\b$_\bn.   Options, if specified, have the following mean-
+              $\b$2\b2, .\b..\b..\b.  $\b$_\bn.  Options, if specified, have  the  following  mean-
               ings:
               -\b-a\ba      Each variable or function that is created or modified is
-                      given  the export attribute and marked for export to the
+                      given the export attribute and marked for export to  the
                       environment of subsequent commands.
-              -\b-b\bb      Report the status of terminated background jobs  immedi-
+              -\b-b\bb      Report  the status of terminated background jobs immedi-
                       ately, rather than before the next primary prompt.  This
                       is effective only when job control is enabled.
-              -\b-e\be      Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist  of  a
-                      single  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+              -\b-e\be      Exit  immediately  if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
+                      single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or  a  _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\b _\bc_\bo_\bm_\bm_\ba_\bn_\bd
                       (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above), exits with a non-zero status.
-                      The  shell  does  not  exit if the command that fails is
-                      part of the command list immediately following  a  w\bwh\bhi\bil\ble\be
-                      or  u\bun\bnt\bti\bil\bl  keyword, part of the test following the i\bif\bf or
-                      e\bel\bli\bif\breserved words, part of any command executed  in  a
-                      &\b&&\b or |\b||\b| list except the command following the final &\b&&\b&
+                      The shell does not exit if the  command  that  fails  is
+                      part  of  the command list immediately following a w\bwh\bhi\bil\ble\be
+                      or u\bun\bnt\bti\bil\bl keyword, part of the test following the  i\bif\b or
+                      e\bel\bli\bif\b reserved  words, part of any command executed in a
+                      &\b&&\bor |\b||\b| list except the command following the final  &\b&&\b&
                       or |\b||\b|, any command in a pipeline but the last, or if the
-                      command's  return  value is being inverted with !\b!.  If a
-                      compound command other than a subshell  returns  a  non-
-                      zero  status because a command failed while -\b-e\be was being
-                      ignored, the shell does not exit.  A  trap  on  E\bER\bRR\bR,  if
-                      set,  is  executed  before the shell exits.  This option
+                      command's return value is being inverted with !\b!.   If  a
+                      compound  command  other  than a subshell returns a non-
+                      zero status because a command failed while -\b-e\be was  being
+                      ignored,  the  shell  does  not exit.  A trap on E\bER\bRR\bR, if
+                      set, is executed before the shell  exits.   This  option
                       applies to the shell environment and each subshell envi-
-                      ronment  separately  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
+                      ronment separately (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD  E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
                       above), and may cause subshells to exit before executing
                       all the commands in the subshell.
 
-                      If  a  compound  command or shell function executes in a
-                      context where -\b-e\be is being ignored, none of the  commands
-                      executed  within  the  compound command or function body
-                      will be affected by the -\b-e\be setting, even if  -\b-e\be  is  set
-                      and  a  command returns a failure status.  If a compound
-                      command or shell function sets -\b-e\be while executing  in  a
-                      context  where -\b-e\be is ignored, that setting will not have
-                      any effect until the compound  command  or  the  command
+                      If a compound command or shell function  executes  in  a
+                      context  where -\b-e\be is being ignored, none of the commands
+                      executed within the compound command  or  function  body
+                      will  be  affected  by the -\b-e\be setting, even if -\b-e\be is set
+                      and a command returns a failure status.  If  a  compound
+                      command  or  shell function sets -\b-e\be while executing in a
+                      context where -\b-e\be is ignored, that setting will not  have
+                      any  effect  until  the  compound command or the command
                       containing the function call completes.
               -\b-f\bf      Disable pathname expansion.
-              -\b-h\bh      Remember  the location of commands as they are looked up
+              -\b-h\bh      Remember the location of commands as they are looked  up
                       for execution.  This is enabled by default.
-              -\b-k\bk      All arguments in the form of assignment  statements  are
-                      placed  in the environment for a command, not just those
+              -\b-k\bk      All  arguments  in the form of assignment statements are
+                      placed in the environment for a command, not just  those
                       that precede the command name.
-              -\b-m\bm      Monitor mode.  Job control is enabled.  This  option  is
-                      on  by  default  for  interactive shells on systems that
-                      support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All  processes  run
+              -\b-m\bm      Monitor  mode.   Job control is enabled.  This option is
+                      on by default for interactive  shells  on  systems  that
+                      support  it  (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All processes run
                       in a separate process group.  When a background job com-
                       pletes, the shell prints a line containing its exit sta-
                       tus.
               -\b-n\bn      Read commands but do not execute them.  This may be used
-                      to check a shell script for syntax errors.  This is  ig-
+                      to  check a shell script for syntax errors.  This is ig-
                       nored by interactive shells.
               -\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
                       The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
@@ -5631,10 +5632,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Same as -\b-a\ba.
                       b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-B\bB.
-                      e\bem\bma\bac\bcs\bs   Use  an  emacs-style command line editing inter-
+                      e\bem\bma\bac\bcs\bs   Use an emacs-style command line  editing  inter-
                               face.  This is enabled by default when the shell
                               is interactive, unless the shell is started with
-                              the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option.  This also  affects  the
+                              the  -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg  option.  This also affects the
                               editing interface used for r\bre\bea\bad\bd -\b-e\be.
                       e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
                       e\ber\brr\brt\btr\bra\bac\bce\be
@@ -5648,8 +5649,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in inter-
                               active shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The  effect  is  as  if  the shell command ``IG-
-                              NOREEOF=10'' had been executed (see S\bSh\bhe\bel\bll\b V\bVa\bar\bri\bi-\b-
+                              The effect is as  if  the  shell  command  ``IG-
+                              NOREEOF=10''  had been executed (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bi-\b-
                               a\bab\bbl\ble\bes\bs above).
                       k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
                       m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
@@ -5664,175 +5665,175 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If  set,  the  return value of a pipeline is the
-                              value of the last (rightmost)  command  to  exit
-                              with  a non-zero status, or zero if all commands
-                              in the pipeline exit successfully.  This  option
+                              If set, the return value of a  pipeline  is  the
+                              value  of  the  last (rightmost) command to exit
+                              with a non-zero status, or zero if all  commands
+                              in  the pipeline exit successfully.  This option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change  the  behavior  of b\bba\bas\bsh\bh where the default
-                              operation differs from  the  POSIX  standard  to
-                              match  the  standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See S\bSE\bEE\bE A\bAL\bLS\bSO\bO
+                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
+                              operation  differs  from  the  POSIX standard to
+                              match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).  See  S\bSE\bEE\b A\bAL\bLS\bSO\bO
                               below for a reference to a document that details
                               how posix mode affects bash's behavior.
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
-                      v\bvi\bi      Use  a  vi-style command line editing interface.
+                      v\bvi\bi      Use a vi-style command line  editing  interface.
                               This also affects the editing interface used for
                               r\bre\bea\bad\bd -\b-e\be.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
                       If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, the values of the
-                      current options are printed.  If +\b+o\bo is supplied with  no
-                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  a  series  of s\bse\bet\bt commands to recreate the
-                      current option settings is  displayed  on  the  standard
+                      current  options are printed.  If +\b+o\bo is supplied with no
+                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands  to  recreate  the
+                      current  option  settings  is  displayed on the standard
                       output.
-              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd  mode.   In this mode, the $\b$E\bEN\bNV\bV and
-                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bfiles are not processed, shell  functions  are
-                      not  inherited  from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
-                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they  ap-
-                      pear  in  the environment, are ignored.  If the shell is
-                      started with the effective user (group) id not equal  to
-                      the  real user (group) id, and the -\b-p\bp option is not sup-
+              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this  mode,  the  $\b$E\bEN\bNV\b and
+                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\b files  are not processed, shell functions are
+                      not inherited from the environment, and  the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS,  C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they ap-
+                      pear in the environment, are ignored.  If the  shell  is
+                      started  with the effective user (group) id not equal to
+                      the real user (group) id, and the -\b-p\bp option is not  sup-
                       plied, these actions are taken and the effective user id
-                      is  set  to  the real user id.  If the -\b-p\bp option is sup-
-                      plied at startup, the effective user id  is  not  reset.
-                      Turning  this  option  off causes the effective user and
+                      is set to the real user id.  If the -\b-p\bp  option  is  sup-
+                      plied  at  startup,  the effective user id is not reset.
+                      Turning this option off causes the  effective  user  and
                       group ids to be set to the real user and group ids.
               -\b-r\br      Enable restricted shell mode.  This option cannot be un-
                       set once it has been set.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables and parameters other than the spe-
-                      cial parameters "@" and "*",  or  array  variables  sub-
-                      scripted  with  "@"  or "*", as an error when performing
-                      parameter expansion.  If expansion is  attempted  on  an
-                      unset  variable  or parameter, the shell prints an error
-                      message, and, if not interactive, exits with a  non-zero
+                      cial  parameters  "@"  and  "*", or array variables sub-
+                      scripted with "@" or "*", as an  error  when  performing
+                      parameter  expansion.   If  expansion is attempted on an
+                      unset variable or parameter, the shell prints  an  error
+                      message,  and, if not interactive, exits with a non-zero
                       status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
+              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
                       command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
-                      play  the expanded value of P\bPS\bS4\b4, followed by the command
+                      play the expanded value of P\bPS\bS4\b4, followed by the  command
                       and its expanded arguments or associated word list.
-              -\b-B\bB      The shell performs brace expansion (see B\bBr\bra\bac\bce\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+              -\b-B\bB      The  shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above).  This is on by default.
-              -\b-C\bC      If  set,  b\bba\bas\bsh\bh  does not overwrite an existing file with
-                      the >\b>, >\b>&\b&, and <\b<>\b> redirection operators.   This  may  be
+              -\b-C\bC      If set, b\bba\bas\bsh\bh does not overwrite an  existing  file  with
+                      the  >\b>,  >\b>&\b&,  and <\b<>\b> redirection operators.  This may be
                       overridden when creating output files by using the redi-
                       rection operator >\b>|\b| instead of >\b>.
               -\b-E\bE      If set, any trap on E\bER\bRR\bR is inherited by shell functions,
-                      command  substitutions,  and commands executed in a sub-
-                      shell environment.  The E\bER\bRR\bR trap is normally not  inher-
+                      command substitutions, and commands executed in  a  sub-
+                      shell  environment.  The E\bER\bRR\bR trap is normally not inher-
                       ited in such cases.
               -\b-H\bH      Enable !\b!  style history substitution.  This option is on
                       by default when the shell is interactive.
-              -\b-P\bP      If set, the shell does not resolve symbolic  links  when
-                      executing  commands  such  as c\bcd\bd that change the current
+              -\b-P\bP      If  set,  the shell does not resolve symbolic links when
+                      executing commands such as c\bcd\bd that  change  the  current
                       working  directory.   It  uses  the  physical  directory
                       structure instead.  By default, b\bba\bas\bsh\bh follows the logical
-                      chain of  directories  when  performing  commands  which
+                      chain  of  directories  when  performing  commands which
                       change the current directory.
-              -\b-T\bT      If  set,  any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
+              -\b-T\bT      If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are  inherited  by
                       shell functions, command substitutions, and commands ex-
-                      ecuted  in a subshell environment.  The D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
+                      ecuted in a subshell environment.  The D\bDE\bEB\bBU\bUG\bG and  R\bRE\bET\bTU\bUR\bRN\bN
                       traps are normally not inherited in such cases.
-              -\b--\b-      If no arguments follow this option, then the  positional
+              -\b--\b-      If  no arguments follow this option, then the positional
                       parameters are unset.  Otherwise, the positional parame-
-                      ters are set to the _\ba_\br_\bgs, even if  some  of  them  begin
+                      ters  are  set  to  the _\ba_\br_\bgs, even if some of them begin
                       with a -\b-.
-              -\b-       Signal  the  end of options, cause all remaining _\ba_\br_\bgs to
+              -\b-       Signal the end of options, cause all remaining  _\ba_\br_\bgs  to
                       be assigned to the positional parameters.  The -\b-x\bx and -\b-v\bv
                       options are turned off.  If there are no _\ba_\br_\bgs, the posi-
                       tional parameters remain unchanged.
 
-              The options are off by default unless otherwise noted.  Using  +
-              rather  than  -  causes these options to be turned off.  The op-
+              The  options are off by default unless otherwise noted.  Using +
+              rather than - causes these options to be turned  off.   The  op-
               tions can also be specified as arguments to an invocation of the
-              shell.   The current set of options may be found in $\b$-\b-.  The re-
-              turn status is always true unless an invalid option  is  encoun-
+              shell.  The current set of options may be found in $\b$-\b-.  The  re-
+              turn  status  is always true unless an invalid option is encoun-
               tered.
 
        s\bsh\bhi\bif\bft\bt [_\bn]
-              The  positional  parameters  from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
-              Parameters represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are  un-
-              set.   _\bn must be a non-negative number less than or equal to $\b$#\b#.
-              If _\bn is 0, no parameters are changed.  If _\bn is not given, it  is
+              The positional parameters from _\bn+1 ... are renamed  to  $\b$1\b .\b..\b..\b..\b.
+              Parameters  represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are un-
+              set.  _\bn must be a non-negative number less than or equal to  $\b$#\b#.
+              If  _\bn is 0, no parameters are changed.  If _\bn is not given, it is
               assumed to be 1.  If _\bn is greater than $\b$#\b#, the positional param-
-              eters are not changed.  The return status is greater  than  zero
+              eters  are  not changed.  The return status is greater than zero
               if _\bn is greater than $\b$#\b# or less than zero; otherwise 0.
 
        s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
-              Toggle  the values of settings controlling optional shell behav-
-              ior.  The settings can be either those listed below, or, if  the
+              Toggle the values of settings controlling optional shell  behav-
+              ior.   The settings can be either those listed below, or, if the
               -\b-o\bo option is used, those available with the -\b-o\bo option to the s\bse\bet\bt
               builtin command.  With no options, or with the -\b-p\bp option, a list
-              of  all  settable  options  is  displayed, with an indication of
+              of all settable options is  displayed,  with  an  indication  of
               whether or not each is set; if _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output
-              is  restricted to those options.  The -\b-p\bp option causes output to
-              be displayed in a form that may be reused as input.   Other  op-
+              is restricted to those options.  The -\b-p\bp option causes output  to
+              be  displayed  in a form that may be reused as input.  Other op-
               tions have the following meanings:
               -\b-s\bs     Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
               -\b-u\bu     Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-              -\b-q\bq     Suppresses  normal output (quiet mode); the return status
+              -\b-q\bq     Suppresses normal output (quiet mode); the return  status
                      indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset.  If multi-
-                     ple  _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
-                     tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero  other-
+                     ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return  sta-
+                     tus  is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
                      wise.
-              -\b-o\bo     Restricts  the  values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
+              -\b-o\bo     Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those  defined  for
                      the -\b-o\bo option to the s\bse\bet\bt builtin.
 
-              If either -\b-s\bs or -\b-u\bu is used  with  no  _\bo_\bp_\bt_\bn_\ba_\bm_\be  arguments,  s\bsh\bho\bop\bpt\bt
-              shows  only  those options which are set or unset, respectively.
-              Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are  disabled  (unset)
+              If  either  -\b-s\bs  or  -\b-u\bu  is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
+              shows only those options which are set or  unset,  respectively.
+              Unless  otherwise  noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
               by default.
 
-              The  return  status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
-              are enabled, non-zero otherwise.  When setting or unsetting  op-
-              tions,  the  return  status  is  zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
+              The return status when listing options is zero if  all  _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+              are  enabled, non-zero otherwise.  When setting or unsetting op-
+              tions, the return status is zero unless  an  _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  not  a
               valid shell option.
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
               a\bas\bss\bso\boc\bc_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
-                      If set, the shell suppresses multiple evaluation of  as-
-                      sociative  array subscripts during arithmetic expression
-                      evaluation, while executing builtins  that  can  perform
-                      variable  assignments, and while executing builtins that
+                      If  set, the shell suppresses multiple evaluation of as-
+                      sociative array subscripts during arithmetic  expression
+                      evaluation,  while  executing  builtins that can perform
+                      variable assignments, and while executing builtins  that
                       perform array dereferencing.
-              a\bau\but\bto\boc\bcd\bd  If set, a command name that is the name of  a  directory
-                      is  executed  as  if it were the argument to the c\bcd\bd com-
+              a\bau\but\bto\boc\bcd\bd  If  set,  a command name that is the name of a directory
+                      is executed as if it were the argument to  the  c\bcd\b com-
                       mand.  This option is only used by interactive shells.
               c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
-                      If set, an argument to the c\bcd\bd builtin  command  that  is
-                      not  a directory is assumed to be the name of a variable
+                      If  set,  an  argument to the c\bcd\bd builtin command that is
+                      not a directory is assumed to be the name of a  variable
                       whose value is the directory to change to.
               c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
-                      ponent  in  a  c\bcd\bd command will be corrected.  The errors
+                      ponent in a c\bcd\bd command will be  corrected.   The  errors
                       checked for are transposed characters, a missing charac-
-                      ter,  and  one  character  too many.  If a correction is
-                      found, the corrected filename is printed, and  the  com-
-                      mand  proceeds.  This option is only used by interactive
+                      ter, and one character too many.   If  a  correction  is
+                      found,  the  corrected filename is printed, and the com-
+                      mand proceeds.  This option is only used by  interactive
                       shells.
               c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
                       If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
-                      ble  exists  before  trying  to execute it.  If a hashed
-                      command no longer exists, a normal path search  is  per-
+                      ble exists before trying to execute  it.   If  a  hashed
+                      command  no  longer exists, a normal path search is per-
                       formed.
               c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
                       If set, b\bba\bas\bsh\bh lists the status of any stopped and running
-                      jobs before exiting an interactive shell.  If  any  jobs
+                      jobs  before  exiting an interactive shell.  If any jobs
                       are running, this causes the exit to be deferred until a
-                      second exit is attempted without an intervening  command
+                      second  exit is attempted without an intervening command
                       (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  The shell always postpones ex-
                       iting if any jobs are stopped.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
-                      If set, b\bba\bas\bsh\bh checks the window size after each  external
-                      (non-builtin)  command  and,  if  necessary, updates the
-                      values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS.  This option is enabled  by
+                      If  set, b\bba\bas\bsh\bh checks the window size after each external
+                      (non-builtin) command and,  if  necessary,  updates  the
+                      values  of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS.  This option is enabled by
                       default.
-              c\bcm\bmd\bdh\bhi\bis\bst\bt If  set,  b\bba\bas\bsh\bh attempts to save all lines of a multiple-
-                      line command in the same  history  entry.   This  allows
-                      easy  re-editing of multi-line commands.  This option is
-                      enabled by default, but only has an  effect  if  command
+              c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of  a  multiple-
+                      line  command  in  the  same history entry.  This allows
+                      easy re-editing of multi-line commands.  This option  is
+                      enabled  by  default,  but only has an effect if command
                       history is enabled, as described above under H\bHI\bIS\bST\bTO\bOR\bRY\bY.
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
@@ -5842,122 +5843,122 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               c\bco\bom\bmp\bpa\bat\bt4\b43\b3
               c\bco\bom\bmp\bpa\bat\bt4\b44\b4
               c\bco\bom\bmp\bpa\bat\bt5\b50\b0
-                      These  control aspects of the shell's compatibility mode
+                      These control aspects of the shell's compatibility  mode
                       (see S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE below).
 
               c\bco\bom\bmp\bpl\ble\bet\bte\be_\b_f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
-                      If set, b\bba\bas\bsh\bh quotes all shell  metacharacters  in  file-
-                      names  and  directory  names when performing completion.
+                      If  set,  b\bba\bas\bsh\bh  quotes all shell metacharacters in file-
+                      names and directory names  when  performing  completion.
                       If not set, b\bba\bas\bsh\bh removes metacharacters such as the dol-
-                      lar  sign from the set of characters that will be quoted
-                      in completed filenames when these metacharacters  appear
-                      in  shell  variable references in words to be completed.
-                      This means that dollar signs in variable names that  ex-
-                      pand  to  directories  will  not be quoted; however, any
-                      dollar signs appearing in filenames will not be  quoted,
-                      either.   This  is  active only when bash is using back-
-                      slashes to quote completed filenames.  This variable  is
-                      set  by  default,  which is the default bash behavior in
+                      lar sign from the set of characters that will be  quoted
+                      in  completed filenames when these metacharacters appear
+                      in shell variable references in words to  be  completed.
+                      This  means that dollar signs in variable names that ex-
+                      pand to directories will not  be  quoted;  however,  any
+                      dollar  signs appearing in filenames will not be quoted,
+                      either.  This is active only when bash  is  using  back-
+                      slashes  to quote completed filenames.  This variable is
+                      set by default, which is the default  bash  behavior  in
                       versions through 4.2.
 
               d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
-                      If set, b\bba\bas\bsh\bh replaces directory names with  the  results
-                      of  word  expansion when performing filename completion.
-                      This changes the contents of the readline  editing  buf-
-                      fer.   If  not  set,  b\bba\bas\bsh\bh attempts to preserve what the
+                      If  set,  b\bba\bas\bsh\bh replaces directory names with the results
+                      of word expansion when performing  filename  completion.
+                      This  changes  the contents of the readline editing buf-
+                      fer.  If not set, b\bba\bas\bsh\bh attempts  to  preserve  what  the
                       user typed.
 
               d\bdi\bir\brs\bsp\bpe\bel\bll\bl
-                      If set, b\bba\bas\bsh\bh attempts spelling correction  on  directory
-                      names  during word completion if the directory name ini-
+                      If  set,  b\bba\bas\bsh\bh attempts spelling correction on directory
+                      names during word completion if the directory name  ini-
                       tially supplied does not exist.
 
-              d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.'  in
-                      the  results of pathname expansion.  The filenames `\b``\b`.\b.'\b''\b'
-                      and `\b``\b`.\b..\b.'\b''\b'  must always be matched explicitly,  even  if
+              d\bdo\bot\btg\bgl\blo\bob\bb If  set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
+                      the results of pathname expansion.  The filenames  `\b``\b`.\b.'\b''\b'
+                      and  `\b``\b`.\b..\b.'\b''\b'   must always be matched explicitly, even if
                       d\bdo\bot\btg\bgl\blo\bob\bb is set.
 
               e\bex\bxe\bec\bcf\bfa\bai\bil\bl
                       If set, a non-interactive shell will not exit if it can-
-                      not execute the file specified as  an  argument  to  the
-                      e\bex\bxe\bec\b builtin  command.   An  interactive shell does not
+                      not  execute  the  file  specified as an argument to the
+                      e\bex\bxe\bec\bbuiltin command.  An  interactive  shell  does  not
                       exit if e\bex\bxe\bec\bc fails.
 
               e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
-                      If set, aliases are expanded as  described  above  under
+                      If  set,  aliases  are expanded as described above under
                       A\bAL\bLI\bIA\bAS\bSE\bES\bS.  This option is enabled by default for interac-
                       tive shells.
 
               e\bex\bxt\btd\bde\beb\bbu\bug\bg
-                      If set at shell invocation, or in a shell startup  file,
+                      If  set at shell invocation, or in a shell startup file,
                       arrange to execute the debugger profile before the shell
-                      starts, identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option.  If set  af-
-                      ter  invocation,  behavior intended for use by debuggers
+                      starts,  identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option.  If set af-
+                      ter invocation, behavior intended for use  by  debuggers
                       is enabled:
 
                       1\b1.\b.     The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
                              source file name and line number corresponding to
                              each function name supplied as an argument.
 
-                      2\b2.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
-                             non-zero  value,  the next command is skipped and
+                      2\b2.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+                             non-zero value, the next command is  skipped  and
                              not executed.
 
-                      3\b3.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
-                             value  of 2, and the shell is executing in a sub-
-                             routine (a shell function or a shell script  exe-
-                             cuted  by  the  .\b.  or s\bso\bou\bur\brc\bce\be builtins), the shell
+                      3\b3.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+                             value of 2, and the shell is executing in a  sub-
+                             routine  (a shell function or a shell script exe-
+                             cuted by the .\b. or  s\bso\bou\bur\brc\bce\be  builtins),  the  shell
                              simulates a call to r\bre\bet\btu\bur\brn\bn.
 
-                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\band B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as  described
-                             in their descriptions above.
+                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
+                             in their descriptions above).
 
-                      5\b5.\b.     Function  tracing  is  enabled: command substitu-
+                      5\b5.\b.     Function tracing is  enabled:  command  substitu-
                              tion, shell functions, and subshells invoked with
                              (\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
 
-                      6\b6.\b.     Error  tracing  is enabled: command substitution,
-                             shell functions, and  subshells  invoked  with  (\b(
+                      6\b6.\b.     Error tracing is enabled:  command  substitution,
+                             shell  functions,  and  subshells  invoked with (\b(
                              _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
 
               e\bex\bxt\btg\bgl\blo\bob\bb If set, the extended pattern matching features described
                       above under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn are enabled.
 
               e\bex\bxt\btq\bqu\buo\bot\bte\be
-                      If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg"  quoting  is  performed
-                      within   $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}   expansions  enclosed  in  double
+                      If  set,  $\b$'_\bs_\bt_\br_\bi_\bn_\bg'  and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
+                      within  $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}  expansions  enclosed   in   double
                       quotes.  This option is enabled by default.
 
               f\bfa\bai\bil\blg\bgl\blo\bob\bb
-                      If set, patterns which fail to  match  filenames  during
+                      If  set,  patterns  which fail to match filenames during
                       pathname expansion result in an expansion error.
 
               f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
-                      If  set,  the  suffixes  specified  by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
-                      variable cause words to be ignored when performing  word
+                      If set, the suffixes  specified  by  the  F\bFI\bIG\bGN\bNO\bOR\bRE\b shell
+                      variable  cause words to be ignored when performing word
                       completion even if the ignored words are the only possi-
-                      ble completions.  See S\bSH\bHE\bEL\bLL\bL V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS above  for  a  de-
-                      scription  of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option is enabled by de-
+                      ble  completions.   See  S\bSH\bHE\bEL\bLL\bL V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS above for a de-
+                      scription of F\bFI\bIG\bGN\bNO\bOR\bRE\bE.  This option  is  enabled  by  de-
                       fault.
 
               g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
-                      If set,  range  expressions  used  in  pattern  matching
-                      bracket  expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave
-                      as if in the traditional C locale when  performing  com-
-                      parisons.   That  is, the current locale's collating se-
-                      quence is not taken into account, so b\bb will not  collate
-                      between  A\bA  and  B\bB,  and upper-case and lower-case ASCII
+                      If  set,  range  expressions  used  in  pattern matching
+                      bracket expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg above)  behave
+                      as  if  in the traditional C locale when performing com-
+                      parisons.  That is, the current locale's  collating  se-
+                      quence  is not taken into account, so b\bb will not collate
+                      between A\bA and B\bB, and  upper-case  and  lower-case  ASCII
                       characters will collate together.
 
               g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs
-                      If set, pathname expansion will never  match  the  file-
+                      If  set,  pathname  expansion will never match the file-
                       names `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b', even if the pattern begins with
                       a `\b``\b`.\b.'\b''\b'.  This option is enabled by default.
 
               g\bgl\blo\bob\bbs\bst\bta\bar\br
                       If set, the pattern *\b**\b* used in a pathname expansion con-
-                      text  will  match all files and zero or more directories
-                      and subdirectories.  If the pattern is followed by a  /\b/,
+                      text will match all files and zero or  more  directories
+                      and  subdirectories.  If the pattern is followed by a /\b/,
                       only directories and subdirectories match.
 
               g\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
@@ -5965,25 +5966,25 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       GNU error message format.
 
               h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
-                      If set, the history list is appended to the  file  named
+                      If  set,  the history list is appended to the file named
                       by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell ex-
                       its, rather than overwriting the file.
 
               h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
-                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given  the
+                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
                       opportunity to re-edit a failed history substitution.
 
               h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
-                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
-                      tory substitution are  not  immediately  passed  to  the
-                      shell  parser.   Instead,  the  resulting line is loaded
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of  his-
+                      tory  substitution  are  not  immediately  passed to the
+                      shell parser.  Instead, the  resulting  line  is  loaded
                       into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
                       fication.
 
               h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
                       If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
-                      perform hostname completion when a word containing  a  @\b@
-                      is   being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+                      perform  hostname  completion when a word containing a @\b@
+                      is  being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
                       above).  This is enabled by default.
 
               h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
@@ -5991,23 +5992,23 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       active login shell exits.
 
               i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt
-                      If  set,  command substitution inherits the value of the
-                      e\ber\brr\bre\bex\bxi\bit\boption, instead of unsetting it in the  subshell
-                      environment.   This option is enabled when _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be is
+                      If set, command substitution inherits the value  of  the
+                      e\ber\brr\bre\bex\bxi\bit\b option, instead of unsetting it in the subshell
+                      environment.  This option is enabled when _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\b is
                       enabled.
 
               i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
                       If set, allow a word beginning with #\b# to cause that word
-                      and  all remaining characters on that line to be ignored
-                      in an interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This  op-
+                      and all remaining characters on that line to be  ignored
+                      in  an interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This op-
                       tion is enabled by default.
 
               l\bla\bas\bst\btp\bpi\bip\bpe\be
-                      If  set,  and  job control is not active, the shell runs
+                      If set, and job control is not active,  the  shell  runs
                       the last command of a pipeline not executed in the back-
                       ground in the current shell environment.
 
-              l\bli\bit\bth\bhi\bis\bst\bt If  set,  and  the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
+              l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option  is  enabled,  multi-line
                       commands are saved to the history with embedded newlines
                       rather than using semicolon separators where possible.
 
@@ -6018,54 +6019,54 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       tribute is not inherited.
 
               l\blo\boc\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt
-                      If set, calling u\bun\bns\bse\bet\bt on  local  variables  in  previous
-                      function  scopes  marks  them so subsequent lookups find
-                      them unset until that function returns. This is  identi-
-                      cal  to the behavior of unsetting local variables at the
+                      If  set,  calling  u\bun\bns\bse\bet\bt  on local variables in previous
+                      function scopes marks them so  subsequent  lookups  find
+                      them  unset until that function returns. This is identi-
+                      cal to the behavior of unsetting local variables at  the
                       current function scope.
 
               l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
-                      The shell sets this option if it is started as  a  login
-                      shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN  above).   The  value may not be
+                      The  shell  sets this option if it is started as a login
+                      shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above).   The  value  may  not  be
                       changed.
 
               m\bma\bai\bil\blw\bwa\bar\brn\bn
-                      If set, and a file that b\bba\bas\bsh\bh is checking  for  mail  has
-                      been  accessed  since  the last time it was checked, the
-                      message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read''  is  dis-
+                      If  set,  and  a file that b\bba\bas\bsh\bh is checking for mail has
+                      been accessed since the last time it  was  checked,  the
+                      message  ``The  mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
                       played.
 
               n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-                      If  set,  and  r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will not at-
-                      tempt to search the P\bPA\bAT\bTH\bH for possible  completions  when
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh  will  not  at-
+                      tempt  to  search the P\bPA\bAT\bTH\bH for possible completions when
                       completion is attempted on an empty line.
 
               n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh  matches  filenames in a case-insensitive
+                      If set, b\bba\bas\bsh\bh matches  filenames  in  a  case-insensitive
                       fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
                       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
 
               n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
-                      If  set,  b\bba\bas\bsh\bh  matches  patterns  in a case-insensitive
+                      If set, b\bba\bas\bsh\bh  matches  patterns  in  a  case-insensitive
                       fashion when performing matching while executing c\bca\bas\bse\be or
                       [\b[[\b[ conditional commands, when performing pattern substi-
-                      tution word expansions, or when filtering possible  com-
+                      tution  word expansions, or when filtering possible com-
                       pletions as part of programmable completion.
 
               n\bno\boe\bex\bxp\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn
-                      If  set,  b\bba\bas\bsh\bh encloses the translated results of $"..."
-                      quoting in single quotes instead of double  quotes.   If
+                      If set, b\bba\bas\bsh\bh encloses the translated results  of  $"..."
+                      quoting  in  single quotes instead of double quotes.  If
                       the string is not translated, this has no effect.
 
               n\bnu\bul\bll\blg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh allows patterns which match no files (see
-                      P\bPa\bat\bth\bhn\bna\bam\bme\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) to expand to  a  null  string,
+                      If set, b\bba\bas\bsh\bh allows patterns which match no  files  (see
+                      P\bPa\bat\bth\bhn\bna\bam\bme\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn  above)  to expand to a null string,
                       rather than themselves.
 
               p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt
                       If set, b\bba\bas\bsh\bh expands occurrences of &\b& in the replacement
-                      string of pattern substitution to the  text  matched  by
-                      the  pattern,  as  described  under  P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+                      string  of  pattern  substitution to the text matched by
+                      the pattern,  as  described  under  P\bPa\bar\bra\bam\bme\bet\bte\ber\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above.  This option is enabled by default.
 
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp
@@ -6074,69 +6075,69 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       enabled by default.
 
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp_\b_a\bal\bli\bia\bas\bs
-                      If set, and programmable  completion  is  enabled,  b\bba\bas\bsh\bh
-                      treats  a command name that doesn't have any completions
-                      as a possible alias and attempts alias expansion. If  it
-                      has  an alias, b\bba\bas\bsh\bh attempts programmable completion us-
+                      If  set,  and  programmable  completion is enabled, b\bba\bas\bsh\bh
+                      treats a command name that doesn't have any  completions
+                      as  a possible alias and attempts alias expansion. If it
+                      has an alias, b\bba\bas\bsh\bh attempts programmable completion  us-
                       ing the command word resulting from the expanded alias.
 
               p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
                       If set, prompt strings undergo parameter expansion, com-
-                      mand  substitution,  arithmetic expansion, and quote re-
-                      moval after being expanded  as  described  in  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+                      mand substitution, arithmetic expansion, and  quote  re-
+                      moval  after  being  expanded  as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
                       above.  This option is enabled by default.
 
               r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
-                      The  shell  sets  this  option  if  it is started in re-
-                      stricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).   The  value
-                      may  not be changed.  This is not reset when the startup
-                      files are executed, allowing the startup files  to  dis-
+                      The shell sets this option  if  it  is  started  in  re-
+                      stricted  mode  (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).  The value
+                      may not be changed.  This is not reset when the  startup
+                      files  are  executed, allowing the startup files to dis-
                       cover whether or not a shell is restricted.
 
               s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
-                      If  set,  the s\bsh\bhi\bif\bft\bt builtin prints an error message when
+                      If set, the s\bsh\bhi\bif\bft\bt builtin prints an error  message  when
                       the shift count exceeds the number of positional parame-
                       ters.
 
               s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
                       If set, the .\b. (s\bso\bou\bur\brc\bce\be) builtin uses the value of P\bPA\bAT\bTH\bH to
-                      find the directory containing the file  supplied  as  an
+                      find  the  directory  containing the file supplied as an
                       argument.  This option is enabled by default.
 
               v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be
-                      If  set, the shell automatically closes file descriptors
+                      If set, the shell automatically closes file  descriptors
                       assigned using the _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b} redirection syntax (see R\bRE\bE-\b-
-                      D\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\b above)  instead of leaving them open when the
+                      D\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\babove) instead of leaving them open  when  the
                       command completes.
 
               x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
-                      If set, the e\bec\bch\bho\bo builtin  expands  backslash-escape  se-
+                      If  set,  the  e\bec\bch\bho\bo builtin expands backslash-escape se-
                       quences by default.
 
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
-              Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
-              signal.  A login shell, or a shell without job control  enabled,
-              cannot  be suspended; the -\b-f\bf option can be used to override this
-              and force the suspension.  The return status  is  0  unless  the
-              shell  is  a login shell or job control is not enabled and -\b-f\bf is
+              Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              signal.   A login shell, or a shell without job control enabled,
+              cannot be suspended; the -\b-f\bf option can be used to override  this
+              and  force  the  suspension.   The return status is 0 unless the
+              shell is a login shell or job control is not enabled and  -\b-f\b is
               not supplied.
 
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
               Return a status of 0 (true) or 1 (false) depending on the evalu-
               ation of the conditional expression _\be_\bx_\bp_\br.  Each operator and op-
-              erand must be a separate argument.  Expressions are composed  of
-              the  primaries  described  above  under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
-              t\bte\bes\bst\bdoes not accept any options, nor does it accept and  ignore
+              erand  must be a separate argument.  Expressions are composed of
+              the primaries described  above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\b E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+              t\bte\bes\bst\b does not accept any options, nor does it accept and ignore
               an argument of -\b--\b- as signifying the end of options.
 
-              Expressions  may  be  combined  using  the  following operators,
-              listed in decreasing order of precedence.   The  evaluation  de-
-              pends  on  the  number of arguments; see below.  Operator prece-
+              Expressions may  be  combined  using  the  following  operators,
+              listed  in  decreasing  order of precedence.  The evaluation de-
+              pends on the number of arguments; see  below.   Operator  prece-
               dence is used when there are five or more arguments.
               !\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
               (\b( _\be_\bx_\bp_\br )\b)
-                     Returns the value of _\be_\bx_\bp_\br.  This may be used to  override
+                     Returns  the value of _\be_\bx_\bp_\br.  This may be used to override
                      the normal precedence of operators.
               _\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
                      True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
@@ -6153,139 +6154,139 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      null.
               2 arguments
                      If the first argument is !\b!, the expression is true if and
-                     only if the second argument is null.  If the first  argu-
-                     ment  is  one  of  the unary conditional operators listed
-                     above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS,  the  expression  is
+                     only  if the second argument is null.  If the first argu-
+                     ment is one of the  unary  conditional  operators  listed
+                     above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL  E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
                      true if the unary test is true.  If the first argument is
                      not a valid unary conditional operator, the expression is
                      false.
               3 arguments
                      The following conditions are applied in the order listed.
-                     If the second argument is one of the  binary  conditional
+                     If  the  second argument is one of the binary conditional
                      operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
                      result of the expression is the result of the binary test
-                     using  the first and third arguments as operands.  The -\b-a\ba
-                     and -\b-o\bo operators are  considered  binary  operators  when
-                     there  are  three arguments.  If the first argument is !\b!,
-                     the value is the negation of the two-argument test  using
+                     using the first and third arguments as operands.  The  -\b-a\ba
+                     and  -\b-o\bo  operators  are  considered binary operators when
+                     there are three arguments.  If the first argument  is  !\b!,
+                     the  value is the negation of the two-argument test using
                      the second and third arguments.  If the first argument is
                      exactly (\b( and the third argument is exactly )\b), the result
-                     is  the one-argument test of the second argument.  Other-
+                     is the one-argument test of the second argument.   Other-
                      wise, the expression is false.
               4 arguments
                      The following conditions are applied in the order listed.
                      If the first argument is !\b!, the result is the negation of
-                     the three-argument expression composed of  the  remaining
-                     arguments.   the  two-argument  test using the second and
-                     third arguments.  If the first argument is exactly (\b and
-                     the  fourth argument is exactly )\b), the result is the two-
-                     argument test of the second and third arguments.   Other-
+                     the  three-argument  expression composed of the remaining
+                     arguments.  the two-argument test using  the  second  and
+                     third  arguments.  If the first argument is exactly (\b( and
+                     the fourth argument is exactly )\b), the result is the  two-
+                     argument  test of the second and third arguments.  Other-
                      wise, the expression is parsed and evaluated according to
                      precedence using the rules listed above.
               5 or more arguments
-                     The expression  is  parsed  and  evaluated  according  to
+                     The  expression  is  parsed  and  evaluated  according to
                      precedence using the rules listed above.
 
-              When  used  with  t\bte\bes\bst\bt  or [\b[, the <\b< and >\b> operators sort lexico-
+              When used with t\bte\bes\bst\bt or [\b[, the <\b< and  >\b>  operators  sort  lexico-
               graphically using ASCII ordering.
 
-       t\bti\bim\bme\bes\bs  Print the accumulated user and system times for  the  shell  and
+       t\bti\bim\bme\bes\bs  Print  the  accumulated  user and system times for the shell and
               for processes run from the shell.  The return status is 0.
 
        t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\br_\bg] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
-              The  command  _\ba_\br_\bg  is to be read and executed when the shell re-
+              The command _\ba_\br_\bg is to be read and executed when  the  shell  re-
               ceives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\br_\bg is absent (and there is a sin-
-              gle  _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its origi-
-              nal disposition (the value it had upon entrance to  the  shell).
-              If  _\ba_\br_\bg  is the null string the signal specified by each _\bs_\bi_\bg_\bs_\bp_\be_\bc
-              is ignored by the shell and by the commands it invokes.  If  _\ba_\br_\bg
-              is  not present and -\b-p\bp has been supplied, then the trap commands
+              gle _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its  origi-
+              nal  disposition  (the value it had upon entrance to the shell).
+              If _\ba_\br_\bg is the null string the signal specified by  each  _\bs_\bi_\bg_\bs_\bp_\be_\bc
+              is  ignored by the shell and by the commands it invokes.  If _\ba_\br_\bg
+              is not present and -\b-p\bp has been supplied, then the trap  commands
               associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc are displayed.  If no arguments are
-              supplied  or  if  only -\b-p\bp is given, t\btr\bra\bap\bp prints the list of com-
-              mands associated with each signal.  The  -\b-l\bl  option  causes  the
-              shell  to  print  a list of signal names and their corresponding
-              numbers.  Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name defined in  <_\bs_\bi_\bg_\b-
-              _\bn_\ba_\bl_\b._\bh>,  or  a signal number.  Signal names are case insensitive
+              supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the  list  of  com-
+              mands  associated  with  each  signal.  The -\b-l\bl option causes the
+              shell to print a list of signal names  and  their  corresponding
+              numbers.   Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name defined in <_\bs_\bi_\bg_\b-
+              _\bn_\ba_\bl_\b._\bh>, or a signal number.  Signal names are  case  insensitive
               and the S\bSI\bIG\bG prefix is optional.
 
-              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg  is  executed  on  exit
-              from  the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is exe-
-              cuted before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br  command,  _\bc_\ba_\bs_\b command,
-              _\bs_\be_\bl_\be_\bc_\b command,  every  arithmetic  _\bf_\bo_\br command, and before the
-              first command executes in a shell function  (see  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR
-              above).   Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the
+              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit
+              from the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is  exe-
+              cuted  before  every  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
+              _\bs_\be_\bl_\be_\bc_\bcommand, every arithmetic _\bf_\bo_\br  command,  and  before  the
+              first  command  executes  in a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+              above).  Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to  the
               s\bsh\bho\bop\bpt\bt builtin for details of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a
               _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, the command _\ba_\br_\bg is executed each time a shell
               function or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins fin-
               ishes executing.
 
-              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  E\bER\bRR\bR,  the command _\ba_\br_\bg is executed whenever a
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command  _\ba_\br_\bg  is  executed  whenever  a
               pipeline (which may consist of a single simple command), a list,
               or a compound command returns a non-zero exit status, subject to
-              the following conditions.  The E\bER\bRR\bR trap is not executed  if  the
+              the  following  conditions.  The E\bER\bRR\bR trap is not executed if the
               failed command is part of the command list immediately following
-              a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test in an  _\bi_\b statement,
+              a  w\bwh\bhi\bil\ble\be  or u\bun\bnt\bti\bil\bl keyword, part of the test in an _\bi_\bf statement,
               part of a command executed in a &\b&&\b& or |\b||\b| list except the command
-              following the final &\b&&\b& or |\b||\b|, any command in a pipeline but  the
-              last,  or  if the command's return value is being inverted using
+              following  the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
+              last, or if the command's return value is being  inverted  using
               !\b!.  These are the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) op-
               tion.
 
               Signals ignored upon entry to the shell cannot be trapped or re-
-              set.  Trapped signals that are not being ignored  are  reset  to
+              set.   Trapped  signals  that are not being ignored are reset to
               their original values in a subshell or subshell environment when
-              one is created.  The return status is false if  any  _\bs_\bi_\bg_\bs_\bp_\be_\b is
+              one  is  created.   The return status is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is
               invalid; otherwise t\btr\bra\bap\bp returns true.
 
        t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
-              With  no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
+              With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted  if
               used as a command name.  If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
-              string  which  is  one  of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
-              _\bf_\bi_\bl_\bif  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word,  function,
-              builtin,  or disk file, respectively.  If the _\bn_\ba_\bm_\be is not found,
-              then nothing is printed, and an exit  status  of  false  is  re-
-              turned.   If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the name
-              of the disk file that would be executed if _\bn_\ba_\bm_\be  were  specified
-              as  a command name, or nothing if ``type -t name'' would not re-
-              turn _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search  for  each  _\bn_\ba_\bm_\be,
+              string which is one of _\ba_\bl_\bi_\ba_\bs,  _\bk_\be_\by_\bw_\bo_\br_\bd,  _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn,  _\bb_\bu_\bi_\bl_\bt_\bi_\bn,  or
+              _\bf_\bi_\bl_\b if  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word, function,
+              builtin, or disk file, respectively.  If the _\bn_\ba_\bm_\be is not  found,
+              then  nothing  is  printed,  and  an exit status of false is re-
+              turned.  If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the  name
+              of  the  disk file that would be executed if _\bn_\ba_\bm_\be were specified
+              as a command name, or nothing if ``type -t name'' would not  re-
+              turn  _\bf_\bi_\bl_\be.   The  -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
               even if ``type -t name'' would not return _\bf_\bi_\bl_\be.  If a command is
               hashed, -\b-p\bp and -\b-P\bP print the hashed value, which is not necessar-
-              ily  the  file  that appears first in P\bPA\bAT\bTH\bH.  If the -\b-a\ba option is
-              used, t\bty\byp\bpe\be prints all of the places that contain  an  executable
+              ily the file that appears first in P\bPA\bAT\bTH\bH.  If the  -\b-a\ba  option  is
+              used,  t\bty\byp\bpe\be  prints all of the places that contain an executable
               named _\bn_\ba_\bm_\be.  This includes aliases and functions, if and only if
               the -\b-p\bp option is not also used.  The table of hashed commands is
-              not  consulted  when  using  -\b-a\ba.  The -\b-f\bf option suppresses shell
+              not consulted when using -\b-a\ba.  The  -\b-f\bf  option  suppresses  shell
               function lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true
               if all of the arguments are found, false if any are not found.
 
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] -\b-a\ba
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] [-\b-b\bbc\bcd\bde\bef\bfi\bik\bkl\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bxP\bPR\bRT\bT [_\bl_\bi_\bm_\bi_\bt]]
-              Provides  control  over the resources available to the shell and
-              to processes started by it, on systems that allow such  control.
+              Provides control over the resources available to the  shell  and
+              to  processes started by it, on systems that allow such control.
               The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
-              for the given resource.  A hard limit cannot be increased  by  a
-              non-root  user  once it is set; a soft limit may be increased up
-              to the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is  speci-
+              for  the  given resource.  A hard limit cannot be increased by a
+              non-root user once it is set; a soft limit may be  increased  up
+              to  the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is speci-
               fied, both the soft and hard limits are set.  The value of _\bl_\bi_\bm_\bi_\bt
               can be a number in the unit specified for the resource or one of
               the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
-              current hard limit, the current soft limit, and  no  limit,  re-
-              spectively.   If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
+              current  hard  limit,  the current soft limit, and no limit, re-
+              spectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the  soft
               limit of the resource is printed, unless the -\b-H\bH option is given.
-              When  more  than  one  resource is specified, the limit name and
-              unit, if appropriate, are printed before the value.   Other  op-
+              When more than one resource is specified,  the  limit  name  and
+              unit,  if  appropriate, are printed before the value.  Other op-
               tions are interpreted as follows:
               -\b-a\ba     All current limits are reported; no limits are set
               -\b-b\bb     The maximum socket buffer size
               -\b-c\bc     The maximum size of core files created
               -\b-d\bd     The maximum size of a process's data segment
               -\b-e\be     The maximum scheduling priority ("nice")
-              -\b-f\bf     The  maximum  size  of files written by the shell and its
+              -\b-f\bf     The maximum size of files written by the  shell  and  its
                      children
               -\b-i\bi     The maximum number of pending signals
               -\b-k\bk     The maximum number of kqueues that may be allocated
               -\b-l\bl     The maximum size that may be locked into memory
-              -\b-m\bm     The maximum resident set size (many systems do not  honor
+              -\b-m\bm     The  maximum resident set size (many systems do not honor
                      this limit)
               -\b-n\bn     The maximum number of open file descriptors (most systems
                      do not allow this value to be set)
@@ -6294,132 +6295,134 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br     The maximum real-time scheduling priority
               -\b-s\bs     The maximum stack size
               -\b-t\bt     The maximum amount of cpu time in seconds
-              -\b-u\bu     The maximum number of processes  available  to  a  single
+              -\b-u\bu     The  maximum  number  of  processes available to a single
                      user
-              -\b-v\bv     The  maximum  amount  of  virtual memory available to the
+              -\b-v\bv     The maximum amount of virtual  memory  available  to  the
                      shell and, on some systems, to its children
               -\b-x\bx     The maximum number of file locks
               -\b-P\bP     The maximum number of pseudoterminals
-              -\b-R\bR     The maximum time  a  real-time  process  can  run  before
+              -\b-R\bR     The  maximum  time  a  real-time  process  can run before
                      blocking, in microseconds
               -\b-T\bT     The maximum number of threads
 
-              If  _\bl_\bi_\bm_\bi_\bt  is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
-              new value of the specified resource.  If  no  option  is  given,
-              then  -\b-f\bf is assumed.  Values are in 1024-byte increments, except
-              for -\b-t\bt, which is in seconds; -\b-R\bR, which is in  microseconds;  -\b-p\bp,
-              which  is  in  units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
-              -\b-u\bu, which are unscaled values; and, when in posix mode,  -\b-c\b and
-              -\b-f\bf,  which  are  in 512-byte increments.  The return status is 0
-              unless an invalid option or argument is supplied,  or  an  error
+              If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt  is  the
+              new  value  of  the  specified resource.  If no option is given,
+              then -\b-f\bf is assumed.  Values are in 1024-byte increments,  except
+              for  -\b-t\bt,  which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
+              which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb,  -\b-k\bk,  -\b-n\bn,  and
+              -\b-u\bu,  which  are unscaled values; and, when in posix mode, -\b-c\bc and
+              -\b-f\bf, which are in 512-byte increments.  The return  status  is  0
+              unless  an  invalid  option or argument is supplied, or an error
               occurs while setting a new limit.
 
        u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
               The user file-creation mask is set to _\bm_\bo_\bd_\be.  If _\bm_\bo_\bd_\be begins with
-              a digit, it is interpreted as an octal number; otherwise  it  is
-              interpreted  as a symbolic mode mask similar to that accepted by
-              _\bc_\bh_\bm_\bo_\bd(1).  If _\bm_\bo_\bd_\be is omitted, the current value of the mask  is
-              printed.   The  -\b-S\bS  option causes the mask to be printed in sym-
-              bolic form; the default output is an octal number.   If  the  -\b-p\bp
+              a  digit,  it is interpreted as an octal number; otherwise it is
+              interpreted as a symbolic mode mask similar to that accepted  by
+              _\bc_\bh_\bm_\bo_\bd(1).   If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
+              printed.  The -\b-S\bS option causes the mask to be  printed  in  sym-
+              bolic  form;  the  default output is an octal number.  If the -\b-p\bp
               option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in a form
               that may be reused as input.  The return status is 0 if the mode
-              was  successfully  changed  or if no _\bm_\bo_\bd_\be argument was supplied,
+              was successfully changed or if no _\bm_\bo_\bd_\be  argument  was  supplied,
               and false otherwise.
 
        u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
-              Remove each _\bn_\ba_\bm_\be from the list of defined  aliases.   If  -\b-a\b is
-              supplied,  all  alias definitions are removed.  The return value
+              Remove  each  _\bn_\ba_\bm_\be  from  the list of defined aliases.  If -\b-a\ba is
+              supplied, all alias definitions are removed.  The  return  value
               is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
 
        u\bun\bns\bse\bet\bt [-f\bfv\bv] [-n\bn] [_\bn_\ba_\bm_\be ...]
-              For each _\bn_\ba_\bm_\be, remove the corresponding  variable  or  function.
+              For  each  _\bn_\ba_\bm_\be,  remove the corresponding variable or function.
               If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
-              and that variable is removed.  Read-only variables  may  not  be
-              unset.   If  -\b-f\bf  is specified, each _\bn_\ba_\bm_\be refers to a shell func-
-              tion, and the function definition is removed.  If the -\b-n\b option
-              is  supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
-              _\bn_\ba_\bm_\bwill be unset rather than the variable it  references.   -\b-n\bn
-              has  no  effect if the -\b-f\bf option is supplied.  If no options are
-              supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is  no  vari-
-              able  by that name, a function with that name, if any, is unset.
-              Each unset variable or function is removed from the  environment
-              passed   to   subsequent  commands.   If  any  of  B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
+              and  that  variable  is removed.  Read-only variables may not be
+              unset.  If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to  a  shell  func-
+              tion,  and the function definition is removed.  If the -\b-n\bn option
+              is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\b attribute,
+              _\bn_\ba_\bm_\b will  be unset rather than the variable it references.  -\b-n\bn
+              has no effect if the -\b-f\bf option is supplied.  If no  options  are
+              supplied,  each  _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
+              able by that name, a function with that name, if any, is  unset.
+              Each  unset variable or function is removed from the environment
+              passed  to  subsequent  commands.   If  any   of   B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
               B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV0\b0,  B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS,  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD,  B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bBS\bSH\bHE\bEL\bLL\bL,  B\bBA\bAS\bSH\bHP\bPI\bID\bD,
-              C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,  D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK,  E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,  E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
-              N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or  S\bSR\bRA\bAN\bND\bDO\bOM\b are
+              C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK,  E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,  E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS,  F\bFU\bUN\bNC\bC-\b-
+              N\bNA\bAM\bME\bE,  G\bGR\bRO\bOU\bUP\bPS\bS,  H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
               unset, they lose their special properties, even if they are sub-
               sequently reset.  The exit status is true unless a _\bn_\ba_\bm_\be is read-
               only or may not be unset.
 
        w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd _\b._\b._\b.]
               Wait for each specified child process and return its termination
-              status.  Each _\bi_\bd may be a process ID or a job specification;  if
-              a  job  spec  is given, all processes in that job's pipeline are
-              waited for.  If _\bi_\bd is not given,  w\bwa\bai\bit\bt  waits  for  all  running
-              background  jobs  and the last-executed process substitution, if
+              status.   Each _\bi_\bd may be a process ID or a job specification; if
+              a job spec is given, all processes in that  job's  pipeline  are
+              waited  for.   If  _\bi_\bd  is  not given, w\bwa\bai\bit\bt waits for all running
+              background jobs and the last-executed process  substitution,  if
               its process id is the same as $\b$!\b!, and the return status is zero.
-              If  the  -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
+              If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single  job  from
               the list of _\bi_\bds or, if no _\bi_\bds are supplied, any job, to complete
-              and  returns its exit status.  If none of the supplied arguments
+              and returns its exit status.  If none of the supplied  arguments
               is a child of the shell, or if no arguments are supplied and the
-              shell  has no unwaited-for children, the exit status is 127.  If
-              the -\b-p\bp option is supplied, the process or job identifier of  the
-              job  for  which  the  exit status is returned is assigned to the
-              variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the  option  argument.   The  variable
-              will  be unset initially, before any assignment.  This is useful
-              only when the -\b-n\bn option is supplied.  Supplying the  -\b-f\b option,
-              when  job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
+              shell has no unwaited-for children, the exit status is 127.   If
+              the  -\b-p\bp option is supplied, the process or job identifier of the
+              job for which the exit status is returned  is  assigned  to  the
+              variable  _\bv_\ba_\br_\bn_\ba_\bm_\be  named  by  the option argument.  The variable
+              will be unset initially, before any assignment.  This is  useful
+              only  when  the -\b-n\bn option is supplied.  Supplying the -\b-f\bf option,
+              when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to  ter-
               minate before returning its status, instead of returning when it
-              changes  status.  If _\bi_\bd specifies a non-existent process or job,
-              the return status is 127.  Otherwise, the return status  is  the
-              exit status of the last process or job waited for.
+              changes status.  If _\bi_\bd specifies a non-existent process or  job,
+              the  return  status is 127.  If w\bwa\bai\bit\bt is interrupted by a signal,
+              the return status will be greater than 128, as  described  under
+              S\bSI\bIG\bGN\bNA\bAL\bLS\bS  above.  Otherwise, the return status is the exit status
+              of the last process or job waited for.
 
 S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
-       Bash-4.0  introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
-       fied as a set of options to the shopt  builtin  (  c\bco\bom\bmp\bpa\bat\bt3\b31\b1,  c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
-       c\bco\bom\bmp\bpa\bat\bt4\b40\b0,  c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on).  There is only one current compatibil-
-       ity level -- each option  is  mutually  exclusive.   The  compatibility
-       level  is intended to allow users to select behavior from previous ver-
-       sions that is incompatible  with  newer  versions  while  they  migrate
-       scripts  to  use  current  features and behavior. It's intended to be a
+       Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl,  speci-
+       fied  as  a  set  of options to the shopt builtin ( c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2,
+       c\bco\bom\bmp\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on).  There is only one current  compatibil-
+       ity  level  --  each  option  is mutually exclusive.  The compatibility
+       level is intended to allow users to select behavior from previous  ver-
+       sions  that  is  incompatible  with  newer  versions while they migrate
+       scripts to use current features and behavior. It's  intended  to  be  a
        temporary solution.
 
-       This section does not mention behavior that is standard for a  particu-
-       lar  version  (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs of the
-       regexp matching operator quotes special regexp characters in the  word,
-       which is default behavior in bash-3.2 and above).
-
-       If  a  user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
-       compatibility levels up to  and  including  the  current  compatibility
-       level.   The  idea  is  that each compatibility level controls behavior
-       that changed in that version of b\bba\bas\bsh\bh, but that behavior may  have  been
-       present  in  earlier versions.  For instance, the change to use locale-
-       based comparisons with the [\b[[\b[ command came  in  bash-4.1,  and  earlier
+       This  section does not mention behavior that is standard for a particu-
+       lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs  of  the
+       regexp  matching operator quotes special regexp characters in the word,
+       which is default behavior in bash-3.2 and subsequent versions).
+
+       If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior  of  other
+       compatibility  levels  up  to  and  including the current compatibility
+       level.  The idea is that each  compatibility  level  controls  behavior
+       that  changed  in that version of b\bba\bas\bsh\bh, but that behavior may have been
+       present in earlier versions.  For instance, the change to  use  locale-
+       based  comparisons  with  the  [\b[[\b[ command came in bash-4.1, and earlier
        versions used ASCII-based comparisons, so enabling c\bco\bom\bmp\bpa\bat\bt3\b32\b2 will enable
-       ASCII-based comparisons as well.  That granularity may  not  be  suffi-
-       cient  for  all uses, and as a result users should employ compatibility
-       levels carefully.  Read the documentation for a particular  feature  to
+       ASCII-based  comparisons  as  well.  That granularity may not be suffi-
+       cient for all uses, and as a result users should  employ  compatibility
+       levels  carefully.   Read the documentation for a particular feature to
        find out the current behavior.
 
-       Bash-4.3  introduced  a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.  The value as-
+       Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.  The  value  as-
        signed to this variable (a decimal version number like 4.2, or an inte-
-       ger  corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
+       ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the  com-
        patibility level.
 
-       Starting with bash-4.4, Bash has begun deprecating older  compatibility
-       levels.   Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
+       Starting  with bash-4.4, Bash has begun deprecating older compatibility
+       levels.  Eventually, the options will be removed in favor of  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
        P\bPA\bAT\bT.
 
-       Bash-5.0 is the final version for which there  will  be  an  individual
-       shopt  option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT on
+       Bash-5.0  is  the  final  version for which there will be an individual
+       shopt option for the previous version. Users should use B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\b on
        bash-5.0 and later versions.
 
-       The following table describes the behavior changes controlled  by  each
+       The  following  table describes the behavior changes controlled by each
        compatibility level setting.  The c\bco\bom\bmp\bpa\bat\bt_\bN_\bN tag is used as shorthand for
        setting the compatibility level to _\bN_\bN using one of the following mecha-
-       nisms.   For versions prior to bash-5.0, the compatibility level may be
-       set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option.   For  bash-4.3  and
-       later  versions,  the  B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
+       nisms.  For versions prior to bash-5.0, the compatibility level may  be
+       set  using  the  corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option.  For bash-4.3 and
+       later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and  it  is  re-
        quired for bash-5.1 and later versions.
 
        c\bco\bom\bmp\bpa\bat\bt3\b31\b1
@@ -6427,114 +6430,114 @@ S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
                      ator (=~) has no special effect
 
        c\bco\bom\bmp\bpa\bat\bt3\b32\b2
-              +\bo      interrupting  a  command  list such as "a ; b ; c" causes
-                     the execution  of  the  next  command  in  the  list  (in
-                     bash-4.0  and later versions, the shell acts as if it re-
-                     ceived the interrupt, so interrupting one  command  in  a
+              +\bo      interrupting a command list such as "a ; b  ;  c"  causes
+                     the  execution  of  the  next  command  in  the  list (in
+                     bash-4.0 and later versions, the shell acts as if it  re-
+                     ceived  the  interrupt,  so interrupting one command in a
                      list aborts the execution of the entire list)
 
        c\bco\bom\bmp\bpa\bat\bt4\b40\b0
-              +\bo      the  <\b<  and >\b> operators to the [\b[[\b[ command do not consider
+              +\bo      the <\b< and >\b> operators to the [\b[[\b[ command do  not  consider
                      the current locale when comparing strings; they use ASCII
                      ordering.  Bash versions prior to bash-4.1 use ASCII col-
-                     lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the  current
+                     lation  and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
                      locale's collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
 
        c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-              +\bo      in  _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
+              +\bo      in _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and  still
                      be recognized as a reserved word (this is POSIX interpre-
                      tation 267)
               +\bo      in _\bp_\bo_\bs_\bi_\bx mode, the parser requires that an even number of
-                     single quotes occur in the  _\bw_\bo_\br_\bd  portion  of  a  double-
-                     quoted  parameter expansion and treats them specially, so
-                     that characters within the single quotes  are  considered
+                     single  quotes  occur  in  the  _\bw_\bo_\br_\bd portion of a double-
+                     quoted parameter expansion and treats them specially,  so
+                     that  characters  within the single quotes are considered
                      quoted (this is POSIX interpretation 221)
 
        c\bco\bom\bmp\bpa\bat\bt4\b42\b2
               +\bo      the replacement string in double-quoted pattern substitu-
-                     tion does not undergo quote removal, as it does  in  ver-
+                     tion  does  not undergo quote removal, as it does in ver-
                      sions after bash-4.2
-              +\bo      in  posix mode, single quotes are considered special when
-                     expanding the _\bw_\bo_\br_\bd portion of a  double-quoted  parameter
-                     expansion  and  can  be  used to quote a closing brace or
-                     other special character (this is part of POSIX  interpre-
-                     tation  221);  in  later  versions, single quotes are not
+              +\bo      in posix mode, single quotes are considered special  when
+                     expanding  the  _\bw_\bo_\br_\bd portion of a double-quoted parameter
+                     expansion and can be used to quote  a  closing  brace  or
+                     other  special character (this is part of POSIX interpre-
+                     tation 221); in later versions,  single  quotes  are  not
                      special within double-quoted word expansions
 
        c\bco\bom\bmp\bpa\bat\bt4\b43\b3
-              +\bo      the shell does not print a warning message if an  attempt
-                     is  made  to use a quoted compound assignment as an argu-
-                     ment to declare (declare -a foo='(1 2)'). Later  versions
+              +\bo      the  shell does not print a warning message if an attempt
+                     is made to use a quoted compound assignment as  an  argu-
+                     ment  to declare (declare -a foo='(1 2)'). Later versions
                      warn that this usage is deprecated
-              +\bo      word  expansion  errors  are  considered non-fatal errors
-                     that cause the current command to  fail,  even  in  posix
-                     mode  (the  default behavior is to make them fatal errors
+              +\bo      word expansion errors  are  considered  non-fatal  errors
+                     that  cause  the  current  command to fail, even in posix
+                     mode (the default behavior is to make them  fatal  errors
                      that cause the shell to exit)
-              +\bo      when  executing  a  shell  function,   the   loop   state
+              +\bo      when   executing   a   shell  function,  the  loop  state
                      (while/until/etc.)  is not reset, so b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be in
                      that function will break or continue loops in the calling
-                     context.  Bash-4.4 and later reset the loop state to pre-
+                     context. Bash-4.4 and later reset the loop state to  pre-
                      vent this
 
        c\bco\bom\bmp\bpa\bat\bt4\b44\b4
-              +\bo      the shell sets  up  the  values  used  by  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\b and
-                     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b so  they  can expand to the shell's positional
+              +\bo      the  shell  sets  up  the  values  used  by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
+                     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bso they can expand to  the  shell's  positional
                      parameters even if extended debugging mode is not enabled
-              +\bo      a subshell inherits loops from  its  parent  context,  so
-                     b\bbr\bre\bea\bak\b or  c\bco\bon\bnt\bti\bin\bnu\bue\be  will  cause  the  subshell  to exit.
-                     Bash-5.0 and later reset the loop state  to  prevent  the
+              +\bo      a  subshell  inherits  loops  from its parent context, so
+                     b\bbr\bre\bea\bak\bor  c\bco\bon\bnt\bti\bin\bnu\bue\be  will  cause  the  subshell  to  exit.
+                     Bash-5.0  and  later  reset the loop state to prevent the
                      exit
-              +\bo      variable  assignments  preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
+              +\bo      variable assignments preceding builtins like  e\bex\bxp\bpo\bor\brt\b and
                      r\bre\bea\bad\bdo\bon\bnl\bly\by that set attributes continue to affect variables
                      with the same name in the calling environment even if the
                      shell is not in posix mode
 
        c\bco\bom\bmp\bpa\bat\bt5\b50\b0
-              +\bo      Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated  to  intro-
+              +\bo      Bash-5.1  changed  the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
                      duce slightly more randomness. If the shell compatibility
-                     level is set to 50 or lower, it  reverts  to  the  method
-                     from  bash-5.0 and previous versions, so seeding the ran-
-                     dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\b will
+                     level  is  set  to  50 or lower, it reverts to the method
+                     from bash-5.0 and previous versions, so seeding the  ran-
+                     dom  number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
                      produce the same sequence as in bash-5.0
-              +\bo      If  the  command hash table is empty, bash versions prior
-                     to bash-5.1 printed an informational message to that  ef-
-                     fect,  even  when  producing output that can be reused as
-                     input. Bash-5.1 suppresses that message when the  -\b-l\b op-
+              +\bo      If the command hash table is empty, bash  versions  prior
+                     to  bash-5.1 printed an informational message to that ef-
+                     fect, even when producing output that can  be  reused  as
+                     input.  Bash-5.1  suppresses that message when the -\b-l\bl op-
                      tion is supplied.
 
        c\bco\bom\bmp\bpa\bat\bt5\b51\b1
-              +\bo      The  u\bun\bns\bse\bet\bt  builtin  treats  attempts to unset array sub-
-                     scripts @\b@ and *\b* differently depending on whether the  ar-
-                     ray  is  indexed  or associative, and differently than in
+              +\bo      The u\bun\bns\bse\bet\bt builtin treats attempts  to  unset  array  sub-
+                     scripts  @\b@ and *\b* differently depending on whether the ar-
+                     ray is indexed or associative, and  differently  than  in
                      previous versions.
 
 R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
-       invocation,  the  shell becomes restricted.  A restricted shell is used
-       to set up an environment more controlled than the standard  shell.   It
-       behaves  identically  to b\bba\bas\bsh\bh with the exception that the following are
+       invocation, the shell becomes restricted.  A restricted shell  is  used
+       to  set  up an environment more controlled than the standard shell.  It
+       behaves identically to b\bba\bas\bsh\bh with the exception that the  following  are
        disallowed or not performed:
 
        +\bo      changing directories with c\bcd\bd
 
-       +\bo      setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH,  H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE,  E\bEN\bNV\bV,
+       +\bo      setting  or  unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
               or B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
 
        +\bo      specifying command names containing /\b/
 
-       +\bo      specifying  a  filename  containing  a /\b/ as an argument to the .\b.
+       +\bo      specifying a filename containing a /\b/ as an  argument  to  the  .\b.
               builtin command
 
-       +\bo      specifying a filename containing a slash as an argument  to  the
+       +\bo      specifying  a  filename containing a slash as an argument to the
               h\bhi\bis\bst\bto\bor\bry\by builtin command
 
-       +\bo      specifying  a  filename containing a slash as an argument to the
+       +\bo      specifying a filename containing a slash as an argument  to  the
               -\b-p\bp option to the h\bha\bas\bsh\bh builtin command
 
-       +\bo      importing function definitions from  the  shell  environment  at
+       +\bo      importing  function  definitions  from  the shell environment at
               startup
 
-       +\bo      parsing  the  value  of  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
+       +\bo      parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from  the  shell  environment  at
               startup
 
        +\bo      redirecting output using the >, >|, <>, >&, &>, and >> redirect-
@@ -6543,28 +6546,28 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      using the e\bex\bxe\bec\bc builtin command to replace the shell with another
               command
 
-       +\bo      adding or deleting builtin commands with the -\b-f\bf and  -\b-d\b options
+       +\bo      adding  or  deleting builtin commands with the -\b-f\bf and -\b-d\bd options
               to the e\ben\bna\bab\bbl\ble\be builtin command
 
-       +\bo      using  the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled shell
+       +\bo      using the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled  shell
               builtins
 
        +\bo      specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
 
-       +\bo      turning off  restricted  mode  with  s\bse\bet\bt  +\b+r\br  or  s\bsh\bho\bop\bpt\bt  -\b-u\b r\bre\be-\b-
+       +\bo      turning  off  restricted  mode  with  s\bse\bet\bt  +\b+r\br  or  s\bsh\bho\bop\bpt\bt  -\b-u\bu r\bre\be-\b-
               s\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl.
 
        These restrictions are enforced after any startup files are read.
 
        When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
-       M\bMA\bAN\bND\bE\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions  in  the  shell
+       M\bMA\bAN\bND\b E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN  above),  r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
        spawned to execute the script.
 
 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
        _\bB_\ba_\bs_\bh _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bM_\ba_\bn_\bu_\ba_\bl, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
-       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg  _\bS_\by_\bs_\bt_\be_\bm  _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
+       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b_\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b:  _\bS_\bh_\be_\bl_\bl  _\ba_\bn_\b _\bU_\bt_\bi_\bl_\bi_\b-
        _\bt_\bi_\be_\bs, IEEE --
               http://pubs.opengroup.org/onlinepubs/9699919799/
        http://tiswww.case.edu/~chet/bash/POSIX -- a description of posix mode
@@ -6582,10 +6585,10 @@ F\bFI\bIL\bLE\bES\bS
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
               The individual per-interactive-shell startup file
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
-              The individual login shell cleanup file, executed when  a  login
+              The  individual  login shell cleanup file, executed when a login
               shell exits
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by
-              The  default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves the
+              The default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves  the
               command history
        _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
               Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
@@ -6599,15 +6602,15 @@ A\bAU\bUT\bTH\bHO\bOR\bRS\bS
 
 B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        If you find a bug in b\bba\bas\bsh\bh,\b, you should report it.  But first, you should
-       make  sure  that  it really is a bug, and that it appears in the latest
-       version  of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available   from
+       make sure that it really is a bug, and that it appears  in  the  latest
+       version   of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available  from
        _\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/          and          _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bg_\bi_\bt_\b._\bs_\ba_\bv_\ba_\bn_\b-
        _\bn_\ba_\bh_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bc_\bg_\bi_\bt_\b/_\bb_\ba_\bs_\bh_\b._\bg_\bi_\bt_\b/_\bs_\bn_\ba_\bp_\bs_\bh_\bo_\bt_\b/_\bb_\ba_\bs_\bh_\b-_\bm_\ba_\bs_\bt_\be_\br_\b._\bt_\ba_\br_\b._\bg_\bz.
 
-       Once you have determined that a bug actually exists,  use  the  _\bb_\ba_\bs_\bh_\bb_\bu_\bg
-       command  to submit a bug report.  If you have a fix, you are encouraged
-       to mail that as well!  Suggestions and `philosophical' bug reports  may
-       be  mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet newsgroup
+       Once  you  have  determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
+       command to submit a bug report.  If you have a fix, you are  encouraged
+       to  mail that as well!  Suggestions and `philosophical' bug reports may
+       be mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet  newsgroup
        g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
 
        ALL bug reports should include:
@@ -6618,7 +6621,7 @@ B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        A description of the bug behaviour
        A short script or `recipe' which exercises the bug
 
-       _\bb_\ba_\bs_\bh_\bb_\bu_\binserts the first three items automatically into  the  template
+       _\bb_\ba_\bs_\bh_\bb_\bu_\b inserts  the first three items automatically into the template
        it provides for filing a bug report.
 
        Comments and bug reports concerning this manual page should be directed
@@ -6635,10 +6638,10 @@ B\bBU\bUG\bGS\bS
        Shell builtin commands and functions are not stoppable/restartable.
 
        Compound commands and command sequences of the form `a ; b ; c' are not
-       handled gracefully  when  process  suspension  is  attempted.   When  a
-       process  is stopped, the shell immediately executes the next command in
-       the sequence.  It suffices to place the sequence  of  commands  between
-       parentheses  to  force  it  into  a subshell, which may be stopped as a
+       handled  gracefully  when  process  suspension  is  attempted.   When a
+       process is stopped, the shell immediately executes the next command  in
+       the  sequence.   It  suffices to place the sequence of commands between
+       parentheses to force it into a subshell, which  may  be  stopped  as  a
        unit.
 
        Array variables may not (yet) be exported.
@@ -6647,4 +6650,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash 5.2                      2022 June 3                          BASH(1)
+GNU Bash 5.2                     2022 June 16                          BASH(1)
index ceb0b224bc2f77001f02f36b470f28a1cac2d843..5d6edc8c547198ac8b2b8e046770da3b16a8f143 100644 (file)
@@ -5,12 +5,12 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Fri Jun  3 10:47:26 EDT 2022
+.\"    Last Change: Thu Jun 16 17:10:54 EDT 2022
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2022 June 3" "GNU Bash 5.2"
+.TH BASH 1 "2022 June 16" "GNU Bash 5.2"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -864,21 +864,24 @@ that is executed, or false if any of the expressions is invalid.
 .TP
 \fBselect\fP \fIname\fP [ \fBin\fP \fIword\fP ] ; \fBdo\fP \fIlist\fP ; \fBdone\fP
 The list of words following \fBin\fP is expanded, generating a list
-of items.  The set of expanded words is printed on the standard
+of items, and the set of expanded words is printed on the standard
 error, each preceded by a number.  If the \fBin\fP
 \fIword\fP is omitted, the positional parameters are printed (see
 .SM
 .B PARAMETERS
-below).  The
+below).
+.B select
+then displays the
 .SM
 .B PS3
-prompt is then displayed and a line read from the standard input.
+prompt and reads a line from the standard input.
 If the line consists of a number corresponding to one of
 the displayed words, then the value of
 .I name
-is set to that word.  If the line is empty, the words and prompt
-are displayed again.  If EOF is read, the command completes.  Any
-other value read causes
+is set to that word.
+If the line is empty, the words and prompt are displayed again.
+If EOF is read, the \fBselect\fP command completes and returns 1.
+Any other value read causes
 .I name
 to be set to null.  The line read is saved in the variable
 .SM
@@ -8083,7 +8086,9 @@ If any of \fB\-D\fP, \fB\-E\fP, or \fB\-I\fP are supplied, any other
 specified by the option.
 .sp 1
 The process of applying these completion specifications when word completion
-is attempted is described above under \fBProgrammable Completion\fP.
+is attempted is described
+.ie \n(zZ=1 in \fIbash(1)\fP.
+.el above under \fBProgrammable Completion\fP.
 .sp 1
 Other options, if specified, have the following meanings.
 The arguments to the \fB\-G\fP, \fB\-W\fP, and \fB\-X\fP options
@@ -8218,6 +8223,7 @@ Names of all shell variables.  May also be specified as \fB\-v\fP.
 \fB\-C\fP \fIcommand\fP
 \fIcommand\fP is executed in a subshell environment, and its output is
 used as the possible completions.
+Arguments are passed as with the \fB\-F\fP option.
 .TP 8
 \fB\-F\fP \fIfunction\fP
 The shell function \fIfunction\fP is executed in the current shell
@@ -8371,12 +8377,14 @@ to give variables attributes:
 .B \-a
 Each \fIname\fP is an indexed array variable (see
 .B Arrays
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 .TP
 .B \-A
 Each \fIname\fP is an associative array variable (see
 .B Arrays
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 .TP
 .B \-f
 Use function names only.
@@ -8385,7 +8393,9 @@ Use function names only.
 The variable is treated as an integer; arithmetic evaluation (see
 .SM
 .B "ARITHMETIC EVALUATION"
-above) is performed when the variable is assigned a value.
+.ie \n(zZ=1 in \fIbash(1)\fP)
+.el above)
+is performed when the variable is assigned a value.
 .TP
 .B \-l
 When the variable is assigned a value, all upper-case characters are
@@ -8448,7 +8458,9 @@ an attempt is made to assign a value to a readonly variable,
 an attempt is made to assign a value to an array variable without
 using the compound assignment syntax (see
 .B Arrays
-above), one of the \fInames\fP is not a valid shell variable name,
+.ie \n(zZ=1 in \fIbash(1)\fP),
+.el above),
+one of the \fInames\fP is not a valid shell variable name,
 an attempt is made to turn off readonly status for a readonly variable,
 an attempt is made to turn off array status for an array variable,
 or an attempt is made to display a non-existent function with \fB\-f\fP.
@@ -9233,7 +9245,8 @@ Each
 is an arithmetic expression to be evaluated (see
 .SM
 .B "ARITHMETIC EVALUATION"
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 If the last
 .I arg
 evaluates to 0,
@@ -9544,7 +9557,10 @@ invalid option is supplied.
 \fBread\fP [\fB\-ers\fP] [\fB\-a\fP \fIaname\fP] [\fB\-d\fP \fIdelim\fP] [\fB\-i\fP \fItext\fP] [\fB\-n\fP \fInchars\fP] [\fB\-N\fP \fInchars\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-u\fP \fIfd\fP] [\fIname\fP ...]
 One line is read from the standard input, or from the file descriptor
 \fIfd\fP supplied as an argument to the \fB\-u\fP option,
-split into words as described above under \fBWord Splitting\fP,
+split into words as described
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
+under \fBWord Splitting\fP,
 and the first word
 is assigned to the first
 .IR name ,
@@ -9560,7 +9576,10 @@ The characters in
 .SM
 .B IFS
 are used to split the line into words using the same rules the shell
-uses for expansion (described above under \fBWord Splitting\fP).
+uses for expansion (described
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
+under \fBWord Splitting\fP).
 The backslash character (\fB\e\fP) may be used to remove any special
 meaning for the next character read and for line continuation.
 Options, if supplied, have the following meanings:
@@ -9589,7 +9608,9 @@ is coming from a terminal,
 (see
 .SM
 .B READLINE
-above) is used to obtain the line.
+.ie \n(zZ=1 in \fIbash(1)\fP)
+.el above)
+is used to obtain the line.
 Readline uses the current (or default, if line editing was not previously
 active) editing settings, but uses Readline's default filename completion.
 .TP
@@ -9779,7 +9800,9 @@ or a \fIcompound command\fP
 (see
 .SM
 .B SHELL GRAMMAR
-above), exits with a non-zero status.
+.ie \n(zZ=1 in \fIbash(1)\fP),
+.el above),
+exits with a non-zero status.
 The shell does not exit if the
 command that fails is part of the command list immediately following a
 .B while
@@ -9807,7 +9830,9 @@ This option applies to the shell environment and each subshell environment
 separately (see
 .SM
 .B "COMMAND EXECUTION ENVIRONMENT"
-above), and may cause
+.ie \n(zZ=1 in \fIbash(1)\fP),
+.el above),
+and may cause
 subshells to exit before executing all the commands in the subshell.
 .if t .sp 0.5
 .if n .sp 1
@@ -9839,7 +9864,8 @@ by default for interactive shells on systems that support
 it (see
 .SM
 .B JOB CONTROL
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 All processes run in a separate process group.
 When a background job completes, the shell prints a line
 containing its exit status.
@@ -9890,7 +9916,10 @@ Same as
 .BR \-H .
 .TP 8
 .B history
-Enable command history, as described above under
+Enable command history, as described
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
+under
 .SM
 .BR HISTORY .
 This option is on by default in interactive shells.
@@ -9902,7 +9931,8 @@ The effect is as if the shell command
 had been executed
 (see
 .B Shell Variables
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 .TP 8
 .B keyword
 Same as
@@ -9957,7 +9987,9 @@ from the POSIX standard to match the standard (\fIposix mode\fP).
 See
 .SM
 .B "SEE ALSO"
-below for a reference to a document that details how posix mode affects
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el below
+for a reference to a document that details how posix mode affects
 bash's behavior.
 .TP 8
 .B privileged
@@ -10049,7 +10081,9 @@ or associated word list.
 .B \-B
 The shell performs brace expansion (see
 .B Brace Expansion
-above).  This is on by default.
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
+This is on by default.
 .TP 8
 .B \-C
 If set,
@@ -10242,8 +10276,9 @@ the exit to be deferred until a second exit is attempted without an
 intervening command (see
 .SM
 .B "JOB CONTROL"
-above).  The shell always
-postpones exiting if any jobs are stopped.
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
+The shell always postpones exiting if any jobs are stopped.
 .TP 8
 .B checkwinsize
 If set, \fBbash\fP checks the window size after each external (non-builtin)
@@ -10262,7 +10297,10 @@ attempts to save all lines of a multiple-line
 command in the same history entry.  This allows
 easy re-editing of multi-line commands.
 This option is enabled by default, but only has an effect if command
-history is enabled, as described above under
+history is enabled, as described
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
+under
 .SM
 .BR HISTORY .
 .PD 0
@@ -10287,7 +10325,8 @@ These control aspects of the shell's compatibility mode
 (see
 .SM
 .B "SHELL COMPATIBILITY MODE"
-below).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el below).
 .TP 8
 .B complete_fullquote
 If set,
@@ -10346,7 +10385,10 @@ builtin command.  An interactive shell does not exit if
 fails.
 .TP 8
 .B expand_aliases
-If set, aliases are expanded as described above under
+If set, aliases are expanded as described
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
+under
 .SM
 .BR ALIASES .
 This option is enabled by default for interactive shells.
@@ -10380,7 +10422,9 @@ a call to \fBreturn\fP.
 and
 .SM
 .B BASH_ARGV
-are updated as described in their descriptions above.
+are updated as described in their descriptions
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 .TP
 .B 5.
 Function tracing is enabled: command substitution, shell functions, and
@@ -10394,7 +10438,10 @@ subshells invoked with \fB(\fP \fIcommand\fP \fB)\fP inherit the
 .RE
 .TP 8
 .B extglob
-If set, the extended pattern matching features described above under
+If set, the extended pattern matching features described
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
+under
 \fBPathname Expansion\fP are enabled.
 .TP 8
 .B extquote
@@ -10416,7 +10463,9 @@ the ignored words are the only possible completions.
 See
 .SM
 \fBSHELL VARIABLES\fP
-above for a description of
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
+for a description of
 .SM
 .BR FIGNORE .
 This option is enabled by default.
@@ -10425,7 +10474,9 @@ This option is enabled by default.
 If set, range expressions used in pattern matching bracket expressions (see
 .SM
 .B Pattern Matching
-above) behave as if in the traditional C locale when performing
+.ie \n(zZ=1 in \fIbash(1)\fP)
+.el above)
+behave as if in the traditional C locale when performing
 comparisons.  That is, the current locale's collating sequence
 is not taken into account, so
 .B b
@@ -10483,7 +10534,8 @@ word containing a \fB@\fP is being completed (see
 under
 .SM
 .B READLINE
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 This is enabled by default.
 .TP 8
 .B huponexit
@@ -10504,7 +10556,9 @@ to cause that word and all remaining characters on that
 line to be ignored in an interactive shell (see
 .SM
 .B COMMENTS
-above).  This option is enabled by default.
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
+This option is enabled by default.
 .TP 8
 .B lastpipe
 If set, and job control is not active, the shell runs the last command of
@@ -10531,7 +10585,8 @@ at the current function scope.
 The shell sets this option if it is started as a login shell (see
 .SM
 .B "INVOCATION"
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 The value may not be changed.
 .TP 8
 .B mailwarn
@@ -10556,7 +10611,8 @@ If set,
 matches filenames in a case\-insensitive fashion when performing pathname
 expansion (see
 .B Pathname Expansion
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 .TP 8
 .B nocasematch
 If set,
@@ -10579,19 +10635,25 @@ If set,
 allows patterns which match no
 files (see
 .B Pathname Expansion
-above)
+.ie \n(zZ=1 in \fIbash(1)\fP)
+.el above)
 to expand to a null string, rather than themselves.
 .TP 8
 .B patsub_replacement
 If set, \fBbash\fP
 expands occurrences of \fB&\fP in the replacement string of pattern
 substitution to the text matched by the pattern, as described
-under \fBParameter Expansion\fP above.
+under \fBParameter Expansion\fP
+.ie \n(zZ=1 in \fIbash(1)\fP.
+.el above.
 This option is enabled by default.
 .TP 8
 .B progcomp
 If set, the programmable completion facilities (see
-\fBProgrammable Completion\fP above) are enabled.
+\fBProgrammable Completion\fP
+.ie \n(zZ=1 in \fIbash(1)\fP)
+.el above)
+are enabled.
 This option is enabled by default.
 .TP 8
 .B progcomp_alias
@@ -10606,14 +10668,17 @@ parameter expansion, command substitution, arithmetic
 expansion, and quote removal after being expanded as described in
 .SM
 .B PROMPTING
-above.  This option is enabled by default.
+.ie \n(zZ=1 in \fIbash(1)\fP.
+.el above.
+This option is enabled by default.
 .TP 8
 .B restricted_shell
 The shell sets this option if it is started in restricted mode
 (see
 .SM
 .B "RESTRICTED SHELL"
-below).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el below).
 The value may not be changed.
 This is not reset when the startup files are executed, allowing
 the startup files to discover whether or not a shell is restricted.
@@ -10637,7 +10702,9 @@ If set, the shell automatically closes file descriptors assigned using the
 \fI{varname}\fP redirection syntax (see
 .SM
 .B REDIRECTION
-above) instead of leaving them open when the command completes.
+.ie \n(zZ=1 in \fIbash(1)\fP)
+.el above)
+instead of leaving them open when the command completes.
 .TP 8
 .B xpg_echo
 If set, the \fBecho\fP builtin expands backslash-escape sequences
@@ -10668,8 +10735,10 @@ Return a status of 0 (true) or 1 (false) depending on
 the evaluation of the conditional expression
 .IR expr .
 Each operator and operand must be a separate argument.
-.if \n(zZ=0 Expressions are composed of the primaries described above under
-.if \n(zZ=1 Expressions are composed of the primaries described in the \fBbash\fP manual page under
+Expressions are composed of the primaries described 
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
+under
 .SM
 .BR "CONDITIONAL EXPRESSIONS" .
 \fBtest\fP does not accept any options, nor does it accept and ignore
@@ -10722,7 +10791,9 @@ The expression is true if and only if the argument is not null.
 2 arguments
 If the first argument is \fB!\fP, the expression is true if and
 only if the second argument is null.
-If the first argument is one of the unary conditional operators listed above
+If the first argument is one of the unary conditional operators listed
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
 under
 .SM
 .BR "CONDITIONAL EXPRESSIONS" ,
@@ -10732,7 +10803,9 @@ is false.
 .TP
 3 arguments
 The following conditions are applied in the order listed.
-If the second argument is one of the binary conditional operators listed above
+If the second argument is one of the binary conditional operators listed
+.ie \n(zZ=1 in \fIbash(1)\fP
+.el above
 under
 .SM
 .BR "CONDITIONAL EXPRESSIONS" ,
@@ -10837,7 +10910,8 @@ is executed before every \fIsimple command\fP, \fIfor\fP command,
 command, and before the first command executes in a shell function (see
 .SM
 .B SHELL GRAMMAR
-above).
+.ie \n(zZ=1 in \fIbash(1)\fP).
+.el above).
 Refer to the description of the \fBextdebug\fP option to the
 \fBshopt\fP builtin for details of its effect on the \fBDEBUG\fP trap.
 If a
@@ -11236,8 +11310,13 @@ forces \fBwait\fP to wait for \fIid\fP to terminate before returning
 its status, instead of returning when it changes status.
 If
 .I id
-specifies a non-existent process or job, the return status is
-127.  Otherwise, the return status is the exit status of the last
+specifies a non-existent process or job, the return status is 127.
+If \fBwait\fP is interrupted by a signal, the return status will be greater
+than 128, as described under
+.B SIGNALS
+.ie \n(zZ=1 in \fIbash(1)\fP.
+.el above.
+Otherwise, the return status is the exit status of the last
 process or job waited for.
 .SH "SHELL COMPATIBILITY MODE"
 Bash-4.0 introduced the concept of a \fIshell compatibility level\fP,
@@ -11257,7 +11336,7 @@ behavior. It's intended to be a temporary solution.
 This section does not mention behavior that is standard for a particular
 version (e.g., setting \fBcompat32\fP means that quoting the rhs of the regexp
 matching operator quotes special regexp characters in the word, which is
-default behavior in bash-3.2 and above). 
+default behavior in bash-3.2 and subsequent versions). 
 .PP
 If a user enables, say, \fBcompat32\fP, it may affect the behavior of other
 compatibility levels up to and including the current compatibility level.
index ad48774bb097a1ec1fb1f4f3ac7ffdb3a82292f9..b5f05d1c53b8f85615fd581bc283a858821a3d75 100644 (file)
@@ -949,16 +949,16 @@ File: bash.info,  Node: Conditional Constructs,  Next: Command Grouping,  Prev:
           select NAME [in WORDS ...]; do COMMANDS; done
 
      The list of words following 'in' is expanded, generating a list of
-     items.  The set of expanded words is printed on the standard error
-     output stream, each preceded by a number.  If the 'in WORDS' is
-     omitted, the positional parameters are printed, as if 'in "$@"' had
-     been specified.  The 'PS3' prompt is then displayed and a line is
-     read from the standard input.  If the line consists of a number
-     corresponding to one of the displayed words, then the value of NAME
-     is set to that word.  If the line is empty, the words and prompt
-     are displayed again.  If 'EOF' is read, the 'select' command
-     completes.  Any other value read causes NAME to be set to null.
-     The line read is saved in the variable 'REPLY'.
+     items, and the set of expanded words is printed on the standard
+     error output stream, each preceded by a number.  If the 'in WORDS'
+     is omitted, the positional parameters are printed, as if 'in "$@"'
+     had been specified.  'select' then displays the 'PS3' prompt and
+     reads a line from the standard input.  If the line consists of a
+     number corresponding to one of the displayed words, then the value
+     of NAME is set to that word.  If the line is empty, the words and
+     prompt are displayed again.  If 'EOF' is read, the 'select' command
+     completes and returns 1.  Any other value read causes NAME to be
+     set to null.  The line read is saved in the variable 'REPLY'.
 
      The COMMANDS are executed after each selection until a 'break'
      command is executed, at which point the 'select' command completes.
@@ -7294,7 +7294,7 @@ be a temporary solution.
    This section does not mention behavior that is standard for a
 particular version (e.g., setting 'compat32' means that quoting the rhs
 of the regexp matching operator quotes special regexp characters in the
-word, which is default behavior in bash-3.2 and above).
+word, which is default behavior in bash-3.2 and subsequent versions).
 
    If a user enables, say, 'compat32', it may affect the behavior of
 other compatibility levels up to and including the current compatibility
@@ -7638,7 +7638,10 @@ File: bash.info,  Node: Job Control Builtins,  Next: Job Control Variables,  Pre
      'wait' to wait for each PID or JOBSPEC to terminate before
      returning its status, intead of returning when it changes status.
      If neither JOBSPEC nor PID specifies an active child process of the
-     shell, the return status is 127.
+     shell, the return status is 127.  If 'wait' is interrupted by a
+     signal, the return status will be greater than 128, as described
+     above (*note Signals::).  Otherwise, the return status is the exit
+     status of the last process or job waited for.
 
 'disown'
           disown [-ar] [-h] [JOBSPEC ... | PID ... ]
@@ -9698,7 +9701,8 @@ happening.
 
      '-C COMMAND'
           COMMAND is executed in a subshell environment, and its output
-          is used as the possible completions.
+          is used as the possible completions.  Arguments are passed as
+          with the '-F' option.
 
      '-F FUNCTION'
           The shell function FUNCTION is executed in the current shell
@@ -11774,14 +11778,14 @@ D.1 Index of Shell Builtin Commands
 * complete:                              Programmable Completion Builtins.
                                                               (line  30)
 * compopt:                               Programmable Completion Builtins.
-                                                              (line 237)
+                                                              (line 238)
 * continue:                              Bourne Shell Builtins.
                                                               (line  89)
 * declare:                               Bash Builtins.       (line 154)
 * dirs:                                  Directory Stack Builtins.
                                                               (line   7)
 * disown:                                Job Control Builtins.
-                                                              (line 101)
+                                                              (line 104)
 * echo:                                  Bash Builtins.       (line 257)
 * enable:                                Bash Builtins.       (line 306)
 * eval:                                  Bourne Shell Builtins.
@@ -11830,7 +11834,7 @@ D.1 Index of Shell Builtin Commands
 * shopt:                                 The Shopt Builtin.   (line   9)
 * source:                                Bash Builtins.       (line 594)
 * suspend:                               Job Control Builtins.
-                                                              (line 113)
+                                                              (line 116)
 * test:                                  Bourne Shell Builtins.
                                                               (line 274)
 * times:                                 Bourne Shell Builtins.
@@ -12532,114 +12536,114 @@ Node: Lists\7f29209
 Node: Compound Commands\7f31001
 Node: Looping Constructs\7f32010
 Node: Conditional Constructs\7f34502
-Node: Command Grouping\7f48966
-Node: Coprocesses\7f50441
-Node: GNU Parallel\7f53101
-Node: Shell Functions\7f54015
-Node: Shell Parameters\7f61897
-Node: Positional Parameters\7f66282
-Node: Special Parameters\7f67181
-Node: Shell Expansions\7f70392
-Node: Brace Expansion\7f72516
-Node: Tilde Expansion\7f75247
-Node: Shell Parameter Expansion\7f77865
-Node: Command Substitution\7f96213
-Node: Arithmetic Expansion\7f97565
-Node: Process Substitution\7f98530
-Node: Word Splitting\7f99647
-Node: Filename Expansion\7f101588
-Node: Pattern Matching\7f104334
-Node: Quote Removal\7f108988
-Node: Redirections\7f109280
-Node: Executing Commands\7f118937
-Node: Simple Command Expansion\7f119604
-Node: Command Search and Execution\7f121711
-Node: Command Execution Environment\7f124086
-Node: Environment\7f127118
-Node: Exit Status\7f128778
-Node: Signals\7f130559
-Node: Shell Scripts\7f134005
-Node: Shell Builtin Commands\7f137029
-Node: Bourne Shell Builtins\7f139064
-Node: Bash Builtins\7f160522
-Node: Modifying Shell Behavior\7f191375
-Node: The Set Builtin\7f191717
-Node: The Shopt Builtin\7f202315
-Node: Special Builtins\7f218224
-Node: Shell Variables\7f219200
-Node: Bourne Shell Variables\7f219634
-Node: Bash Variables\7f221735
-Node: Bash Features\7f254548
-Node: Invoking Bash\7f255558
-Node: Bash Startup Files\7f261568
-Node: Interactive Shells\7f266696
-Node: What is an Interactive Shell?\7f267103
-Node: Is this Shell Interactive?\7f267749
-Node: Interactive Shell Behavior\7f268561
-Node: Bash Conditional Expressions\7f272187
-Node: Shell Arithmetic\7f276826
-Node: Aliases\7f279767
-Node: Arrays\7f282377
-Node: The Directory Stack\7f288765
-Node: Directory Stack Builtins\7f289546
-Node: Controlling the Prompt\7f293803
-Node: The Restricted Shell\7f296765
-Node: Bash POSIX Mode\7f299372
-Node: Shell Compatibility Mode\7f311293
-Node: Job Control\7f319319
-Node: Job Control Basics\7f319776
-Node: Job Control Builtins\7f324775
-Node: Job Control Variables\7f330342
-Node: Command Line Editing\7f331495
-Node: Introduction and Notation\7f333163
-Node: Readline Interaction\7f334783
-Node: Readline Bare Essentials\7f335971
-Node: Readline Movement Commands\7f337751
-Node: Readline Killing Commands\7f338708
-Node: Readline Arguments\7f340623
-Node: Searching\7f341664
-Node: Readline Init File\7f343847
-Node: Readline Init File Syntax\7f345105
-Node: Conditional Init Constructs\7f368301
-Node: Sample Init File\7f372494
-Node: Bindable Readline Commands\7f375615
-Node: Commands For Moving\7f376816
-Node: Commands For History\7f378864
-Node: Commands For Text\7f383855
-Node: Commands For Killing\7f387501
-Node: Numeric Arguments\7f390531
-Node: Commands For Completion\7f391667
-Node: Keyboard Macros\7f395855
-Node: Miscellaneous Commands\7f396539
-Node: Readline vi Mode\7f402475
-Node: Programmable Completion\7f403379
-Node: Programmable Completion Builtins\7f411156
-Node: A Programmable Completion Example\7f421848
-Node: Using History Interactively\7f427092
-Node: Bash History Facilities\7f427773
-Node: Bash History Builtins\7f430775
-Node: History Interaction\7f435780
-Node: Event Designators\7f439397
-Node: Word Designators\7f440748
-Node: Modifiers\7f442505
-Node: Installing Bash\7f444313
-Node: Basic Installation\7f445447
-Node: Compilers and Options\7f449166
-Node: Compiling For Multiple Architectures\7f449904
-Node: Installation Names\7f451594
-Node: Specifying the System Type\7f453700
-Node: Sharing Defaults\7f454413
-Node: Operation Controls\7f455083
-Node: Optional Features\7f456038
-Node: Reporting Bugs\7f467253
-Node: Major Differences From The Bourne Shell\7f468525
-Node: GNU Free Documentation License\7f485372
-Node: Indexes\7f510546
-Node: Builtin Index\7f510997
-Node: Reserved Word Index\7f517821
-Node: Variable Index\7f520266
-Node: Function Index\7f537037
-Node: Concept Index\7f550818
+Node: Command Grouping\7f48987
+Node: Coprocesses\7f50462
+Node: GNU Parallel\7f53122
+Node: Shell Functions\7f54036
+Node: Shell Parameters\7f61918
+Node: Positional Parameters\7f66303
+Node: Special Parameters\7f67202
+Node: Shell Expansions\7f70413
+Node: Brace Expansion\7f72537
+Node: Tilde Expansion\7f75268
+Node: Shell Parameter Expansion\7f77886
+Node: Command Substitution\7f96234
+Node: Arithmetic Expansion\7f97586
+Node: Process Substitution\7f98551
+Node: Word Splitting\7f99668
+Node: Filename Expansion\7f101609
+Node: Pattern Matching\7f104355
+Node: Quote Removal\7f109009
+Node: Redirections\7f109301
+Node: Executing Commands\7f118958
+Node: Simple Command Expansion\7f119625
+Node: Command Search and Execution\7f121732
+Node: Command Execution Environment\7f124107
+Node: Environment\7f127139
+Node: Exit Status\7f128799
+Node: Signals\7f130580
+Node: Shell Scripts\7f134026
+Node: Shell Builtin Commands\7f137050
+Node: Bourne Shell Builtins\7f139085
+Node: Bash Builtins\7f160543
+Node: Modifying Shell Behavior\7f191396
+Node: The Set Builtin\7f191738
+Node: The Shopt Builtin\7f202336
+Node: Special Builtins\7f218245
+Node: Shell Variables\7f219221
+Node: Bourne Shell Variables\7f219655
+Node: Bash Variables\7f221756
+Node: Bash Features\7f254569
+Node: Invoking Bash\7f255579
+Node: Bash Startup Files\7f261589
+Node: Interactive Shells\7f266717
+Node: What is an Interactive Shell?\7f267124
+Node: Is this Shell Interactive?\7f267770
+Node: Interactive Shell Behavior\7f268582
+Node: Bash Conditional Expressions\7f272208
+Node: Shell Arithmetic\7f276847
+Node: Aliases\7f279788
+Node: Arrays\7f282398
+Node: The Directory Stack\7f288786
+Node: Directory Stack Builtins\7f289567
+Node: Controlling the Prompt\7f293824
+Node: The Restricted Shell\7f296786
+Node: Bash POSIX Mode\7f299393
+Node: Shell Compatibility Mode\7f311314
+Node: Job Control\7f319354
+Node: Job Control Basics\7f319811
+Node: Job Control Builtins\7f324810
+Node: Job Control Variables\7f330601
+Node: Command Line Editing\7f331754
+Node: Introduction and Notation\7f333422
+Node: Readline Interaction\7f335042
+Node: Readline Bare Essentials\7f336230
+Node: Readline Movement Commands\7f338010
+Node: Readline Killing Commands\7f338967
+Node: Readline Arguments\7f340882
+Node: Searching\7f341923
+Node: Readline Init File\7f344106
+Node: Readline Init File Syntax\7f345364
+Node: Conditional Init Constructs\7f368560
+Node: Sample Init File\7f372753
+Node: Bindable Readline Commands\7f375874
+Node: Commands For Moving\7f377075
+Node: Commands For History\7f379123
+Node: Commands For Text\7f384114
+Node: Commands For Killing\7f387760
+Node: Numeric Arguments\7f390790
+Node: Commands For Completion\7f391926
+Node: Keyboard Macros\7f396114
+Node: Miscellaneous Commands\7f396798
+Node: Readline vi Mode\7f402734
+Node: Programmable Completion\7f403638
+Node: Programmable Completion Builtins\7f411415
+Node: A Programmable Completion Example\7f422164
+Node: Using History Interactively\7f427408
+Node: Bash History Facilities\7f428089
+Node: Bash History Builtins\7f431091
+Node: History Interaction\7f436096
+Node: Event Designators\7f439713
+Node: Word Designators\7f441064
+Node: Modifiers\7f442821
+Node: Installing Bash\7f444629
+Node: Basic Installation\7f445763
+Node: Compilers and Options\7f449482
+Node: Compiling For Multiple Architectures\7f450220
+Node: Installation Names\7f451910
+Node: Specifying the System Type\7f454016
+Node: Sharing Defaults\7f454729
+Node: Operation Controls\7f455399
+Node: Optional Features\7f456354
+Node: Reporting Bugs\7f467569
+Node: Major Differences From The Bourne Shell\7f468841
+Node: GNU Free Documentation License\7f485688
+Node: Indexes\7f510862
+Node: Builtin Index\7f511313
+Node: Reserved Word Index\7f518137
+Node: Variable Index\7f520582
+Node: Function Index\7f537353
+Node: Concept Index\7f551134
 \1f
 End Tag Table
 
index 646572a2111723ca399a06530154c8dff1bd1e6c..cb1cf57bae09051050d6f7166fdd5bdbf16fb6d7 100644 (file)
@@ -950,16 +950,16 @@ File: bashref.info,  Node: Conditional Constructs,  Next: Command Grouping,  Pre
           select NAME [in WORDS ...]; do COMMANDS; done
 
      The list of words following 'in' is expanded, generating a list of
-     items.  The set of expanded words is printed on the standard error
-     output stream, each preceded by a number.  If the 'in WORDS' is
-     omitted, the positional parameters are printed, as if 'in "$@"' had
-     been specified.  The 'PS3' prompt is then displayed and a line is
-     read from the standard input.  If the line consists of a number
-     corresponding to one of the displayed words, then the value of NAME
-     is set to that word.  If the line is empty, the words and prompt
-     are displayed again.  If 'EOF' is read, the 'select' command
-     completes.  Any other value read causes NAME to be set to null.
-     The line read is saved in the variable 'REPLY'.
+     items, and the set of expanded words is printed on the standard
+     error output stream, each preceded by a number.  If the 'in WORDS'
+     is omitted, the positional parameters are printed, as if 'in "$@"'
+     had been specified.  'select' then displays the 'PS3' prompt and
+     reads a line from the standard input.  If the line consists of a
+     number corresponding to one of the displayed words, then the value
+     of NAME is set to that word.  If the line is empty, the words and
+     prompt are displayed again.  If 'EOF' is read, the 'select' command
+     completes and returns 1.  Any other value read causes NAME to be
+     set to null.  The line read is saved in the variable 'REPLY'.
 
      The COMMANDS are executed after each selection until a 'break'
      command is executed, at which point the 'select' command completes.
@@ -7295,7 +7295,7 @@ be a temporary solution.
    This section does not mention behavior that is standard for a
 particular version (e.g., setting 'compat32' means that quoting the rhs
 of the regexp matching operator quotes special regexp characters in the
-word, which is default behavior in bash-3.2 and above).
+word, which is default behavior in bash-3.2 and subsequent versions).
 
    If a user enables, say, 'compat32', it may affect the behavior of
 other compatibility levels up to and including the current compatibility
@@ -7639,7 +7639,10 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
      'wait' to wait for each PID or JOBSPEC to terminate before
      returning its status, intead of returning when it changes status.
      If neither JOBSPEC nor PID specifies an active child process of the
-     shell, the return status is 127.
+     shell, the return status is 127.  If 'wait' is interrupted by a
+     signal, the return status will be greater than 128, as described
+     above (*note Signals::).  Otherwise, the return status is the exit
+     status of the last process or job waited for.
 
 'disown'
           disown [-ar] [-h] [JOBSPEC ... | PID ... ]
@@ -9699,7 +9702,8 @@ happening.
 
      '-C COMMAND'
           COMMAND is executed in a subshell environment, and its output
-          is used as the possible completions.
+          is used as the possible completions.  Arguments are passed as
+          with the '-F' option.
 
      '-F FUNCTION'
           The shell function FUNCTION is executed in the current shell
@@ -11775,14 +11779,14 @@ D.1 Index of Shell Builtin Commands
 * complete:                              Programmable Completion Builtins.
                                                               (line  30)
 * compopt:                               Programmable Completion Builtins.
-                                                              (line 237)
+                                                              (line 238)
 * continue:                              Bourne Shell Builtins.
                                                               (line  89)
 * declare:                               Bash Builtins.       (line 154)
 * dirs:                                  Directory Stack Builtins.
                                                               (line   7)
 * disown:                                Job Control Builtins.
-                                                              (line 101)
+                                                              (line 104)
 * echo:                                  Bash Builtins.       (line 257)
 * enable:                                Bash Builtins.       (line 306)
 * eval:                                  Bourne Shell Builtins.
@@ -11831,7 +11835,7 @@ D.1 Index of Shell Builtin Commands
 * shopt:                                 The Shopt Builtin.   (line   9)
 * source:                                Bash Builtins.       (line 594)
 * suspend:                               Job Control Builtins.
-                                                              (line 113)
+                                                              (line 116)
 * test:                                  Bourne Shell Builtins.
                                                               (line 274)
 * times:                                 Bourne Shell Builtins.
@@ -12533,114 +12537,114 @@ Node: Lists\7f29272
 Node: Compound Commands\7f31067
 Node: Looping Constructs\7f32079
 Node: Conditional Constructs\7f34574
-Node: Command Grouping\7f49041
-Node: Coprocesses\7f50519
-Node: GNU Parallel\7f53182
-Node: Shell Functions\7f54099
-Node: Shell Parameters\7f61984
-Node: Positional Parameters\7f66372
-Node: Special Parameters\7f67274
-Node: Shell Expansions\7f70488
-Node: Brace Expansion\7f72615
-Node: Tilde Expansion\7f75349
-Node: Shell Parameter Expansion\7f77970
-Node: Command Substitution\7f96321
-Node: Arithmetic Expansion\7f97676
-Node: Process Substitution\7f98644
-Node: Word Splitting\7f99764
-Node: Filename Expansion\7f101708
-Node: Pattern Matching\7f104457
-Node: Quote Removal\7f109114
-Node: Redirections\7f109409
-Node: Executing Commands\7f119069
-Node: Simple Command Expansion\7f119739
-Node: Command Search and Execution\7f121849
-Node: Command Execution Environment\7f124227
-Node: Environment\7f127262
-Node: Exit Status\7f128925
-Node: Signals\7f130709
-Node: Shell Scripts\7f134158
-Node: Shell Builtin Commands\7f137185
-Node: Bourne Shell Builtins\7f139223
-Node: Bash Builtins\7f160684
-Node: Modifying Shell Behavior\7f191540
-Node: The Set Builtin\7f191885
-Node: The Shopt Builtin\7f202486
-Node: Special Builtins\7f218398
-Node: Shell Variables\7f219377
-Node: Bourne Shell Variables\7f219814
-Node: Bash Variables\7f221918
-Node: Bash Features\7f254734
-Node: Invoking Bash\7f255747
-Node: Bash Startup Files\7f261760
-Node: Interactive Shells\7f266891
-Node: What is an Interactive Shell?\7f267301
-Node: Is this Shell Interactive?\7f267950
-Node: Interactive Shell Behavior\7f268765
-Node: Bash Conditional Expressions\7f272394
-Node: Shell Arithmetic\7f277036
-Node: Aliases\7f279980
-Node: Arrays\7f282593
-Node: The Directory Stack\7f288984
-Node: Directory Stack Builtins\7f289768
-Node: Controlling the Prompt\7f294028
-Node: The Restricted Shell\7f296993
-Node: Bash POSIX Mode\7f299603
-Node: Shell Compatibility Mode\7f311527
-Node: Job Control\7f319556
-Node: Job Control Basics\7f320016
-Node: Job Control Builtins\7f325018
-Node: Job Control Variables\7f330588
-Node: Command Line Editing\7f331744
-Node: Introduction and Notation\7f333415
-Node: Readline Interaction\7f335038
-Node: Readline Bare Essentials\7f336229
-Node: Readline Movement Commands\7f338012
-Node: Readline Killing Commands\7f338972
-Node: Readline Arguments\7f340890
-Node: Searching\7f341934
-Node: Readline Init File\7f344120
-Node: Readline Init File Syntax\7f345381
-Node: Conditional Init Constructs\7f368580
-Node: Sample Init File\7f372776
-Node: Bindable Readline Commands\7f375900
-Node: Commands For Moving\7f377104
-Node: Commands For History\7f379155
-Node: Commands For Text\7f384149
-Node: Commands For Killing\7f387798
-Node: Numeric Arguments\7f390831
-Node: Commands For Completion\7f391970
-Node: Keyboard Macros\7f396161
-Node: Miscellaneous Commands\7f396848
-Node: Readline vi Mode\7f402787
-Node: Programmable Completion\7f403694
-Node: Programmable Completion Builtins\7f411474
-Node: A Programmable Completion Example\7f422169
-Node: Using History Interactively\7f427416
-Node: Bash History Facilities\7f428100
-Node: Bash History Builtins\7f431105
-Node: History Interaction\7f436113
-Node: Event Designators\7f439733
-Node: Word Designators\7f441087
-Node: Modifiers\7f442847
-Node: Installing Bash\7f444658
-Node: Basic Installation\7f445795
-Node: Compilers and Options\7f449517
-Node: Compiling For Multiple Architectures\7f450258
-Node: Installation Names\7f451951
-Node: Specifying the System Type\7f454060
-Node: Sharing Defaults\7f454776
-Node: Operation Controls\7f455449
-Node: Optional Features\7f456407
-Node: Reporting Bugs\7f467625
-Node: Major Differences From The Bourne Shell\7f468900
-Node: GNU Free Documentation License\7f485750
-Node: Indexes\7f510927
-Node: Builtin Index\7f511381
-Node: Reserved Word Index\7f518208
-Node: Variable Index\7f520656
-Node: Function Index\7f537430
-Node: Concept Index\7f551214
+Node: Command Grouping\7f49062
+Node: Coprocesses\7f50540
+Node: GNU Parallel\7f53203
+Node: Shell Functions\7f54120
+Node: Shell Parameters\7f62005
+Node: Positional Parameters\7f66393
+Node: Special Parameters\7f67295
+Node: Shell Expansions\7f70509
+Node: Brace Expansion\7f72636
+Node: Tilde Expansion\7f75370
+Node: Shell Parameter Expansion\7f77991
+Node: Command Substitution\7f96342
+Node: Arithmetic Expansion\7f97697
+Node: Process Substitution\7f98665
+Node: Word Splitting\7f99785
+Node: Filename Expansion\7f101729
+Node: Pattern Matching\7f104478
+Node: Quote Removal\7f109135
+Node: Redirections\7f109430
+Node: Executing Commands\7f119090
+Node: Simple Command Expansion\7f119760
+Node: Command Search and Execution\7f121870
+Node: Command Execution Environment\7f124248
+Node: Environment\7f127283
+Node: Exit Status\7f128946
+Node: Signals\7f130730
+Node: Shell Scripts\7f134179
+Node: Shell Builtin Commands\7f137206
+Node: Bourne Shell Builtins\7f139244
+Node: Bash Builtins\7f160705
+Node: Modifying Shell Behavior\7f191561
+Node: The Set Builtin\7f191906
+Node: The Shopt Builtin\7f202507
+Node: Special Builtins\7f218419
+Node: Shell Variables\7f219398
+Node: Bourne Shell Variables\7f219835
+Node: Bash Variables\7f221939
+Node: Bash Features\7f254755
+Node: Invoking Bash\7f255768
+Node: Bash Startup Files\7f261781
+Node: Interactive Shells\7f266912
+Node: What is an Interactive Shell?\7f267322
+Node: Is this Shell Interactive?\7f267971
+Node: Interactive Shell Behavior\7f268786
+Node: Bash Conditional Expressions\7f272415
+Node: Shell Arithmetic\7f277057
+Node: Aliases\7f280001
+Node: Arrays\7f282614
+Node: The Directory Stack\7f289005
+Node: Directory Stack Builtins\7f289789
+Node: Controlling the Prompt\7f294049
+Node: The Restricted Shell\7f297014
+Node: Bash POSIX Mode\7f299624
+Node: Shell Compatibility Mode\7f311548
+Node: Job Control\7f319591
+Node: Job Control Basics\7f320051
+Node: Job Control Builtins\7f325053
+Node: Job Control Variables\7f330847
+Node: Command Line Editing\7f332003
+Node: Introduction and Notation\7f333674
+Node: Readline Interaction\7f335297
+Node: Readline Bare Essentials\7f336488
+Node: Readline Movement Commands\7f338271
+Node: Readline Killing Commands\7f339231
+Node: Readline Arguments\7f341149
+Node: Searching\7f342193
+Node: Readline Init File\7f344379
+Node: Readline Init File Syntax\7f345640
+Node: Conditional Init Constructs\7f368839
+Node: Sample Init File\7f373035
+Node: Bindable Readline Commands\7f376159
+Node: Commands For Moving\7f377363
+Node: Commands For History\7f379414
+Node: Commands For Text\7f384408
+Node: Commands For Killing\7f388057
+Node: Numeric Arguments\7f391090
+Node: Commands For Completion\7f392229
+Node: Keyboard Macros\7f396420
+Node: Miscellaneous Commands\7f397107
+Node: Readline vi Mode\7f403046
+Node: Programmable Completion\7f403953
+Node: Programmable Completion Builtins\7f411733
+Node: A Programmable Completion Example\7f422485
+Node: Using History Interactively\7f427732
+Node: Bash History Facilities\7f428416
+Node: Bash History Builtins\7f431421
+Node: History Interaction\7f436429
+Node: Event Designators\7f440049
+Node: Word Designators\7f441403
+Node: Modifiers\7f443163
+Node: Installing Bash\7f444974
+Node: Basic Installation\7f446111
+Node: Compilers and Options\7f449833
+Node: Compiling For Multiple Architectures\7f450574
+Node: Installation Names\7f452267
+Node: Specifying the System Type\7f454376
+Node: Sharing Defaults\7f455092
+Node: Operation Controls\7f455765
+Node: Optional Features\7f456723
+Node: Reporting Bugs\7f467941
+Node: Major Differences From The Bourne Shell\7f469216
+Node: GNU Free Documentation License\7f486066
+Node: Indexes\7f511243
+Node: Builtin Index\7f511697
+Node: Reserved Word Index\7f518524
+Node: Variable Index\7f520972
+Node: Function Index\7f537746
+Node: Concept Index\7f551530
 \1f
 End Tag Table
 
index 27dbe369a215b09648de9e7b5540a21129e8bb1a..e7a92d5adffd8a4ac92f99f35658167f2ce9c2ae 100644 (file)
@@ -1096,16 +1096,16 @@ select @var{name} [in @var{words} @dots{}]; do @var{commands}; done
 @end example
 
 The list of words following @code{in} is expanded, generating a list
-of items.  The set of expanded words is printed on the standard
+of items, and the set of expanded words is printed on the standard
 error output stream, each preceded by a number.  If the
 @samp{in @var{words}} is omitted, the positional parameters are printed,
 as if @samp{in "$@@"} had been specified.
-The @env{PS3} prompt is then displayed and a line is read from the
-standard input.
+@code{select} then displays the @env{PS3}
+prompt and reads a line from the standard input.
 If the line consists of a number corresponding to one of the displayed
 words, then the value of @var{name} is set to that word.
 If the line is empty, the words and prompt are displayed again.
-If @code{EOF} is read, the @code{select} command completes.
+If @code{EOF} is read, the @code{select} command completes and returns 1.
 Any other value read causes @var{name} to be set to null.
 The line read is saved in the variable @env{REPLY}.
 
@@ -8464,7 +8464,7 @@ behavior. It's intended to be a temporary solution.
 This section does not mention behavior that is standard for a particular
 version (e.g., setting @code{compat32} means that quoting the rhs of the regexp
 matching operator quotes special regexp characters in the word, which is
-default behavior in bash-3.2 and above). 
+default behavior in bash-3.2 and subsequent versions). 
 
 If a user enables, say, @code{compat32}, it may affect the behavior of other
 compatibility levels up to and including the current compatibility level.
@@ -8896,6 +8896,10 @@ terminate before returning its status, intead of returning when it changes
 status.
 If neither @var{jobspec} nor @var{pid} specifies an active child process
 of the shell, the return status is 127.
+If @code{wait} is interrupted by a signal, the return status will be greater
+than 128, as described above (@pxref{Signals}).
+Otherwise, the return status is the exit  status
+of the last process or job waited for.
 
 @item disown
 @btindex disown
diff --git a/eval.c b/eval.c
index 660e362d413f4f97c79964474765a25530480387..17fbf7366b4de3beab84f17e8d037bc5f0a61ae6 100644 (file)
--- a/eval.c
+++ b/eval.c
@@ -1,6 +1,6 @@
 /* eval.c -- reading and evaluating commands. */
 
-/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2022 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -90,13 +90,13 @@ reader_loop ()
          switch (code)
            {
              /* Some kind of throw to top_level has occurred. */
-           case FORCE_EOF:
            case ERREXIT:
+             if (exit_immediately_on_error)
+               reset_local_contexts ();        /* not in a function */
+           case FORCE_EOF:
            case EXITPROG:
            case EXITBLTIN:
              current_command = (COMMAND *)NULL;
-             if (exit_immediately_on_error)
-               variable_context = 0;   /* not in a function */
              EOF_Reached = EOF;
              goto exec_done;
 
index dd35c7d1e713e257e01efe4bb1da155cb1cd0068..62da5a2c84c7e61571ff55154d1057de0702c19d 100644 (file)
@@ -2738,6 +2738,7 @@ execute_connection (command, asynchronous, pipe_in, pipe_out, fds_to_close)
 
     /* Just call execute command on both sides. */
     case ';':
+    case '\n':         /* special case, happens in command substitutions */
       if (ignore_return)
        {
          if (command->value.Connection->first)
@@ -3055,7 +3056,6 @@ eval_arith_for_expr (l, okp)
     {
       if (echo_command_at_execute)
        xtrace_print_arith_cmd (new);
-      this_command_name = "((";                /* )) for expression error messages */
 
       command_string_index = 0;
       print_arith_command (new);
@@ -3069,6 +3069,7 @@ eval_arith_for_expr (l, okp)
       /* In debugging mode, if the DEBUG trap returns a non-zero status, we
         skip the command. */
       eflag = (shell_compatibility_level > 51) ? 0 : EXP_EXPANDED;
+      this_command_name = "((";                /* )) for expression error messages */
       
 #if defined (DEBUGGER)
       if (debugging_mode == 0 || r == EXECUTION_SUCCESS)
@@ -3423,6 +3424,8 @@ execute_select_command (select_command)
     return (EXECUTION_SUCCESS);
 #endif
 
+  this_command_name = (char *)0;
+
   loop_level++;
   identifier = select_command->name->word;
 
@@ -3819,6 +3822,7 @@ execute_arith_command (arith_command)
     }
 #endif
 
+  this_command_name = "((";    /* )) */
   t = (char *)NULL;
   new = arith_command->exp;
   exp = (new->next) ? (t = string_list (new)) : new->word->word;
@@ -4016,7 +4020,6 @@ execute_cond_command (cond_command)
 
   save_line_number = line_number;
 
-  this_command_name = "[[";
   SET_LINE_NUMBER (cond_command->line);
   /* If we're in a function, update the line number information. */
   if (variable_context && interactive_shell && sourcelevel == 0)
@@ -4048,6 +4051,8 @@ execute_cond_command (cond_command)
     }
 #endif
 
+  this_command_name = "[[";    /* ]] */
+
 #if 0
   debug_print_cond_command (cond_command);
 #endif
diff --git a/expr.c b/expr.c
index ef7c5d121aecb7f17f14e10b584d868741d20c80..5079bd476309a46f1b7a8eba7cbee6e35b712cd3 100644 (file)
--- a/expr.c
+++ b/expr.c
 #define COMMA  ','
 
 /* This should be the function corresponding to the operator with the
-   highest precedence. */
-#define EXP_HIGHEST    expcomma
+   lowest precedence. */
+#define EXP_LOWEST     expcomma
 
 #ifndef MAX_INT_LEN
 #  define MAX_INT_LEN 32
@@ -472,8 +472,9 @@ subexpr (expr)
 
   readtok ();
 
-  val = EXP_HIGHEST ();
+  val = EXP_LOWEST ();
 
+  /*TAG:bash-5.3 make it clear that these are arithmetic syntax errors */
   if (curtok != 0)
     evalerror (_("syntax error in expression"));
 
@@ -639,7 +640,7 @@ expcond ()
       if (curtok == 0 || curtok == COL)
        evalerror (_("expression expected"));
 
-      val1 = EXP_HIGHEST ();
+      val1 = EXP_LOWEST ();
 
       if (set_noeval)
        noeval--;
@@ -1051,7 +1052,7 @@ exp0 ()
     {
       /* XXX - save curlval here?  Or entire expression context? */
       readtok ();
-      val = EXP_HIGHEST ();
+      val = EXP_LOWEST ();
 
       if (curtok != RPAR) /* ( */
        evalerror (_("missing `)'"));
@@ -1446,9 +1447,14 @@ readtok ()
        c = POWER;
       else if ((c == '-' || c == '+') && c1 == c && curtok == STR)
        c = (c == '-') ? POSTDEC : POSTINC;
+#if STRICT_ARITH_PARSING
+      else if ((c == '-' || c == '+') && c1 == c && curtok == NUM)
+#else
       else if ((c == '-' || c == '+') && c1 == c && curtok == NUM && (lasttok == PREINC || lasttok == PREDEC))
+#endif
        {
          /* This catches something like --FOO++ */
+         /* TAG:bash-5.3 add gettext calls here or make this a separate function */
          if (c == '-')
            evalerror ("--: assignment requires lvalue");
          else
@@ -1465,7 +1471,7 @@ readtok ()
            c = (c == '-') ? PREDEC : PREINC;
          else
            /* Could force parsing as preinc or predec and throw an error */
-#if 0
+#if STRICT_ARITH_PARSING
            {
              /* Posix says unary plus and minus have higher priority than
                 preinc and predec. */
@@ -1541,7 +1547,7 @@ strlong (num)
   register char *s;
   register unsigned char c;
   int base, foundbase;
-  intmax_t val;
+  intmax_t val, pval;
 
   s = num;
 
@@ -1559,6 +1565,10 @@ strlong (num)
        {
          base = 16;
          s++;
+#if STRICT_ARITH_PARSING
+         if (*s == 0)
+           evalerror (_("invalid number"));
+#endif     
        }
       else
        base = 8;
@@ -1602,7 +1612,14 @@ strlong (num)
          if (c >= base)
            evalerror (_("value too great for base"));
 
+#ifdef CHECK_OVERFLOW
+         pval = val;
          val = (val * base) + c;
+         if (val < 0 || val < pval)    /* overflow */
+           return INTMAX_MAX;
+#else
+         val = (val * base) + c;
+#endif
        }
       else
        break;
index 865575017d3030bd75a0b6860cfcdfb754244a3b..931dba9cd3c317199115c093e08c21f14960cc9d 100644 (file)
--- a/externs.h
+++ b/externs.h
@@ -36,6 +36,7 @@ extern intmax_t evalexp PARAMS((char *, int, int *));
 #define FUNC_EXTERNAL  0x02
 
 extern char *make_command_string PARAMS((COMMAND *));
+extern char *print_comsub PARAMS((COMMAND *));
 extern char *named_function_string PARAMS((char *, COMMAND *, int));
 
 extern void print_command PARAMS((COMMAND *));
diff --git a/jobs.c b/jobs.c
index 2c91fb0e6d6fef130e67bac5dd31822adb99f845..6b986ed76ace7e249198d61c04aff6da26f02823 100644 (file)
--- a/jobs.c
+++ b/jobs.c
@@ -4963,7 +4963,7 @@ set_job_control (arg)
   old = job_control;
   job_control = arg;
 
-  if (terminal_pgrp == NO_PID)
+  if (terminal_pgrp == NO_PID && shell_tty >= 0)
     terminal_pgrp = tcgetpgrp (shell_tty);
 
   /* If we're turning on job control we're going to want to know the shell's
index 0921d24d150ef7bde955be864555e0e519993298..4a4cee47a67eef2bb10d748e8a21140d1ac39968 100644 (file)
@@ -2282,6 +2282,7 @@ Names of all shell variables.  May also be specified as @option{-v}.
 @item -C @var{command}
 @var{command} is executed in a subshell environment, and its output is
 used as the possible completions.
+Arguments are passed as with the @option{-F} option.
 
 @item -F @var{function}
 The shell function @var{function} is executed in the current shell
index 3e398a6ca7fbb8cb7277a762c3daa05114aa64f8..c2d4d236e9993e8b0fd35e959edf3e38d83e86e3 100644 (file)
@@ -194,7 +194,10 @@ rl_display_search (char *search_string, int flags, int where)
 
   rl_message ("%s", message);
   xfree (message);
+#if 0
+  /* rl_message calls this */
   (*rl_redisplay_function) ();
+#endif
 }
 
 static _rl_search_cxt *
diff --git a/parse.y b/parse.y
index 423611771a66b969fc106d90c40ff120d8fa2427..0d6f91db8b987211ef190f3f34e8f1f46ce81a95 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -114,6 +114,16 @@ typedef void *alias_t;
 #  define MBTEST(x)    ((x))
 #endif
 
+#define EXTEND_SHELL_INPUT_LINE_PROPERTY() \
+do { \
+    if (shell_input_line_len + 2 > shell_input_line_propsize) \
+      { \
+       shell_input_line_propsize = shell_input_line_len + 2; \
+       shell_input_line_property = (char *)xrealloc (shell_input_line_property, \
+                                   shell_input_line_propsize); \
+      } \
+} while (0)
+
 #if defined (EXTENDED_GLOB)
 extern int extended_glob;
 #endif
@@ -1154,7 +1164,12 @@ list1:           list1 AND_AND newline_list list1
        |       list1 ';' newline_list list1
                        { $$ = command_connect ($1, $4, ';'); }
        |       list1 '\n' newline_list list1
-                       { $$ = command_connect ($1, $4, ';'); }
+                       {
+                         if (parser_state & PST_CMDSUBST)
+                           $$ = command_connect ($1, $4, '\n');
+                         else
+                           $$ = command_connect ($1, $4, ';');
+                       }
        |       pipeline_command
                        { $$ = $1; }
        ;
@@ -1185,10 +1200,10 @@ simple_list:    simple_list1
                        {
                          $$ = $1;
                          if (need_here_doc)
-                           gather_here_documents ();
+                           gather_here_documents ();   /* XXX */
                          if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
                            {
-itrace("LEGACY: parser: command substitution simple_list1 -> simple_list");
+INTERNAL_DEBUG (("LEGACY: parser: command substitution simple_list1 -> simple_list"));
                              global_command = $1;
                              eof_encountered = 0;
                              if (bash_input.type == st_string)
@@ -1203,10 +1218,10 @@ itrace("LEGACY: parser: command substitution simple_list1 -> simple_list");
                          else
                            $$ = command_connect ($1, (COMMAND *)NULL, '&');
                          if (need_here_doc)
-                           gather_here_documents ();
+                           gather_here_documents (); /* XXX */
                          if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
                            {
-itrace("LEGACY: parser: command substitution simple_list1 '&' -> simple_list");
+INTERNAL_DEBUG (("LEGACY: parser: command substitution simple_list1 '&' -> simple_list"));
                              global_command = $1;
                              eof_encountered = 0;
                              if (bash_input.type == st_string)
@@ -1218,10 +1233,10 @@ itrace("LEGACY: parser: command substitution simple_list1 '&' -> simple_list");
                        {
                          $$ = $1;
                          if (need_here_doc)
-                           gather_here_documents ();
+                           gather_here_documents ();   /* XXX */
                          if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
                            {
-itrace("LEGACY: parser: command substitution simple_list1 ';' -> simple_list");
+INTERNAL_DEBUG (("LEGACY: parser: command substitution simple_list1 ';' -> simple_list"));
                              global_command = $1;
                              eof_encountered = 0;
                              if (bash_input.type == st_string)
@@ -2550,21 +2565,12 @@ shell_getc (remove_quoted_newline)
            shell_input_line[shell_input_line_len] = '\n';
          shell_input_line[shell_input_line_len + 1] = '\0';
 
-#if 0
-         set_line_mbstate ();          /* XXX - this is wasteful */
-#else
-#  if defined (HANDLE_MULTIBYTE)
+#if defined (HANDLE_MULTIBYTE)
          /* This is kind of an abstraction violation, but there's no need to
             go through the entire shell_input_line again with a call to
             set_line_mbstate(). */
-         if (shell_input_line_len + 2 > shell_input_line_propsize)
-           {
-             shell_input_line_propsize = shell_input_line_len + 2;
-             shell_input_line_property = (char *)xrealloc (shell_input_line_property,
-                                                           shell_input_line_propsize);
-           }
+         EXTEND_SHELL_INPUT_LINE_PROPERTY();
          shell_input_line_property[shell_input_line_len] = 1;
-#  endif
 #endif
        }
     }
@@ -2617,6 +2623,21 @@ next_alias_char:
       (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
     {
       parser_state |= PST_ENDALIAS;
+      /* We need to do this to make sure last_shell_getc_is_singlebyte returns
+        true, since we are returning a single-byte space. */
+      if (shell_input_line_index == shell_input_line_len && last_shell_getc_is_singlebyte == 0)
+       {
+#if 0
+         EXTEND_SHELL_INPUT_LINE_PROPERTY();
+         shell_input_line_property[shell_input_line_len++] = 1;
+         /* extend shell_input_line to accommodate the shell_ungetc that
+            read_token_word() will perform, since we're extending the index */
+         RESIZE_MALLOCED_BUFFER (shell_input_line, shell_input_line_index, 2, shell_input_line_size, 16);
+          shell_input_line[++shell_input_line_index] = '\0';   /* XXX */
+#else
+         shell_input_line_property[shell_input_line_index - 1] = 1;
+#endif
+       }
       return ' ';      /* END_ALIAS */
     }
 #endif
@@ -4095,8 +4116,8 @@ parse_comsub (qc, open, close, lenp, flags)
 
   if (need_here_doc > 0)
     {
-      internal_debug("command substitution: %d unterminated here-document%s", need_here_doc, (need_here_doc == 1) ? "" : "s");
-      gather_here_documents ();
+      internal_warning ("command substitution: %d unterminated here-document%s", need_here_doc, (need_here_doc == 1) ? "" : "s");
+      gather_here_documents ();        /* XXX check compatibility level? */
     }
 
   parsed_command = global_command;
@@ -4126,7 +4147,7 @@ INTERNAL_DEBUG(("current_token (%d) != shell_eof_token (%c)", current_token, she
 
   restore_parser_state (&ps);
 
-  tcmd = make_command_string (parsed_command);         /* returns static memory */
+  tcmd = print_comsub (parsed_command);                /* returns static memory */
   retlen = strlen (tcmd);
   if (tcmd[0] == '(')                  /* ) need a space to prevent arithmetic expansion */
     retlen++;
@@ -4186,6 +4207,7 @@ xparse_dolparen (base, string, indp, flags)
   sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE;
   if (flags & SX_NOLONGJMP)
     sflags |= SEVAL_NOLONGJMP;
+
   save_parser_state (&ps);
   save_input_line_state (&ls);
 
@@ -4609,6 +4631,7 @@ cond_term ()
       tleft = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
 
       /* binop */
+      /* tok = cond_skip_newlines (); ? */
       tok = read_token (READ);
       if (tok == WORD && test_binop (yylval.word->word))
        {
@@ -6302,13 +6325,13 @@ parse_string_to_word_list (s, flags, whom)
   sh_parser_state_t ps;
   int ea;
 
+  orig_line_number = line_number;
+  save_parser_state (&ps);
+
 #if defined (HISTORY)
   bash_history_disable ();
 #endif
 
-  orig_line_number = line_number;
-  save_parser_state (&ps);
-
   push_stream (1);
   if (ea = expanding_alias ())
     parser_save_alias ();
index b8337414c5d72d5c60c8afef678143fd0cd2d0e9..8638773e11f4f409518252d786f787db6c67f7e6 100644 (file)
Binary files a/po/bg.gmo and b/po/bg.gmo differ
index 9e876f4912922e29508bd426947d8503f7fbf9f0..68331a5877fc2f7a92c7907c65be11f65218f9ba 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -1,14 +1,14 @@
 # Bulgarian translation of bash po-file.
-# Copyright (C) 2007, 2010, 2012, 2013, 2014, 2015, 2016, 2018, 2020 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2010, 2012, 2013, 2014, 2015, 2016, 2018, 2020, 2022 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
-# Alexander Shopov <ash@kambanaria.org>, 2007, 2010, 2012, 2013, 2014, 2015, 2016, 2018, 2020.
+# Alexander Shopov <ash@kambanaria.org>, 2007, 2010, 2012, 2013, 2014, 2015, 2016, 2018, 2020, 2022.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash-5.1\n"
+"Project-Id-Version: bash-5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2020-12-12 16:27+0100\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-18 14:33+0200\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@ludost.net>\n"
 "Language: bg\n"
@@ -22,59 +22,54 @@ msgstr ""
 msgid "bad array subscript"
 msgstr "грешен индекс на масив"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: изтриване на атрибута за указател от променливата"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: масивът не може да бъде преобразуван към речник"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: грешно име на ключ в речник"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: не може да се присвоява на нецифров индекс"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: при присвояване към речник трябва да се използва индекс"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: не може да се създаде: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr ""
 "изпълнение на команда на Юникс от bash: не може да се открие подредбата на\n"
 "функциите на клавишите за командата"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: първият непразен знак не е „\"“"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "в %2$s липсва затварящ знак „%1$c“"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: разделителят „:“ липсва"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "„%s“: неуспешно премахне на присвояване в подредбата на функциите на клавишите"
@@ -94,7 +89,7 @@ msgstr "заместване на изразите с фигурни скоби:
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "заместване на изразите с фигурни скоби: неуспешно заделяне на памет за „%s“"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "„%s“: грешно име на синоним"
@@ -165,7 +160,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "Променливата „HOME“ не е зададена"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "прекалено много аргументи"
 
@@ -192,7 +187,7 @@ msgstr "предупреждение: "
 msgid "%s: usage: "
 msgstr "%s: употреба: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: опцията изисква аргумент"
@@ -207,7 +202,7 @@ msgstr "%s: изисква се числов аргумент"
 msgid "%s: not found"
 msgstr "%s: не е открит"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: грешна опция"
@@ -217,7 +212,7 @@ msgstr "%s: грешна опция"
 msgid "%s: invalid option name"
 msgstr "%s: грешно име на опция"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "„%s“: грешен идентификатор"
@@ -230,7 +225,7 @@ msgstr "грешно осмично число"
 msgid "invalid hex number"
 msgstr "грешно шестнайсетично число"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "грешно число"
 
@@ -244,88 +239,93 @@ msgstr "%s: грешно указване на сигнал"
 msgid "`%s': not a pid or valid job spec"
 msgstr "„%s“: грешен идентификатор на процес или задача"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: променлива с права само за четене"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: не може да се присвои"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s е извън допустимия диапазон"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "аргументът"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s е извън допустимия диапазон"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: няма такава задача"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: няма управление на задачите"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "няма управление на задачите"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: ограничена обвивка"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "ограничена обвивка"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: не е команда вградена в обвивката"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "грешка при запис: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "грешка при задаване на атрибутите на терминала: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "грешка при получаване на атрибутите на терминала: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: грешка при получаване на текущата директория: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: нееднозначно указана задача"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "помощта не е включена в тази версия"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: не може да се премахне: %s е само за четене"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: не може да се премахне"
@@ -335,108 +335,108 @@ msgstr "%s: не може да се премахне"
 msgid "%s: invalid action name"
 msgstr "%s: грешно име на действие"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: не е указано дописване"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "предупреждение: опцията „-F“ може да не работи според очакванията ви"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "предупреждение: опцията „-C“ може да не работи според очакванията ви"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "в момента не се изпълнява функция за дописване"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "може да се използва само във функция"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "„-f“ не може да се използва за създаването на функции"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: функция с права само за четене"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: променливата-указател не може да е масив"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: променливата-указател не може да сочи към себе си"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: цикъл в променливите-указатели"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "„%s“: неправилно име за променлива-указател"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "„-f“ не може да се използва за създаването на функции"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: функция с права само за четене"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: съставното присвояване на масив чрез цитат е остаряло"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: променливите за масиви не могат да се унищожават така"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: речник не може да се преобразува в масив"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: съставното присвояване на масив чрез цитат е остаряло"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "липсва възможност за динамично зареждане"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "споделеният обект „%s“ не може да бъде зареден: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "„%s“ не може да се открие в споделения обект %s: %s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: вградената команда вече е динамично заредена"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "зареждащата функция за „%s“ върна грешка (%d): не е зареден"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: не е зареден динамично"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: не може да се изтрие: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: е директория"
@@ -451,7 +451,7 @@ msgstr "%s: не е обикновен файл"
 msgid "%s: file is too large"
 msgstr "%s: файлът е прекалено голям"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: двоичният файл не може да бъде изпълнен"
@@ -548,12 +548,12 @@ msgstr ""
 "няма теми в помощта, които да отговарят на „%s“.  Опитайте с\n"
 "„help help“, „man -k %s“ или „info %s“."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: не може да се отвори: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -573,21 +573,21 @@ msgstr ""
 "Знакът звездичка „*“ до името на команда означава, че тя е изключена.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "не може да се ползва едновременно повече от една от опциите „-anrw“"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "позиция в историята"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: грешна дата с време"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: неуспешно заместване чрез историята"
@@ -610,78 +610,78 @@ msgstr "%s: аргументите трябва да са идентификат
 msgid "Unknown error"
 msgstr "Неизвестна грешка"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "очаква се израз"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: не е масив"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: грешно указване на файловия дескриптор"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: грешен файлов дескриптор: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: грешен номер на ред"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: грешен начален индекс за масив"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: грешно количество редове за обработка"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "празно име на променлива за масив"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "изисква се поддръжка на променливи за масиви"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "„%s“: липсва форматиращ знак"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "„%c“: грешен формат на времето"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "„%c“: грешен форматиращ знак"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "предупреждение: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "неуспешен анализ на форма̀та: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "липсва шестнадесетична цифра за \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "липсва цифра за Уникод за \\%c"
@@ -831,12 +831,12 @@ msgstr ""
 "    \n"
 "    Можете да изведете стека на директорията с командата „dirs“."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: грешно указване на изтичането на времето"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "грешка при четене: %d: %s"
@@ -849,7 +849,7 @@ msgstr "„return“ е възможен само от функция или и
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "не може едновременно да се премахват задаванията на функция и променлива"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: не е променлива за масив"
@@ -868,11 +868,11 @@ msgstr "%s: не може да се изнесе"
 msgid "shift count"
 msgstr "брой на преместванията"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "не може едновременно да се задават и да се премахват опции на обвивката"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: грешно име на опция на обвивката"
@@ -939,16 +939,16 @@ msgstr "%s: грешен аргумент за ограничение"
 msgid "`%c': bad command"
 msgstr "„%c“: грешна команда"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: ограничението не може да бъде получено: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "ограничение"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: ограничението не може да бъде променено: %s"
@@ -967,7 +967,7 @@ msgstr "„%c“: неправилен оператор за описателе
 msgid "`%c': invalid symbolic mode character"
 msgstr "„%c“: неправилен знак за описателен режим"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " ред "
 
@@ -987,96 +987,106 @@ msgstr "Преустановяване…"
 msgid "INFORM: "
 msgstr "ИНФОРМАЦИЯ: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "ПРЕДУПРЕЖДЕНИЕ: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "неизвестна грешка в команда"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "грешен вид команда"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "грешна връзка"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "грешен преход"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: променлива без стойност"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\aвремето за изчакване на вход изтече: следва автоматично излизане от системата\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "стандартният вход не може да бъде пренасочен от „/dev/null“: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "в променливата $TIMEFORMAT: „%c“: грешен форматиращ знак"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: копроцесът [%d:%s] все още съществува"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "грешка в програмен канал"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: превишено е максималното ниво на влагане на „eval“ (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: превишено е максималното ниво на влагане на код (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: превишено е максималното ниво на влагане на функции (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: ограничение: в имената на командите не може да присъства знакът „/“"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: командата не е открита"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: не може да се изпълни — липсва необходим файл "
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: лош интерпретатор"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: двоичният файл не може да бъде изпълнен: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "„%s“ е вградена команда в обвивката"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "файловият дескриптор %d не може да се дублира като дескриптор %d"
@@ -1089,68 +1099,68 @@ msgstr "максималният брой нива за рекурсия в из
 msgid "recursion stack underflow"
 msgstr "отрицателно препълване на стека за рекурсии"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "синтактична грешка в израз"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "опит за присвояване на стойност на нещо, което не е променлива"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "синтактична грешка при присвояване на променлива"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "деление на 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "програмна грешка: неправилна лексема за присвояване на израз"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "за условен израз се изисква „:“"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "степента е по-малка от 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "очаква се идентификатор след предварително увеличаване или намаляване"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "липсва „)“"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "синтактична грешка: очаква се оператор"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "синтактична грешка: грешен аритметичен оператор"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (грешната лексема е „%s“)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "грешна аритметична основа на бройна система"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "неправилна целочислена константа"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "стойността е прекалено голяма за основата"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: грешка в израза\n"
@@ -1159,7 +1169,7 @@ msgstr "%s: грешка в израза\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: няма достъп до родителските директории"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "неуспешно изчистване на режима без забавяне на файловия дескриптор %d"
@@ -1180,169 +1190,169 @@ msgstr ""
 "стартиране на програмен канал: не може да се комуникира с водача на канала\n"
 "(pgrp pipe)"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: ЦИКЪЛ: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: ЦИКЪЛ: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "стартираният процес %d е в изпълняваната задача %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "изтриване на спряната задача %d в групата процеси %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "добавяне на процес: процесът %5ld (%s) е отбелязан като още жив"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "описателен идентификатор на процес: %ld: няма такъв идентификатор на процес"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Сигнал %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Завършен"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Спрян"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Спрян (%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Изпълняван"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Завършен (%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Изход %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Непознато състояние"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(паметта е разтоварена)"
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "дъщерният процес смени групата при изпълнение (от %ld на %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "изчакване: процесът с идентификатор %ld не е дъщерен на тази обвивка"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "изчакване: липсват данни за процес с идентификатор %ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "изчакване на задача: задачата %d е спряна"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: няма текуща задача"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: задачата е приключила"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: задача %d вече е във фонов режим"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr ""
 "изчакване на дъщерен процес: включване на незабавното излизане от функцията\n"
 "чрез WNOHANG, за да се избегне недефиниран блок"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: ред %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (паметта е разтоварена)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(работната директория е: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "инициализация на контрола на задачите: неуспешно изпълнение на getpgrp"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "инициализация на контрола на задачите: няма управление на задачите във фонов режим"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "инициализация на контрола на задачите: дисциплина на линията"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "инициализация на контрола на задачите: задаване на група при изпълнение (setpgid)"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "групата на процесите на терминала не може да бъде зададена (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "в тази обвивка няма управление на задачите"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "заделяне на памет: грешно предположение: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1351,53 +1361,53 @@ msgstr ""
 "\r\n"
 "заделяне на памет: %s:%d: предположението е отпечатано\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "непознат"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "заделяне на памет: блок в списъка със свободни блокове е зает или неподходящ"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "изчистване на памет: извикано е с блоков аргумент, който вече е изчистен"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "изчистване на памет: извикано е с незаделен блоков аргумент"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr ""
 "изчистване на памет: открито е отрицателно препълване с mh_nbytes извън\n"
 "допустимия диапазон"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr ""
 "изчистване на памет: открито е отрицателно препълване, неправилна стойност\n"
 "за magic8"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "изчистване на памет: късовете на началната и крайната области се различават"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "презаделяне: извикано е с аргумент с незаделен блок"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr ""
 "презаделяне: открито е отрицателно препълване с mh_nbytes извън допустимия\n"
 "диапазон"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "презаделяне: открито е отрицателно препълване,  неправилна стойност за magic8"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "презаделяне: късовете на началната и крайната области се различават"
 
@@ -1439,22 +1449,22 @@ msgstr "%s: неправилно указан мрежов път"
 msgid "network operations not supported"
 msgstr "не се поддържат мрежови операции"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: локалът не може да бъде сменен (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: локалът не може да бъде сменен (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: локалът не може да бъде сменен (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: локалът не може да бъде сменен (%s): %s"
@@ -1472,136 +1482,136 @@ msgstr "Имате нова поща в $_"
 msgid "The mail in %s has been read\n"
 msgstr "Пощата в %s вече е прочетена\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "синтактична грешка: изисква се аритметичен израз"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "синтактична грешка: неочакван знак „;“"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "синтактична грешка: „((%s))“"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "вътрешен документ с „<<“: неправилен вид инструкция %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "вътрешният документ на ред %d е отделен със знак за нов ред (а трябва да е „%s“)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "пренасочване: инструкцията за пренасочване „%d“ е извън допустимия диапазон"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) надвишава SIZE_MAX (%lu): редът е отрязан"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "превишен е максималният брой възможни вътрешни документи"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "неочакван знак за край на файл „EOF“, а се очакваше съответстващ знак „%c“"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "неочакван знак за край на файл „EOF“, а се очакваше „]]“"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "синтактична грешка в условен израз: неочаквана лексема „%s“"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "синтактична грешка в условен израз"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "неочаквана лексема „%s“, а се очакваше знакът „)“"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "очакваше се „)“"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "неочакван аргумент „%s“ за унарен условен оператор"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "неочакван аргумент за унарен условен оператор"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "неочаквана лексема „%s“, очакваше се бинарен условен оператор"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "очакваше се бинарен условен оператор"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "неочакван аргумент „%s“ за бинарен условен оператор"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "неочакван аргумент за бинарен условен оператор"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "неочаквана лексема „%c“ в условна команда"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "неочаквана лексема „%s“ в условна команда"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "неочаквана лексема %d в условна команда"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "синтактична грешка в близост до неочакваната лексема „%s“"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "синтактична грешка в близост до „%s“"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "синтактична грешка: неочакван край на файл"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "синтактична грешка"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Използвайте „%s“, за да излезете от обвивката.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "неочакван знак за край на файл „EOF“, очакваше се знакът „)“"
 
@@ -1639,98 +1649,98 @@ msgstr "xtrace_set: указател към файл – NULL"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "отпечатване: „%c“: неправилен форматиращ знак"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "файловият дескриптор е извън допустимия диапазон"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: двусмислено пренасочване"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: не може да се презапише съществуващ файл"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: поради ограничение изходът не може да се пренасочи"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "не може да се създаде временен файл за вътрешен документ: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: на променлива не може да се присвои файлов дескриптор"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "„/dev/(tcp|udp)/host/port“ не се поддържат, ако няма поддръжка на мрежа"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "грешка при пренасочване: файловият дескриптор не може да бъде дублиран"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "не е открита директорията „/tmp“. Създайте я!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "„/tmp“ трябва да е директория"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "режимът за красив изход се игнорира при интерактивна работа"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: неправилна опция"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr ""
 "идентификаторът на потребител на процеса не може да се зададе да е %d,\n"
 "ефективният идентификатор на потребител на процеса е %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr ""
 "идентификаторът на група на процеса не може да се зададе да е %d,\n"
 "ефективният идентификатор на група на процеса е %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "режимът на изчистване на грешки е недостъпен, защото е изключен"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: е директория"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Не може да се получи името на текущия потребител!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, версия %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1739,321 +1749,321 @@ msgstr ""
 "Употреба:    %s [дълга опция на GNU] [опция]…\n"
 "             %s [дълга опция на GNU] [опция] файл-скрипт…\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Дълги опции на GNU:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Опции на обвивката:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "    -ilrsD или -c команда, или -O къса_опция        (само при стартиране)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "    -%s или -o опция\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "За повече информация за опциите на обвивката въведете „%s -c \"help set\"“.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "За повече информация за вградените в обвивката команди въведете „%s -c help“.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "За да докладвате грешки, използвайте командата „bashbug“.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "Интернет страница на bash: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Обща помощ за програмите на GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "маска за обработката на сигнали: %d: грешна операция"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Фалшив сигнал"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Прекъсване на връзката"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Прекъсване"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Спиране"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Неправилна инструкция"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "Капан за авариен изход чрез BPT"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "Инструкция за прекратяване"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "Капан с EMT"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Изключение от плаваща запетая"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Убит"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Грешка в шината"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Грешка в разделянето"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Грешно системно извикване"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Прекъснат програмен канал"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Аларма"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Прекратен"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Спешно вх./изх. състояние"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Спрян (сигнал)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Продължаване"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Смърт или спиране на дъщерен процес"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Спиране (вход от tty)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Спиране (изход към tty)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "Готовност за вх./изх."
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "Ограничение на процесора"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Ограничение на файловете"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Аларма (виртуална)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Аларма (по профил)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Преоразмерен прозорец"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Заключен запис"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Потребителски сигнал 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Потребителски сигнал 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "Идват данни по конзола HFT"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "Предстои спиране на захранването"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "Предстои забиване на системата"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "Преместване на процеса на друг процесор"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "Програмна грешка"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "Дадено право за управление чрез конзола HFT"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "Отнето право за управление чрез конзола HFT"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "Завършена звукова поредица през HFT"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Заявка за информация"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Непознат сигнал #%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "лошо заместване: липсва затварящ знак „%s“ в %s"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: на член от масив не може да се присвои списък"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "не може да се създаде програмен канал за заместване на процеси"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "не може да се създаде дъщерен процес за заместване на процеси"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "именуваният програмен канал %s не може да се отвори за четене"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "именуваният програмен канал %s не може да се отвори за запис"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr ""
 "именуваният програмен канал %s не може да се\n"
 "дублира като файловия дескриптор %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "заместване на команди: знакът „null“ във входа е прескочен"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "не може да се създаде програмен канал за заместване на команди"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "не може да се създаде дъщерен процес за заместване на команди"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "заместване на команди: каналът не може да се дублира като fd 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: неправилно име за променлива-указател"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: грешно непряко заместване"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "„%s“: грешно име на променлива"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: аргументът не е зададен"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: аргументът е „null“ или не е зададен"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: изразът от подниза е < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: лошо заместване"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: не може да се задава по този начин"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr ""
 "бъдещите версии на обвивката ще използват изчисляване като аритметично\n"
 "заместване"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "лошо заместване: липсва затварящ знак „`“ в %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "няма съвпадение: %s"
@@ -2076,21 +2086,21 @@ msgstr "очаква се „)“"
 msgid "`)' expected, found %s"
 msgstr "очаква се „)“, а е получено %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: очаква се бинарен оператор"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: очаква се унарен оператор"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "липсва „]“"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "синтактична грешка: неочакван знак/ци „%s“"
@@ -2099,113 +2109,118 @@ msgstr "синтактична грешка: неочакван знак/ци 
 msgid "invalid signal number"
 msgstr "неправилен номер на сигнал"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "eval: превишено е максималното ниво на влагане на „eval“ (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr ""
 "стартиране на предстоящите прихващания: неправилна стойност в\n"
 "trap_list[%d]: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr ""
 "стартиране на предстоящите прихващания: обработката на сигнали е SIG_DFL.\n"
 "%d (%s) е преизпратен на текущата обвивка"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "обработка на прихващания: неправилен сигнал %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "грешка при внасянето на дефиницията на функция за „%s“"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "нивото на обвивката (%d) е прекалено голямо. Задава се да е 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr ""
 "създаване на локална променлива: липсва контекст на функция в текущата област\n"
 "на видимост"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: на тази променлива не може да се присвои стойност"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: не може да се наследи стойност от несъвместим вид"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: присвояване на число на променлива-указател"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr ""
 "всички локални променливи: липсва контекст на функция в текущата област на\n"
 "видимост"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s: аргументът за низа за изнасяне не трябва да е „null“"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "неправилен знак на позиция %d в низа за изнасяне за %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "липсва „=“ в низа за изнасяне за %s"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr ""
 "изваждане на контекст на променливи: в началото на структурата за променливи на\n"
 "обвивката (shell_variables) е нещо, което не е контекст на функция"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr ""
 "изваждане на контекст на променливи: липсва контекст за глобални променливи\n"
 "(global_variables)"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr ""
 "изваждане на област: в началото на структурата за променливи на обвивката\n"
 "(shell_variables)  е нещо, което не е временна област в обкръжението"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s не може да се отвори като ФАЙЛ"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: грешен файлов дескриптор за файла за трасиране"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: е извън допустимия диапазон"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Авторски права © 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Авторски права © 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2289,12 +2304,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] команда [АРГУМЕНТ…]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [ИМЕ[=СТОЙНОСТ]…]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [ИМЕ[=СТОЙНОСТ]…] или declare -p [-aAfFilnrtux] [ИМЕ…]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] ИМЕ[=СТОЙНОСТ]…"
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] ИМЕ[=СТОЙНОСТ]… или typeset -p [-aAfFilnrtux] [ИМЕ…]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2390,8 +2405,8 @@ msgid "return [n]"
 msgstr "return [ЦИФРОВ_КОД]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o ОПЦИЯ] [--] [АРГУМЕНТИ…]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o ОПЦИЯ] [--] [АРГУМЕНТ…]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2438,8 +2453,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] ИМЕ [ИМЕ…]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [ОГРАНИЧЕНИЕ]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [ОГРАНИЧЕНИЕ]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2478,12 +2493,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if КОМАНДИ; then КОМАНДИ; [ elif КОМАНДИ; then КОМАНДИ; ]… [ else КОМАНДИ; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while КОМАНДИ; do КОМАНДИ; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while КОМАНДИ; do КОМАНДИ_2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until КОМАНДИ; do КОМАНДИ; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until КОМАНДИ; do КОМАНДИ_2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3833,7 +3848,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3875,8 +3891,9 @@ msgstr ""
 "    „-u“, се прочита един ред.  Редът се разделя на полета — думи.  Първата дума\n"
 "    се присвоява на първото ИМЕ, втората дума на второто ИМЕ и т.н., а на\n"
 "    последното ИМЕ се присвояват оставащите думи.   Като разделители на думи се\n"
-"    използват само знаците указани в променливата „IFS“.\n"
-"    \n"
+"    използват само знаците указани в променливата „IFS“.  Стандартно знакът „\\“\n"
+"    екранира разделителите и новите редове.\n"
+"\n"
 "    Ако не са дадени ИМЕна, прочетеният ред се запазва в променливата „REPLY“.\n"
 "    \n"
 "    Опции:\n"
@@ -3915,7 +3932,7 @@ msgstr ""
 "    грешка при задаване на стойност на променлива или е зададен неправилен\n"
 "    файлов дескриптор като аргумент на -u."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3936,7 +3953,7 @@ msgstr ""
 "    Връща ЦИФРОВия_КОД или грешка, ако обвивката в момента не изпълнява функция\n"
 "    или скрипт."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4102,7 +4119,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако не е зададена неправилна опция."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4142,7 +4159,7 @@ msgstr ""
 "    0, освен ако е зададена неправилна опция или някое от ИМЕната е само за\n"
 "    четене."
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4176,7 +4193,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако е зададена неправилна опция или някое от ИМЕната е неправилно."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4214,7 +4231,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако е зададена неправилна опция или някое от ИМЕната е неправилно."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4233,7 +4250,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако БРОят е отрицателно или по-голямо от стойността „$#“."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4257,7 +4274,7 @@ msgstr ""
 "    Връща състоянието на последно изпълнената команда във ФАЙЛа.  Ако той не\n"
 "    може да бъде открит, изходът е грешка."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4282,7 +4299,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако не възникне грешка или управлението на задачи е изключено."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4439,7 +4456,7 @@ msgstr ""
 "    0, ако ИЗРАЗът е верен.  Грешка, когато ИЗРАЗът е неверен или е даден\n"
 "    неправилен аргумент."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4452,7 +4469,7 @@ msgstr ""
 "    задължително да е знакът „]“, който да съответства на отварящата квадратна\n"
 "    скоба „[“."
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4470,7 +4487,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Винаги 0."
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4539,7 +4556,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако е зададен неправилен сигнал или опция."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4593,7 +4610,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, ако всички подадени ИМЕна са открити, неуспех, ако някое от тях липсва."
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4690,7 +4707,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако не възникни грешка или е дадена неправилна опция."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4723,7 +4740,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако МАСКАта или някоя от зададените опции са неправилни."
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4777,7 +4794,7 @@ msgstr ""
 "    връща и при задаването на опцията „-n“, а обвивката няма дъщерни процеси,\n"
 "    които не се чакат."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4800,7 +4817,7 @@ msgstr ""
 "    Изходния код на процеса с последния идентификатор.  Грешка, ако е даден\n"
 "    неправилен идентификатор или е дадена неправилна опция."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4822,7 +4839,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Връща изходния код на последно изпълнената команда."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4851,7 +4868,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Връща изходния код на последно изпълнената команда."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4887,7 +4904,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Връща изходния код на последно изпълнената команда."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4917,7 +4934,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този на ПРОГРАМНия_КАНАЛ."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4935,7 +4952,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4965,43 +4982,43 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Изпълнение на команда докато определен тест е успешен.\n"
 "    \n"
-"    Заместване и изпълнение на КОМАНДИте докато последната команда в блока\n"
-"    „while“ е с изходен код, който е 0.\n"
+"    Заместване и изпълнение на КОМАНДИ_2 докато последната команда в блока\n"
+"    КОМАНДИ е с изходен код, който е 0.\n"
 "    \n"
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Изпълнение на команда докато определен тест е неуспешен.\n"
 "    \n"
-"    Заместване и изпълнение на КОМАНДИте докато последната команда в блока\n"
-"    „until“ е с изходен код, който не е 0.\n"
+"    Заместване и изпълнение на КОМАНДИ_2 докато последната команда в блока\n"
+"    КОМАНДИ е с изходен код, който не е 0.\n"
 "    \n"
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -5023,7 +5040,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е 0."
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -5045,7 +5062,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако ИМЕто не е само за четене."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -5063,7 +5080,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този на последно изпълнената команда."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5087,7 +5104,7 @@ msgstr ""
 "    Изходен код:\n"
 "    Изходният код е този възобновената задача."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5105,7 +5122,7 @@ msgstr ""
 "    Изходен код:\n"
 "    1, ако резултатът на ИЗРАЗа е 0.  В противен случай — 0."
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5155,7 +5172,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0 или едно според стойността на ИЗРАЗа."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5260,7 +5277,7 @@ msgstr ""
 "    HISTIGNORE      Списък с шаблони, разделени с двоеточие, които указват кои\n"
 "                    команди да не се запазват в историята\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5318,7 +5335,7 @@ msgstr ""
 "    0, освен ако е подаден неправилен аргумент или не може да се премине към\n"
 "    съответната директория."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5369,7 +5386,7 @@ msgstr ""
 "    0, освен ако е подаден неправилен аргумент или не може да се премине към\n"
 "    съответната директория."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5419,7 +5436,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако е дадена неправилна опция или възникне грешка."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5455,7 +5472,7 @@ msgstr ""
 "    0, ако ОПЦИЯта е включена, грешка, ако е зададена неправилна или изключена\n"
 "    ОПЦИЯ."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5474,6 +5491,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5505,6 +5524,8 @@ msgstr ""
 "              черти в съответния аргумент\n"
 "      %q      предизвиква цитирането на аргумента, така че да може да бъде\n"
 "              използван като вход за обвивката\n"
+"      %Q      подобно на „%q“, но се прилага някаква точност към нецитирания\n"
+"              аргумент преди цитирането му\n"
 "      %(fmt)  отпечатване на низа при третиране на аргумента като дата и време\n"
 "              според strftime(3)\n"
 "    \n"
@@ -5516,7 +5537,7 @@ msgstr ""
 "    0, освен ако не е дадена неправилна опция или възникне грешка при\n"
 "    извеждането на резултата или при присвояването на стойността."
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5567,7 +5588,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен когато е дадена неправилна опция или възникне грешка."
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5587,7 +5608,7 @@ msgstr ""
 "    Изходен код:\n"
 "    0, освен ако е дадена неправилна опция или възникне грешка."
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5642,7 +5663,7 @@ msgstr ""
 "    0, освен когато е дадена неправилна опция или липсват инструкции към ИМЕто\n"
 "    за автоматично дописване."
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5712,7 +5733,7 @@ msgstr ""
 "    Връща 0, освен ако е дадена неправилна опция или ако МАСИВът е променлива\n"
 "    само за четене или не е индексиран масив."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
index 0b94a7a0c4a33dba042b7450f868af413767e0ca..c144d0ed78169904dcca4b2f9e8dca69c82abb56 100644 (file)
Binary files a/po/ca.gmo and b/po/ca.gmo differ
index f1cadd2b448aa6b0db95c47f94bc2de9ba8256bb..eb9791a01ddc7dc3d0f7c3c2313b6585c4670cbe 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -1,15 +1,15 @@
 # Catalan messages for GNU bash.
-# Copyright (C) 2002, 2003, 2010, 2014, 2015, 2017 Free Software Foundation, Inc.
+# Copyright (C) 2022 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 # Montxo Vicente i Sempere <montxo@enmoviment.com>, 2003 (traducció), 2010 (revisions).
 # Jordi Mas i Hernàndez <jmas@softcatala.org>, 2004 (correccions).
-# Ernest Adrogué Calveras <eadrogue@gmx.net>, 2014, 2015, 2017.
+# Ernest Adrogué i Calveras <nr9@posteo.net>, 2014-2022.
 msgid ""
 msgstr ""
-"Project-Id-Version: bash-4.4\n"
+"Project-Id-Version: bash-5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2017-01-10 20:11+0100\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-07-06 20:08+0200\n"
 "Last-Translator: Ernest Adrogué Calveras <eadrogue@gmx.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
 "Language: ca\n"
@@ -23,61 +23,55 @@ msgstr ""
 msgid "bad array subscript"
 msgstr "subíndex erroni"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: s'elimina l'atribut «nameref»"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: no és possible convertir un vector indexat en associatiu"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: clau de vector associatiu no vàlida"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: no es pot assignar a un índex no-numèric"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: l'assignació en vectors associatius requereix un subíndex"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: no es pot crear: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-"bash_execute_unix_command: no s'ha trobat el mapa de tecles per a l'ordre"
+msgstr "bash_execute_unix_command: no s'ha trobat el mapa de tecles per a l'ordre"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: el primer caràcter no-blanc no és «\"»"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "falta un caràcter de tancament «%c» a %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: falta un caràcter «:» de separació"
 
-#: bashline.c:4555
-#, fuzzy, c-format
+#: bashline.c:4733
+#, c-format
 msgid "`%s': cannot unbind in command keymap"
-msgstr "«%s»: no es pot desvincular"
+msgstr "«%s»: no es pot desvincular en el mapa de tecles de l'ordre"
 
 #: braces.c:327
 #, c-format
@@ -85,16 +79,16 @@ msgid "brace expansion: cannot allocate memory for %s"
 msgstr "expansió de claus: no es pot assignar memòria per a %s"
 
 #: braces.c:406
-#, fuzzy, c-format
+#, c-format
 msgid "brace expansion: failed to allocate memory for %u elements"
-msgstr "expansió de claus: ha fallat l'assignació de memòria per a %d elements"
+msgstr "expansió de claus: ha fallat l'assignació de memòria per a %u elements"
 
 #: braces.c:451
 #, c-format
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "expansió de claus: ha fallat l'assignació de memòria per a «%s»"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "«%s»: el nom de l'àlies no és valid"
@@ -143,7 +137,6 @@ msgstr "només té sentit en una iteració de tipus «for», «while» o «until
 
 # help caller
 #: builtins/caller.def:136
-#, fuzzy
 msgid ""
 "Returns the context of the current subroutine call.\n"
 "    \n"
@@ -161,17 +154,13 @@ msgstr ""
 "    per a proporcionar un traçat de la pila.\n"
 "\n"
 "    El valor de EXPR indica quants «frames» retrocedir des de l'actual; el\n"
-"    «frame» superior és el 0.\n"
-"\n"
-"    Estat de sortida:\n"
-"    Retorna 0 excepte si l'intèrpret no està executant una funció o si EXPR\n"
-"    no és una expressió vàlida."
+"    «frame» superior és el 0."
 
 #: builtins/cd.def:327
 msgid "HOME not set"
 msgstr "la variable HOME no està definida"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "sobren arguments"
 
@@ -198,7 +187,7 @@ msgstr "atenció: "
 msgid "%s: usage: "
 msgstr "%s: sintaxi: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: l'opció requereix un argument"
@@ -213,7 +202,7 @@ msgstr "%s: falta un argument numèric"
 msgid "%s: not found"
 msgstr "%s: no s'ha trobat"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: l'opció no és vàlida"
@@ -223,7 +212,7 @@ msgstr "%s: l'opció no és vàlida"
 msgid "%s: invalid option name"
 msgstr "%s: el nom de l'opció no és vàlid"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "«%s»: no és un identificador vàlid"
@@ -236,7 +225,7 @@ msgstr "nombre octal no vàlid"
 msgid "invalid hex number"
 msgstr "nombre hexadecimal no vàlid"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "nombre no vàlid"
 
@@ -250,90 +239,95 @@ msgstr "%s: especificació de senyal no vàlida"
 msgid "`%s': not a pid or valid job spec"
 msgstr "«%s»: pid o especificació de feina no vàlids"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: variable de només lectura"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: no es pot assignar"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s fora del domini"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s fora del domini"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: no existeix tal feina"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: no hi ha control de feines"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "no hi ha control de feines"
 
 # cd .. en un intèrpret restringit
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: restringit"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "restringit"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: no és una ordre interna de l'intèrpret"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "error d'escriptura: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "error en establir els atributs del terminal: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "error en obtenir els atributs del terminal: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: error en obtenir el directori actual: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: l'especificació de feina és ambigua"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "aquesta versió no té ajuda disponible"
 
 # unset UID
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: no es pot suprimir: %s de només lectura"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: no es pot suprimir"
@@ -343,109 +337,109 @@ msgstr "%s: no es pot suprimir"
 msgid "%s: invalid action name"
 msgstr "%s: nom d'acció no vàlid"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: no hi ha especificació de compleció"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "atenció: l'opció -F pot no funcionar com us espereu"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "atenció: l'opció -C pot no funcionar com us espereu"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "no s'està executant una funció de compleció"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "només es pot utilitzar en una funció"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "no és possible usar «-f» per convertir en funció"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: funció de només lectura"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: una variable referència no pot ser un vector"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: no es permeten autoreferències en variables referència"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: referència circular"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "«%s»: la variable referència conté un nom de variable no vàlid"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "no és possible usar «-f» per convertir en funció"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: funció de només lectura"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr ""
-"%s: es desaconsella l'assignació múltiple en vectors utilitzant cometes"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: no és possible destruir variables vector d'aquesta manera"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: no és possible convertir un vector associatiu en indexat"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: es desaconsella l'assignació múltiple en vectors utilitzant cometes"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "no es poden carregar biblioteques dinàmicament"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "no es pot obrir l'objecte compartit %s: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "no s'ha trobat %s a l'objecte compartit %s: %s"
 
-#: builtins/enable.def:388
-#, fuzzy, c-format
+# help enable
+#: builtins/enable.def:422
+#, c-format
 msgid "%s: dynamic builtin already loaded"
-msgstr "%s: no s'ha carregat dinàmicament"
+msgstr "%s: ordre interna dinàmica ja carregada"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "l'intent de carregar %s ha fallat (%d): no carregat"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: no s'ha carregat dinàmicament"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: no es pot eliminar: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: és un directori"
@@ -460,7 +454,7 @@ msgstr "%s: no és un fitxer ordinari"
 msgid "%s: file is too large"
 msgstr "%s: el fitxer és massa gran"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: no es poden executar fitxers binaris"
@@ -549,20 +543,20 @@ msgid ""
 "'\n"
 "\n"
 msgstr ""
+"'\n"
+"\n"
 
 #: builtins/help.def:185
 #, c-format
-msgid ""
-"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"no hi ha ajuda sobre «%s».  Proveu «help help», «man -k %s» o «info %s»."
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgstr "no hi ha ajuda sobre «%s».  Proveu «help help», «man -k %s» o «info %s»."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: no es pot obrir: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -582,21 +576,21 @@ msgstr ""
 "Un asterisc (*) significa que l'ordre està deshabilitada.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "no és possible usar més d'una opció d'entre -anrw"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "posició a l'historial"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: la marca horària no és vàlida"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: ha fallat l'expansió de l'historial"
@@ -619,78 +613,78 @@ msgstr "%s: els arguments han de ser ids de processos o feines"
 msgid "Unknown error"
 msgstr "Error desconegut"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "s'esperava una expressió"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: no és un vector indexat"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: l'especificació de descriptor de fitxer no és vàlida"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: el descriptor de fitxer no és vàlid: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: el nombre de línies no és vàlid"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: l'origen del vector no és vàlid"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: el quàntum de retorn no és vàlid"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "nom de variable vector en blanc"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "fa falta suport per a variables vector"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "«%s»: falta un caràcter de format"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "«%c»: l'especificació de format de temps no és vàlida"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "«%c»: el caràcter de format no és vàlid"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "atenció: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "problema en interpretar el format: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "falta un dígit hexadecimal a \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "falta un dígit Unicode a \\%c"
@@ -732,16 +726,13 @@ 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 ""
-"Mostra la llista actual de directoris recordats.  Els directoris són "
-"afegits\n"
+"Mostra la llista actual de directoris recordats.  Els directoris són afegits\n"
 "    a la llista mitjançant l'ordre «pushd»; podeu recórrer la llista de\n"
 "    directoris cap enrere amb l'ordre «popd».\n"
 "\n"
@@ -789,8 +780,7 @@ msgid ""
 msgstr ""
 "Afegeix un directori al capdamunt de la pila de directoris, o fa girar la\n"
 "    llista, de manera que al capdamunt de la pila hi queda el directori de\n"
-"    treball corrent.  Sense arguments, intercanvia els dos directoris de "
-"més\n"
+"    treball corrent.  Sense arguments, intercanvia els dos directoris de més\n"
 "    amunt.\n"
 "\n"
 "    Opcions:\n"
@@ -855,12 +845,12 @@ msgstr ""
 "    Podeu veure el contingut de la pila de directoris amb l'ordre «dirs»."
 
 # read -t -5
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: el límit de temps no és vàlid"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "error de lectura: %d: %s"
@@ -874,7 +864,7 @@ msgstr "només es permet fer «return» des d'una funció o script"
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "no és possible suprimir una funció i una variable alhora"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: no és una variable vector"
@@ -894,12 +884,12 @@ msgstr "%s: no es pot exportar"
 msgid "shift count"
 msgstr "nombre de «shifts»"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "no es poden activar i desactivar opcions de forma simultània"
 
 # shopt -s foo
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: l'opció de l'intèrpret no és vàlida"
@@ -969,16 +959,16 @@ msgstr "%s: el límit no és vàlid"
 msgid "`%c': bad command"
 msgstr "«%c»: ordre errònia"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: no es pot obtenir el límit: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "límit"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: no es pot modificar el límit: %s"
@@ -999,7 +989,7 @@ msgstr "«%c»: l'operador de mode simbòlic no és vàlid"
 msgid "`%c': invalid symbolic mode character"
 msgstr "«%c»: el mode simbòlic conté caràcters no vàlids"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " línia "
 
@@ -1020,100 +1010,110 @@ msgstr "Avortant..."
 msgid "INFORM: "
 msgstr "INFORMACIÓ: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "atenció: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "error no identificat"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "tipus d'ordre erroni"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "connector erroni"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "salt erroni"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: variable no definida"
 
 # SIGALRM
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\atemps esgotat mentre s'esperaven dades: autodesconnexió\n"
 
 # error intern
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "no s'ha pogut redirigir l'entrada estàndard des de /dev/null: %s"
 
 # error intern
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: «%c»: el caràcter de format no és vàlid"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: el coprocés [%d:%s] encara existeix"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "error de canonada"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: excedit el nombre màxim d'avaluacions imbricades (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: excedit el nombre màxim d'imbricacions per a «source» (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: excedit el nombre màxim de funcions imbricades (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: restricció: no podeu especificar «/» en noms d'ordres"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: no s'ha trobat l'ordre"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: no es pot executar: no s'ha trobat un fitxer necessari"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: intèrpret erroni"
 
 # error intern
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: no es pot executar el fitxer binari: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "«%s»: és una ordre interna especial"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "no s'ha pogut duplicar l'fd %d com a fd %d"
@@ -1126,72 +1126,70 @@ msgstr "excedit el nivell màxim de recursivitat per a expressions"
 msgid "recursion stack underflow"
 msgstr "«underflow» a la pila de recursivitat"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "error de sintaxi a l'expressió"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "intent d'assignació a una no-variable"
 
-#: expr.c:530
-#, fuzzy
+#: expr.c:531
 msgid "syntax error in variable assignment"
-msgstr "error de sintaxi a l'expressió"
+msgstr "error de sintaxi en una assignació de variable"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "divisió per 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "bug: el component «expassign» és erroni"
 
 # echo $((4 > 5 ? 0))
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "falta un caràcter «:» a l'expressió condicional"
 
 # echo $((4 ** -1))
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "exponent menor que 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "fa falta un identificador després del pre-increment o pre-decrement"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "falta un caràcter «)»"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "error de sintaxi: s'esperava un operand"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "error de sintaxi: l'operador aritmètic no és vàlid"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (l'element erroni és «%s»)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "la base aritmètica no és vàlida"
 
-#: expr.c:1582
-#, fuzzy
+#: expr.c:1587
 msgid "invalid integer constant"
-msgstr "%s: el nombre de línies no és vàlid"
+msgstr "nombre enter invàlid"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "el valor de la base és massa gran"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: expressió errònia\n"
@@ -1200,7 +1198,7 @@ msgstr "%s: expressió errònia\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: els directoris superiors són inaccessibles"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "no s'ha pogut restablir el mode «nodelay» per a l'fd %d"
@@ -1219,220 +1217,219 @@ msgstr "save_bash_input: ja existia un «buffer» per al nou fd %d"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp de la canonada"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
-msgstr ""
+msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
-msgstr ""
+msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "el pid bifurcat %d apareix a la feina en execució %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "s'elimina la feina aturada %d amb grup de procés %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: el pid %5ld (%s) està marcat com a viu"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: no existeix tal pid"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Senyal %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Fet"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Aturat"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Aturat(%s)"
 
 # ha de tenir menys de 10 caràcters o no queda alineat
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Funcionant"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Fet(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Sortida %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Estat desconegut"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(s'ha bolcat la memòria)"
 
 # wd = working directory
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (dt: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "setpgid (de %ld a %ld) per al procés inferior"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: el pid %ld no és un fill d'aquest intèrpret"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
-msgstr "wait_for: No es té constància del procés %ld"
+msgstr "wait_for: No hi ha constància del procés %ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: la feina %d està aturada"
 
-#: jobs.c:3564
-#, fuzzy, c-format
+#: jobs.c:3551
+#, c-format
 msgid "%s: no current jobs"
-msgstr "%s: no existeix tal feina"
+msgstr "%s: no hi ha feines en curs"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: la feina ha acabat"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: la feina %d ja es troba en segon pla"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: s'activa «WNOHANG» per a evitar un bloqueig indefinit"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s línia %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (s'ha bolcat la memòria)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(dt ara: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp ha fallat"
 
-#: jobs.c:4447
-#, fuzzy
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: disciplina de línia"
+msgstr "initialize_job_control: no s'està executant el control de feines"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: disciplina de línia"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "no s'ha pogut establir el grup de procés del terminal (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "aquesta sessió no té control de feines"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: asserció fallida: %s\n"
 
 # error intern i el \r provoca warnings
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
 "malloc: %s:%d: assertion botched\r\n"
 msgstr ""
+"\\r\n"
+"malloc: %s:%d: asserció mal executada\\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "desconegut"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: bloc abatussat a la llista de disponibles"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: cridat amb un argument de bloc ja alliberat"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: cridat amb un argument bloc no assignat"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: underflow detectat; mh_nbytes fora del domini"
 
-#: lib/malloc/malloc.c:1001
-#, fuzzy
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
-msgstr "free: underflow detectat; mh_nbytes fora del domini"
+msgstr "free: underflow detectat; la variable magic8 està corrompuda"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: les mides inicial i final del fragment difereixen"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: cridat amb un argument de bloc no assignat"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: underflow detectat: mh_nbytes fora del domini"
 
-#: lib/malloc/malloc.c:1141
-#, fuzzy
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
-msgstr "realloc: underflow detectat: mh_nbytes fora del domini"
+msgstr "realloc: underflow detectat: la variable magic8 està corrumpuda"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: les mides inicial i final del fragment difereixen"
 
@@ -1474,22 +1471,22 @@ msgstr "%s: la ubicació remota no és vàlida"
 msgid "network operations not supported"
 msgstr "les operacions de xarxa no estan suportades"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: no s'ha pogut canviar el local (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: no s'ha pogut canviar el local (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: no s'ha pogut canviar el local (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: no s'ha pogut canviar el local (%s): %s"
@@ -1507,142 +1504,138 @@ msgstr "Teniu correu nou a $_"
 msgid "The mail in %s has been read\n"
 msgstr "El correu a %s ha estat llegit\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "error de sintaxi: fa falta una expressió aritmètica"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "error de sintaxi: «;» inesperat"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "error de sintaxi: «((%s))»"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: tipus d'instrucció erroni %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "document literal a la línia %d delimitat per EOF (volia «%s»)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: instrucció de redirecció «%d» fora del domini"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: shell_input_line_size (%zu) excedeix «SIZE_MAX» (%lu): línia "
-"truncada"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size (%zu) excedeix «SIZE_MAX» (%lu): línia truncada"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "excedit el nombre màxim de documents literals"
 
 # "echo $(echo" en un script
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "EOF inesperat mentre es cercava «%c»"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "EOF inesperat mentre es cercava «]]»"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "error de sintaxi a l'expressió condicional: element «%s» inesperat"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "error de sintaxi a l'expressió condicional"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "element «%s» inesperat, s'esperava «)»"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "s'esperava «)»"
 
 # [[ -d ]]
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "argument «%s» inesperat a un operador unari condicional"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "argument inesperat a un operador unari condicional"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "element «%s» inesperat, s'esperava un operador binari condicional"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "s'esperava un operador binari condicional"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "argument inesperat «%s» a un operador binari condicional"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "argument inesperat a un operador binari condicional"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "element «%c» inesperat en una ordre condicional"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "element «%s» inesperat en una ordre condicional"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "element %d inesperat en una ordre condicional"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "error de sintaxi a prop de l'element inesperat «%s»"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "error de sintaxi a prop de «%s»"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "error de sintaxi: final de fitxer inesperat"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "error de sintaxi"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Useu \"%s\" per a abandonar l'intèrpret.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "EOF inesperat mentre es cercava un «)»"
 
@@ -1680,96 +1673,96 @@ msgstr "xtrace_set: el punter de fitxer és NUL"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: «%c»: el caràcter de format no és vàlid"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "descriptor de fitxer fora del domini"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: redirecció ambigua"
 
 # opció noclobber
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: no es pot escriure sobre un fitxer existent"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: restricció: no podeu redirigir la sortida"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "no s'ha pogut crear el fitxer temporal per a un document literal: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: no és possible assignar un fd a una variable"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port no està suportat si no hi ha xarxa"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "error de redirecció: no es pot duplicar l'fd"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "no s'ha trobat el directori /tmp, sis-plau creeu-lo!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp ha de ser un nom de directori vàlid"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
+msgstr "el mode «pretty-printing» s'ignora en sessions interactives"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: l'opció no és vàlida"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "no s'ha pogut establir l'uid com a %d: uid effectiu %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "no s'ha pogut establir el gid com a %d: gid effectiu %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "no es pot iniciar el depurador; mode de depuració desactivat"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: És un directori"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "No teniu nom!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, versió %s-(%s)\n"
 
 #
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1778,324 +1771,321 @@ msgstr ""
 "Sintaxi:  %s [opció GNU llarga] [opció] ...\n"
 "          %s [opció GNU llarga] [opció] fitxer-script ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Opcions GNU llargues:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Opcions de l'intèrpret:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD, o -c ordre, o bé -O opció_intèrpret\t(només invocació)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s, o bé -o opció\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"Feu «%s -c \"help set\"» per a informació sobre les opcions de l'intèrpret.\n"
+msgstr "Feu «%s -c \"help set\"» per a informació sobre les opcions de l'intèrpret.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "Feu «%s -c help» per a obtenir informació sobre les ordres internes.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Feu servir l'ordre «bashbug» per a informar de «bugs».\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "pàgina web de bash: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Ajuda general per a programari GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: l'operació no és vàlida"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Senyal no fiable"
 
 # Senyals POSIX
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Desconnexió"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Interrupció"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Sortida"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Instrucció il·legal"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "Traçat/trampa BPT"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "Instrucció «ABORT»"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "Instrucció «EMT»"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Excepció de coma flotant"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Mort"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Error de bus"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Violació de segment"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Crida de sistema errònia"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Canonada trencada"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Alarma"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Finalitzat"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Estat E/S urgent"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Aturat (senyal)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Continua"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Procés inferior mort o aturat"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Aturat (entrada tty)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Aturat (sortida tty)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "E/S a punt"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "Limitació de CPU"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Limitació de fitxers"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Alarma (virtual)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Alarma (perfil)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Canvi de finestra"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Bloqueig de registre"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Senyal d'usuari 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Senyal d'usuari 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "Dades HFT d'entrada pendents"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "fallada imminent de l'alimentació"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "fallada imminent del sistema"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "migració del procés a una altra CPU"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "error de programació"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "mode de monitoratge HFT concedit"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "mode de monitoratge HFT retractat"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "seqüència d'àudio HFT completada"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Petició d'informació"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Senyal Desconegut #%d"
 
 # missatge similar a subst.c:75XX
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "substitució errònia: falta un «%s» a %s"
 
 # foo[1]=(1 2 3)
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: no és possible assignar llistes a l'element d'un vector"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "no s'ha pogut crear la canonada per a la substitució de procés"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "no s'ha pogut crear el fill per a la substitució de procés"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "no s'ha pogut obrir la canonada %s per a lectura"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "no s'ha pogut obrir la canonada %s per a escriptura"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "no s'ha pogut duplicar la canonada %s com a fd %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "substitució d'ordre: s'ignora un octet nul en l'entrada"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "no s'ha pogut crear la canonada per a la substitució d'ordre"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "no s'ha pogut crear un fill per a la substitució d'ordre"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: no s'ha pogut duplicar la canonada com a fd 1"
 
 # buscar context
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: el nom de la variable referenciada no és vàlid"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: expansió indirecta no vàlida"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: nom de variable no vàlid"
 
-#: subst.c:7256
-#, fuzzy, c-format
+#: subst.c:7478
+#, c-format
 msgid "%s: parameter not set"
-msgstr "%s: paràmetre nul o no definit"
+msgstr "%s: paràmetre no definit"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: paràmetre nul o no definit"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: expressió de subcadena < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: substitució errònia"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: no és possible assignar d'aquesta manera"
 
-#: subst.c:9814
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
+#: subst.c:10111
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "en futures versions de bash s'avaluarà com a substitució aritmètica"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "subtitució errònia: falta un caràcter «`» final a %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "cap coincidència: %s"
@@ -2118,139 +2108,140 @@ msgstr "s'esperava «)»"
 msgid "`)' expected, found %s"
 msgstr "s'esperava «)», s'ha trobat %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: s'esperava un operador binari"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: s'esperava un operador unari"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "falta un «]»"
 
-#: test.c:899
-#, fuzzy, c-format
+#: test.c:914
+#, c-format
 msgid "syntax error: `%s' unexpected"
-msgstr "error de sintaxi: «;» inesperat"
+msgstr "error de sintaxi: «%s» inesperat"
 
 #: trap.c:220
 msgid "invalid signal number"
 msgstr "el número de senyal no és vàlid"
 
-#: trap.c:325
-#, fuzzy, c-format
+#: trap.c:323
+#, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
-msgstr "eval: excedit el nombre màxim d'avaluacions imbricades (%d)"
+msgstr "trap handler: excedit el nivell màxim d'interceptació de senyals (%d)"
 
 # internal warning
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: valor incorrecte a trap_list[%d]: %p"
 
 # internal warning
-#: trap.c:418
+#: trap.c:416
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: el gestor de senyal és SIG_DFL, em re-envio %d (%s) a mi mateix"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: senyal erroni %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "error en importar la definició de funció de «%s»"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "el nivell de l'intèrpret (%d) és massa elevat, es restableix a 1"
 
 # error intern
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
-msgstr ""
+msgstr "make_local_variable: no existeix un context de funció en l'àmbit actual"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: no és possible assignar un valor a la variable"
 
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: no es pot heretar un valor de tipus incompatible"
+
 # buscar context
-#: variables.c:3475
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: assignació numèrica a una variable referència"
 
 # error intern
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
-msgstr ""
+msgstr "all_local_variables: no existeix un context de función en l'àmbit actual"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "el paràmetre «exportstr» de la variable %s és nul"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "el caràcter %d en el paràmetre «exportstr» de %s no és vàlid"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "falta un «=» en el paràmetre «exportstr» de %s"
 
 # error intern
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
+msgstr "pop_var_context: la capçalera de shell_variables no és un context de funció"
 
 # error intern
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
-msgstr ""
+msgstr "pop_var_context: no existeix un context de global_variables"
 
 # error intern
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
+msgstr "pop_scope: la capçaleras shell_variables no és un àmbit temporal d'entorn"
 
 # error intern
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: no s'ha pogut obrir com a FITXER"
 
 # error intern
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
-msgstr ""
+msgstr "%s: %s: valor invàlid per a una traça de descriptor de fitxer"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: el valor de compatibilitat és fora del domini"
 
 #: version.c:46 version2.c:46
-#, fuzzy
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2012 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
 msgstr ""
 "Llicència GPLv3+: GNU GPL versió 3 o posterior\n"
 "  <http://gnu.org/licenses/gpl.html>\n"
@@ -2262,8 +2253,7 @@ msgstr "GNU bash, versió %s (%s)\n"
 
 #: version.c:91 version2.c:91
 msgid "This is free software; you are free to change and redistribute it."
-msgstr ""
-"Aquest programa és lliure; sou lliures de modificar-lo i redistribuir-lo."
+msgstr "Aquest programa és lliure; sou lliures de modificar-lo i redistribuir-lo."
 
 #: version.c:92 version2.c:92
 msgid "There is NO WARRANTY, to the extent permitted by law."
@@ -2301,12 +2291,8 @@ msgstr "unalias [-a] nom [nom ...]"
 
 # help bind
 #: 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]"
-msgstr ""
-"bind [-lpsvPSVX] [-m mapa] [-f fitxer] [-q nom] [-u nom] [-r tecles] [-x "
-"tecles:ordre-intèrpret] [tecles:funció-readline o ordre-readline]"
+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] [-f fitxer] [-q nom] [-u nom] [-r tecles] [-x tecles:ordre-intèrpret] [tecles:funció-readline o ordre-readline]"
 
 #: builtins.c:56
 msgid "break [n]"
@@ -2337,14 +2323,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] ordre [arg ...]"
 
 #: builtins.c:78
-#, fuzzy
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgilnrtux] [-p] [nom[=valor] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [nom[=valor] ...] o declare -p [-aAfFilnrtux] [nom ...]"
 
 #: builtins.c:80
-#, fuzzy
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgilnrtux] [-p] nom[=valor] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] nom[=valor] ... o typeset -p [-aAfFilnrtux] [nom ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2367,14 +2351,12 @@ msgid "eval [arg ...]"
 msgstr "eval [arg ...]"
 
 #: builtins.c:96
-#, fuzzy
 msgid "getopts optstring name [arg ...]"
-msgstr "getopts cadena nom [arg]"
+msgstr "getopts cadena nom [arg ...]"
 
 #: builtins.c:98
-#, fuzzy
 msgid "exec [-cl] [-a name] [command [argument ...]] [redirection ...]"
-msgstr "exec [-cl] [-a nom] [ordre [arguments ...]] [redirecció ...]"
+msgstr "exec [-cl] [-a nom] [ordre [argument ...]] [redirecció ...]"
 
 #: builtins.c:100
 msgid "exit [n]"
@@ -2405,12 +2387,8 @@ msgid "help [-dms] [pattern ...]"
 msgstr "help [-dms] [patró ...]"
 
 #: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d offset] [n] o history -anrw [fitxer] o history -ps arg "
-"[arg...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d offset] [n] o history -anrw [fitxer] o history -ps arg [arg...]"
 
 #: builtins.c:127
 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2421,31 +2399,24 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
 msgstr "disown [-h] [-ar] [feina ... | pid ...]"
 
 #: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s senyal | -n númsenyal | -senyal] pid | feina ... o kill -l [senyal]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s senyal | -n númsenyal | -senyal] pid | feina ... o kill -l [senyal]"
 
 #: builtins.c:136
 msgid "let arg [arg ...]"
 msgstr "let arg [arg ...]"
 
 #: builtins.c:138
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
-msgstr ""
-"read [-ers] [-a vector] [-d delim] [-i text] [-n núm] [-N núm] [-p introd] [-"
-"t espera] [-u fd] [nom ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr "read [-ers] [-a vector] [-d delim] [-i text] [-n núm] [-N núm] [-p introd] [-t espera] [-u fd] [nom ...]"
 
 #: builtins.c:140
 msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o nom-opció] [--] [arg ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o nom-opció] [--] [-] [arg ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2492,17 +2463,16 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] nom [nom ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [límit]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [límit]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
 msgstr "umask [-p] [-S] [mode]"
 
 #: builtins.c:177
-#, fuzzy
 msgid "wait [-fn] [-p var] [id ...]"
-msgstr "wait [-n] [id ...]"
+msgstr "wait [-fn] [-p var] [id ...]"
 
 #: builtins.c:181
 msgid "wait [pid ...]"
@@ -2529,19 +2499,16 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case PARAULA in [PATRÓ [| PATRÓ]...) ORDRES ;;]... esac"
 
 #: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if ORDRES; then ORDRES; [ elif ORDRES; then ORDRES; ]... [ else ORDRES; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if ORDRES; then ORDRES; [ elif ORDRES; then ORDRES; ]... [ else ORDRES; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while ORDRES; do ORDRES; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while ORDRES; do ORDRES-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until ORDRES; do ORDRES; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until ORDRES; do ORDRES-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -2592,45 +2559,24 @@ msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v var] format [arguments]"
 
 #: builtins.c:231
-#, fuzzy
-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] [-DE] [-o opció] [-A acció] [-G patró] [-W "
-"llista]  [-F funció] [-C ordre] [-X filtre] [-P prefix] [-S sufix] [nom ...]"
+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 opció] [-A acció] [-G patró] [-W paraules] [-F funció] [-C ordre] [-X patró] [-P prefix] [-S sufix] [nom ...]"
 
 #: builtins.c:235
-#, fuzzy
-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 opció] [-A acció] [-G patró] [-W paraules]\n"
-"[-F funció] [-C ordre] [-X filtre] [-P prefix] [-S sufix] [paraula]"
+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 opció] [-A acció] [-G patró] [-W paraules] [-F funció] [-C ordre] [-X filtre] [-P prefix] [-S sufix] [paraula]"
 
 #: builtins.c:239
-#, fuzzy
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
-msgstr "compopt [-o|+o opció] [-DE] [nom ...]"
+msgstr "compopt [-o|+o opció] [-DEI] [nom ...]"
 
 #: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d delim] [-n nombre] [-O origen] [-s nombre] [-t] [-u fd] [-C "
-"callback] [-c quàntum] [vector]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d delim] [-n nombre] [-O origen] [-s nombre] [-t] [-u fd] [-C callback] [-c quàntum] [vector]"
 
 #: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n nombre] [-O origen] [-s nombre] [-t] [-u fd] [-C callback] [-c "
-"quàntum] [vector]"
+msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray  [-d delim] [-n nombre] [-O origen] [-s nombre] [-t] [-u fd] [-C callback] [-c quàntum] [vector]"
 
 #: builtins.c:256
 msgid ""
@@ -2647,8 +2593,7 @@ msgid ""
 "      -p\tprint all defined aliases in a reusable format\n"
 "    \n"
 "    Exit Status:\n"
-"    alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+"    alias returns true unless a NAME is supplied for which no alias has been\n"
 "    defined."
 msgstr ""
 "Defineix o mostra àlies.\n"
@@ -2695,30 +2640,25 @@ msgid ""
 "    Options:\n"
 "      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
 "                         command.  Acceptable keymap names are emacs,\n"
-"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
 "                         vi-command, and vi-insert.\n"
 "      -l                 List names of functions.\n"
 "      -P                 List function names and bindings.\n"
 "      -p                 List functions and bindings in a form that can be\n"
 "                         reused as input.\n"
-"      -S                 List key sequences that invoke macros and their "
-"values\n"
-"      -s                 List key sequences that invoke macros and their "
-"values\n"
+"      -S                 List key sequences that invoke macros and their values\n"
+"      -s                 List key sequences that invoke macros and their values\n"
 "                         in a form that can be reused as input.\n"
 "      -V                 List variable names and values\n"
 "      -v                 List variable names and values in a form that can\n"
 "                         be reused as input.\n"
 "      -q  function-name  Query about which keys invoke the named function.\n"
-"      -u  function-name  Unbind all keys which are bound to the named "
-"function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named function.\n"
 "      -r  keyseq         Remove the binding for KEYSEQ.\n"
 "      -f  filename       Read key bindings from FILENAME.\n"
 "      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
 "    \t\t\t\tKEYSEQ is entered.\n"
-"      -X                 List key sequences bound with -x and associated "
-"commands\n"
+"      -X                 List key sequences bound with -x and associated commands\n"
 "                         in a form that can be reused as input.\n"
 "    \n"
 "    Exit Status:\n"
@@ -2734,8 +2674,7 @@ msgstr ""
 "    Opcions:\n"
 "      -m mapa     Usa MAPA com a mapa de tecles mentre duri aquesta\n"
 "                  ordre.  Els noms de mapes acceptables són emacs, emacs-\n"
-"                  standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-"
-"command,\n"
+"                  standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-command,\n"
 "                  i vi-insert.\n"
 "      -l          Mostra els noms de les funcions\n"
 "      -P          Mostra els noms de les funcions i els vincles de tecla.\n"
@@ -2744,15 +2683,13 @@ msgstr ""
 "      -S          Mostra les seqüències de tecles que invoquen macros i els\n"
 "                  seus valors respectius.\n"
 "      -s          Mostra les seqüències de tecles que invoquen macros i els\n"
-"                  seus valors respectius en un format que es pot "
-"reutilitzar\n"
+"                  seus valors respectius en un format que es pot reutilitzar\n"
 "                  com a entrada.\n"
 "      -V          Mostra els noms de les variables i els seus valors.\n"
 "      -v          Mostra els noms de les variables i els seus respectius\n"
 "                  valors en un format que es pot reutilitzar com a entrada.\n"
 "      -q funció   Consulta quines tecles invoquen la funció especificada.\n"
-"      -u funció   Desvincula les tecles vinculades a la funció "
-"especificada.\n"
+"      -u funció   Desvincula les tecles vinculades a la funció especificada.\n"
 "      -r tecles   Elimina el vincle associat a TECLES.\n"
 "      -f fitxer   Obté els vincles de tecles de FITXER.\n"
 "      -x tecles:ordre     Fa que s'executi ORDRE quan es prem TECLES.\n"
@@ -2802,14 +2739,12 @@ msgstr ""
 "    L'estat de sortida és 0 excepte si N és més petit que 1."
 
 #: builtins.c:354
-#, fuzzy
 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"
@@ -2823,8 +2758,7 @@ msgstr ""
 "    pròpia funció.\n"
 "\n"
 "    Estat de sortida:\n"
-"    Torna l'estat de sortida de ORDRE-INTERNA, o fals si ORDRE-INTERNA no "
-"és\n"
+"    Torna l'estat de sortida de ORDRE-INTERNA, o fals si ORDRE-INTERNA no és\n"
 "    una ordre interna."
 
 # help caller
@@ -2860,22 +2794,16 @@ msgstr ""
 msgid ""
 "Change the shell working directory.\n"
 "    \n"
-"    Change the current directory to DIR.  The default DIR is the value of "
-"the\n"
+"    Change the current directory to DIR.  The default DIR is the value of the\n"
 "    HOME shell variable.\n"
 "    \n"
-"    The variable CDPATH defines the search path for the directory "
-"containing\n"
-"    DIR.  Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-"    A null directory name is the same as the current directory.  If DIR "
-"begins\n"
+"    The variable CDPATH defines the search path for the directory containing\n"
+"    DIR.  Alternative directory names in CDPATH are separated by a colon (:).\n"
+"    A null directory name is the same as the current directory.  If DIR begins\n"
 "    with a slash (/), then CDPATH is not used.\n"
 "    \n"
-"    If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-"    the word is assumed to be  a variable name.  If that variable has a "
-"value,\n"
+"    If the directory is not found, and the shell option `cdable_vars' is set,\n"
+"    the word is assumed to be  a variable name.  If that variable has a value,\n"
 "    its value is used for DIR.\n"
 "    \n"
 "    Options:\n"
@@ -2891,13 +2819,11 @@ msgid ""
 "    \t\tattributes as a directory containing the file attributes\n"
 "    \n"
 "    The default is to follow symbolic links, as if `-L' were specified.\n"
-"    `..' is processed by removing the immediately previous pathname "
-"component\n"
+"    `..' is processed by removing the immediately previous pathname component\n"
 "    back to a slash or the beginning of DIR.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+"    Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
 "    -P is used; non-zero otherwise."
 msgstr ""
 "Canvia el directori de treball de l'intèrpret.\n"
@@ -2910,8 +2836,7 @@ msgstr ""
 "    punts (:).  Un nom de directori nul s'interpreta com al directori\n"
 "    actual.  Si DIR comença amb una barra, aleshores no s'usa CDPATH.\n"
 "\n"
-"    Si no es troba el directori, i l'opció de l'intèrpret «cdable_vars» "
-"està\n"
+"    Si no es troba el directori, i l'opció de l'intèrpret «cdable_vars» està\n"
 "    activada, aleshores la paraula s'interpreta com a un nom de variable.\n"
 "    Si la variable especificada té algun valor, aquest valor s'usa en lloc\n"
 "    de DIR.\n"
@@ -2919,8 +2844,7 @@ msgstr ""
 "    Opcions:\n"
 "        -L      força el seguiment d'enllaços simbòlics: resol els enllaços\n"
 "                simbòlics que conté DIR després de processar «..»\n"
-"        -P      usa l'estructura de directoris física sense seguir "
-"possibles\n"
+"        -P      usa l'estructura de directoris física sense seguir possibles\n"
 "                enllaços simbòlics: resol els enllaços simbòlics que conté\n"
 "                DIR abans de processar «..»\n"
 "        -e      amb l'opció -P, si no es pot determinar el directori de\n"
@@ -2929,8 +2853,7 @@ msgstr ""
 "                estesos com a directoris que contenen els atributs del\n"
 "                fitxer\n"
 "\n"
-"    Per defecte, se segueixen els enllaços simbòlics, com si "
-"especifiquéssiu\n"
+"    Per defecte, se segueixen els enllaços simbòlics, com si especifiquéssiu\n"
 "    l'opció «-L».  El component «..» es processa eliminant el component del\n"
 "    camí immediatament previ fins a la primera barra o fins al principi de\n"
 "    DIR.\n"
@@ -3012,8 +2935,7 @@ msgid ""
 "Execute a simple command or display information about commands.\n"
 "    \n"
 "    Runs COMMAND with ARGS suppressing  shell function lookup, or display\n"
-"    information about the specified COMMANDs.  Can be used to invoke "
-"commands\n"
+"    information about the specified COMMANDs.  Can be used to invoke commands\n"
 "    on disk when a function with the same name exists.\n"
 "    \n"
 "    Options:\n"
@@ -3044,7 +2966,6 @@ msgstr ""
 
 # help declare
 #: builtins.c:490
-#, fuzzy
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -3077,8 +2998,7 @@ msgid ""
 "    Variables with the integer attribute have arithmetic evaluation (see\n"
 "    the `let' command) performed when the variable is assigned a value.\n"
 "    \n"
-"    When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+"    When used in a function, `declare' makes NAMEs local, as with the `local'\n"
 "    command.  The `-g' option suppresses this behavior.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3096,18 +3016,20 @@ msgstr ""
 "                el nom del fitxer, en mode de depuració)\n"
 "      -g        crea variables globals quan s'utilitza dins d'una funció,\n"
 "                altrament s'ignora\n"
+"      -I        en crear una variable local, hereda els atributs i valor de \n"
+"                la variable del mateix nom d'un àmbit anterior\n"
 "      -p        mostra els atributs i el valor de cada NOM\n"
 "\n"
 "    Opcions que estableixen atributs:\n"
 "      -a        per a fer NOMs vectors indexats (si estan suportats)\n"
 "      -A        per a fer NOMs vectors associatius (si estan suportats)\n"
 "      -i        per a assignar l'atribut de nombre enter a NOMs\n"
-"      -l        per a convertir NOMs a minúscules en l'assignació\n"
+"      -l        per a convertir els valors de NOMs a minúscules en l'assignació\n"
 "      -n        per a fer NOM una referència a la variable que té per nom\n"
 "                el seu valor\n"
 "      -r        per a fer NOMs variables de només lectura\n"
 "      -t        per a assignar l'atribut «traça» a NOMs\n"
-"      -u        per a convertir NOMs a majúscules en l'assignació\n"
+"      -u        per a convertir els valors de NOMs a majúscules en l'assignació\n"
 "      -x        per a exportar NOMs\n"
 "\n"
 "    Si feu servir «+» en lloc de «-», elimina l'atribut.\n"
@@ -3116,10 +3038,8 @@ msgstr ""
 "    aritmèticament (vegeu l'ordre «let») quan s'assigna un valor a la\n"
 "    variable.\n"
 "\n"
-"    Quan s'usa en una funció, «declare» converteix NOMs en variables "
-"locals,\n"
-"    igual que l'ordre «local».  L'opció «-g» inhabilita aquest "
-"comportament.\n"
+"    Quan s'usa en una funció, «declare» converteix NOMs en variables locals,\n"
+"    igual que l'ordre «local».  L'opció «-g» suprimeix aquest comportament.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna èxit, excepte si rep una opció invàlida o es produeix un error."
@@ -3151,13 +3071,11 @@ msgid ""
 msgstr ""
 "Defineix variables locals.\n"
 "\n"
-"    Crea una variable local anomenada NOM i li assigna VALOR.  OPCIÓ pot "
-"ser\n"
+"    Crea una variable local anomenada NOM i li assigna VALOR.  OPCIÓ pot ser\n"
 "    qualsevol opció que «declare» admeti.\n"
 "\n"
 "    Les variables locals només es poden utilitzar dins d'una funció; només\n"
-"    són visibles a dins de la funció on són definides i dins de les "
-"funcions\n"
+"    són visibles a dins de la funció on són definides i dins de les funcions\n"
 "    imbricades dins d'aquestes.\n"
 "\n"
 "    Estat de sortida:\n"
@@ -3165,12 +3083,10 @@ msgstr ""
 "    un error, o l'intèrpret no està executant una funció."
 
 #: builtins.c:557
-#, fuzzy
 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"
@@ -3194,11 +3110,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"
@@ -3214,8 +3128,7 @@ msgstr ""
 "       -e       activa la interpretació de seqüències d'escapada\n"
 "       -E       desactiva la interpretació de seqüències d'escapada\n"
 "\n"
-"    «echo» interpreta els següents caràcters escapats amb una barra "
-"inversa:\n"
+"    «echo» interpreta els següents caràcters escapats amb una barra inversa:\n"
 "       \\a       alerta (campana)\n"
 "       \\b       retrocés\n"
 "       \\c       suprimeix tota sortida ulterior\n"
@@ -3227,11 +3140,14 @@ msgstr ""
 "       \\t       tabulació horitzontal\n"
 "       \\v       tabulació vertical\n"
 "       \\\\       barra invertida\n"
-"       \\0nnn    caràcter corresponent al codi ASCII número NNN, on NNN és "
-"un\n"
+"       \\0nnn    caràcter corresponent al codi ASCII número NNN, on NNN és un\n"
 "                número octal de 0 a 3 dígits.\n"
 "       \\xHH     caràcter de 8 bits corresponent al valor HH, on HH és un\n"
 "                número hexadecimal d'1 o 2 dígits.\n"
+"       \\uHHHH   caràcter Unicode corresponent al valor hexadecimal HHHH, on\n"
+"                HHHH pot tenir de 1 a 4 dígits.\n"
+"       \\uHHHHHHHH  caràcter Unicode corresponent al valor hexadecimal HHHHHHHH,\n"
+"                on HHHHHHHH pot tenir de 1 a 8 dígits.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna èxit, tret que es produeixi un error d'escriptura."
@@ -3288,15 +3204,13 @@ msgstr ""
 "Habilita o inhabilita ordres internes de l'intèrpret.\n"
 "\n"
 "    Habilita o inhabilita ordres internes de l'intèrpret.  Inhabilitar una\n"
-"    ordre interna permet executar una ordre que es troba en el disc i que "
-"té\n"
+"    ordre interna permet executar una ordre que es troba en el disc i que té\n"
 "    el mateix nom que l'ordre interna, sense necessitat d'escriure'n la\n"
 "    ubicació completa.\n"
 "\n"
 "    Opcions:\n"
 "      -a        mostra una llista d'ordres internes indicant-ne l'estat\n"
-"      -n        inhabilita NOM o bé mostra una llista de les ordres "
-"internes\n"
+"      -n        inhabilita NOM o bé mostra una llista de les ordres internes\n"
 "                que es troben inhabilitades\n"
 "      -p        mostra la llista en format reutilitzable\n"
 "      -s        mostra només les ordres internes «especials» Posix\n"
@@ -3317,8 +3231,7 @@ msgstr ""
 msgid ""
 "Execute arguments as a shell command.\n"
 "    \n"
-"    Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+"    Combine ARGs into a single string, use the result as input to the shell,\n"
 "    and execute the resulting commands.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3326,15 +3239,13 @@ msgid ""
 msgstr ""
 "Executa els arguments com una ordre.\n"
 "\n"
-"    Combina ARGs en una única cadena, utilitza el resultat com a entrada "
-"per\n"
+"    Combina ARGs en una única cadena, utilitza el resultat com a entrada per\n"
 "    a l'intèrpret i executa les ordres resultants.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna l'estat de sortida de l'ordre, o èxit si l'ordre és nul·la."
 
 #: builtins.c:652
-#, fuzzy
 msgid ""
 "Parse option arguments.\n"
 "    \n"
@@ -3374,33 +3285,28 @@ msgid ""
 "    Returns success if an option is found; fails if the end of options is\n"
 "    encountered or an error occurs."
 msgstr ""
-"Interpreta arguments que representen opcions.\n"
+"Processa arguments que representen opcions.\n"
 "\n"
-"    getopts és utilitzat per les utilitats de bash per a interpretar els\n"
+"    getopts és utilitzat per les utilitats de bash per a processar els\n"
 "    paràmetres posicionals com a opcions.\n"
 "\n"
 "    CADENA conté les lletres de les opcions a reconèixer; si una lletra va\n"
-"    seguida de dos punts, l'opció requereix un argument, que s'ha de "
-"separar\n"
-"    amb un espai en blanc.\n"
+"    seguida de dos punts, l'opció requereix un argument, que s'ha de separar\n"
+"    de l'opció amb un espai en blanc.\n"
 "\n"
-"    Cada cop que s'invoca, getopts posa l'opció successiva a la variable\n"
+"    Cada cop que s'invoca, getopts posa l'opció successiva a la variable\n"
 "    d'entorn $nom, inicialitzant nom si no existeix, i l'índex del següent\n"
 "    argument a la variable OPTIND.  La variable OPTIND s'inicialitza a 1\n"
-"    cada cop que s'invoca l'intèrpret o un script.  Quan una opció "
-"requereix\n"
+"    cada cop que s'invoca l'intèrpret o un script.  Quan una opció requereix\n"
 "    un argument, getopts col·loca l'argument a la variable OPTARG.\n"
 "\n"
-"    getopts pot informar d'errors de dues maneres.  Si el primer caràcter "
-"de\n"
-"    CADENA és un caràcter de dos punts (:), getopts entra en mode "
-"silenciós.\n"
+"    getopts pot informar d'errors de dues maneres.  Si el primer caràcter de\n"
+"    CADENA és un caràcter de dos punts (:), getopts entra en mode silenciós.\n"
 "    En aquest mode, no es mostra cap missatge d'error.  Si es detecta una\n"
 "    opció no vàlida, getopts col·loca el caràcter de l'opció a OPTARG.  Si\n"
 "    no es troba un argument requerit, getopts posa un ':' a NOM, i el\n"
 "    caràcter de l'opció trobada a OPTARG.  Si getopts no es troba en mode\n"
-"    silenciós, i es detecta una opció no vàlida, getopts posa un '?' a NOM "
-"i\n"
+"    silenciós, i es detecta una opció no vàlida, getopts posa un '?' a NOM i\n"
 "    elimina la variable OPTARG.  Si no troba un argument requerit, posa un\n"
 "    '?' a NOM, elimina OPTARG, i mostra un missatge de diagnòstic.\n"
 "\n"
@@ -3408,12 +3314,11 @@ msgstr ""
 "    d'error, encara que el primer caràcter de CADENA no siguin dos punts.\n"
 "    Per defecte, OPTERR té el valor 1.\n"
 "\n"
-"    Normalment, getopts interpreta els paràmetres posicionals ($0 - $9),\n"
-"    però si hi ha més arguments, s'interpreten aquests.\n"
+"    Normalment, getopts interpreta els paràmetres posicionals, però si\n"
+"    es proporcionen arguments com a valors ARG, s'intepreten aquests.\n"
 "\n"
 "    Estat de sortida:\n"
-"    Retorna èxit si es troba alguna opció; falla si s'arriba al final de "
-"les\n"
+"    Retorna èxit si es troba alguna opció; falla si s'arriba al final de les\n"
 "    opcions o si es produeix un error."
 
 #: builtins.c:694
@@ -3421,8 +3326,7 @@ msgid ""
 "Replace the shell with the given command.\n"
 "    \n"
 "    Execute COMMAND, replacing this shell with the specified program.\n"
-"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not "
-"specified,\n"
+"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,\n"
 "    any redirections take effect in the current shell.\n"
 "    \n"
 "    Options:\n"
@@ -3430,13 +3334,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 ""
 "Substitueix el procés de l'intèrpret per l'ordre especificada.\n"
 "\n"
@@ -3449,8 +3351,7 @@ msgstr ""
 "      -c        executa ORDRE en un entorn buit\n"
 "      -t        passa un guionet a ORDRE com a argument número zero\n"
 "\n"
-"    Si l'ordre no es pot executar i la sessió és no-interactiva, "
-"l'intèrpret\n"
+"    Si l'ordre no es pot executar i la sessió és no-interactiva, l'intèrpret\n"
 "    surt, excepte si l'opció «execfail» està habilitada.\n"
 "\n"
 "    Estat de sortida:\n"
@@ -3473,14 +3374,12 @@ msgstr ""
 msgid ""
 "Exit a login shell.\n"
 "    \n"
-"    Exits a login shell with exit status N.  Returns an error if not "
-"executed\n"
+"    Exits a login shell with exit status N.  Returns an error if not executed\n"
 "    in a login shell."
 msgstr ""
 "Abandona una sessió d'entrada.\n"
 "\n"
-"    Abandona una sessió d'entrada amb estat de sortida N.  Torna un error "
-"si\n"
+"    Abandona una sessió d'entrada amb estat de sortida N.  Torna un error si\n"
 "    no s'està executant en una sessió d'entrada."
 
 # help fc (hi ha un bug a la cadena original)
@@ -3488,15 +3387,13 @@ msgstr ""
 msgid ""
 "Display or execute commands from the history list.\n"
 "    \n"
-"    fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+"    fc is used to list or edit and re-execute commands from the history list.\n"
 "    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
 "    string, which means the most recent command beginning with that\n"
 "    string.\n"
 "    \n"
 "    Options:\n"
-"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then "
-"EDITOR,\n"
+"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then EDITOR,\n"
 "    \t\tthen vi\n"
 "      -l \tlist lines instead of editing\n"
 "      -n\tomit line numbers when listing\n"
@@ -3510,8 +3407,7 @@ msgid ""
 "    the last command.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success or status of executed command; non-zero if an error "
-"occurs."
+"    Returns success or status of executed command; non-zero if an error occurs."
 msgstr ""
 "Mostra o executa ordres de l'historial.\n"
 "\n"
@@ -3524,20 +3420,18 @@ msgstr ""
 "      -e EDITOR selecciona quin editor utilitzar.  Per defecte és el valor\n"
 "                de la variable FCEDIT, després el valor de EDITOR, i\n"
 "                finalment vi\n"
-"      -l\tmostra les línies en lloc d'editar-les\n"
-"      -n\tomet els números de línia a l'hora de mostrar la llista\n"
-"      -r\tinverteix l'ordre de les línies (més recents primer)\n"
+"      -l        mostra les línies en lloc d'editar-les\n"
+"      -n        omet els números de línia a l'hora de mostrar la llista\n"
+"      -r        inverteix l'ordre de les línies (més recents primer)\n"
 "\n"
-"    Amb el format «fc -s [pat=sub ...] [ordre]», ORDRE es re-executa "
-"després\n"
+"    Amb el format «fc -s [pat=sub ...] [ordre]», ORDRE es re-executa després\n"
 "    d'haver fet la substitució PAT=SUB.\n"
 "\n"
 "    Un àlies útil és r='fc -s', de manera que «r cc» executa l'última ordre\n"
 "    que comença per «cc» i «r» re-executa l'última ordre.\n"
 "\n"
 "    Estat de sortida:\n"
-"    Torna èxit o l'estat de l'última ordre executada; diferent de zero si "
-"es\n"
+"    Torna èxit o l'estat de l'última ordre executada; diferent de zero si es\n"
 "    produeix un error."
 
 #: builtins.c:764
@@ -3558,18 +3452,15 @@ msgstr ""
 "    considera com a corrent.\n"
 "\n"
 "    Estat de sortida:\n"
-"    L'estat de l'ordre que es mou al primer pla, o fallada si es produeix "
-"un\n"
+"    L'estat de l'ordre que es mou al primer pla, o fallada si es produeix un\n"
 "    error."
 
 #: 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"
@@ -3591,8 +3482,7 @@ msgid ""
 "Remember or display program locations.\n"
 "    \n"
 "    Determine and remember the full pathname of each command NAME.  If\n"
-"    no arguments are given, information about remembered commands is "
-"displayed.\n"
+"    no arguments are given, information about remembered commands is displayed.\n"
 "    \n"
 "    Options:\n"
 "      -d\tforget the remembered location of each NAME\n"
@@ -3616,8 +3506,7 @@ msgstr ""
 "\n"
 "    Opcions:\n"
 "      -d                oblida la ubicació recordada per a cada NOM\n"
-"      -l                utilitza un format que es pot reciclar com a "
-"entrada\n"
+"      -l                utilitza un format que es pot reciclar com a entrada\n"
 "      -p ubicació       utilitza UBICACIÓ com a ubicació completa per a NOM\n"
 "      -r                oblida totes les ubicacions recordades\n"
 "      -t                mostra la ubicació recordada per a cada NOM,\n"
@@ -3632,7 +3521,6 @@ msgstr ""
 
 # help help
 #: builtins.c:818
-#, fuzzy
 msgid ""
 "Display information about builtin commands.\n"
 "    \n"
@@ -3650,14 +3538,13 @@ 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 ""
 "Mostra informació sobre ordres internes.\n"
 "\n"
-"    Mostra ajuda sobre les ordres internes.  Amb PATRÓ, dóna informació\n"
-"    detallada sobre aquelles ordres que coincideixen amb PATRÓ, altrament\n"
-"    mostra una llista amb temes d'ajuda.\n"
+"    Mostra ajuda sobre les ordres internes.  Si s'especifica PATRÓ,\n"
+"    dóna informació detallada sobre aquelles ordres que coincideixen\n"
+"    amb PATRÓ, altrament mostra una llista amb temes d'ajuda.\n"
 "\n"
 "    Opcions:\n"
 "      -d        mostra una descripció curta de cada tema\n"
@@ -3671,7 +3558,6 @@ msgstr ""
 "    Torna èxit, excepte si PATRÓ no es troba o passeu una opció invàlida."
 
 #: builtins.c:842
-#, fuzzy
 msgid ""
 "Display or manipulate the history list.\n"
 "    \n"
@@ -3699,8 +3585,7 @@ msgid ""
 "    \n"
 "    If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
 "    as a format string for strftime(3) to print the time stamp associated\n"
-"    with each displayed history entry.  No time stamps are printed "
-"otherwise.\n"
+"    with each displayed history entry.  No time stamps are printed otherwise.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or an error occurs."
@@ -3724,16 +3609,14 @@ msgstr ""
 "                a la llista\n"
 "      -s        afegeix ARGs a la llista com una única entrada\n"
 "\n"
-"    Si passeu un nom de FITXER, s'utilitza com a fitxer d'historial.  En "
-"cas\n"
-"    contrari, si $HISTFILE té algun valor, s'utilitza aquest, si no\n"
+"    Si proporcioneu un nom de FITXER, s'utilitza com a fitxer d'historial.\n"
+"    En cas contrari, si $HISTFILE té algun valor, s'utilitza aquest, si no\n"
 "    s'utilitza ~/.bash_history.\n"
 "\n"
-"    Si la variable $HISTTIMEFORMAT està definida i no és nul·la, el seu\n"
-"    valor s'utilitza com a cadena de format strftime(3) per a mostrar "
-"l'hora\n"
+"    Si la variable HISTTIMEFORMAT està definida i no és nul·la, el seu valor\n"
+"    s'utilitza com a cadena de format strftime(3) per a mostrar l'hora\n"
 "    associada a cada entrada de l'historial.  En cas contrari no es mostra\n"
-"    informació horària.\n"
+"    la marca horària.\n"
 "\n"
 "    Estat de sortida: \n"
 "    Torna èxit, excepte si passeu una opció invàlida o es produeix un error."
@@ -3764,8 +3647,7 @@ msgstr ""
 "Mostra l'estat de feines.\n"
 "\n"
 "    Mostra les feines actives.  Si especifiqueu FEINA, es restringeix la\n"
-"    sortida a la feina especificada.  Sense opcions, mostra l'estat de "
-"totes\n"
+"    sortida a la feina especificada.  Sense opcions, mostra l'estat de totes\n"
 "    les feines actives.\n"
 "\n"
 "    Opcions:\n"
@@ -3781,8 +3663,7 @@ msgstr ""
 "    processos d'aquella feina, a ARGS.\n"
 "\n"
 "    Estat de sortida:\n"
-"    Torna èxit, excepte si passeu una opció invàlida o es produeix un "
-"error.\n"
+"    Torna èxit, excepte si passeu una opció invàlida o es produeix un error.\n"
 "    Si utilitzeu -x, torna l'estat de sortida d'ORDRE."
 
 # help disown
@@ -3809,7 +3690,7 @@ msgstr ""
 "\n"
 "    Opcions:\n"
 "      -a        suprimeix totes les feines si no especifiqueu FEINA\n"
-"      -h\tmarca FEINA per a no enviar-li un senyal SIGHUP si\n"
+"      -h        marca FEINA per a no enviar-li un senyal SIGHUP si\n"
 "                l'intèrpret rep un SIGHUP\n"
 "      -r        suprimeix totes les feines en execució\n"
 "\n"
@@ -3841,20 +3722,18 @@ msgid ""
 msgstr ""
 "Envia un senyal a una feina.\n"
 "\n"
-"    Envia el senyal SENYAL o NÚMSENYAL al procés corresponent a PID o "
-"FEINA.\n"
+"    Envia el senyal SENYAL o NÚMSENYAL al procés corresponent a PID o FEINA.\n"
 "    Si no especifiqueu cap senyal, s'envia un SIGTERM.\n"
 "\n"
 "    Opcions:\n"
 "      -s senyal         SENYAL és el nom d'un senyal\n"
-"      -n númsenyal\tNÚMSENYAL és el número d'un senyal\n"
+"      -n númsenyal      NÚMSENYAL és el número d'un senyal\n"
 "      -l                mostra els noms dels senyals; si hi ha arguments \n"
 "                        després de «-l» s'interpreten com a números de\n"
 "                        senyals, els noms dels quals s'han de mostrar\n"
 "      -L                sinònim de -l\n"
 "\n"
-"    kill és una ordre interna per dues raons: perquè això permet usar IDs "
-"de\n"
+"    kill és una ordre interna per dues raons: perquè això permet usar IDs de\n"
 "    feina en lloc de IDs de procés, i perquè permet matar processos encara\n"
 "    que arribeu al límit de processos que se us permet crear.\n"
 "\n"
@@ -3869,8 +3748,7 @@ msgid ""
 "    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
 "    fixed-width integers with no check for overflow, though division by 0\n"
 "    is trapped and flagged as an error.  The following list of operators is\n"
-"    grouped into levels of equal-precedence operators.  The levels are "
-"listed\n"
+"    grouped into levels of equal-precedence operators.  The levels are listed\n"
 "    in order of decreasing precedence.\n"
 "    \n"
 "    \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3909,33 +3787,31 @@ msgstr ""
 "Avalua expressions aritmètiques.\n"
 "\n"
 "    Avalua cada ARG com a expressió aritmètica.  Les operacions es fan amb\n"
-"    enters d'amplada fixa sense comprovacions de desbordament, tot i que "
-"les\n"
-"    divisions per 0 es detecten i es marquen com a error.  La següent "
-"llista\n"
+"    enters d'amplada fixa sense comprovacions de desbordament, tot i que les\n"
+"    divisions per 0 es detecten i es marquen com a error.  La següent llista\n"
 "    mostra els operadors, agrupats en nivells d'igual precedència.  Els\n"
 "    nivells apareixen en ordre descendent de precedència.\n"
 "\n"
-"    \tid++, id--\tpostincrement, postdecrement\n"
-"    \t++id, --id\tpreincrement, predecrement\n"
-"    \t-, +\t\tnegatiu, positiu unaris\n"
-"    \t!, ~\t\tnegació lògica i a nivell de bits\n"
-"    \t**\t\texponenciació\n"
-"    \t*, /, %\t\tmultiplicació, divisió, residu\n"
-"    \t+, -\t\taddició, subtracció\n"
-"    \t<<, >>\t\tdesplaçament de bits a l'esquerra i a la dreta\n"
-"    \t<=, >=, <, >\tcomparació\n"
-"    \t==, !=\t\tigualtat, desigualtat\n"
-"    \t&\t\tAND a nivell de bits\n"
-"    \t^\t\tXOR a nivell de bits\n"
-"    \t|\t\tOR a nivell de bits\n"
-"    \t&&\t\tAND lògic\n"
-"    \t||\t\tOR lògic\n"
-"    \texpr ? expr : expr\n"
-"    \t\t\toperador condicional\n"
-"    \t=, *=, /=, %=,\n"
-"    \t+=, -=, <<=, >>=,\n"
-"    \t&=, ^=, |=\tassignació\n"
+"        id++, id--      postincrement, postdecrement\n"
+"        ++id, --id      preincrement, predecrement\n"
+"        -, +            negatiu, positiu unaris\n"
+"        !, ~            negació lògica i a nivell de bits\n"
+"        **              exponenciació\n"
+"        *, /, %         multiplicació, divisió, residu\n"
+"        +, -            addició, subtracció\n"
+"        <<, >>          desplaçament de bits a l'esquerra i a la dreta\n"
+"        <=, >=, <, >    comparació\n"
+"        ==, !=          igualtat, desigualtat\n"
+"        &               AND a nivell de bits\n"
+"        ^               XOR a nivell de bits\n"
+"        |               OR a nivell de bits\n"
+"        &&              AND lògic\n"
+"        ||              OR lògic\n"
+"        expr ? expr : expr\n"
+"                        operador condicional\n"
+"        =, *=, /=, %=,\n"
+"        +=, -=, <<=, >>=,\n"
+"        &=, ^=, |=      assignació\n"
 "\n"
 "    S'admeten variables de l'intèrpret com a operands.  El nom de la\n"
 "    variable se substitueix pel seu valor (convertit en enter d'amplada\n"
@@ -3950,21 +3826,18 @@ msgstr ""
 "    Si l'avaluació de l'últim ARG és 0, let torna 1; altrament torna 0."
 
 #: builtins.c:994
-#, fuzzy
 msgid ""
 "Read a line from the standard input and split it into fields.\n"
 "    \n"
 "    Reads a single line from the standard input, or from file descriptor FD\n"
-"    if the -u option is supplied.  The line is split into fields as with "
-"word\n"
+"    if the -u option is supplied.  The line is split into fields as with word\n"
 "    splitting, and the first word is assigned to the first NAME, the second\n"
 "    word to the second NAME, and so on, with any leftover words assigned to\n"
-"    the last NAME.  Only the characters found in $IFS are recognized as "
-"word\n"
-"    delimiters.\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"
@@ -3976,8 +3849,7 @@ msgid ""
 "      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
 "    \t\tfor a newline, but honor a delimiter if fewer than\n"
 "    \t\tNCHARS characters are read before the delimiter\n"
-"      -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+"      -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
 "    \t\tEOF is encountered or read times out, ignoring any\n"
 "    \t\tdelimiter\n"
 "      -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3995,36 +3867,31 @@ 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 ""
 "Llegeix una línia a l'entrada estàndard i la divideix en camps.\n"
 "\n"
 "    Llegeix una sola línia a l'entrada estàndard, o al descriptor de fitxer\n"
-"    FD si especifiqueu l'opció -u.  La línia es divideix en camps, segons\n"
+"    FD si especifiqueu l'opció -u.  La línia és dividida en camps, segons\n"
 "    les mateixes regles que en la separació de paraules, i la primera\n"
 "    paraula s'assigna al primer NOM, la segona al segon NOM, etc., mentre\n"
 "    que les paraules sobrants, si n'hi ha, s'assignen a l'últim NOM.  Només\n"
 "    es reconeixen com a delimitadors de paraula els caràcters que conté la\n"
 "    variable $IFS.\n"
 "\n"
-"    Si no especifiqueu cap NOM, en aquest cas la línia llegida es desa a la\n"
-"    variable REPLY.\n"
+"    Si no especifiqueu cap NOM, la línia es desa a la variable REPLY.\n"
 "\n"
 "    Opcions:\n"
-"      -a vector\tassigna les paraules llegides a VECTOR, de forma "
-"seqüencial\n"
+"      -a vector assigna les paraules llegides a VECTOR, de forma seqüencial\n"
 "                començant des de l'índex número 0.\n"
-"      -d delim\tcontinue llegint fins a trobar el caràcter DELIM, en lloc "
-"de\n"
+"      -d delim  continua llegint fins a trobar el caràcter DELIM, en lloc de\n"
 "                fins a trobar un salt de línia\n"
-"      -e\tsi la sessió és interactiva, utilitza Readline per a obtenir\n"
+"      -e        si la sessió és interactiva, utilitza Readline per a obtenir\n"
 "                la línia\n"
-"      -i text\tUtilitza TEXT com a text inicial per a Readline\n"
-"      -n núm\ttorna després de llegir exactament NÚM caràcters, o quan es\n"
+"      -i text   Utilitza TEXT com a text inicial per a Readline\n"
+"      -n núm    torna després de llegir exactament NÚM caràcters, o quan es\n"
 "                trobi el delimitador si apareix abans de NÚM caràcters\n"
 "      -N núm    torna només després de llegir exactament NÚM caràcters,\n"
 "                excepte si es troba EOF o s'esgota el temps d'espera,\n"
@@ -4032,29 +3899,26 @@ msgstr ""
 "      -p introd mostra la cadena INTROD sense cap caràcter de salt de línia\n"
 "                afegit, abans d'intentar llegir res\n"
 "      -r        prohibeix escapar caràcters amb una barra invertida\n"
-"      -s        suprimeix l'eco quan l'entrada està connectada a un "
-"terminal\n"
+"      -s        suprimeix l'eco quan l'entrada està connectada a un terminal\n"
 "      -t temps  surt si transcorre TEMPS (en segons) abans d'haver\n"
 "                aconseguit llegir una línia sencera.  Per defecte, el límit\n"
-"                de temps és el valor de la variable TMOUT.  TEMPS pot ser "
-"un\n"
+"                de temps és el valor de la variable TMOUT.  TEMPS pot ser un\n"
 "                número amb decimals.  Si TEMPS és 0, read torna\n"
 "                immediatament, sense intentar llegir cap dada, i torna èxit\n"
 "                només si hi ha dades disponibles en el descriptor de fitxer\n"
-"                FD especificat.  Un estat de sortida més gran que 128 "
-"indica\n"
+"                FD especificat.  Un estat de sortida més gran que 128 indica\n"
 "                que s'ha esgotat el temps d'espera.\n"
 "      -u fd     llegeix dades al descriptor de fitxer FD, en lloc de a\n"
 "                l'entrada estàndard.\n"
 "\n"
 "    Estat de sortida:\n"
 "    El codi de retorn és zero, excepte si es troba EOF (final de fitxer),\n"
-"    s'arriba al límit de temps (en aquest cas, és major que 128), es\n"
-"    produeix un error d'assignació de variable, o si heu especificat un\n"
-"    descriptor de fitxer invàlid amb l'opció -u."
+"    s'arriba al límit de temps (en aquest cas, retorna un número major que\n"
+"    128), es produeix un error d'assignació de variable, o si heu\n"
+"    especificat un descriptor de fitxer invàlid amb l'opció -u."
 
 # help return
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -4067,15 +3931,14 @@ msgid ""
 msgstr ""
 "Torna des d'una funció de l'intèrpret.\n"
 "\n"
-"    Provoca que una funció o script executat amb «source» torni amb el "
-"valor\n"
+"    Provoca que una funció o script executat amb «source» torni amb el valor\n"
 "    de retorn especificat per N.  Si s'omet N, l'estat de retorn és aquell\n"
 "    de l'última ordre executada dins la funció o script.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna N, o fallada si l'intèrpret no està executant cap funció o script."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4118,8 +3981,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"
@@ -4143,8 +4005,7 @@ msgid ""
 "          by default when the shell is interactive.\n"
 "      -P  If set, do not resolve symbolic links when executing commands\n"
 "          such as cd which change the current directory.\n"
-"      -T  If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+"      -T  If set, the DEBUG and RETURN traps are inherited by shell functions.\n"
 "      --  Assign any remaining arguments to the positional parameters.\n"
 "          If there are no remaining arguments, the positional parameters\n"
 "          are unset.\n"
@@ -4162,8 +4023,7 @@ msgid ""
 msgstr ""
 "Estableix opcions de l'intèrpret i paràmetres posicionals.\n"
 "\n"
-"    Modifica el valor d'atributs de l'intèrpret i de paràmetres "
-"posicionals,\n"
+"    Modifica el valor d'atributs de l'intèrpret i de paràmetres posicionals,\n"
 "    o mostra els noms i valors de les variables de l'intèrpret.\n"
 "\n"
 "    Opcions:\n"
@@ -4204,8 +4064,7 @@ msgstr ""
 "                           l'última ordre que ha acabat amb estat no-zero,\n"
 "                           o zero si cap ordre ha acabat amb estat diferent\n"
 "                           de zero\n"
-"              posix        ajusta el comportament de bash a l'estàndard "
-"Posix\n"
+"              posix        ajusta el comportament de bash a l'estàndard Posix\n"
 "              privileged   igual que -p\n"
 "              verbose      igual que -v\n"
 "              vi           usa una interfície d'edició estil vi\n"
@@ -4245,7 +4104,7 @@ msgstr ""
 "    Estat de sortida:\n"
 "    Torna èxit, excepte si especifiqueu una opció no vàlida."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4257,8 +4116,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"
@@ -4286,13 +4144,12 @@ msgstr ""
 "    Torna èxit, excepte si especifiqueu una opció no vàlida o NOM és una\n"
 "    variable o funció de només lectura."
 
-#: builtins.c:1161
+#: 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"
@@ -4322,7 +4179,7 @@ msgstr ""
 "    Torna èxit, excepte si especifiqueu una opció no vàlida o NOM no és\n"
 "    vàlid."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4362,7 +4219,7 @@ msgstr ""
 "    Torna èxit, excepte si especifiqueu una opció no vàlida o NOM no és\n"
 "    vàlid."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4374,14 +4231,13 @@ msgid ""
 msgstr ""
 "Desplaça els paràmetres posicionals.\n"
 "\n"
-"    Reanomena els paràmetres posicionals $N+1, $N+2 ... com a $1, $2 ...  "
-"Si\n"
+"    Reanomena els paràmetres posicionals $N+1, $N+2 ... com a $1, $2 ...  Si\n"
 "    ometeu N, s'assumeix que és 1.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna èxit, excepte si N és negatiu o més gran que $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4405,7 +4261,7 @@ msgstr ""
 "    Torna l'estat de l'última ordre a FITXER executada; falla si FITXER no\n"
 "    es pot llegir."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4420,8 +4276,7 @@ msgid ""
 msgstr ""
 "Suspèn l'execució de l'intèrpret.\n"
 "\n"
-"    Suspèn l'execució d'aquest intèrpret fins a rebre un senyal SIGCONT.  "
-"Si\n"
+"    Suspèn l'execució d'aquest intèrpret fins a rebre un senyal SIGCONT.  Si\n"
 "    no es força, les sessions d'entrada no es poden suspendre.\n"
 "\n"
 "    Opcions:\n"
@@ -4430,7 +4285,7 @@ msgstr ""
 "    Estat de sortida:\n"
 "    Torna èxit, excepte si no hi ha control de feines o es produeix un error."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4464,8 +4319,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"
@@ -4486,8 +4340,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"
@@ -4514,8 +4367,7 @@ msgid ""
 msgstr ""
 "Avalua una expressió condicional.\n"
 "\n"
-"    Surt amb estat 0 (cert) o 1 (fals) en funció de l'avaluació d'EXPR.  "
-"Les\n"
+"    Surt amb estat 0 (cert) o 1 (fals) en funció de l'avaluació d'EXPR.  Les\n"
 "    expressions poden ser unàries o binàries.  Les expressions unàries\n"
 "    s'utilitzen sovint per a determinar l'estat de fitxers.  També podeu\n"
 "    utilitzar operadors de cadenes, i operadors de comparació numèrica.\n"
@@ -4547,8 +4399,7 @@ msgstr ""
 "      -G FITXER      Cert si el vostre grup és propietari del fitxer.\n"
 "      -N FITXER      Cert si el fitxer ha canviat des de l'última lectura.\n"
 "\n"
-"      FITXER1 -nt FITXER2  Cert si fitxer1 és més nou que fitxer2 (segons "
-"la\n"
+"      FITXER1 -nt FITXER2  Cert si fitxer1 és més nou que fitxer2 (segons la\n"
 "                           data de modificació).\n"
 "\n"
 "      FITXER1 -ot FITXER2  Cert si fitxer1 és més antic que fitxer2.\n"
@@ -4580,8 +4431,7 @@ msgstr ""
 "      EXPR1 -a EXPR2 Cert si tant expr1 com expr2 són cert.\n"
 "      EXPR1 -o EXPR2 Cert si qualsevol de expr1 o expr2 són certes.\n"
 "\n"
-"      arg1 OP arg2   Tests aritmètics.  OP és un de -eq, -ne, -lt, -le, -"
-"gt,\n"
+"      arg1 OP arg2   Tests aritmètics.  OP és un de -eq, -ne, -lt, -le, -gt,\n"
 "                     o -ge.\n"
 "\n"
 "      Els operadors aritmètics binaris tornen cert si ARG1 és igual, no\n"
@@ -4592,7 +4442,7 @@ msgstr ""
 "      Torna èxit si EXPR s'avalua com a cert; falla si EXPR s'avalua com a\n"
 "      fals o si especifiqueu un argument no vàlid."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4605,12 +4455,11 @@ msgstr ""
 "    l'últim argument ha de ser un signe «]» que tanqui el «[» inicial."
 
 # help times
-#: builtins.c:1352
+#: 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"
@@ -4618,19 +4467,17 @@ msgid ""
 msgstr ""
 "Mostra els temps d'execució.\n"
 "\n"
-"    Mostra el temps d'execució d'usuari i sistema acumulat per l'intèrpret "
-"i\n"
+"    Mostra el temps d'execució d'usuari i sistema acumulat per l'intèrpret i\n"
 "    per tots els seus processos inferiors.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Sempre reïx."
 
-#: builtins.c:1364
+#: 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"
 "    ARG is a command to be read and executed when the shell receives the\n"
@@ -4639,42 +4486,33 @@ msgid ""
 "    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
 "    shell and by the commands it invokes.\n"
 "    \n"
-"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  "
-"If\n"
-"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  "
-"If\n"
-"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
-"a\n"
-"    script run by the . or source builtins finishes executing.  A "
-"SIGNAL_SPEC\n"
-"    of ERR means to execute ARG each time a command's failure would cause "
-"the\n"
+"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If\n"
+"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If\n"
+"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n"
+"    script run by the . or source builtins finishes executing.  A SIGNAL_SPEC\n"
+"    of ERR means to execute ARG each time a command's failure would cause the\n"
 "    shell to exit when the -e option is enabled.\n"
 "    \n"
-"    If no arguments are supplied, trap prints the list of commands "
-"associated\n"
+"    If no arguments are supplied, trap prints the list of commands associated\n"
 "    with each signal.\n"
 "    \n"
 "    Options:\n"
 "      -l\tprint a list of signal names and their corresponding numbers\n"
 "      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
 "    \n"
-"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
 "    Signal names are case insensitive and the SIG prefix is optional.  A\n"
 "    signal may be sent to the shell with \"kill -signal $$\".\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+"    Returns success unless a SIGSPEC is invalid or an invalid option is given."
 msgstr ""
 "Intercepta senyals i altres esdeveniments.\n"
 "\n"
 "    Defineix i activa controladors de senyal, que són executats quan\n"
 "    l'intèrpret rep senyals o en altres circumstàncies.\n"
 "\n"
-"    ARG és una ordre que es llegeix i s'executa quan l'intèrpret rep "
-"SENYAL.\n"
+"    ARG és una ordre que es llegeix i s'executa quan l'intèrpret rep SENYAL.\n"
 "    Si ometeu ARG (i especifiqueu un únic SENYAL) o ARG és «-», cada senyal\n"
 "    és restablert al seu valor original.  Si ARG és una cadena nul·la,\n"
 "    aleshores SENYAL és ignorat per l'intèrpret i per tots els programes\n"
@@ -4704,7 +4542,7 @@ msgstr ""
 "    Torna èxit, excepte si algun SENYAL no és vàlid o especifiqueu una\n"
 "    ordre no vàlida."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4730,8 +4568,7 @@ msgid ""
 "      NAME\tCommand name to be interpreted.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success if all of the NAMEs are found; fails if any are not "
-"found."
+"    Returns success if all of the NAMEs are found; fails if any are not found."
 msgstr ""
 "Mostra informació sobre el tipus d'ordre.\n"
 "\n"
@@ -4760,13 +4597,11 @@ msgstr ""
 "    Torna èxit si es troben tots els NOMs; falla si n'hi ha algun que no es\n"
 "    pot trobar."
 
-#: builtins.c:1431
-#, 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"
@@ -4810,48 +4645,47 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
-"Canvia els límits d'utilització de recursos per part de l'intèrpret.\n"
+"Modifica la limitació de recursos de l'intèrpret.\n"
 "\n"
-"    Permet controlar la quantitat de recursos disponibles per a l'intèrpret\n"
-"    d'ordres i per als processos que aquest crea, en els sistemes que\n"
-"    admeten tal control.\n"
+"    Permet especificar la quantitat de recursos disponibles per a\n"
+"    l'intèrpret d'ordres i per als processos que aquest crea, en els\n"
+"    sistemes que permeten tal control.\n"
 "\n"
 "    Opcions:\n"
 "      -S        estableix una limitació «tova»\n"
 "      -H        estableix una limitació «dura»\n"
-"      -a\tmostra tots els límits establerts\n"
-"      -b\tmida màxima de la memòria intermèdia per a «sockets»\n"
-"      -c\tmida màxima dels fitxers de bolcat de memòria\n"
-"      -d\tmida màxima del segment de dades d'un procés\n"
-"      -e\tprioritat màxima d'un procés («nice»)\n"
-"      -f\tmida màxima dels fitxers escrits per l'intèrpret i fills\n"
-"      -i\tnombre màxim de senyals pendents\n"
+"      -a        mostra tots els límits establerts\n"
+"      -b        mida màxima de la memòria intermèdia per a «sockets»\n"
+"      -c        mida màxima dels fitxers de bolcat de memòria\n"
+"      -d        mida màxima del segment de dades d'un procés\n"
+"      -e        prioritat màxima d'un procés («nice»)\n"
+"      -f        mida màxima dels fitxers escrits per l'intèrpret i fills\n"
+"      -i        nombre màxim de senyals pendents\n"
 "      -k        nombre màxim de cues («kqueue») obertes per a aquest procés\n"
-"      -l\tquantitat màxima de memòria que un procés pot blocar\n"
-"      -m\tmida màxima del conjunt resident (RSS)\n"
-"      -n\tnombre màxim de descriptors de fitxers oberts\n"
-"      -p\tmida màxima de la memòria intermèdia per a canonades\n"
-"      -q\tnombre màxim d'octets a les cues de missatges POSIX\n"
-"      -r\tprioritat màxima de temps-real\n"
-"      -s\tmida màxima de la pila\n"
-"      -t\tquantitat màxima de temps de CPU en segons\n"
-"      -u\tnombre màxim de processos d'usuari\n"
-"      -v\tmida de la memòria virtual\n"
-"      -x\tnombre màxim de fitxers de bloqueig\n"
+"      -l        quantitat màxima de memòria que un procés pot blocar\n"
+"      -m        mida màxima del conjunt resident (RSS)\n"
+"      -n        nombre màxim de descriptors de fitxers oberts\n"
+"      -p        mida màxima de la memòria intermèdia per a canonades\n"
+"      -q        nombre màxim d'octets a les cues de missatges POSIX\n"
+"      -r        prioritat màxima de temps-real\n"
+"      -s        mida màxima de la pila\n"
+"      -t        quantitat màxima de temps de CPU en segons\n"
+"      -u        nombre màxim de processos d'usuari\n"
+"      -v        mida de la memòria virtual\n"
+"      -x        nombre màxim de fitxers de bloqueig\n"
 "      -P        nombre màxim de pseudoterminals\n"
+"      -R        temps màxim d'execució per a processos de temps real\n"
 "      -T        nombre màxim de fils d'execució\n"
 "\n"
 "    Algunes opcions poden no estar disponibles en algunes plataformes.\n"
 "\n"
 "    Si especifiqueu un LÍMIT, aquest s'utilitza com a nou valor per al\n"
 "    recurs indicat; els valors especials de LÍMIT són «soft», «hard» i\n"
-"    «unlimited», que signifiquen límit tou actual, límit dur actual, i "
-"sense\n"
+"    «unlimited», que signifiquen límit tou actual, límit dur actual, i sense\n"
 "    límit, respectivament.  En cas contrari, es mostra el valor actual per\n"
 "    al recurs especificat.  Si no especifiqueu cap opció, se suposa -f.\n"
 "\n"
-"    Els valors s'indiquen en increments de 1024 octets, excepte en el cas "
-"de\n"
+"    Els valors s'indiquen en increments de 1024 octets, excepte en el cas de\n"
 "    l'opció -t, que és en segons, -p, que és en increments de 512 octets, i\n"
 "    -u, que és en nombre de processos.\n"
 "\n"
@@ -4859,7 +4693,7 @@ msgstr ""
 "    Torna èxit, tret que especifiqueu una opció invàlida o es produeixi un\n"
 "    error."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4887,34 +4721,29 @@ msgstr ""
 "    Opcions:\n"
 "      -p        sense MODE, mostra la sortida en un format que es pot\n"
 "                reciclar com a entrada\n"
-"      -S\tmostra la màscara en forma simbòlica; altrament produeix un\n"
+"      -S        mostra la màscara en forma simbòlica; altrament produeix un\n"
 "                número octal\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna èxit, excepte si MODE no és vàlid o passeu una opció no vàlida."
 
-#: builtins.c:1502
-#, fuzzy
+#: 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"
@@ -4925,32 +4754,43 @@ msgid ""
 "    option is given, or if -n is supplied and the shell has no unwaited-for\n"
 "    children."
 msgstr ""
-"Espera la finalització de feines i en retorna l'estat de sortida.\n"
+"Espera la finalització de feines i retorna l'estat de sortida.\n"
 "\n"
 "    Espera que cada procés identificat per un ID, que pot ser l'ID del\n"
-"    procés o una especificació de feina, acabi d'executar-se, i en torna\n"
+"    procés o una especificació de feina, acabi d'executar-se, i informa de\n"
 "    l'estat de sortida.  Si ometeu ID, espera que acabin d'executar-se tots\n"
 "    els processos inferiors, i surt amb estat zero.  Si ID és una\n"
 "    especificació de feina, espera cada un dels processos a la canonada\n"
 "    d'aquella feina.\n"
 "\n"
+"    Si especifiqueu l'opció -n, espera que finalitzi una única feina de la\n"
+"    llista d'IDs.  Si no s'ha especificat cap ID, espera que finalitzi la\n"
+"    propera feina i en retorna l'estat de sortida.\n"
+"\n"
+"    Si especifiqueu l'opció -p, el procés o l'identificador de la feina\n"
+"    s'assigna a la variable VAR.  La variable inicialment serà esborrada,\n"
+"    abans de que es podueixi assignació.  L'opció -p només és útil en\n"
+"    combinació amb l'opció -n.\n"
+"\n"
+"    Si especifiqueu l'opció -f, i el control de feines està habilitat,\n"
+"    espera fins que les IDs especificades finalitzin, enlloc d'esperar fins\n"
+"    que canviïn d'estat.\n"
+"\n"
 "    Estat de sortida:\n"
-"    Torna l'estat de sortida de l'últim ID; falla si ID no és vàlid o "
-"passeu\n"
-"    una opció no vàlida."
+"    Torna l'estat de sortida de l'última ID; falla si ID no és vàlid o\n"
+"    passeu una opció no vàlida, o si s'ha especificat -n i l'intèrpret no té\n"
+"    processos inferiors que no s'estiguin esperant."
 
-#: builtins.c:1533
+#: 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 ""
 "Espera la finalització de processos i en retorna l'estat de sortida.\n"
@@ -4964,7 +4804,7 @@ msgstr ""
 "    Torna l'estat de sortida de l'últim PID; falla si PID no és vàlid o es\n"
 "    passa una opció no vàlida."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4980,14 +4820,13 @@ msgstr ""
 "\n"
 "    Els bucles «for» executen una seqüència d'ordres per a cada un dels\n"
 "    elements d'una llista.  Si «in PARAULES ...;» s'omet, aleshores se\n"
-"    suposa «in \"$@\"».  Per a cada element de la llista PARAULES, "
-"l'element\n"
+"    suposa «in \"$@\"».  Per a cada element de la llista PARAULES, l'element\n"
 "    s'assigna a NOM, i les ORDRES s'executen.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna l'estat de sortida de l'última ordre executada."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -5006,11 +4845,11 @@ msgstr ""
 "Bucle «for» aritmètic.\n"
 "\n"
 "    Equivalent a\n"
-"    \t(( EXP1 ))\n"
-"    \twhile (( EXP2 )); do\n"
-"    \t\tORDRES\n"
-"    \t\t(( EXP 3 ))\n"
-"    \tdone\n"
+"        (( EXP1 ))\n"
+"        while (( EXP2 )); do\n"
+"                ORDRES\n"
+"                (( EXP 3 ))\n"
+"        done\n"
 "\n"
 "    EXP1, EXP2 i EXP3 són expressions aritmètiques.  Si s'omet qualsevol de\n"
 "    les expressions, es comporta com si el resultat de l'avaluació de\n"
@@ -5019,7 +4858,7 @@ msgstr ""
 "    Estat de sortida:\n"
 "    Torna l'estat de sortida de l'última ordre executada."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -5042,11 +4881,9 @@ msgstr ""
 "\n"
 "    Les PARAULES s'expandeixen i generen una llista de paraules.  Les\n"
 "    paraules expandides s'envien a la sortida d'errors estàndard, cada una\n"
-"    precedida per un número.  Si «in PARAULES» s'omet, se suposa «in \"$@"
-"\"».\n"
+"    precedida per un número.  Si «in PARAULES» s'omet, se suposa «in \"$@\"».\n"
 "    Llavors, es mostra l'introductor PS3 i es llegeix una línia a l'entrada\n"
-"    estàndard.  Si la línia correspon amb el número d'alguna de les "
-"paraules\n"
+"    estàndard.  Si la línia correspon amb el número d'alguna de les paraules\n"
 "    mostrades, aleshores aquesta paraula s'assigna a NOM.  Si la línia està\n"
 "    buida, les PARAULES i l'introductor es tornen a mostrar.  Si es llegeix\n"
 "    EOF, l'ordre finalitza.  Qualsevol altre valor llegit, fa que s'assigni\n"
@@ -5058,7 +4895,7 @@ msgstr ""
 "    Torna l'estat de sortida de l'última ordre executada."
 
 # help time
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -5076,8 +4913,7 @@ msgstr ""
 "Informa del temps transcorregut durant l'execució d'una canonada.\n"
 "\n"
 "    Executa CANONADA i mostra un resum del temps real, el temps de CPU\n"
-"    d'usuari i el temps de CPU de sistema transcorregut durant l'execució "
-"de\n"
+"    d'usuari i el temps de CPU de sistema transcorregut durant l'execució de\n"
 "    CANONADA.\n"
 "\n"
 "    Opcions:\n"
@@ -5088,7 +4924,7 @@ msgstr ""
 "    Estat de sortida:\n"
 "    L'estat de sortida és l'estat de sortida de la CANONADA."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -5100,28 +4936,22 @@ msgid ""
 msgstr ""
 "Executa ordres segons la coincidència amb patrons.\n"
 "\n"
-"    Executa ORDRES de forma selectiva en funció de si PARAULA coincideix "
-"amb\n"
+"    Executa ORDRES de forma selectiva en funció de si PARAULA coincideix amb\n"
 "    PATRÓ.  El signe «|» serveix per a separar múltiples patrons.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna l'estat de sortida de l'última ordre executada."
 
-#: builtins.c:1630
+#: 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"
@@ -5135,51 +4965,50 @@ msgstr ""
 "    sortida zero, també s'executa la corresponent llista «then ORDRES», i\n"
 "    l'ordre if finalitza.  En cas contrari, la llista «else ORDRES»\n"
 "    s'executa, si és que existeix.  L'estat de sortida la construcció\n"
-"    sencera és l'estat de sortida de l'última ordre executada, o zero si "
-"cap\n"
+"    sencera és l'estat de sortida de l'última ordre executada, o zero si cap\n"
 "    de les condicions s'avalua com a certa.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna l'estat de l'última ordre executada."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Executa ordres repetidament mentre es compleixi una condició.\n"
 "\n"
-"    Expandeix i executa ORDRES repetidament mentre l'última ordre de les\n"
-"    «ORDRES while» tingui estat de sortida igual a zero.\n"
+"    Expandeix i executa ORDRES-2 repetidament mentre l'última ordre de\n"
+"    les ORDRES tingui estat de sortida igual a zero.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna l'estat de l'última ordre executada."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Executa ordres repetidament mentre no es compleixi una condició.\n"
 "\n"
-"    Expandeix i executa ORDRES repetidament mentre l'última ordre de les\n"
-"    ORDRES «until» tingui estat de sortida diferent de zero.\n"
+"    Expandeix i executa ORDRES-2 repetidament mentre l'última ordre de\n"
+"    les ORDRES tingui estat de sortida diferent de zero.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna l'estat de l'última ordre executada."
 
 # help coproc
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -5193,8 +5022,7 @@ msgid ""
 msgstr ""
 "Crea un coprocés anomenat NOM.\n"
 "\n"
-"    Executa ORDRE de forma asincrònica, amb la sortida estàndard i "
-"l'entrada\n"
+"    Executa ORDRE de forma asincrònica, amb la sortida estàndard i l'entrada\n"
 "    estàndard de l'ordre connectades via canonada als descriptors de fitxer\n"
 "    assignats als índexs 0 i 1 de la variable vector NOM.  Per defecte NOM\n"
 "    és \"COPROC\".\n"
@@ -5202,13 +5030,12 @@ msgstr ""
 "    Estat de sortida:\n"
 "    Torna l'estat de sortida d'ORDRE."
 
-#: builtins.c:1685
+#: 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"
@@ -5217,8 +5044,7 @@ msgid ""
 msgstr ""
 "Defineix una funció.\n"
 "\n"
-"    Crea una funció de l'intèrpret anomenada NOM.  Quan s'invoca com a "
-"ordre\n"
+"    Crea una funció de l'intèrpret anomenada NOM.  Quan s'invoca com a ordre\n"
 "    simple, NOM executa ORDRES en el context de l'intèrpret de qui fa la\n"
 "    crida.  Quan NOM s'invoca, els arguments es passen a la funció com a\n"
 "    $1...$n, i el nom de la funció es troba a $FUNCNAME.\n"
@@ -5226,7 +5052,7 @@ msgstr ""
 "    Estat de sortida:\n"
 "    Torna èxit, excepte si NOM és de només lectura."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -5244,7 +5070,7 @@ msgstr ""
 "    Estat de sortida:\n"
 "    Torna l'estat de sortida de l'última ordre executada."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5259,8 +5085,7 @@ msgid ""
 msgstr ""
 "Reprèn una feina i la porta al primer pla.\n"
 "\n"
-"    Equivalent a utilitzar FEINA com a argument en l'ordre «fg».  Reprèn "
-"una\n"
+"    Equivalent a utilitzar FEINA com a argument en l'ordre «fg».  Reprèn una\n"
 "    feina aturada o en segon pla.  FEINA pot ser el nom d'una feina, o el\n"
 "    número d'una feina.  Si es troba un «&» després de FEINA, llavors la\n"
 "    feina s'envia en un segon pla, com si l'especificació de feina\n"
@@ -5270,8 +5095,7 @@ msgstr ""
 "    Torna l'estat de sortida de la feina represa."
 
 # help '(('
-#: builtins.c:1726
-#, fuzzy
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5290,16 +5114,13 @@ msgstr ""
 "    Si el resultat de l'avaluació és 0, torna 1; altrament torna 0."
 
 # help '[['
-#: builtins.c:1738
+#: 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"
@@ -5330,10 +5151,8 @@ msgstr ""
 "      EXPR1 || EXPR2    Cert si EXPR1 o EXPR2 és cert; si no, fals.\n"
 "\n"
 "    Quan s'utilitzen els operadors «==» o «!=», el component de la dreta\n"
-"    s'interpreta com a un patró i es comprova si coincideix amb la cadena "
-"de\n"
-"    l'esquerra de l'operador.  Quan s'utilitza l'operador «=~», el "
-"component\n"
+"    s'interpreta com a un patró i es comprova si coincideix amb la cadena de\n"
+"    l'esquerra de l'operador.  Quan s'utilitza l'operador «=~», el component\n"
 "    de la dreta de l'operador s'interpreta com a expressió regular i es\n"
 "    comprova si coincideix amb la cadena de l'esquerra de l'operador.\n"
 "\n"
@@ -5343,7 +5162,7 @@ msgstr ""
 "    Estat de sortida:\n"
 "    0 o 1, depenent del valor d'EXPRESSIÓ."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5399,45 +5218,45 @@ msgstr ""
 "Nom i ús de variables de l'intèrpret habituals.\n"
 "\n"
 "    BASH_VERSION        Informació de la versió de Bash.\n"
-"    CDPATH\t\tLlista de directoris separats per «:» on buscar\n"
+"    CDPATH              Llista de directoris separats per «:» on buscar\n"
 "                        directoris passats com a arguments a «cd».\n"
-"    GLOBIGNORE\t\tLlista de patrons separats per «:» que indiquen noms\n"
+"    GLOBIGNORE          Llista de patrons separats per «:» que indiquen noms\n"
 "                        que s'ignoren en fer expansions de noms de fitxer.\n"
-"    HISTFILE\t\tNom del fitxer on es desa l'historial d'ordres.\n"
-"    HISTFILESIZE\tNombre màxim de línies que pot contenir el\n"
+"    HISTFILE            Nom del fitxer on es desa l'historial d'ordres.\n"
+"    HISTFILESIZE        Nombre màxim de línies que pot contenir el\n"
 "                        fitxer de l'historial.\n"
-"    HISTSIZE\t\tNombre màxim de línies de l'historial a què un\n"
-"    \t\t\tintèrpret té accés.\n"
-"    HOME\t\tCamí complet cap al vostre directori personal.\n"
-"    HOSTNAME\t\tNom de la màquina actual.\n"
-"    HOSTTYPE\t\tTipus de CPU de la màquina en què corre Bash.\n"
-"    IGNOREEOF\t        Controla el comportament de l'intèrpret en trobar un\n"
-"    \t\t\tcaràcter EOF (final de fitxer) com a únic caràcter.\n"
+"    HISTSIZE            Nombre màxim de línies de l'historial a què un\n"
+"                        intèrpret té accés.\n"
+"    HOME                Camí complet cap al vostre directori personal.\n"
+"    HOSTNAME            Nom de la màquina actual.\n"
+"    HOSTTYPE            Tipus de CPU de la màquina en què corre Bash.\n"
+"    IGNOREEOF           Controla el comportament de l'intèrpret en trobar un\n"
+"                        caràcter EOF (final de fitxer) com a únic caràcter.\n"
 "                        Si la variable està definida, llavors el seu valor\n"
 "                        és el nombre de caràcters EOF seguits que es poden\n"
 "                        llegir en una línia buida abans que l'intèrpret\n"
 "                        surti (per defecte: 10).  Si no està definida, EOF\n"
 "                        s'interpreta com el final de les dades d'entrada.\n"
-"    MACHTYPE\t\tCadena que descriu el sistema en què corre Bash.\n"
-"    MAILCHECK\t\tAmb quina freqüència, en segons, Bash comprova si hi\n"
+"    MACHTYPE            Cadena que descriu el sistema en què corre Bash.\n"
+"    MAILCHECK           Amb quina freqüència, en segons, Bash comprova si hi\n"
 "                        ha correu nou.\n"
-"    MAILPATH\t\tLlista de fitxers separats per «:» que Bash comprova\n"
+"    MAILPATH            Llista de fitxers separats per «:» que Bash comprova\n"
 "                        si tenen correu nou.\n"
-"    OSTYPE\t\tLa versió de Unix en què corre Bash.\n"
-"    PATH\t\tLlista de directoris separats per «:» on buscar quan\n"
-"    \t\t\tse cerquen ordres.\n"
-"    PROMPT_COMMAND\tOrdre que s'executa cada cop abans de mostrar\n"
-"    \t\t\tl'introductor de l'intèrpret.\n"
-"    PS1\t\t\tCadena de l'introductor principal.\n"
-"    PS2\t\t\tCadena de l'introductor secundari.\n"
-"    PWD\t\t\tCamí complet cap al directori corrent.\n"
-"    SHELLOPTS\t\tLlista d'opcions habilitades separades per «:».\n"
-"    TERM\t\tNom del tipus de terminal actual.\n"
-"    TIMEFORMAT\t\tFormat de sortida per a les estadístiques de temps\n"
-"    \t\t\tproduïdes per l'ordre «time».\n"
-"    auto_resume\t\tNo-nul·la significa que una ordre sola en una línia\n"
-"    \t\t\tes busca en primera instància a la llista actual de\n"
-"    \t\t\tfeines aturades.  Si es troba, aquella feina es\n"
+"    OSTYPE              La versió de Unix en què corre Bash.\n"
+"    PATH                Llista de directoris separats per «:» on buscar quan\n"
+"                        se cerquen ordres.\n"
+"    PROMPT_COMMAND      Ordre que s'executa cada cop abans de mostrar\n"
+"                        l'introductor de l'intèrpret.\n"
+"    PS1                 Cadena de l'introductor principal.\n"
+"    PS2                 Cadena de l'introductor secundari.\n"
+"    PWD                 Camí complet cap al directori corrent.\n"
+"    SHELLOPTS           Llista d'opcions habilitades separades per «:».\n"
+"    TERM                Nom del tipus de terminal actual.\n"
+"    TIMEFORMAT          Format de sortida per a les estadístiques de temps\n"
+"                        produïdes per l'ordre «time».\n"
+"    auto_resume         No-nul·la significa que una ordre sola en una línia\n"
+"                        es busca en primera instància a la llista actual de\n"
+"                        feines aturades.  Si es troba, aquella feina es\n"
 "                        passa a primer pla.  El valor «exact» significa que\n"
 "                        l'ordre ha de coincidir exactament amb alguna ordre\n"
 "                        de la llista de feines aturades.  El valor\n"
@@ -5445,18 +5264,18 @@ msgstr ""
 "                        amb una subcadena de la feina.  Qualsevol altre\n"
 "                        valor significa que l'ordre ha de ser el prefix\n"
 "                        d'una feina aturada.\n"
-"    histchars\t\tCaràcters que controlen l'expansió de l'historial i\n"
-"    \t\t\tles substitucions ràpides.  El primer caràcter és el\n"
-"   \t\t\tcaràcter de substitució de l'historial, habitualment\n"
-"    \t\t\t«!».  El segon és el caràcter de «substitució\n"
+"    histchars           Caràcters que controlen l'expansió de l'historial i\n"
+"                        les substitucions ràpides.  El primer caràcter és el\n"
+"                        caràcter de substitució de l'historial, habitualment\n"
+"                        «!».  El segon és el caràcter de «substitució\n"
 "                        ràpida», normalment «^».  El tercer és el caràcter\n"
 "                        de «comentari d'historial», normalment «#».\n"
-"    HISTIGNORE\t\tLlista de patrons separats per «:» utilitzats per a\n"
-"    \t\t\tdecidir si les ordres s'han de desar a l'historial.\n"
+"    HISTIGNORE          Llista de patrons separats per «:» utilitzats per a\n"
+"                        decidir si les ordres s'han de desar a l'historial.\n"
 
 # si modifiqueu aquesta cadena cal actualitzar la còpia que es troba més
 # enrere en aquest fitxer
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5518,7 +5337,7 @@ msgstr ""
 
 # si modifiqueu aquesta cadena cal actualitzar la còpia que es troba més
 # enrere en aquest fitxer
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5573,7 +5392,7 @@ msgstr ""
 
 # si modifiqueu aquesta cadena cal actualitzar la còpia que es troba més
 # enrere en aquest fitxer
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5604,8 +5423,7 @@ msgstr ""
 "Mostra la pila de directoris.\n"
 "\n"
 "    Mostra la llista actual de directoris recordats.  Els directoris són\n"
-"    afegits a la llista mitjançant l'ordre «pushd»; podeu recórrer la "
-"llista\n"
+"    afegits a la llista mitjançant l'ordre «pushd»; podeu recórrer la llista\n"
 "    de directoris cap enrere amb l'ordre «popd».\n"
 "\n"
 "    Opcions:\n"
@@ -5629,8 +5447,7 @@ msgstr ""
 "    Retorna èxit, excepte si es rep una opció invàlida o es produeix un\n"
 "    error."
 
-#: builtins.c:1916
-#, fuzzy
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5651,21 +5468,23 @@ msgid ""
 msgstr ""
 "Activa i desactiva opcions de l'intèrpret.\n"
 "\n"
-"    Canvia l'estat de cada OPCIÓ.  Si no especifiqueu cap OPCIÓ, mostra una\n"
-"    llista de totes les opcions indicant si estan activades o no.\n"
+"    Canvia l'estat de cada OPCIÓ.  Sense cap argument d'opció, mostra un\n"
+"    llistat amb cada OPCIÓ, o un llistat amb totes les opcions de\n"
+"    l'intèrpret si no s'ha especificat cap OPCIÓ, indicant si les opcions\n"
+"    estan activades o no.\n"
 "\n"
 "    Opcions:\n"
 "      -o        limita les opcions a les que es poden canviar amb «set -o»\n"
-"      -p\tmostra totes les opcions indicant-ne l'estat\n"
-"      -q\tsuprimeix la sortida\n"
-"      -s\tactiva OPCIÓ\n"
-"      -u\tdesactiva OPCIÓ\n"
+"      -p        mostra totes les opcions indicant-ne l'estat\n"
+"      -q        suprimeix la sortida\n"
+"      -s        activa OPCIÓ\n"
+"      -u        desactiva OPCIÓ\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna èxit si OPCIÓ està activada; falla si especifiqueu una opció\n"
 "    invàlida o OPCIÓ està desactivada."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5673,34 +5492,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 specifications described in "
-"printf(1),\n"
+"    In addition to the standard format specifications described in printf(1),\n"
 "    printf interprets:\n"
 "    \n"
 "      %b\texpand backslash escape sequences in the corresponding argument\n"
 "      %q\tquote the argument in a way that can be reused as shell input\n"
-"      %(fmt)T\toutput the date-time string resulting from using FMT as a "
-"format\n"
+"      %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"
 "    \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 ""
 "Formata i escriu ARGUMENTS d'acord amb FORMAT.\n"
@@ -5721,6 +5535,8 @@ msgstr ""
 "      %b       expandeix seqüències d'escapada a l'argument corresponent\n"
 "      %q       afegeix les cometes necessàries perquè l'argument pugui ser\n"
 "               utilitzat com a entrada de l'intèrpret\n"
+"      %Q       com %q, però aplica qualsevol precisió a l'argument abans\n"
+"               d'afegir les cometes \n"
 "      %(fmt)T  escriu la cadena resultant de passar FMT a strftime(3) com a\n"
 "               argument\n"
 "\n"
@@ -5733,15 +5549,12 @@ msgstr ""
 "    Retorna èxit, excepte si es rep una opció invàlida o es produeix un\n"
 "    error d'assignació o d'escriptura."
 
-#: builtins.c:1971
-#, 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"
-"    are supplied, existing completion specifications are printed in a way "
-"that\n"
+"    For each NAME, specify how arguments are to be completed.  If no options\n"
+"    are supplied, existing completion specifications are printed in a way that\n"
 "    allows them to be reused as input.\n"
 "    \n"
 "    Options:\n"
@@ -5756,10 +5569,8 @@ msgid ""
 "    \t\tcommand) word\n"
 "    \n"
 "    When completion is attempted, the actions are applied in the order the\n"
-"    uppercase-letter options are listed above. If multiple options are "
-"supplied,\n"
-"    the -D option takes precedence over -E, and both take precedence over -"
-"I.\n"
+"    uppercase-letter options are listed above. If multiple options are supplied,\n"
+"    the -D option takes precedence over -E, and both take precedence over -I.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
@@ -5773,26 +5584,29 @@ msgstr ""
 "    Opcions:\n"
 "      -p        mostra les especificacions existents en format reciclable\n"
 "      -r        suprimeix l'especificació de compleció per a NOM, o, si no\n"
-"      \t\ts'indica cap NOM, totes les especificacions de compleció\n"
-"      -D        assigna les accions o complecions a totes les ordres que no\n"
+"                s'indica cap NOM, totes les especificacions de compleció\n"
+"      -D        assigna les accions i complecions a totes les ordres que no\n"
 "                tenen definida una compleció específica\n"
-"      -E        assigna les accions o complecions a ordres \"en blanc\", o\n"
+"      -E        assigna les accions i complecions a ordres \"en blanc\", o\n"
 "                sigui, als intents de completar una línia en blanc\n"
+"      -I        assigna les accions i complecions a la paraula inicial\n"
+"                (normalment una ordre)\n"
 "\n"
-"    Quan s'intenta una compleció, les accions s'apliquen en l'ordre en què\n"
-"    les opcions -D i -E apareixen al paràgraf anterior.  L'opció -D té\n"
-"    preferència sobre l'opció -E.\n"
+"    Quan s'intenta una compleció, s'apliquen primer les accions\n"
+"    especificades amb l'opció -D, seguides de les acciones especificades amb\n"
+"    l'opció -E, i l'opció -I (en aquest ordre).  Si es proporcionen\n"
+"    múltiples opcions, l'opció -D té preferència sobre l'opció -E, i ambdues\n"
+"    opcions tenen preferència sobre l'opció -I.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna èxit, excepte si passeu una opció invàlida o es produeix un error."
 
-#: builtins.c:2001
+#: 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 supplied, matches "
-"against\n"
+"    completions.  If the optional WORD argument is supplied, matches against\n"
 "    WORD are generated.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5800,25 +5614,20 @@ msgid ""
 msgstr ""
 "Mostra possibles complecions en funció de les opcions.\n"
 "\n"
-"    Aquesta ordre està pensada per a ser utilitzada en una funció que "
-"generi\n"
+"    Aquesta ordre està pensada per a ser utilitzada en una funció que generi\n"
 "    possibles complecions.  Si especifiqueu l'argument opcional PARAULA, es\n"
 "    limiten les complecions a aquelles que coincideixen amb PARAULA.\n"
 "\n"
 "    Estat de sortida:\n"
 "    Torna èxit, excepte si passeu una opció invàlida o es produeix un error."
 
-#: builtins.c:2016
-#, fuzzy
+#: 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"
@@ -5842,17 +5651,16 @@ msgid ""
 msgstr ""
 "Modifica o mostra opcions de compleció.\n"
 "\n"
-"    Modifica les opcions de compleció de NOM, o, si no especifiqueu cap "
-"NOM,\n"
+"    Modifica les opcions de compleció de NOM, o, si no especifiqueu cap NOM,\n"
 "    la compleció que s'està executant en el moment.  Si no s'indica cap\n"
 "    OPCIÓ, mostra les opcions de compleció per a cada NOM o\n"
 "    l'especificació de compleció en ús.\n"
 "\n"
 "    Opcions:\n"
 "        -o opció        Activa OPCIÓ per a NOM\n"
-"        -D              Canvia les opcions de compleció d'ordres per "
-"defecte\n"
-"        -E              Canvia les opcions de compleció d'ordres \"buides\"\n"
+"        -D              Canvia les opcions de compleció d'ordres per defecte\n"
+"        -E              Canvia les opcions de compleció d'ordres «buides»\n"
+"        -I              Canvia les opcions de compleció de la paraula inicial\n"
 "\n"
 "    Si utilitzeu «+o» en lloc de «-o», desactiva l'opció especificada.\n"
 "\n"
@@ -5860,8 +5668,7 @@ msgstr ""
 "\n"
 "    Cada NOM és el nom d'una ordre per la qual s'ha d'haver definit una\n"
 "    especificació de compleció amb l'ordre interna «complete».  Si no\n"
-"    especifiqueu cap NOM, compopt s'ha de cridar des d'una funció "
-"generadora\n"
+"    especifiqueu cap NOM, compopt s'ha de cridar des d'una funció generadora\n"
 "    de complecions, i les opcions que es modifiquen afecten la generació de\n"
 "    complecions que s'està executant en aquell moment.\n"
 "\n"
@@ -5870,26 +5677,21 @@ msgstr ""
 "    definida cap especificació de compleció."
 
 # help readarray
-#: builtins.c:2047
+#: 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"
@@ -5902,13 +5704,11 @@ 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 ""
 "Llegeix línies d'un fitxer cap a una variable vector.\n"
@@ -5918,26 +5718,23 @@ msgstr ""
 "    per defecte és MAPFILE.\n"
 "\n"
 "    Opcions:\n"
-"      -d delim  Usa DELIM com delimitador de línies, en lloc del caràcter "
-"de\n"
+"      -d delim  Usa DELIM com delimitador de línies, en lloc del caràcter de\n"
 "                salt de línia\n"
 "      -n nombre Copia com a màxim NOMBRE línies.  Si NOMBRE és 0, es copien\n"
-"    \t\ttotes les línies.\n"
+"                totes les línies.\n"
 "      -O origen Comença l'assignació a l'índex ORIGEN, per defecte 0.\n"
 "      -s nombre Descarta les primeres NOMBRE línies.\n"
 "      -t        Estripa el caràcter de salt de línia de cada línia llegida.\n"
 "      -u fd     Llegeix el descriptor de fitxer FD, en lloc de l'entrada\n"
 "                estàndard.\n"
 "      -C callback         Avalua CALLBACK cada QUÀNTUM línies llegides.\n"
-"      -c quàntum          Nombre de línies llegides abans de cridar "
-"CALLBACK\n"
+"      -c quàntum          Nombre de línies llegides abans de cridar CALLBACK\n"
 "\n"
 "    Arguments:\n"
 "      VECTOR    Nom de la variable vector per a les dades.\n"
 "\n"
 "    Si especifiqueu l'opció -C sense -c, el quàntum per defecte és 5000.\n"
-"    Quan s'avalua la funció CALLBACK, se li passa l'índex del proper "
-"element\n"
+"    Quan s'avalua la funció CALLBACK, se li passa l'índex del proper element\n"
 "    del vector i la línia que s'assigna a aquest element, com a arguments\n"
 "    addicionals.\n"
 "\n"
@@ -5948,7 +5745,7 @@ msgstr ""
 "    Torna èxit, excepte si passeu una opció no vàlida o VECTOR és de només\n"
 "    lectura o no és una variable vector."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5958,9 +5755,8 @@ msgstr ""
 "\n"
 "    Un sinònim de «mapfile»."
 
-#, fuzzy
-#~ msgid "Copyright (C) 2019 Free Software Foundation, Inc."
-#~ msgstr "Copyright (C) 2016 Free Software Foundation, Inc."
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: clau de vector associatiu no vàlida"
 
 #~ msgid "add_process: process %5ld (%s) in the_pipeline"
 #~ msgstr "add_process: procés %5ld (%s) a the_pipeline"
@@ -5968,6 +5764,9 @@ msgstr ""
 #~ msgid "Unknown Signal #"
 #~ msgstr "Senyal Desconegut #"
 
+#~ msgid "Copyright (C) 2016 Free Software Foundation, Inc."
+#~ msgstr "Copyright (C) 2016 Free Software Foundation, Inc."
+
 #, fuzzy
 #~ msgid "Copyright (C) 2014 Free Software Foundation, Inc."
 #~ msgstr "Copyright (C) 2013 Free Software Foundation, Inc."
index aa75fcc52b49071ee3961c62307f662515cd8d7d..39e0b6c70435f9b50ad42d31a54a148c27d42322 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index bb123dbde910c30c0460111f29ea431626453493..d2df43b127bebc9bf406b7039204be50bf72a4d8 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -2,7 +2,7 @@
 # Copyright (C) 2008 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 # Petr Pisar <petr.pisar@atlas.cz>, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
-# Petr Pisar <petr.pisar@atlas.cz>, 2015, 2016, 2018, 2019, 2020.
+# Petr Pisar <petr.pisar@atlas.cz>, 2015, 2016, 2018, 2019, 2020, 2022.
 #
 # alias → alias
 # subscript → podskript
 # Názvy signálů a stavů procesu by měly souhlasit se signal(7).
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2020-12-10 10:46+01:00\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-21 20:10+02:00\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -29,57 +29,52 @@ msgstr ""
 msgid "bad array subscript"
 msgstr "chybný podskript pole"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: odstraňuje se atribut odkazu na název"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: číslované pole nezle převést na pole asociativní"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: neplatný klíč asociativního pole"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: přes nečíselný indexu nelze dosadit"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: při přiřazovaní asociativního pole se musí použít podskript"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: nelze vytvořit: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: pro příkaz nelze nalézt klávesovou mapu "
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: první nebílý znak není „\"“"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "ne zavírající „%c“ v %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: chybí dvojtečkový oddělovač"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "„%s“: v mapě kláves příkazů nelze zrušit vazbu"
@@ -100,7 +95,7 @@ msgstr "závorková expanze: alokace paměti pro %u prvků selhala"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "závorková expanze: alokace paměti pro „%s“ selhala"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "„%s“: chybný název aliasu"
@@ -171,7 +166,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "není nestavena HOME"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "příliš mnoho argumentů"
 
@@ -198,7 +193,7 @@ msgstr "varování: "
 msgid "%s: usage: "
 msgstr "%s: užití: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: přepínač vyžaduje argument"
@@ -213,7 +208,7 @@ msgstr "%s: vyžadován číselný argument"
 msgid "%s: not found"
 msgstr "%s: nenalezeno"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: chybný přepínač"
@@ -223,7 +218,7 @@ msgstr "%s: chybný přepínač"
 msgid "%s: invalid option name"
 msgstr "%s: chybný název přepínače"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "„%s“: není platným identifikátorem"
@@ -236,7 +231,7 @@ msgstr "neplatné osmičkové číslo"
 msgid "invalid hex number"
 msgstr "chybné šestnáctkové číslo"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "chybné číslo"
 
@@ -250,88 +245,93 @@ msgstr "%s: chybné určení signálu"
 msgid "`%s': not a pid or valid job spec"
 msgstr "„%s“: není PID ani platným označením úlohy"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: proměnná pouze pro čtení"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: nelze přiřadit"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s mimo rozsah"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s mimo rozsah"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: žádná taková úloha"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: žádné řízení úloh"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "žádné řízení úloh"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: omezeno"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "omezeno"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: není vestavěným příkazem shellu"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "chyba zápisu: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "chyba při nastavování vlastností terminálu: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "chyba při získávání vlastností terminálu: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: chyba při zjišťování současného adresáře: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: nejednoznačné určení úlohy"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "k této verzi není dostupná nápověda"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: nelze zrušit: %s jen pro čtení"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: nelze zrušit"
@@ -341,108 +341,108 @@ msgstr "%s: nelze zrušit"
 msgid "%s: invalid action name"
 msgstr "%s: neplatný název akce"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: žádné doplňování neurčeno"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "varování: přepínač -F možná nebude dělat, co jste čekali"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "varování: přepínač -C možná nebude dělat, co jste čekali"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "doplňovací funkce se právě nevykonává"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "může být použito jen ve funkci"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "„-f“ nezle použít na výrobu funkce"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: funkce jen pro čtení"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: proměnná s odkazem nemůže být polem"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: proměnná s odkazem na název nemůže odkazovat sama na sebe"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: kruhový odkaz na název"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "„%s“: neplatný název proměnné pro odkaz na název"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "„-f“ nezle použít na výrobu funkce"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: funkce jen pro čtení"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: přiřazení do složeného pole uzavřeného v uvozovkách je zastaralé"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: takto nelze likvidovat pole"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: asociativní pole nelze převést na číslované pole"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: přiřazení do složeného pole uzavřeného v uvozovkách je zastaralé"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "dynamické nahrávání není dostupné"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "sdílený objekt %s nelze otevřít: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "ve sdílením objektu %2$s nelze nalézt %1$s: %3$s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: vestavěné příkazy již dynamicky zavedeny"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "zaváděcí funkce pro %s vrací chybu (%d): nezavedeno"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: není dynamicky nahráno"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: nelze smazat: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: je adresářem"
@@ -457,7 +457,7 @@ msgstr "%s: není obyčejný soubor"
 msgid "%s: file is too large"
 msgstr "%s: soubor je příliš velký"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: binární soubor nelze spustit"
@@ -555,12 +555,12 @@ msgstr ""
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr "žádné téma nápovědy se nehodí pro „%s“. Zkuste „help help“ nebo „man -k %s“ nebo „info %s“."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: nelze otevřít: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -580,21 +580,21 @@ msgstr ""
 "Hvězdička (*) vedle jména znamená, že příkaz je zakázán.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "nelze použít více jak jeden z -anrw"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "místo v historii"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: neplatný časový údaj"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: expanze historie selhala"
@@ -617,78 +617,78 @@ msgstr "%s: argumenty musí být proces nebo identifikátor úlohy"
 msgid "Unknown error"
 msgstr "Neznámá chyba"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "očekáván výraz"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: není (proměnnou typu) indexované pole"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: chybné určení deskriptoru souboru"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: neplatný deskriptor souboru: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: chybný počet řádků"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: chybný počátek pole"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: neplatné množství mezi voláními"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "prázdný název proměnné typu pole"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "je vyžadována podpora proměnných typu pole"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "„%s“: postrádám formátovací znak"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "„%c“: chybné určení časového limitu"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "„%c“: neplatný formátovací znak"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "varování: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "potíže s rozebráním formátovacího řetězce: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "u \\x chybí šestnáctková číslovka"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "u \\%c chybí unikódová číslovka"
@@ -837,12 +837,12 @@ msgstr ""
 "    \n"
 "    Zásobník adresářů si můžete prohlédnout příkazem „dirs“."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: chybné určení časového limitu"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "chyba čtení: %d: %s"
@@ -855,7 +855,7 @@ msgstr "„return“ lze provést jen z funkce nebo skriptu načteného přes 
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "funkci i proměnnou nelze rušit současně"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: není (proměnnou typu) pole"
@@ -874,11 +874,11 @@ msgstr "%s: nelze exportovat"
 msgid "shift count"
 msgstr "počet shiftů"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "přepínač shellu nelze zároveň nastavit a zrušit"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: chybný název přepínače shellu"
@@ -945,16 +945,16 @@ msgstr "%s: chybný argument s limitou"
 msgid "`%c': bad command"
 msgstr "„%c“: chybný příkaz"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: limit nelze zjistit: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "limit"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: limit nelze změnit: %s"
@@ -973,7 +973,7 @@ msgstr "„%c“: chybný operátor symbolických práv"
 msgid "`%c': invalid symbolic mode character"
 msgstr "„%c“: chybný znak symbolický práv "
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " řádek "
 
@@ -993,96 +993,106 @@ msgstr "Ukončuji…"
 msgid "INFORM: "
 msgstr "INFORMACE: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "LADICÍ upozornění: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "chyba neznámého příkazu"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "chybný druh příkazu"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "chybný konektor"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "chybný skok"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: nevázaná proměnná"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\ačasový limit pro čekání na vstup vypršel: automatické odhlášení\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "standardní vstup nelze přesměrovat z /dev/null: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: „%c“: chybný formátovací znak"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: koproces [%d:%s] stále existuje"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "chyba v rouře"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: maximální úroveň zanoření funkce eval byla překročena (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: maximální úroveň zanoření funkce source byla překročena (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: maximální úroveň zanoření funkcí byla překročena (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: omezeno: v názvu příkazu nesmí být „/“"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: příkaz nenalezen"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: nelze spustit: požadovaný soubor neexistuje"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: chybný interpretr"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: binární soubor nelze spustit: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "„%s“: je zvláštní vestavěný příkaz shellu"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "deskriptor souboru %d nelze duplikovat na deskriptor %d"
@@ -1095,68 +1105,68 @@ msgstr "úroveň rekurze výrazu byla překročena"
 msgid "recursion stack underflow"
 msgstr "zásobník rekurze podtekl"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "syntaktická chyba ve výrazu"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "pokus o přiřazení do ne-proměnné"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "syntaktická chyba v přiřazení do proměnné"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "dělení nulou"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "chyba: chybný expassing token"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "v podmíněném výrazu očekávána „:“"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "mocnitel menší než 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "po přednostním zvýšení nebo snížení očekáván identifikátor"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "postrádám „)“"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "syntaktická chyba: očekáván operand"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "syntaktická chyba: chybný aritmetický operátor"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (chybný token je „%s“)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "chybný aritmetický základ"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "chybná celočíselná konstanta"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "hodnot je pro základ příliš velká"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: chyba výrazu\n"
@@ -1165,7 +1175,7 @@ msgstr "%s: chyba výrazu\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: rodičovské adresáře nejsou přístupné"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "na deskriptoru %d nelze resetovat režim nodelay"
@@ -1184,169 +1194,169 @@ msgstr "save_bash_input: buffer již pro nový deskriptor %d existuje"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp roury"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: SMYČKA: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: SMYČKA: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "forknutý PID %d se objevil v běžící úloze %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "mažu pozastavenou úlohu %d se skupinou procesů %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: PID %5ld (%s) označen za stále živého"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: žádný takový PID"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Signál %d"
 
 # XXX: (úloha) dokončna. Používat ženský rod i unásledujících. Jedná se
 # o výpis úloh.
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Dokončena"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Pozastavena"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Pozastavena (%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Běží"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Dokončena (%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Ukončena %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Stav neznámý"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(core dumped [obraz paměti uložen]) "
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (cwd: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "setpgid na potomku (z %ld na %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: PID %ld není potomkem tohoto shellu"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: Žádný záznam o procesu %ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: úloha %d je pozastavena"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: žádné současné úlohy"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: úloha skončila"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: úloha %d je již na pozadí"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: zapíná se WNOHANG, aby se zabránilo neurčitému zablokování"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: řádek %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (core dumped [obraz paměti uložen])"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(cwd nyní: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp selhalo"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: správa úloh nefunguje na pozadí"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: disciplína linky"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "nelze nastavit skupinu procesů terminálu (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "žádná správa úloh v tomto shellu"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: předpoklad nesplněn: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1355,47 +1365,47 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: zbabraný předpoklad\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "není známo"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: blok v seznamu uvolněných zbit"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: zavoláno s argumentem již uvolněného bloku"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: zavoláno s argumentem nenaalokovaného bloku"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: zjištěno podtečení, mh_nbytes mimo rozsah"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: zjištěno podtečení, magic8 poškozeno"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: velikosti počátečního a koncového kusu se liší"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: zavoláno s argumentem nenaalokovaného bloku"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: zjištěno podtečení, mh_nbytes mimo rozsah"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: zjištěno podtečení, magic8 poškozeno"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: velikosti počátečního a koncového kusu se liší"
 
@@ -1437,22 +1447,22 @@ msgstr "%s: chybné určení síťové cesty"
 msgid "network operations not supported"
 msgstr "síťové operace nejsou podporovány"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: národní prostředí nelze změnit (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: národní prostředí nelze změnit (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: národní prostředí nelze změnit (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: národní prostředí nelze změnit (%s): %s"
@@ -1470,139 +1480,139 @@ msgstr "V $_ máte novou poštu"
 msgid "The mail in %s has been read\n"
 msgstr "Pošta v %s je přečtená\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "chyba syntaxe: vyžadován aritmetický výraz"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "chyba syntaxe: neočekávaný „;“"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "chyba syntaxe: „((%s))“"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: chybný druh instrukce %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "„here“ dokument na řádku %d ukončen koncem souboru (požadováno „%s“)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: instrukce přesměrování „%d“ mimo rozsah"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) přesahuje SIZE_MAX (%lu): řádek zkrácen"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "maximální počet here dokumentů překročen"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "neočekávaný konec souboru při hledání znaku odpovídajícímu „%c“"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "neočekávaný konec souboru při hledání „]]“"
 
 # XXX: Condional means condition (adj.) probably. Can English distinguish
 # between the condition (podmínkový) and the code branch (podmíněný)? Check
 # for all "conditional" string occurences.
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "chyba syntaxe ve výrazu podmínky: neočekávaný token „%s“"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "chyba syntaxe ve výrazu podmínky"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "neočekávaný token „%s“, očekávána „)“"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "očekávána „)“"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "neočekávaný argument „%s“ u podmínkového unárního operátoru"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "neočekávaný argument u podmínkového unárního operátoru"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "neočekávaný token „%s“, očekáván podmínkový binární operátor"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "očekáván podmínkový binární operátor"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "neočekávaný argument „%s„ u podmínkového binárního operátoru"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "neočekávaný argument u podmínkového binárního operátoru"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "neočekávaný token „%c“ v podmínkovém příkazu"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "neočekávaný token „%s“ v podmínkovém příkazu"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "neočekávaný token %d v podmínkovém příkazu"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "chyba syntaxe poblíž neočekávaného tokenu „%s“"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "chyba syntaxe poblíž „%s“"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "chyba syntaxe: nenadálý konec souboru"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "chyba syntaxe"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Shell lze ukončit příkazem „%s“.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "nenadálý konec souboru při hledání odpovídající „)“"
 
@@ -1641,94 +1651,94 @@ msgstr "xtrace_set: nullový ukazatel na soubor"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace: fd (%d) != fileno fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: „%c“: chybný formátovací znak"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "deskriptor souboru mimo rozsah"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: nejednoznačné přesměrování"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: existující soubor nelze přepsat"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: omezeno: výstup nelze přesměrovat"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "pro „here“ dokument nelze vytvořit dočasný soubor: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: deskriptor souboru nelze přiřadit do proměnné"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port není bez síťování podporováno"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "chyba přesměrování: deskriptor souboru nelze duplikovat"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "nelze nalézt /tmp, vytvořte jej, prosím!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp musí být platným názvem pro adresář"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "v interaktivních shellech se režim krásného výpisu nepoužije"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: chybný přepínač"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "UID nelze nastavit na %d: efektivní UID je %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "GID nelze nastavit na %d: efektivní GID je %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "debuger nelze spustit, ladicí režim zakázán"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: Je adresářem"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Nemám žádné jméno!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, verze %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1737,323 +1747,323 @@ msgstr ""
 "Použití:\t%s [Dlouhý GNU přepínač] [přepínač]…\n"
 "\t%s [Dlouhý GNU přepínač] [přepínač] skriptový_soubor…\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Dlouhé GNU přepínače:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Přepínače shellu:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD nebo -c příkaz nebo -O shopt_přepínač\t(pouze při vyvolání)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s nebo -o přepínač\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Podrobnosti o přepínačích shellu získáte tím, že napíšete „%s -c \"help set\"“.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr ""
 "Podrobnosti o příkazech vestavěných do shellu získáte tím, že\n"
 "napište „%s -c help“.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Chyby nahlásíte příkazem „bashbug“.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "Domovská stránka bashe: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Obecný návod na použití softwaru GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: neplatná operace"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Falešný signál"
 
 # Překlady názvů signálů převzaty (s mírnými úpravami) z české překladu
 # manuálové stránky signal(7). 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Linka terminálu zavěšena"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Přerušení"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Ukončení"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Neplatná instrukce"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "Přerušení při ladění"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "Ukončení funkcí abort()"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "Instrukce EMT"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Výjimka při práci s pohyblivou řádovou čárkou"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Zabit"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Chyba sběrnice"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Chyba segmentace"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Špatné volání systému"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Z roury nikdo nečte"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Signál časovače"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Ukončit"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Čekají urgentní I/O data"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Pozastaveno (signálem)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Pokračovat"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Potomek byl pozastaven nebo zemřel"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Pozastaveno (vstupem TTY)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Pozastaveno (výstupem na TTY)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "I/O je připraveno"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "Dosažen limit procesorového času"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Dosažen limit velikosti souboru"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Časovač (virtuální)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Časovač (profilovací)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Změna okna"
 
 # XXX: SIGLOST
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Zámek záznamu"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Uživatelský signal 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Uživatelský signál 2"
 
 # FIXME: HFT znamená High Frequency Timer? Zkontrolovat i další výskyty
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "vstupní data HFT čekají"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "hrozí selhání napájení"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "hrozí selhání systému"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "přesunout proces na jiný procesor"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "chyba programování"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "Režim HFT sledování přidělen"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "Režim HFT sledování odebrán"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "HFT zvuková posloupnost byla dokončena"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Požadavek o informaci"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Neznámý signál č. %d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "chybná substituce: v %2$s chybí uzavírací „%1$s“"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: seznam nelze přiřadit do prvku pole"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "nelze vyrobit rouru za účelem substituce procesu"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "nelze vytvořit potomka za účelem substituce procesu"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "pojmenovanou rouru %s nelze otevřít pro čtení"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "pojmenovanou rouru %s nelze otevřít pro zápis"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "pojmenovanou rouru %s nelze zdvojit jako deskriptor %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "substituce příkazu: nulový bajt ve vstupu ignorován"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "nelze vytvořit rouru pro substituci příkazu"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "nelze vytvořit potomka pro substituci příkazu"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: rouru nelze zdvojit jako deskriptor 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: neplatný název proměnné pro odkaz na název"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: chybná nepřímá expanze"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: chybný název proměnné"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parametr nenastaven"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parametr null nebo nenastaven"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: výraz podřetězce < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: chybná substituce"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: takto nelze přiřazovat"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "budoucá verze tohoto shellu budou vynucovat vyhodnocení jako aritmetickou substituci"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "chybná substituce: v %s chybí uzavírací „`“"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "žádná shoda: %s"
@@ -2076,21 +2086,21 @@ msgstr "očekávána „)“"
 msgid "`)' expected, found %s"
 msgstr "očekávána „)“, nalezeno %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: očekáván binární operátor"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: očekáván unární operátor"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "postrádám „]“"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "chyba syntaxe: neočekávaný řetězec „%s“"
@@ -2099,99 +2109,104 @@ msgstr "chyba syntaxe: neočekávaný řetězec „%s“"
 msgid "invalid signal number"
 msgstr "neplatné číslo signálu"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "obsluha signálů: maximální úroveň zanoření obsluhy signálů byla překročena (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: chybná hodnota v trap_list[%d]: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: obsluha signálu je SIG_DFL, přeposílám %d (%s) sobě"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: chybný signál %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "chyba při importu definice „%s“"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "úroveň shellu (%d) příliš vysoká, resetuji na 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: žádný kontext funkce v aktuálním rozsahu"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: hodnotu nelze do proměnné přiřadit"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: z nekompatibilního typu nelze hodnotu zdědit"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: přiřazení čísla odkazu na název"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: žádný kontext funkce v aktuálním rozsahu"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s: má nullový exportstr"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "neplatný znak %d v exportstr pro %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "v exportstr pro %s chybí „=“"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: hlava shell_variables není kontextem funkce"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: chybí kontext global_variables"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: hlava shell_variables není dočasným rozsahem prostředí"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: nelze otevřít jako SOUBOR"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: neplatná hodnota pro deskriptor trasovacího souboru"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: hodnota kompatibility je mimo rozsah"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright © 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright © 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2271,12 +2286,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] příkaz [argument…]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [název[=hodnota]…]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [název[=hodnota]…] nebo declare [-p] [-aAfFilnrtux] [název…]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] název[=hodnota]…"
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] název[=hodnota]… nebo typeset -p [-aAfFilnrtux] [název…]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2363,8 +2378,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o název_přepínače] [--] [argument…]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o název_přepínače] [--] [-] [argument…]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2411,8 +2426,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] název [název…]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2451,12 +2466,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if PŘÍKAZY; then PŘÍKAZY; [ elif PŘÍKAZY; then PŘÍKAZY; ]… [ else PŘÍKAZY; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while PŘÍKAZY; do PŘÍKAZY; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while PŘÍKAZY; do PŘÍKAZY-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until PŘÍKAZY; do PŘÍKAZY; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until PŘÍKAZY; do PŘÍKAZY-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3753,7 +3768,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3796,7 +3812,8 @@ msgstr ""
 "    dělení na slova a první slovo je přiřazeno do prvního JMÉNA, druhé slovo\n"
 "    do druhého JMÉNA a tak dále, přičemž přebývající slova se přiřadí do\n"
 "    posledního JMÉNA. Pouze znaky uvedené v $IFS jsou považovány za\n"
-"    oddělovače slov.\n"
+"    oddělovače slov. Ve výchozím nastavení znak zpětného lomítka ruší\n"
+"    zvláštní význam znaků oddělovače a nového řádku.\n"
 "    \n"
 "    Nejsou-li uvedena žádná JMÉNA, načtený řádek bude uložen do proměnné REPLY.\n"
 "    \n"
@@ -3832,7 +3849,7 @@ msgstr ""
 "    přiřazování do proměnné, nebo není poskytnut neplatný deskriptor souboru\n"
 "    jako argument -u."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3852,7 +3869,7 @@ msgstr ""
 "    Návratová hodnota:\n"
 "    Vrátí N, nebo selže, pokud shell neprovádí funkci nebo skript."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4020,7 +4037,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud nebyl zadán neplatný argument."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4059,7 +4076,7 @@ msgstr ""
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač a JMÉNO není jen pro\n"
 "    čtení."
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4091,7 +4108,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač nebo NÁZEV."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4129,7 +4146,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač nebo NÁZEV."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4147,7 +4164,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud N není záporný a není větší než $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4171,7 +4188,7 @@ msgstr ""
 "    Vrací návratový kód posledního provedeného příkazu z NÁZVU_SOUBORU.\n"
 "    Selže, pokud NÁZEV_SOUBORU nelze načíst."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4195,7 +4212,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrací úspěch, pokud je správa úloh zapnuta a nevyskytla se chyba."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4362,7 +4379,7 @@ msgstr ""
 "    Vrací úspěch, je-li VÝRAZ vyhodnocen jako pravdivý. Selže, je-li VÝRAZ\n"
 "    vyhodnocen jako nepravdivý nebo je-li zadán neplatný argument."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4374,7 +4391,7 @@ msgstr ""
 "    Toto je synonymum pro vestavěný příkaz „test“, až na to, že poslední\n"
 "    argument musí být doslovně „]“, aby se shodoval s otevírající „[“."
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4392,7 +4409,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vždy uspěje."
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4459,7 +4476,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud SIGSPEC a zadané přepínače jsou platné."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4514,7 +4531,7 @@ msgstr ""
 "    Vrátí úspěch, pokud všechny NÁZVY byly nalezeny. Selže, pokud některé\n"
 "    nalezeny nebyly."
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4609,7 +4626,7 @@ msgstr ""
 "    Návratová hodnota:\n"
 "    Vrací úspěch, pokud nebyl zadán neplatný přepínač a nevyskytla se chyba."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4642,7 +4659,7 @@ msgstr ""
 "    Návratový kód\n"
 "    Vrátí úspěch, pokud nebyl zadán neplatný MÓD nebo přepínač."
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4693,7 +4710,7 @@ msgstr ""
 "    neplatný přepínač nebo byl použit přepínač -n a shell nemá žádné\n"
 "    nevyhodnocené potomky."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4715,7 +4732,7 @@ msgstr ""
 "    Vrátí kód posledního PID. Selže, pokud PID není platný nebo byl zadán\n"
 "    neplatný přepínač."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4736,7 +4753,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí kód naposledy provedeného příkazu."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4765,7 +4782,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí kód naposledy vykonaného příkazu."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4800,7 +4817,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí kód naposledy prováděného příkazu."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4829,7 +4846,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Návratová hodnota je návratová hodnota KOLONY."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4847,7 +4864,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí kód naposledy provedeného příkazu."
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4875,42 +4892,43 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí kód naposledy provedeného příkazu."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Vykonává příkazy, dokud test úspěšně prochází.\n"
 "    \n"
-"    Expanduje a provádí PŘÍKAZY tak dlouho, dokud poslední příkaz ve „while“\n"
-"    PŘÍKAZECH má nulový návratový kód.\n"
+"    Expanduje a provádí PŘÍKAZY-2 tak dlouho, dokud poslední příkaz v PŘÍKAZECH\n"
+"    má nulový návratový kód.\n"
 "    \n"
 "    Návratový kód:\n"
 "    Vrátí kód naposledy provedeného příkazu."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Vykonává příkazy, dokud test končí neúspěšně.\n"
 "    \n"
-"    Expanduje a provádí PŘÍKAZY tak dlouho, dokud poslední příkaz ve „until“\n"
-"    PŘÍKAZECH má nenulový návratový kód.    \n"
+"    Expanduje a provádí PŘÍKAZY-2 tak dlouho, dokud poslední příkaz v PŘÍKAZECH\n"
+"    má nenulový návratový kód.\n"
+"    \n"
 "    Návratový kód:\n"
 "    Vrátí kód naposledy provedeného příkazu."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4931,7 +4949,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Příkaz coproc vrací návratový kód 0."
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4953,7 +4971,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud NÁZEV není jen pro čtení."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4970,7 +4988,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí kód naposledy spuštěného příkazu."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4993,7 +5011,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí kód obnovené úlohy."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5015,7 +5033,7 @@ msgstr ""
 # příkaz, který by byl vykonán na základě splnění jiné podmínky. Tj. překlad
 # „podmíněný příkaz“ je chybný.
 # Toto je nápověda k vestavěnému příkazu „[“.
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5062,7 +5080,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    0 nebo 1 podle hodnoty VÝRAZU."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5166,7 +5184,7 @@ msgstr ""
 "    \t\trozlišení, které příkazy by měly být uloženy do seznamu\n"
 "    \t\thistorie.\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5223,7 +5241,7 @@ msgstr ""
 "    Vrátí úspěch, pokud nebyl zadán neplatný argument a změna adresáře\n"
 "    neselhala."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5273,7 +5291,7 @@ msgstr ""
 "    Vrátí úspěch, pokud nebyl zadán neplatný argument nebo neselhala změna\n"
 "    adresáře."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5323,7 +5341,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač a nevyskytla se chyba."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5360,7 +5378,7 @@ msgstr ""
 "    Vrátí úspěch, je-li NÁZEV_VOLBY zapnut. Selže, byl-li zadán neplatný\n"
 "    přepínač nebo je-li NÁZEV_VOLBY vypnut."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5379,6 +5397,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5409,6 +5429,8 @@ msgstr ""
 "                   v odpovídajícím argumentu\n"
 "      %q           oescapuje argument takovým způsobem, že jej bude možné\n"
 "                   použít jako vstup shellu\n"
+"      %Q           jako %q, ale použije libovolnou přesnost na neescapovaný\n"
+"                   argument před samotným escapováním\n"
 "      %(FORMÁT)T   vypíše řetězec data-času tak, jako by to byl výstup\n"
 "                   funkce strftime(3) s formátovacím řetězcem FORMÁT\n"
 "    \n"
@@ -5421,7 +5443,7 @@ msgstr ""
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač a nedošlo k chybě\n"
 "    zápisu nebo přiřazení."
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5471,7 +5493,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač a nevyskytla se chyba."
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5491,7 +5513,7 @@ msgstr ""
 "    Návratový kód:\n"
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač a nevyskytla se chyba."
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5545,7 +5567,7 @@ msgstr ""
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač a NÁZEV měl definováno\n"
 "    pravidlo doplňování."
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5615,7 +5637,7 @@ msgstr ""
 "    Vrátí úspěch, pokud nebyl zadán neplatný přepínač, POLE nebylo jen pro\n"
 "    čtení a bylo indexovaným polem."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5625,6 +5647,9 @@ msgstr ""
 "    \n"
 "    Synonymum pro „mapfile“."
 
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: neplatný klíč asociativního pole"
+
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
index c093d8c0605a266ce579014ecb6fd1d77c33bb23..39d8520c920932198b421ac5af6716f073d85bf6 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index e2f758904aaf327250b60986dce19610d7b35667..2d503ed4cd1d75c310b984ac42a0133d0e3f171b 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,15 +1,15 @@
 # Messages français pour GNU concernant bash.
-# Copyright (C) 2020 Free Software Foundation, Inc.
+# Copyright (C) 2022 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 # Michel Robitaille <robitail@IRO.UMontreal.CA>, 2004
 # Christophe Combelles <ccomb@free.fr>, 2008, 2009, 2010, 2011
-# Frédéric Marchal <fmarchal@perso.be>, 2020
+# Frédéric Marchal <fmarchal@perso.be>, 2022
 msgid ""
 msgstr ""
-"Project-Id-Version: bash-5.1\n"
+"Project-Id-Version: bash-5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2020-12-11 14:47+0100\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-19 10:44+0200\n"
 "Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -23,57 +23,52 @@ msgstr ""
 msgid "bad array subscript"
 msgstr "mauvais indice de tableau"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: retire l'attribut nameref"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s : impossible de convertir un tableau indexé en associatif"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s : clé non valable pour le tableau associatif"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s : impossible d'assigner à un index non numérique"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s : %s : l'assignation d'un tableau associatif doit se faire avec un indice"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s : impossible de créer : %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command : impossible de trouver le mappage clavier pour la commande"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s : le premier caractère non vide n'est pas « \" »"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "pas de « %c » de fermeture dans %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s : virgule de séparation manquante"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "« %s » : impossible à délier dans la commande keymap"
@@ -93,7 +88,7 @@ msgstr "expansion des accolades : échec lors de l'allocation mémoire pour %u
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "expansion des accolades : échec de l'allocation mémoire pour « %s »"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "« %s » : nom d'alias non valable"
@@ -164,7 +159,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "« HOME » non défini"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "trop d'arguments"
 
@@ -191,7 +186,7 @@ msgstr "avertissement :"
 msgid "%s: usage: "
 msgstr "%s : utilisation :"
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s : l'option nécessite un argument"
@@ -206,7 +201,7 @@ msgstr "%s : argument numérique nécessaire"
 msgid "%s: not found"
 msgstr "%s : non trouvé"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s : option non valable"
@@ -216,7 +211,7 @@ msgstr "%s : option non valable"
 msgid "%s: invalid option name"
 msgstr "%s : nom d'option non valable"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "« %s » : identifiant non valable"
@@ -229,7 +224,7 @@ msgstr "nombre octal non valable"
 msgid "invalid hex number"
 msgstr "nombre hexadécimal non valable"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "nombre non valable"
 
@@ -243,88 +238,93 @@ msgstr "%s : indication de signal non valable"
 msgid "`%s': not a pid or valid job spec"
 msgstr "« %s » : ce n'est pas un n° de processus ou une spécification de tâche valable"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s : variable en lecture seule"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s : impossible d'assigner"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s : %s hors plage"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s hors plage"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s : tâche inexistante"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s : pas de contrôle de tâche"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "pas de contrôle de tâche"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s : restreint"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "restreint"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s : ceci n'est pas une primitive du shell"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "erreur d'écriture : %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "erreur lors de la définition de l'attribut du terminal : %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "erreur lors de la récupération de l'attribut du terminal : %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s : erreur de détermination du répertoire actuel : %s : %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s : spécification de tâche ambiguë"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "l'aide n'est pas disponible dans cette version"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s : « unset » impossible : %s est en lecture seule"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s : « unset » impossible"
@@ -334,108 +334,108 @@ msgstr "%s : « unset » impossible"
 msgid "%s: invalid action name"
 msgstr "%s : nom d'action non valable"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s : pas d'indication de complètement"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "avertissement : l'option « -F » peut fonctionner différemment de ce à quoi vous vous attendez"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "avertissement : l'option « -C » peut fonctionner différemment de ce à quoi vous vous attendez"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "fonction de complétion actuellement non en cours d'exécution"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "utilisable seulement dans une fonction"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "« -f » ne peut pas être utilisé pour fabriquer des fonctions"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s : fonction en lecture seule"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s : la variable de référence ne peut pas être un tableau"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s : références bouclées sur la même variable interdites"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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 : référence de nom circulaire"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "« %s » : nom de variable invalide pour une référence de nom"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "« -f » ne peut pas être utilisé pour fabriquer des fonctions"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s : fonction en lecture seule"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s : l'assignation d'un tableau composé entre apostrophes est dépréciée"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s : impossible de détruire des variables tableaux de cette façon"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s : impossible de convertir un tableau indexé en tableau associatif"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s : l'assignation d'un tableau composé entre apostrophes est dépréciée"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "chargement dynamique non disponible"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "impossible d'ouvrir l'objet partagé %s : %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "impossible de trouver %s dans l'objet partagé %s : %s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s : la primitive dynamique a déjà été chargée"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "la fonction de chargement de %s retourne un échec (%d) : pas chargé"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s : non chargé dynamiquement"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s : impossible d'effacer : %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s : ceci est un répertoire"
@@ -450,7 +450,7 @@ msgstr "%s : ceci n'est pas un fichier régulier"
 msgid "%s: file is too large"
 msgstr "%s : le fichier est trop grand"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s : ne peut exécuter le fichier binaire"
@@ -545,12 +545,12 @@ msgstr ""
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr "Aucune rubrique d'aide ne correspond à « %s ». Essayez « help help », « man -k %s » ou « info %s »."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s : impossible d'ouvrir : %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -570,21 +570,21 @@ msgstr ""
 "Une astérisque (*) à côté d'un nom signifie que la commande est désactivée.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "impossible d'utiliser plus d'une option parmi « -anrw »"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "position dans l'historique"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s : horodatage non valable"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s : l'expansion de l'historique a échoué"
@@ -607,78 +607,78 @@ msgstr "%s : les arguments doivent être des identifiants de tâche ou de proces
 msgid "Unknown error"
 msgstr "Erreur inconnue"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "une expression est attendue"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s : n'est pas un tableau indexé"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s : spécification de descripteur de fichier non valable"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d : descripteur de fichier non valable : %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s : nombre de lignes non valable"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s : origine de tableau non valable"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s : quantum de callback non valable"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "nom de variable tableau vide"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "nécessité de prise en charge des variables tableaux"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "« %s » : caractère de format manquant"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "« %c » : spécification de format d'heure incorrecte"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "« %c » : caractère de format non permis"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "avertissement : %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "problème d'analyse du format : %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "chiffre hexadécimal manquant pour \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "chiffre unicode manquant pour \\%c"
@@ -828,12 +828,12 @@ msgstr ""
 "    \n"
 "    Vous pouvez voir la pile des répertoires avec la commande « dirs »."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s : spécification de délai d'expiration non valable"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "erreur de lecture : %d : %s"
@@ -846,7 +846,7 @@ msgstr "« return » n'est possible que depuis une fonction ou depuis un scrip
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "« unset » ne peut pas s'appliquer simultanément à une fonction et à une variable"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s : n'est pas une variable tableau"
@@ -865,11 +865,11 @@ msgstr "%s : impossible d'exporter"
 msgid "shift count"
 msgstr "nombre de « shift »"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "les options du shell ne peuvent pas être simultanément activées et désactivées"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s : nom d'option du shell non valable"
@@ -936,16 +936,16 @@ msgstr "%s : argument de limite non valable"
 msgid "`%c': bad command"
 msgstr "« %c » : mauvaise commande"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s : impossible d'obtenir la limite : %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "limite"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s : impossible de modifier la limite : %s"
@@ -964,7 +964,7 @@ msgstr "« %c » : opérateur de mode symbolique non valable"
 msgid "`%c': invalid symbolic mode character"
 msgstr "« %c » : caractère de mode symbolique non valable"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " ligne "
 
@@ -982,98 +982,108 @@ msgstr "Annulation…"
 #: error.c:287
 #, c-format
 msgid "INFORM: "
-msgstr "INFORM: "
+msgstr "INFORM : "
+
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "avertissement de DÉBOGAGE :"
 
-#: error.c:462
+#: error.c:488
 msgid "unknown command error"
 msgstr "erreur de commande inconnue"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "mauvais type de commande"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "mauvais connecteur"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "mauvais saut"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s : variable sans liaison"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\aattente de données expirée : déconnexion automatique\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "l'entrée standard ne peut pas être redirigée depuis /dev/null : %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT : « %c » : caractère de format non valable"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: coproc [%d:%s] existe encore"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "erreur de tube"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval : dépassement de la profondeur maximum d'imbrication d'évaluations (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s : dépassement de la profondeur maximum d'imbrication de sources (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s : dépassement de la profondeur maximum d'imbrication de fonctions (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
-msgstr "%s : restriction : « / » ne peut pas être spécifié dans un nom de commande"
+msgstr "%s : restriction : « / » ne peut pas être spécifié dans un nom de commande"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
-msgstr "%s : commande introuvable"
+msgstr "%s : commande introuvable"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
-msgstr "%s : %s"
+msgstr "%s : %s"
+
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s : ne peut exécuter : le fichier requis n'a pas été trouvé"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
-msgstr "%s : %s : mauvais interpréteur"
+msgstr "%s : %s : mauvais interpréteur"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
-msgstr "%s : impossible d'exécuter le fichier binaire : %s"
+msgstr "%s : impossible d'exécuter le fichier binaire : %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "« %s » : est une primitive spéciale"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "impossible de dupliquer le fd %d vers le fd %d"
@@ -1086,68 +1096,68 @@ msgstr "dépassement du niveau de récursivité dans l'expression"
 msgid "recursion stack underflow"
 msgstr "débordement négatif de la pile de récursivité"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "erreur de syntaxe dans l'expression"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "tentative d'affectation à une non-variable"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "erreur de syntaxe dans l'affectation d'une variable"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "division par 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "bogue : mauvais symbole pour expassign"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "« : » attendu pour une expression conditionnelle"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "exposant négatif"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "identifiant attendu après un pré-incrément ou un pré-décrément"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "« ) » manquante"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "erreur de syntaxe : opérande attendu"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "erreur de syntaxe : opérateur arithmétique non valable"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s : %s (le symbole erroné est « %s »)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "base arithmétique non valable"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "constante entière invalide"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "valeur trop grande pour la base"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s : erreur d'expression\n"
@@ -1156,7 +1166,7 @@ msgstr "%s : erreur d'expression\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd : ne peut accéder aux répertoires parents"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "impossible de réinitialiser le mode « nodelay » pour le fd %d"
@@ -1175,167 +1185,167 @@ msgstr "save_bash_input : le tampon existe déjà pour le nouveau fd %d"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline : pgrp pipe"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "le processus cloné n°%d apparaît dans la tâche en fonctionnement %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "suppression de la tâche stoppée %d avec le groupe de processus %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process : pid %5ld (%s) signalé toujours en vie"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid : %ld : n° de processus inexistant"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Signal %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Fini"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Stoppé"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Stoppé(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "En cours d'exécution"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Fini(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Termine %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "État inconnu"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(core dumped)"
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd : %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "fils setpgid (%ld à %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait : le processus n°%ld n'est pas un fils de ce shell"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for : Aucun enregistrement du processus n°%ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job : la tâche %d est stoppée"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s : pas de tâche actuelle"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s : la tâche s'est terminée"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s : la tâche %d est déjà en arrière plan"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld : activation de WNOHANG pour éviter un blocage définitif"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s : ligne %d : "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (core dumped)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(maintenant, wd : %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control : getpgrp a échoué"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control : pas de contrôle de tâche en tâche de fond"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control : discipline de ligne"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control : setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "impossible de régler le groupe de processus du terminal (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "pas de contrôle de tâche dans ce shell"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc : échec de l'assertion : %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1344,47 +1354,47 @@ msgstr ""
 "\r\n"
 "malloc : %s:%d : assertion manquée\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "inconnu"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc : bloc écrasé sur liste libre"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free : appelé avec un bloc déjà libéré comme argument"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free : appelé avec un bloc non alloué comme argument"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free : débordement négatif détecté ; « mh_nbytes » est hors plage"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free : débordement négatif détecté ; « magic8 » est hors plage"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free : les tailles de fragment au début et à la fin sont différentes"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc : appelé avec un bloc non alloué comme argument"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc : débordement négatif détecté ; « mh_nbytes » est hors plage"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc : débordement négatif détecté ; « magic8 » est hors plage"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc : les tailles de fragment au début et à la fin sont différentes"
 
@@ -1426,22 +1436,22 @@ msgstr "%s : mauvaise spécification de chemin réseau"
 msgid "network operations not supported"
 msgstr "opérations sur le réseau non prises en charge"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale : LC_ALL : impossible de changer le paramètre de langue (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale : LC_ALL :  impossible de changer le paramètre de langue (%s) : %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale : %s : impossible de changer le paramètre de langue (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale : %s : impossible de changer le paramètre de langue (%s) : %s"
@@ -1459,136 +1469,136 @@ msgstr "Vous avez du nouveau courrier dans $_"
 msgid "The mail in %s has been read\n"
 msgstr "Le courrier dans %s a été lu\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "erreur de syntaxe : expression arithmétique nécessaire"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "erreur de syntaxe : « ; » non attendu"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "erreur de syntaxe : « ((%s)) »"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document : le type d'instruction %d est incorrect"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "« here-document » à la ligne %d délimité par la fin du fichier (au lieu de « %s »)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection : l'instruction de redirection « %d » est hors plage"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) dépasse SIZE_MAX (%lu): ligne tronquée"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "nombre maximum de documents en ligne (« here-document ») dépassé"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "fin de fichier (EOF) prématurée lors de la recherche du « %c » correspondant"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "fin de fichier (EOF) prématurée lors de la recherche de « ]] »"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "erreur de syntaxe dans une expression conditionnelle : symbole « %s » inattendu"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "erreur de syntaxe dans une expression conditionnelle"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "symbole inattendu « %s » au lieu de « ) »"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "« ) » attendu"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "argument inattendu « %s » pour l'opérateur conditionnel à un argument"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "argument inattendu pour l'opérateur conditionnel à un argument"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "symbole « %s » trouvé à la place d'un opérateur binaire conditionnel"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "opérateur binaire conditionnel attendu"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "argument « %s » inattendu pour l'opérateur binaire conditionnel"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "argument inattendu pour l'opérateur binaire conditionnel"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "symbole « %c » inattendu dans la commande conditionnelle"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "symbole « %s » inattendu dans la commande conditionnelle"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "symbole « %d » inattendu dans la commande conditionnelle"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "erreur de syntaxe près du symbole inattendu « %s »"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "erreur de syntaxe près de « %s »"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "erreur de syntaxe : fin de fichier prématurée"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "erreur de syntaxe"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Utilisez « %s » pour quitter le shell.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "fin de fichier (EOF) prématurée lors de la recherche d'une « ) » correspondante"
 
@@ -1626,94 +1636,94 @@ msgstr "xtrace_set : pointeur de fichier NULL"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf : « %c » : caractère de format invalide"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "descripteur de fichier hors plage"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s : redirection ambiguë"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s : impossible d'écraser le fichier existant"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s : restreint : impossible de rediriger la sortie"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "impossible de créer un fichier temporaire pour le « here-document » : %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s : impossible d'affecter le descripteur de fichier à la variable"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port non pris en charge sans réseau"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "erreur de redirection : impossible de dupliquer le descripteur de fichier"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "« /tmp » introuvable, veuillez le créer !"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "« /tmp » doit être un nom de répertoire valable"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "le mode d'affichage amélioré est ignoré dans les shells interactifs"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c : option non valable"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "impossible de changer le uid en %d : uid effectif %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "impossible de changer le gid en %d: gid effectif %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "impossible de démarrer le débogueur: mode déboguage désactivé"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s : Ceci est un répertoire"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Je n'ai pas de nom !"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, version %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1722,317 +1732,317 @@ msgstr ""
 "Utilisation :\t%s [option longue GNU] [option] ...\n"
 "\t%s [option longue GNU] [option] fichier-script ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Options longues GNU :\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Options du shell :\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD ou -c commande ou -O shopt_option\t\t(invocation seulement)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s ou -o option\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Pour en savoir plus sur les options du shell, saisissez « %s -c \"help set\" ».\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "Pour en savoir plus sur les primitives du shell, saisissez « %s -c help ».\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Utilisez la commande « bashbug » pour faire un rapport de bogue.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "page d'accueil de bash : <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Aide générale sur l'utilisation de logiciels GNU : <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask : %d : opération non valable"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Signal falsifié"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Raccroche"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Interrompt"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Quitte"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Instruction incorrecte"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "trace/trap BPT"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "Instruction ABORT"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "Instruction EMT"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Exception en virgule flottante"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Tué"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Erreur de bus"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Erreur de segmentation"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Mauvais appel système"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Tube brisé"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Horloge d'alarme"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Terminé"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Condition d'E/S urgente"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Stoppé (signal)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Continue"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Mort ou arrêt du fils"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Stoppé (entrée tty)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Stoppé (sortie tty)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "E/S prête"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "Limite CPU"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Limite fichier"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Alarme (virtuelle)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Alarme (profile)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Fenêtre changée"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Verrou d'enregistrement"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Signal utilisateur 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Signal utilisateur 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "données d'entrée HFT en attente"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "coupure d'alimentation imminente"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "panne système imminente"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "migration processus vers un autre CPU"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "erreur de programmation"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "Mode de surveillance HFT accordé"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "Mode de surveillance HFT rétracté"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "Séquence de son HFT terminée"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Demande d'information"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Signal n°%d inconnu"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "Mauvaise substitution : pas de « %s » de fermeture dans %s"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s : impossible d'affecter une liste à un élément de tableau"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "impossible de fabriquer un tube pour une substitution de processus"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "impossible de fabriquer un fils pour une substitution de processus"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "impossible d'ouvrir le tube nommé « %s » en lecture"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "impossible d'ouvrir le tube nommé « %s » en écriture"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "impossible de dupliquer le tube nommé « %s » vers le fd %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "substitution de commande: octet nul ignoré en entrée"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "impossible de fabriquer un tube pour une substitution de commande"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "impossible de fabriquer un processus fils pour une substitution de commande"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute : impossible de dupliquer le tube vers le fd 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s : nom de variable invalide pour une référence de nom"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s : expansion indirecte invalide"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: nom de variable invalide"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s : paramètre non défini"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s : paramètre vide ou non défini"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s : expression de sous-chaîne négative"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s : mauvaise substitution"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s : affectation impossible de cette façon"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "les versions futures du shell forceront l'évaluation comme une substitution arithmétique"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "mauvais remplacement : pas de « ` » de fermeture dans %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "pas de correspondance : %s"
@@ -2055,21 +2065,21 @@ msgstr "« ) » attendue"
 msgid "`)' expected, found %s"
 msgstr "« ) » attendue au lieu de %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s : opérateur binaire attendu"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s : opérateur unaire attendu"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "« ] » manquant"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "erreur de syntaxe : « %s » non attendu"
@@ -2078,103 +2088,108 @@ msgstr "erreur de syntaxe : « %s » non attendu"
 msgid "invalid signal number"
 msgstr "numéro de signal non valable"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "gestionnaire trap : dépassement de la profondeur maximum du gestionnaire « trap » (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps : mauvaise valeur dans trap_list[%d] : %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps : le gestionnaire de signal est SIG_DFL, renvoi de %d (%s) à moi-même"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
-msgstr "trap_handler : mauvais signal %d"
+msgstr "trap_handler : mauvais signal %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "erreur lors de l'importation de la définition de fonction pour « %s »"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "niveau de shell trop élevé (%d), initialisation à 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
-msgstr "make_local_variable : aucun contexte de fonction dans le champ d'application actuel"
+msgstr "make_local_variable : aucun contexte de fonction dans le champ d'application actuel"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
-msgstr "%s : la variable ne peut se voir assigner une valeur"
+msgstr "%s : la variable ne peut se voir assigner une valeur"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s : impossible d'hériter de la valeur d'un type incompatible"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
-msgstr "%s : assigne un entier à la référence de nom"
+msgstr "%s : assigne un entier à la référence de nom"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
-msgstr "all_local_variables : aucun contexte de fonction dans le champ d'application actuel"
+msgstr "all_local_variables : aucun contexte de fonction dans le champ d'application actuel"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s a un « exportstr » nul"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "caractère %d non valable dans « exportstr » pour %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "pas de « = » dans « exportstr » pour %s"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
-msgstr "pop_var_context : le début de « shell_variables » n'est pas un contexte de fonction"
+msgstr "pop_var_context : le début de « shell_variables » n'est pas un contexte de fonction"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
-msgstr "pop_var_context : aucun contexte à « global_variables »"
+msgstr "pop_var_context : aucun contexte à « global_variables »"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr "pop_scope : le début de « shell_variables » n'est pas un champ d'application temporaire d'environnement"
+msgstr "pop_scope : le début de « shell_variables » n'est pas un champ d'application temporaire d'environnement"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
-msgstr "%s : %s : impossible d'ouvrir comme FILE"
+msgstr "%s : %s : impossible d'ouvrir comme FILE"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%s : %s : valeur non valable pour un descripteur de fichier de trace"
+msgstr "%s : %s : valeur non valable pour un descripteur de fichier de trace"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
-msgstr "%s : %s : valeur de compatibilité hors plage"
+msgstr "%s : %s : valeur de compatibilité hors plage"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
-msgstr "Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>\n"
 
 #: version.c:86 version2.c:86
 #, c-format
@@ -2192,12 +2207,12 @@ msgstr "AUCUNE GARANTIE n'est fournie, dans les limites permises par la loi."
 #: xmalloc.c:93
 #, c-format
 msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "%s : impossible d'allouer %lu octets (%lu octets alloués)"
+msgstr "%s : impossible d'allouer %lu octets (%lu octets alloués)"
 
 #: xmalloc.c:95
 #, c-format
 msgid "%s: cannot allocate %lu bytes"
-msgstr "%s : impossible d'allouer %lu octets"
+msgstr "%s : impossible d'allouer %lu octets"
 
 #: xmalloc.c:165
 #, c-format
@@ -2250,12 +2265,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] commande [arg ...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [nom[=valeur] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [nom[=valeur] ...] ou declare -p [-aAfFilnrtux] [nom ...]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] nom[=valeur] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] nom[=valeur] ... ou typeset -p [-aAfFilnrtux] [nom ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2342,8 +2357,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o nom-option] [--] [arg ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o nom-option] [--] [-] [arg ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2390,8 +2405,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] nom [nom ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [limite]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limite]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2430,12 +2445,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if COMMANDES; then COMMANDES; [ elif COMMANDES; then COMMANDES; ]... [ else COMMANDES; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while COMMANDES; do COMMANDES; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while COMMANDES; do COMMANDES-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until COMMANDES; do COMMANDES; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until COMMANDES; do COMMANDES-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3753,7 +3768,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3796,11 +3812,12 @@ msgstr ""
 "    comme des mots, et le premier mot est assigné au premier NOM, le deuxième mot\n"
 "    au deuxième NOM, et ainsi de suite, le dernier NOM récupérant la liste des mots\n"
 "    restants. Seuls les caractères trouvés dans $IFS sont reconnus comme délimiteurs\n"
-"    de mots\n"
+"    de mots. Par défaut, la barre oblique inverse échappe les caractères délimiteurs\n"
+"    et les sauts de ligne.\n"
 "    \n"
 "    Si aucun NOM n'est fourni, la ligne lue est stockée dans la variable REPLY.\n"
 "    \n"
-"    Options :\n"
+"    Options :\n"
 "      -a tableau\taffecte les mots lus séquentiellement aux indices de la variable\n"
 "    \t\ttableau ARRAY en commençant à 0\n"
 "      -d délim\tcontinue jusqu'à ce que le premier caractère de DELIM soit lu,\n"
@@ -3827,11 +3844,12 @@ msgstr ""
 "    \t\tde sortie est supérieur à 128 si le délai a expiré\n"
 "      -u fd\tlit depuis le descripteur de fichier FD plutôt que l'entrée standard\n"
 "    \n"
-"    Code de sortie :\n"
-"    Le code de retour est 0, à moins qu'une fin de fichier ne survienne, que le délai expire,\n"
+"    Code de sortie :\n"
+"    Le code de retour est 0, à moins qu'une fin de fichier ne survienne, que le délai expire\n"
+"    (auquel cas, il est plus grand que 128), une erreur d'affectation à une variable survient\n"
 "    ou qu'un descripteur de fichier non valable ne soit fourni comme argument à « -u »."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3853,7 +3871,7 @@ msgstr ""
 "    Renvoie N ou le code d'échec si le shell n'est pas en train d'exécuter\n"
 "    une fonction ou un script."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4017,7 +4035,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie le code de succès à moins qu'une option non valable ne soit donnée."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4056,7 +4074,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit\n"
 "    donnée ou que NOM soit en lecture seule."
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4090,7 +4108,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit données\n"
 "    ou que NOM ne soit pas valable."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4129,7 +4147,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit\n"
 "    donnée ou que NOM ne soit pas valable."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4147,7 +4165,7 @@ msgstr ""
 "    Code de retour :\n"
 "    Renvoie le code de succès à moins que N soit négatif ou supérieur à $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4171,7 +4189,7 @@ msgstr ""
 "    Renvoie le code de la dernière commande exécutée dans NOMFICHIER, ou le code\n"
 "    d'échec si NOMFICHIER ne peut pas être lu."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4196,7 +4214,7 @@ msgstr ""
 "    Renvoie le code de succès à moins que le contrôle de tâche ne soit pas activé\n"
 "    ou qu'une erreur survienne."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4353,7 +4371,7 @@ msgstr ""
 "    Renvoie le code de succès si EXPR est vraie, le code d'échec si EXPR est fausse ou si\n"
 "    un argument non valable est donné."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4365,7 +4383,7 @@ msgstr ""
 "    Ceci est un synonyme de la primitive « test », mais le dernier argument\n"
 "    doit être le caractère « ] », pour fermer le « [ » correspondant."
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4383,7 +4401,7 @@ msgstr ""
 "    Code de retour :\n"
 "    Toujours le code de succès."
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4451,7 +4469,7 @@ msgstr ""
 "    Renvoie le code de succès à moins que SIGSPEC ne soit pas valable ou qu'une\n"
 "    option non valable ne soit donnée."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4507,7 +4525,7 @@ msgstr ""
 "    Renvoie le code de succès si tous les NOMs sont trouvés, le code d'échec si l'un\n"
 "    d'entre eux n'est pas trouvé."
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4603,7 +4621,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit fournie ou\n"
 "    qu'une erreur ne survienne."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4636,7 +4654,7 @@ msgstr ""
 "    Renvoie le code de succès à moins que MODE ne soit pas valable ou qu'une\n"
 "    option non valable ne soit donnée."
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4687,7 +4705,7 @@ msgstr ""
 "    ou si une option non valable et fournie ou si -n est employé et que le shell\n"
 "    n'a aucun enfant sur lequel attendre."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4710,7 +4728,7 @@ msgstr ""
 "    Renvoie le code de retour du dernier PID. Échoue si PID n'est pas valable ou\n"
 "    si une option non valable est donnée."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4732,7 +4750,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie le code de la dernière commande exécutée."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4762,7 +4780,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie le code de la dernière commande exécutée."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4798,7 +4816,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie le code de la dernière commande exécutée."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4827,7 +4845,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Le code de retour est celui du PIPELINE."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4845,7 +4863,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie le code de la dernière commande exécutée."
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4873,45 +4891,45 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie le code de la dernière commande exécutée."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Exécute des commandes aussi longtemps qu'elles réussissent.\n"
 "    \n"
-"    Effectue une expansion et exécute les COMMANDES aussi longtemps\n"
-"    que la commande finale du « while » se termine avec un code de\n"
-"    retour à zéro.\n"
+"    Effectue une expansion et exécute les COMMANDES-2 aussi longtemps\n"
+"    que la commande finale de COMMANDES se termine avec un code de retour\n"
+"    à zéro.\n"
 "    \n"
-"    Code de sortie :\n"
+"    Code de sortie :\n"
 "    Renvoie le code de la dernière commande exécutée."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Exécute des commandes aussi longtemps qu'un test échoue.\n"
 "    \n"
-"    Effectue une expansion et exécute les commandes « COMMANDES »\n"
-"    aussi longtemps que les commandes de « until » se terminent avec\n"
-"    un code de retour différent de zéro.\n"
+"    Effectue une expansion et exécute les commandes COMMANDES-2\n"
+"    aussi longtemps que la commande finale de COMMANDES se termine\n"
+"    avec un code de retour différent de zéro.\n"
 "    \n"
 "    Code de sortie :\n"
 "    Renvoie le code de la dernière commande exécutée."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4933,7 +4951,7 @@ msgstr ""
 "    Code de retour :\n"
 "    La commande coproc renvoie le code de sortie 0."
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4955,7 +4973,7 @@ msgstr ""
 "    Code de retour :\n"
 "    Renvoie le code de succès à moins que NOM ne soit en lecture seule."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4973,7 +4991,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie le code de la dernière commande exécutée."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4997,7 +5015,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie le code de la commande reprise."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5015,7 +5033,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    Renvoie 1 si EXPRESSION est évaluée à 0, sinon renvoie 0."
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5061,7 +5079,7 @@ msgstr ""
 "    Code de sortie :\n"
 "    0 ou 1 selon la valeur de l'EXPRESSION."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5165,7 +5183,7 @@ msgstr ""
 "    HISTIGNORE\tUne liste de motifs séparés par un deux-points, utilisés pour\n"
 "    \t\tdécider quelles commandes doivent être conservées dans la liste d'historique.\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5222,7 +5240,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'un argument non valable ne soit fourni\n"
 "    ou que le changement de répertoire n'échoue."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5273,7 +5291,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'un argument non valable ne soit donné\n"
 "    ou que le changement de répertoire n'échoue."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5326,7 +5344,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit\n"
 "    fournie ou qu'une erreur ne survienne."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5362,7 +5380,7 @@ msgstr ""
 "    Renvoie le code de succès si NOMOPT est active ; échec si une option non valable\n"
 "    est donnée ou si NOMOPT est inactive."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5381,6 +5399,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5395,33 +5415,35 @@ msgid ""
 msgstr ""
 "Formate et affiche des ARGUMENTS en contrôlant le FORMAT.\n"
 "    \n"
-"    Options :\n"
+"    Options :\n"
 "      -v var\taffecte la sortie à la variable VAR du shell plutôt que de l'afficher\n"
 "    \t\tsur la sortie standard\n"
 "    \n"
-"    Le FORMAT est une chaîne de caractères qui contient trois types d'objets : des caractères\n"
+"    Le FORMAT est une chaîne de caractères qui contient trois types d'objets : des caractères\n"
 "    normaux qui sont simplement copiés vers la sortie standard ; des séquences d'échappement\n"
 "    qui sont converties et copiées vers la sortie standard et des spécifications de\n"
 "    format, chacun entraînant l'affichage de l'argument suivant.\n"
 "    \n"
-"    En plus des formats standards décrits dans printf(1), « printf » interprète :\n"
+"    En plus des formats standards décrits dans printf(1), « printf » interprète :\n"
 "    \n"
 "      %b\tdéveloppe les séquences d'échappement à contre-oblique dans l'argument correspondant\n"
 "      %q\tprotège les arguments avec des guillemets de façon qu'ils puissent être réutilisés\n"
 "      comme entrée du shell.\n"
+"      %Q\tcomme %q mais applique une éventuelle précision à l'argument sans guillemets avant\n"
+"      d'ajouter les guillemets.\n"
 "      %(fmt)T\trenvoie la chaîne date-heure résultant de l'utilisation de FMT comme\n"
 "    \t        chaîne de format pour strftime(3)\n"
 "    \n"
-"    Le format est réutilisé si nécessaire pour consommer tous les arguments. Sil y a\n"
-"    moins d'arguments quexigé par le format, les spécificateurs de format surnuméraires\n"
-"    se comportent comme si la valeur zéro ou une chaîne nulle avait été fournie (selon\n"
+"    Le format est réutilisé si nécessaire pour consommer tous les arguments. S'il y a\n"
+"    moins d'arguments qu'exigé par le format, les spécificateurs de format surnuméraires\n"
+"    se comportent comme si la valeur zéro ou une chaîne nulle avait été fournies (selon\n"
 "    ce qui est approprié).\n"
 "    \n"
-"    Code de sortie :\n"
+"    Code de sortie :\n"
 "    Renvoie le code de succès à moins qu'une option non valable ne soit donnée ou qu'une\n"
 "    erreur d'écriture ou d'affectation ne survienne."
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5473,7 +5495,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit fournie ou\n"
 "    qu'une erreur ne survienne."
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5494,7 +5516,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit\n"
 "    fournie ou qu'une erreur ne survienne."
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5549,7 +5571,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit fournie\n"
 "    ou que NOM n'ait aucun réglage d'auto-complètement."
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5613,7 +5635,7 @@ msgstr ""
 "    Renvoie le code de succès à moins qu'une option non valable ne soit donnée ou que\n"
 "    le TABLEAU soit en lecture seule ou ne soit pas un tableau indexé."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5623,6 +5645,9 @@ msgstr ""
 "    \n"
 "    Synonyme de « mapfile »."
 
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s : clé non valable pour le tableau associatif"
+
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
index 39178a315d2e2e67ba1e9a4eafda8d7122b6ecd3..228b369eecd208f14b7da572944d2bd3c66110c3 100644 (file)
Binary files a/po/hr.gmo and b/po/hr.gmo differ
index 6fe53be0e40269ed3125b4985acc5c25658b299f..624e0d0104d28f87e3bae4fae2c3c91a1d54d7a3 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,75 +6,70 @@
 # Božidar Putanec <bozidarp@yahoo.com>, 2018, 2019, 2020, 2021, 2022.
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2022-03-30 11:48-0700\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-17 11:19-0700\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"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 19.12.3\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 22.07.70\n"
 
 #: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "loši indeks polja"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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:446 builtins/declare.def:851
+#: 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:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: nevaljan ključ asocijativnog polja"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: nenumerički indeks nije moguć"
 
-#: arrayfunc.c:747
+#: 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:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: nije moguće stvoriti: %s"
 
-#: bashline.c:4310
+#: 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"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: prvi nebijeli znak nije „\"“"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "nema zaključnog „%c“ u %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: nedostaje separator (dvotočka)"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "„%s“: nije moguće razvezati prečac (keymap) za naredbu"
@@ -95,7 +90,7 @@ msgstr "zamjena vitičastih zagrada: nema dovoljno memorije za %u elemenata"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "zamjena vitičastih zagrada: nema dovoljno memorije za „%s“"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "„%s“: ime aliasa nije valjano"
@@ -166,7 +161,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "HOME nije definiran"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "previše argumenata"
 
@@ -193,7 +188,7 @@ msgstr "upozorenje: "
 msgid "%s: usage: "
 msgstr "%s: uporaba: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: opcija zahtijeva argument"
@@ -208,7 +203,7 @@ msgstr "%s: nužan je numerički argument"
 msgid "%s: not found"
 msgstr "%s: nije nađeno"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: nevaljana opcija"
@@ -218,7 +213,7 @@ msgstr "%s: nevaljana opcija"
 msgid "%s: invalid option name"
 msgstr "%s: nevaljano ime za opciju"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "„%s“: nije valjano ime"
@@ -231,7 +226,7 @@ msgstr "nevaljan oktalni broj"
 msgid "invalid hex number"
 msgstr "nevaljan heksadecimalni broj"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "nevaljan broj"
 
@@ -245,88 +240,93 @@ msgstr "%s: nevaljana specifikacija signala"
 msgid "`%s': not a pid or valid job spec"
 msgstr "„%s“: nije PID ili nije valjana oznaka posla"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: je samo-za-čitanje varijabla"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: nije moguće pridružiti"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s je izvan raspona"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s je izvan raspona"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: nema takvog posla"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: nema upravljanja poslovima"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "nema upravljanja poslovima"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: ograničeni način rada"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "ograničeni način rada"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: nije ugrađena naredba ljuske"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "greška pisanja: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "greška pri postavljanju svojstava terminala: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "greška pri preuzimanju svojstava terminala: %s"
 
-#: builtins/common.c:635
+#: 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:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: oznaka posla nije jednoznačna"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "u ovoj inačici pomoć nije dostupna"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: 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:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: nije moguće izbrisati"
@@ -336,108 +336,108 @@ msgstr "%s: nije moguće izbrisati"
 msgid "%s: invalid action name"
 msgstr "%s: nevaljano ime za akciju"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: 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:688
+#: 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:690
+#: 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:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "funkcija dovršavanja trenutno ne radi"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "može se koristiti samo u funkciji"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "„-f“ se ne može koristiti za definiranje funkcija"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: je samo-za-čitanje funkcija"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: referentna varijabla ne može biti polje (array)"
 
-#: builtins/declare.def:374 variables.c:3385
+#: 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:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "„%s“: nevaljano ime varijable za referenciju imena"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "„-f“ se ne može koristiti za definiranje funkcija"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: je samo-za-čitanje funkcija"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: dodjela vrijednosti u navodnicima složenom polju je zastarjela"
-
-#: builtins/declare.def:838
+#: 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:845 builtins/read.def:815
+#: 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/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: dodjela vrijednosti u navodnicima složenom polju je zastarjela"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "dinamičko učitavanje nije dostupno"
 
-#: builtins/enable.def:343
+#: 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:371
+#: 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:388
+#: 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:392
+#: 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:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: nije dinamički učitan"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: nije moguće izbrisati: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: je direktorij"
@@ -452,7 +452,7 @@ msgstr "%s: nije obična datoteka"
 msgid "%s: file is too large"
 msgstr "%s: datoteka je prevelika"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: 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"
@@ -551,12 +551,12 @@ msgstr ""
 "Nema pomoći za „%s“.\n"
 "Pokušajte s „help help“, „man -k %s“ ili „info %s“."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: Nije moguće otvoriti: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -576,21 +576,21 @@ msgstr ""
 "Zvjezdica (*) pokraj imena znači da je naredba onemogućena.\n"
 "\n"
 
-#: builtins/history.def:155
+#: 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:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: nevaljan vremenski žig"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: proširenje povijesti nije uspjelo"
@@ -613,78 +613,78 @@ msgstr "%s: argumenti moraju biti ID-ovi procesa ili ID-ovi posla"
 msgid "Unknown error"
 msgstr "Nepoznata greška"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: 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:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: nije indeksirano polje"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: 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:279 builtins/read.def:315
+#: 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:288 builtins/mapfile.def:326
+#: 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:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: nevaljan početak polja (nevaljan indeks polja)"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: nevaljana količina (redaka između poziva)"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "prazno ime varijable polja"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "nužna je podrška za varijable (vrsta) polje"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "„%s“: nedostaje znak u specifikaciji formata"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "„%c“: nevaljana specifikacija za format vremena"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "„%c“: nevaljan znak u specifikaciji formata"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "upozorenje: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "problem s raščlanjivanjem formata: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "nedostaje heksadecimalna znamenka za \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "nedostaje unikodna (unicode) znamenka za \\%c"
@@ -828,12 +828,12 @@ msgstr ""
 "\n"
 "    Naredba „dirs“ prikaže trenutni sadržaj stȏga direktorija."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: nevaljana specifikacija za istek vremena (timeout)"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "greška čitanja: %d: %s"
@@ -846,7 +846,7 @@ msgstr "„return“ je moguć samo iz funkcije ili iz skripte pokrenute sa „s
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "nije moguće istovremeno poništiti funkciju i varijablu"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: nije varijabla (vrste) polja"
@@ -865,11 +865,11 @@ msgstr "%s: Nije moguće izvesti (export)"
 msgid "shift count"
 msgstr "broj (veličina) pomaka"
 
-#: builtins/shopt.def:310
+#: 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:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: nevaljano ime za opciju ljuske"
@@ -936,16 +936,16 @@ msgstr "%s: nevaljan argument za ograničenje"
 msgid "`%c': bad command"
 msgstr "„%c“: loša naredba"
 
-#: builtins/ulimit.def:455
+#: 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:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "ograničenje"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: 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"
@@ -964,7 +964,7 @@ msgstr "„%c“: nevaljan operator u simboličkom načinu"
 msgid "`%c': invalid symbolic mode character"
 msgstr "„%c“: nevaljan znak u simboličkom načinu"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " redak "
 
@@ -984,96 +984,106 @@ msgstr "Prekidamo..."
 msgid "INFORM: "
 msgstr "informacija: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "Dijagnostičko upozorenje: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "nepoznata greška naredbe"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "loša vrsta naredbe"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "loš konektor"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "loš skok"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: nevezana varijabla"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\avrijeme čekanja na ulaz je isteklo: automatska-odjava\n"
 
-#: execute_cmd.c:537
+#: 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:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: „%c“: nevaljan znak za format"
 
-#: execute_cmd.c:2362
+#: 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:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "greška cijevi"
 
-#: execute_cmd.c:4793
+#: 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:4805
+#: 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:4913
+#: 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:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: ograničenje : znak „/“ nije dopušten u imenima naredba"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: naredba nije pronađena"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: 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:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: loš interpreter"
 
-#: execute_cmd.c:5891
+#: 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:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "„%s“ je specijalna funkcija ugrađena u ljusku"
 
-#: execute_cmd.c:6029
+#: 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"
@@ -1086,68 +1096,68 @@ msgstr "prekoračena je dopuštena razina rekurzija izraza"
 msgid "recursion stack underflow"
 msgstr "podlijevanje stȏga rekurzija (prazni stȏg)"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "sintaktička greška u izrazu"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "pokušaj dodjeljivanja ne-varijabli (objektu koji nije varijabla)"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "sintaktička greška u dodjeljivanju varijabli"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "dijeljenje s 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "**interna greška** : loš simbol u izrazu za dodjelu"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "znak „:“ je nužan u uvjetnom izrazu"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "eksponent je manji od 0"
 
-#: expr.c:1029
+#: 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:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "nedostaje „)“"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "sintaktička greška: očekivan je operand"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "sintaktička greška: nevaljan aritmetički operator"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (simbol greške je „%s“)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "nevaljana aritmetička baza"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "%s: nevaljana cijelo brojna (integer) konstanta"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "vrijednost baze je prevelika"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: greška u izrazu\n"
@@ -1156,7 +1166,7 @@ msgstr "%s: greška u izrazu\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd(): nije moguće pristupiti nadređenim direktorijima"
 
-#: input.c:99 subst.c:6069
+#: 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"
@@ -1175,167 +1185,167 @@ msgstr "save_bash_input(): međuspremnik već postoji za novi datotečni deskrip
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline(): pgrp pipe (procesna skupina cijevi)"
 
-#: jobs.c:906
+#: 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:959
+#: 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:1283
+#: 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:1402
+#: 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:1511
+#: 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:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid(): %ld: PID ne postoji"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Signal %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Gotovo"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Zaustavljeno"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Zaustavljeno(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Pokrenuto"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Gotovo(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Izlaz %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Nepoznata izlazna vrijednost (izlazni kȏd)Nepoznato"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(snimka (core dump) memorije je spremljena!) "
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "promijeni skupinu potomka (% ld u% ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: 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:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: proces %ld nije nigdje registriran"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: posao %d je zaustavljen"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: nema tekućih poslova"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: posao je završen"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: posao %d je već u pozadini"
 
-#: jobs.c:3806
+#: 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"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: redak %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (snimka (core dump) memorije je spremljena!)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(radni direktorij je sada: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp() nije uspješna"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: nema upravljanja poslom u pozadini"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: disciplina retka (protokol realizacije stringova/redaka)"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid()"
 
-#: jobs.c:4494 jobs.c:4503
+#: 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:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "nema upravljanja poslom u ovoj ljusci"
 
-#: lib/malloc/malloc.c:353
+#: 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:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1344,47 +1354,47 @@ msgstr ""
 "\r\n"
 "malloc(): %s:%d: loše provedeni kontrolni test\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "nepoznato"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc(): zauzeti blok na popisu slobodnih blokova"
 
-#: lib/malloc/malloc.c:972
+#: 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:975
+#: 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:994
+#: 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:1001
+#: 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:1009
+#: 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:1119
+#: 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)"
 
-#: lib/malloc/malloc.c:1134
+#: 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:1141
+#: 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:1150
+#: 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"
 
@@ -1426,22 +1436,22 @@ msgstr "%s: loša specifikacija za mrežnu stazu"
 msgid "network operations not supported"
 msgstr "mrežne operacije nisu podržane"
 
-#: locale.c:217
+#: 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:219
+#: 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:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale(): %s: nije moguće promijeniti jezično područje (%s)"
 
-#: locale.c:294
+#: 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"
@@ -1459,138 +1469,138 @@ msgstr "Imate novu poštu u $_"
 msgid "The mail in %s has been read\n"
 msgstr "Pošta u %s je već pročitana\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "sintaktička greška: nužan je aritmetički izraz"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "sintaktička greška: neočekivan „;“ znak"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "sintaktička greška: „((%s))“"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document(): loša vrsta instrukcije %d"
 
-#: make_cmd.c:657
+#: 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“)"
 
-#: make_cmd.c:756
+#: 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"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 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:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "maksimalna broj (količina) here-document-a je premašena"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "neočekivan kraj-datoteke (EOF) pri traženju odgovarajućeg „%c“"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "neočekivan kraj datoteke (EOF) pri traženju „]]“"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "sintaktička greška u uvjetnom izrazu: neočekivan simbol „%s“"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "sintaktička greška u uvjetnom izrazu"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "neočekivan simbol „%s“; očekivana je „)“"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "očekivana je „)“"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "neočekivan argument „%s“ za uvjetni unarni operator"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "neočekivan argument za uvjetni unarni operator"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "neočekivani simbol „%s“; očekivan je uvjetni binarni operator"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "očekivan je uvjetni binarni operator"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "neočekivan argument „%s“ uvjetnom binarnom operatoru"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "neočekivan argument uvjetnom binarnom operatoru"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "neočekivan simbol „%c“ u uvjetnoj naredbi"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "neočekivan simbol „%s“ u uvjetnoj naredbi"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "neočekivan simbol %d u uvjetnoj naredbi"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "sintaktička greška blizu neočekivanog simbola „%s“"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "sintaktička greška blizu „%s“"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "sintaktička greška: neočekivani kraj datoteke"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "sintaktička greška"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Koristite \"%s\" za izlaz iz ljuske.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "neočekivani kraj datoteke pri traženju odgovarajuće „)“"
 
@@ -1628,94 +1638,94 @@ msgstr "xtrace_set(): pointer datoteke je NULL"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "deskriptor datoteke xtrace (%d) !=  broju datoteke u pointeru datoteke xtrace (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf(): „%c“: nevaljan znak za format"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "deskriptor datoteke je izvan raspona"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: preusmjeravanje nije jednoznačno"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: nije moguće pisati preko postojeće datoteke"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: ograničeno: nije moguće preusmjeriti izlaz"
 
-#: redir.c:218
+#: 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:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: nije moguće dodijeliti deskriptor datoteke varijabli"
 
-#: redir.c:649
+#: 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:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: 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:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "nije moguće pronaći /tmp; stvorite taj direktorij!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp mora biti valjano ime direktorija"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "u interaktivnoj ljusci pretty-printing se zanemaruje"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: nevaljana opcija"
 
-#: shell.c:1319
+#: 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:1330
+#: 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:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "nije moguće pokrenuti debugger; dijagnostika je onemogućena"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: to je direktorij"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Nemam ime!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, inačica %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1724,319 +1734,319 @@ msgstr ""
 "Uporaba: %s [GNU dugačka opcija] [opcija]...\n"
 "         %s [GNU dugačka opcija] [opcija] skripta...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "GNU dugačke opcije:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Kratke opcije:\n"
 
-#: shell.c:2043
+#: 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:2062
+#: 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:2068
+#: 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"
 
-#: shell.c:2069
+#: 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"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Koristite naredbu „bashbug“ za prijavljivanje grešaka.\n"
 
-#: shell.c:2072
+#: 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:2073
+#: 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:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask(): %d: nevaljana operacija"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Nepostojeći signal"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Poklopi"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Prekini"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Završi"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Nedopuštena instrukcija"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "BPT trag/zamka instrukcija (Trace/Breakpoint trap)"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "ABORT instrukcija"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "EMT instrukcija"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Iznimka (broja) s pomičnim zarezom"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Ubijen"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Greška sabirnice"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Segmentacijska greška"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Loš sustavski poziv"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Potrgana cijev"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Budilica"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Završeno"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Žurno U/I stanje"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Zaustavljeno (signalom)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Nastavljanje"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Potomak mrtav ili zaustavljen"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Zaustavljen (ulaz u terminal)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Zaustavljen (izlaz iz terminala)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "U/I je spreman"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "Ograničenje (vremena) procesora"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Ograničenje (veličine) datoteke"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Alarm (virtualni)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Alarm (profil)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Prozor je promijenjen"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Zapis je zaključan"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Korisnički signal 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Korisnički signal 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "HFT ulazni podaci čekaju"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "neizbježan prekid napajanja"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "neizbježni pad sustava"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "preseli proces na drugi procesor"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "programska greška"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "HFT nadzor je dopušten"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "HFT nadzor je oduzet"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "HFT sekvencija zvukova je završena"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Zahtjev za obavijestima"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Nepoznati signal #%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "loša supstitucija: nema zaključnog „%s“ u %s"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: nije moguće dodijeliti popis elementu polja"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "nije moguće napraviti cijev za zamjenu procesa"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "nije moguće napraviti potomka za zamjenu procesa"
 
-#: subst.c:6059
+#: 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:6061
+#: 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:6084
+#: 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:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "nevaljana supstitucija: zanemaren prazni (nula) bajt u ulazu"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "nije moguće napraviti cijev za zamjenu naredbi"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "nije moguće napraviti potomka za zamjenu naredbi"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute(): nije moguće duplicirati cijev kao deskriptor datoteke 1"
 
-#: subst.c:6883 subst.c:9952
+#: 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:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: nevaljana neizravna ekspanzija"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "„%s“: nevaljano ime varijable"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parametar nije postavljen"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parametar je prazan ili nedefiniran"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: rezultat od dijela stringa (substring) < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: loša supstitucija"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: nije moguće dodijeliti na ovaj način"
 
-#: subst.c:9814
+#: 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:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "loša supstitucija: nema zaključnog znaka \"`\" u %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "nema podudaranja: %s"
@@ -2059,21 +2069,21 @@ msgstr "očekivana je „)“"
 msgid "`)' expected, found %s"
 msgstr "očekivana je „)“, a nađen je %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: očekivan je binarni operator"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: očekivan je unarni operator"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "nedostaje „]“"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "sintaktička greška: neočekivan „%s“"
@@ -2082,99 +2092,104 @@ msgstr "sintaktička greška: neočekivan „%s“"
 msgid "invalid signal number"
 msgstr "nevaljani broj za signal"
 
-#: trap.c:325
+#: 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:414
+#: 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:418
+#: 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"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler(): loš signal %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "greška pri uvozu definicije funkcije za „%s“"
 
-#: variables.c:833
+#: 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:2674
+#: 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:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: varijabli se ne može dodijeliti vrijednost"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: nije moguće naslijediti vrijednost od nekompatibilne vrste"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: nazivu referencije se dodjeljuje cijeli broj"
 
-#: variables.c:4404
+#: 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:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "*** %s ima prazni string za izvoz"
 
-#: variables.c:4776 variables.c:4785
+#: 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:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "*** nema „=“ u izvoznom stringu za %s"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context(): glava „shell_variables“ nije funkcijski kontekst"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context(): nije „global_variables“ kontekst"
 
-#: variables.c:5424
+#: 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"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: nije moguće otvoriti kao DATOTEKU"
 
-#: variables.c:6392
+#: 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:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s vrijednost za kompatibilnost je izvan raspona"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2259,12 +2274,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] NAREDBA [ARGUMENT...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [IME[=VRIJEDNOST]...]"
+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] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] IME[=VRIJEDNOST]..."
+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] ..."
@@ -2363,8 +2378,8 @@ msgid "return [n]"
 msgstr "return [N]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o IME_OPCIJE] [--] [ARGUMENT...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o IME_OPCIJE] [--] [-] [ARGUMENT...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2415,8 +2430,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] IME..."
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [LIMIT]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [LIMIT]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2455,12 +2470,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if NAREDBE; then NAREDBE; [ elif NAREDBE; then NAREDBE; ]... [ else NAREDBE; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while NAREDBE; do NAREDBE; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while NAREDBE; do NAREDBE-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until NAREDBE; do NAREDBE; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until NAREDBE; do NAREDBE-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3736,7 +3751,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3778,8 +3794,10 @@ msgstr ""
 "    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). Ako nije navedeno nijedno IME, pročitani redak se\n"
-"    spremi u varijablu REPLY.\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"
 "\n"
 "    Opcije:\n"
 "      -a POLJE   pročitane riječi dodijeli sekvencijalnim indeksima POLJA\n"
@@ -3807,7 +3825,7 @@ msgstr ""
 "      isteklo vrijeme čekanja ili se dogodila greška pri dodjeli ili je\n"
 "      naveden nevaljani deskriptor datoteke kao argument opciji „-u“."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3826,7 +3844,7 @@ msgstr ""
 "\n"
 "    Vrati vrijednost N ili 1 ako ljuska ne izvrši funkciju ili skriptu."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -3984,7 +4002,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4021,7 +4039,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili IME je\n"
 "    „samo-za-čitanje“. (bez navodnika)"
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4054,7 +4072,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili nije navedeno\n"
 "    valjano IME."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4091,7 +4109,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili je IME nevaljano."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4108,7 +4126,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je N negativni ili veći od $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4131,7 +4149,7 @@ msgstr ""
 "    Završi s kȏdom zadnje izvršene naredbe iz DATOTEKE ili s kȏdom 1 ako se\n"
 "    DATOTEKA ne može pročitati."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4155,7 +4173,7 @@ msgstr ""
 "    Završi s uspjehom osim ako upravljanje poslovima nije omogućeno\n"
 "    ili se dogodila greška."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4300,7 +4318,7 @@ msgstr ""
 "    Završi s uspjehom ako je IZRAZ istinit, 1 ako je IZRAZ neistinit,\n"
 "    ili 2 ako je dan nevaljan argument."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4312,7 +4330,7 @@ msgstr ""
 "    To je sinonim za ugrađenu funkciju „test“, ali zadnji argument\n"
 "    mora biti zagrada „]“ kao par zagradi „[“ na početku."
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4329,7 +4347,7 @@ msgstr ""
 "\n"
 "    Završi uvijek s kȏdom 0."
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4395,7 +4413,7 @@ msgstr ""
 "    Završi s uspjehom osim ako SIGNAL_SPEC nije valjan ili je dana\n"
 "    nevaljana opcija."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4445,7 +4463,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom ako se pronađu sva IMENA, inače s 1."
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4539,7 +4557,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija\n"
 "    ili se dogodila greška."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4571,7 +4589,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako MODE nije valjan ili je dana nevaljana opcija."
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4615,7 +4633,7 @@ msgstr ""
 "    Završi s kȏdom zadnjeg ID-a; s kȏdom 1 ako je ID nevaljan ili je dana\n"
 "    nevaljana opcija ili ako je -n dan, a ljuska nema neočekivane potomke."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4636,7 +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:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4657,7 +4675,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4684,7 +4702,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4719,7 +4737,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4746,7 +4764,7 @@ msgstr ""
 "\n"
 "    Završi s izlaznim kȏdom CJEVOVODA."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4763,7 +4781,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4788,41 +4806,41 @@ msgstr ""
 "\n"
 "    „if“ završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Izvršava naredbe tako dugo dok je test uspješan.\n"
 "\n"
-"    Izvršava sukcesivne NAREDBE tako dugo dok zadnja naredba u „while“\n"
-"    NAREDBAMA završava s kȏdom 0.\n"
+"    Proširi i izvrši NAREDBE-2 tako dugo dok zadnja naredba u NAREDBAMA\n"
+"    završi s kȏdom 0.\n"
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Izvršava naredbe tako dugo dok test ne uspije.\n"
 "\n"
-"    Izvršava sukcesivne NAREDBE tako dugo dok zadnja naredba u\n"
-"    „until“ NAREDBAMA završi s kȏdom različitim od 0.\n"
+"    Proširi i izvrši NAREDBE-2 tako dugo dok zadnja naredba u NAREDBAMA\n"
+"    završi s kȏdom različitim od 0.\n"
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4843,7 +4861,7 @@ msgstr ""
 "\n"
 "    Naredba coproc završi s kȏdom 0."
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4864,7 +4882,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je IME readonly (samo-za-čitanje)."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4881,7 +4899,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4903,7 +4921,7 @@ msgstr ""
 "\n"
 "    Završi s kȏdom nastavljenog posla."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4921,7 +4939,7 @@ msgstr ""
 "    Završi s kȏdom 1 ako je rezultat IZRAZA jednak 0;\n"
 "    inače završi s uspjehom."
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -4967,7 +4985,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom ili 1 ovisno o IZRAZU."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5067,7 +5085,7 @@ msgstr ""
 "                    supstitucije“, obično „^“; treći znak je „komentar\n"
 "                    povijesti“, obično „#“.\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5120,7 +5138,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili promjena\n"
 "    direktorija nije uspjela"
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5169,7 +5187,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili promjena\n"
 "    direktorija nije uspjela."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5218,7 +5236,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila greška."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5255,7 +5273,7 @@ msgstr ""
 "    omogućeno, a s 1 ako je onemogućeno. Završi također s 1 ako je dano\n"
 "    nevaljano IME_OPCIJE, a završi s 2 ako je dana nevaljana opcija."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5274,6 +5292,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5304,6 +5324,8 @@ msgstr ""
 "      %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       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"
 "               za strftime(3)\n"
 "\n"
@@ -5314,7 +5336,7 @@ msgstr ""
 "    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:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5365,7 +5387,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je dana nevaljana opcija\n"
 "    ili se dogodila greška."
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5384,7 +5406,7 @@ msgstr ""
 "\n"
 "    Završi s uspjehom osim ako je dana nevaljana opcija ili se dogodila greška."
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5436,7 +5458,7 @@ msgstr ""
 "    Završi s uspjehom osim ako nije dana nevaljana opcija ili nije definirana\n"
 "    specifikacija za kompletiranje IMENA."
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5500,7 +5522,7 @@ msgstr ""
 "    Završi s uspjehom osim ako je POLJE readonly (samo-za-čitanje) ili nije\n"
 "    polje ili je dana nevaljana opcija."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5510,6 +5532,9 @@ msgstr ""
 "\n"
 "    Sinonim za „mapfile“."
 
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: nevaljan ključ asocijativnog polja"
+
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
index 59ab5fd07746acfac3add5ddc7395378b5142d4b..0314f9e81cec8f5c28aa529e5a6af88684222e73 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index 5ecee86cd6c6f6eef113409063f0b94f0d71063a..332efa3ed5c18e8bde9949217a2d62f21a1af720 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,10 +7,10 @@
 # Hiroshi Takekawa <sian@big.or.jp>, <sian.ht@gmail.com>, 2020.
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU bash 5.1\n"
+"Project-Id-Version: GNU bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2020-12-20 21:33+0900\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-19 23:10+0900\n"
 "Last-Translator: Hiroshi Takekawa <sian@big.or.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
 "Language: ja\n"
@@ -25,57 +25,52 @@ msgstr ""
 msgid "bad array subscript"
 msgstr "誤った配列の添字"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: 名前参照属性を削除します"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: インデックス配列から連想配列に変換することはできません"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: 無効な連想配列のキーです"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: 配列の添字に非数字を設定できません"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: 連想配列を設定するときには添字をつけなければいけません"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: %s を作成できません"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: コマンドのキーマップがありません"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: 最初の非空白類文字が `\"' ではありません"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "閉じる `%c' が %s にありません"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: 区切り文字コロン(:)がありません"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "`%s': コマンドキーマップの割り当てを解除できません"
@@ -95,7 +90,7 @@ msgstr "中括弧展開: %u 個の要素のメモリの割り当てに失敗し
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "中括弧展開: `%s' へのメモリ割り当てに失敗しました"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "`%s': 無効なエイリアス名です"
@@ -166,7 +161,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "HOME が設定されていません"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "引数が多すぎます"
 
@@ -193,7 +188,7 @@ msgstr "警告: "
 msgid "%s: usage: "
 msgstr "%s: 使用法: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: オプションには引数が必要です"
@@ -208,7 +203,7 @@ msgstr "%s: 数字の引数が必要です"
 msgid "%s: not found"
 msgstr "%s: 見つかりません"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: 無効なオプションです"
@@ -218,7 +213,7 @@ msgstr "%s: 無効なオプションです"
 msgid "%s: invalid option name"
 msgstr "%s: 無効なオプション名です"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "`%s': 有効な識別子ではありません"
@@ -231,7 +226,7 @@ msgstr "無効な八進数です"
 msgid "invalid hex number"
 msgstr "無効な十六進数です"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "無効な数字です"
 
@@ -245,88 +240,93 @@ msgstr "%s: 無効なシグナル指定です"
 msgid "`%s': not a pid or valid job spec"
 msgstr "`%s': pid または有効なジョブ指定ではありません"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: 読み取り専用の変数です"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: 割り当てできません"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s が範囲外です"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "引数"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s が範囲外です"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: そのようなジョブはありません"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: ジョブ制御が無効になっています"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "ジョブ制御が無効になっています"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: 制限されています"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "制限されています"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: シェルのビルトイン関数ではありません"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "書き込みエラー: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "ターミナル属性の設定時にエラーが発生しました : %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "ターミナル属性の取得時にエラーが発生しました : %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: カレントディレクトリの取得時にエラーが発生しました : %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: 曖昧なジョブ指定です"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "このバージョンではヘルプが利用できません"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: 消去できません: %s は読み取り専用です"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: 消去できません"
@@ -336,108 +336,108 @@ msgstr "%s: 消去できません"
 msgid "%s: invalid action name"
 msgstr "%s: 無効なアクション名です"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: 補完指定がありません"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "警告: -F オプションは期待通りに動作しないかもしれません"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "警告: -C オプションは期待通りに動作しないかもしれません"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "補完機能は現在実行されていません"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "関数の中でのみ使用できます"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "関数作成時に `-f' を使用できません"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: 読み取り専用関数です"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: 参照変数は配列であってはいけません"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: 自身を参照する名前参照変数は許可されていません"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: 循環名前参照です"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "`%s': 名前参照として無効な変数です"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "関数作成時に `-f' を使用できません"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: 読み取り専用関数です"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr ""
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: この方法で配列変数を消去することはできません"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: 連想配列からインデックス配列に変換することはできません"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr ""
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "動的ロードは利用できません"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "共有オブジェクト %s を開くことができません : %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "%s が共有オブジェクト %s に存在しません: %s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: 動的ビルトインはロード済です"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "関数 %s のロードが失敗を返しました(%d): ロードされませんでした"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: 動的にロードされていません"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: 削除できません: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: ディレクトリです"
@@ -452,7 +452,7 @@ msgstr "%s: 通常ファイルではありません"
 msgid "%s: file is too large"
 msgstr "%s: ファイルが大きすぎます"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: バイナリファイルを実行できません"
@@ -546,12 +546,12 @@ msgstr ""
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr "`%s' に一致するヘルプ項目がありません。`help help'、`man -k %s' または `info %s' を試してください"
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: 開くことができません: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -570,21 +570,21 @@ msgstr ""
 "名前の後にアスタリスク (*) がある場合はそのコマンドが無効になっていることを意味します。\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "-anrw を2つ以上一緒に使用することはできません"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "ヒストリ位置"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: 無効なタイムスタンプです"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: ヒストリの展開に失敗しました"
@@ -607,78 +607,78 @@ msgstr "%s: 引数はプロセスIDかジョブIDでなければいけません"
 msgid "Unknown error"
 msgstr "不明なエラーです"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "式が予期されます"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: インデックス配列ではありません"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: 無効なファイル記述子指定です"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: 無効なファイル記述子: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: 無効な行数です"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: 無効な配列の原点です"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: コールバックの quantum が無効です"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "空の配列変数名です"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "配列変数のサポートが必要です"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "`%s': 書式指定文字がありません"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "`%c': 無効な時間書式指定です"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "`%c': 無効な書式指定文字です"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "警告: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "書式解析問題です: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "\\x 用の十六進数字がありません"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "\\%c 用のユニコード数値がありません"
@@ -826,12 +826,12 @@ msgstr ""
 "    \n"
 "    `dirs' ビルトインコマンドでディレクトリスタックを表示します。"
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: 無効なタイムアウト指定です"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "読み込みエラー: %d: %s"
@@ -844,7 +844,7 @@ msgstr "`return' は関数または source されたスクリプト内のみで
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "変数と関数を同時に消去することはできません"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: 配列変数ではありません"
@@ -863,11 +863,11 @@ msgstr "%s: export できません"
 msgid "shift count"
 msgstr "シフト回数"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "シェルオプションを同時に有効かつ無効にできません"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: 無効なシェルオプション名です"
@@ -934,16 +934,16 @@ msgstr "%s: limit の無効な引数です"
 msgid "`%c': bad command"
 msgstr "`%c': 誤ったコマンドです"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: limit を取得できません: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "limit"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: limit を変更できません : %s"
@@ -962,7 +962,7 @@ msgstr "`%c': 無効なシンボリックモード演算子です"
 msgid "`%c': invalid symbolic mode character"
 msgstr "`%c': 無効なシンボリックモード文字です"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " 行 "
 
@@ -982,96 +982,106 @@ msgstr "中止しています..."
 msgid "INFORM: "
 msgstr "情報: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "デバッグ 警告: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "不明なコマンドエラーです"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "誤ったコマンドタイプです"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "誤った接続です"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "誤ったジャンプです"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: 未割り当ての変数です"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\a入力待ちがタイムアウトしました: 自動ログアウト\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "/dev/null から標準入力に対してリダイレクトできません: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: `%c': 無効な書式文字です"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr ""
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "パイプエラー"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: eval の入れ子レベルの最大値を超えています (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: source の入れ子レベルの最大値を超えています (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: 関数の入れ子レベルの最大値を超えています (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: 制限されています:  `/' をコマンド名の中に指定できません"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: コマンドが見つかりません"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: 実行できません: 必要なファイルがありません"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: 誤ったインタプリタです"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: バイナリファイルを実行できません: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "`%s': 特殊シェル組み込み関数です"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "fd %d を fd %d に複製できません"
@@ -1084,68 +1094,68 @@ msgstr "式の再帰可能レベルを越えました"
 msgid "recursion stack underflow"
 msgstr "再帰スタックがアンダーフローしました"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "式に構文エラーがあります"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "非変数に割り当てを行おうとしてます"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "変数の割り当てに構文エラーがあります"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "0 による除算です"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "バグ: 誤った式のトークンです"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "条件式には `:' が予期されます"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "0より小さい指数部です"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "識別子は前置インクリメントまたは前置デクリメントが予期されます"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "`)' がありません"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "構文エラー: オペランドが予期されます"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "構文エラー: 無効な計算演算子です"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (エラーのあるトークンは \"%s\")"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "無効な基底の数値です"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "無効な整数定数です"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "基底の値が大きすぎます"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: 式のエラー\n"
@@ -1154,7 +1164,7 @@ msgstr "%s: 式のエラー\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: 親ディレクトリにアクセスできません"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "ファイル記述子(fd) %d を無遅延モードに再設定できません"
@@ -1173,167 +1183,167 @@ msgstr "save_bash_input: 新規 fd %d のバッファはすでに存在します
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp pipe"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "実行中のジョブ %2$d で fork した pid %1$d が出現しました"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "プロセスグループ %2$ld のジョブ %1$d を削除しています"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: pid %5ld (%s) はまだ存在しているとマークされています"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: そのような pid は存在しません"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "シグナル %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "終了"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "停止"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "停止 (%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "実行中"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "終了(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "終了 %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "不明なステータス"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(コアダンプ) "
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "子プロセス setpgid (%ld から %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld はこのシェルの子プロセスではありません"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: プロセス %ld の記録がありません"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: ジョブ %d は停止しています"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: カレントジョブがありません"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: ジョブは終了しました"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: ジョブ %d はすでにバックグラウンドで動作しています"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: 不定のブロックを避けるために WNOHANG をオンにしました。"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: %d 行: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (コアダンプ)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(wd now: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp が失敗しました"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: バックグラウンドにジョブコントロールがありません"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: line discipline"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "端末プロセスグループを設定できません (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "このシェルではジョブ制御が無効になっています"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: 失敗したアサーション: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1342,47 +1352,47 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: アサーション失敗\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "不明"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: free ブロックリストが壊れています"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: 既に free されたブロックを引数として呼び出されました"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: 未割当のブロックを引数として呼び出されました"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: アンダーフローを検出しました。 mh_nbytes が範囲外です"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: アンダーフローを検出しました。magic8 壊れています"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: 開始と終了の塊の大きさが異なっています"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: 未割当のブロックを引数として呼び出されました"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: アンダーフローを検出しました。 mh_nbytes が範囲外です"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: アンダーフローを検出しました。magic8 が壊れています"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: 開始と終了の塊の大きさが異なっています"
 
@@ -1424,22 +1434,22 @@ msgstr "%s: ネットワークパス指定に誤りがあります"
 msgid "network operations not supported"
 msgstr "ネットワーク操作はサポートされていません"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: ロケールを変更できません (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: ロケールを変更できません (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: ロケールを変更できません (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: ロケールを変更できません (%s): %s"
@@ -1457,136 +1467,136 @@ msgstr "新しいメールが $_ にあります"
 msgid "The mail in %s has been read\n"
 msgstr "%s のメールは既読です\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "構文エラー: 数値の式が必要です"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "構文エラー: 予期しない `;' です"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "構文エラー: `((%s))'"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: 誤った指定の種類 %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "ヒアドキュメントの %d 行目でファイル終了 (EOF) に達しました (`%s' が必要)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: リダイレクト指定 `%d' は範囲外です"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr ""
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "ヒアドキュメントの最大数を超えました"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "対応する `%c' を探索中に予期しないファイル終了 (EOF) です"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "`]]' を探索中に予期しないファイル終了 (EOF) です"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "条件式に構文エラー: 予期しないトークン `%s' です"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "条件式に構文エラーがあります"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "予期しないトークン `%s' です。`)' が予期されます"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "`)' が予期されます"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "条件単項演算子に予期しない引数 `%s' です"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "条件単項演算子に予期しない引数です"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "`%s` は予期しないトークンです。条件二項演算子が予期されます"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "条件二項演算子が予期されます"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "条件二項演算子に予期しない引数 `%s' です"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "条件二項演算子に予期しない引数です"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "条件コマンドに予期しないトークン `%c' があります"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "条件コマンドに予期しないトークン `%s' があります"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "条件コマンドに予期しないトークン %d があります"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "予期しないトークン `%s' 周辺に構文エラーがあります"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "`%s' 周辺に構文エラーがあります"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "構文エラー: 予期しないファイル終了 (EOF) です"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "構文エラー"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "シェルから脱出するには \"%s\" を使用してください。\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "対応する `)' を探索中に予期しないファイル終了(EOF)です"
 
@@ -1624,94 +1634,94 @@ msgstr "xtrace_set: NULL ファイルポインタです"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: `%c': 無効な書式文字です"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "ファイル記述子が範囲外です"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: 曖昧なリダイレクトです"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: 存在するファイルを上書きできません"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: 制限されています: 出力をリダイレクト出来ません"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "ヒアドキュメント用一時ファイルを作成できません: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: ファイル記述子 (fd) を変数に設定することはできません"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "ネットワークが無効な場合 /dev/(tcp|udp)/host/port はサポートされません"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "リダイレクトエラー: ファイル記述子を複製できません"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "/tmp が見つかりません。作成してください!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp は有効なディレクトリ名でなければいけません"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
+msgstr "pretty-printing モードはインタラクティブシェルでは無視されます"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: 無効なオプション"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "uidを %d に設定できません: 実効uid %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "gidを %d に設定できません: 実効gid %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "デバッガを開始できません。デバッガモードが無効になっています"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: ディレクトリです"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "私は名前がありません!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, バージョン %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1720,317 +1730,317 @@ msgstr ""
 "使用法:\t%s [GNU long option] [option] ...\n"
 "\t%s [GNU long option] [option] script-file ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "GNU 形式の長いオプション:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "シェルオプション:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD, -c command または -O shopt_option\t\t(起動時のみ)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s または -o option\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "シェルオプションの詳細については `%s -c \"help set\"'と入力してください。\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "シェル組み込みコマンドについては `%s -c help' と入力してください。\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "バグ報告をする場合は `bashbug' コマンドを使用してください。\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "bashホームページ: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "GNUソフトウェアを使用する時の一般的なヘルプ : <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: 無効な操作です"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "悪いシグナル"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "停止"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "割り込み"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "終了"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "不正な指定"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "BPT trace/trap"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "ABORT 指定"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "EMT 指定"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "浮動小数点例外"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Killed"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "バスエラー"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "セグメンテーションフォルト"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "誤ったシステムコール"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "パイプが切れました"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "アラーム時計"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Terminated"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "急ぎの IO 状態"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "停止 (シグナル)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "続行"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "子プロセスの死亡または停止 "
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "停止 (tty 入力)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "停止 (tty 出力)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "I/O 用意ができています"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "CPU limit"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "ファイル limit"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "警報 (仮想)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "警報 (プロファイル)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "ウィンドウが変更されました"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "記録のロック"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "ユーザシグナル 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "ユーザシグナル 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "HFT 未決の入力データ"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "電源故障の危険"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "システムクラッシュの危険"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "プロセスを別のCPUに移動"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "プログラミングエラー"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "HFT monitorモードが与えられました"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "HFT monitorモードが奪われました"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "HFT サウンドシーケンスが完了しました"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "情報要求"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "不明なシグナル番号 %d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "誤った代入: 閉じる `%s' が %s に存在しません"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: リストを配列要素に割り当てできません"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "プロセス代入ではパイプを作成できません"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "プロセス代入では子プロセスを作成できません"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "名前付きパイプ %s を読み込み用に開けません"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "名前付きパイプ %s を書き込み用に開けません"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "名前付きパイプ %s をファイル記述子(fd) %d として複製できません"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "コマンド代入: 入力のヌルバイトを無視しました"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "コマンド代入ではパイプを作成できません"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "コマンド代入では子プロセスを作成できません"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: パイプを fd 1 として複製できません"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: 名前参照として無効な変数です"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: 無効な間接展開です"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: 無効な変数名です"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: パラメータが設定されていません"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: パラメータが null または設定されていません"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: substring expression < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: 誤った代入です"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: この方法で割当はできません"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "将来のバージョンのシェルでは強制的に数値代入として評価されます"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "誤った代入: %s に閉じる \"`\" がありません"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "一致しません: %s"
@@ -2053,21 +2063,21 @@ msgstr "`)' が予期されます"
 msgid "`)' expected, found %s"
 msgstr "`)' が予期されますが、見つかったのは %s です"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: 二項演算子が予期されます"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: 単項演算子が予期されます"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "`]'がありません"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "構文エラー: 予期しない `%s' です"
@@ -2076,99 +2086,104 @@ msgstr "構文エラー: 予期しない `%s' です"
 msgid "invalid signal number"
 msgstr "無効なシグナル番号"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "trap handler: trap handler の最大レベルを超えています (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: trap_list[%d] に誤った値があります: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: シグナルハンドラーは SIG_DFLです。, %d (%s) を自身に再送します。"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: 誤ったシグナル %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "`%s' の関数定義をインポート中にエラーが発生しました"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "シェルレベル (%d) は高すぎます。1に再設定されました"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: 現在のスコープは関数コンテキストではありません"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: 変数が初期化されていないかもしれません"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: 互換性のないタイプからは継承できません"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: 名前参照に整数を代入しようとしています"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: 現在のスコープは関数コンテキストではありません"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s は null の exportstr を持っています"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "%2$s に対する exportstr で %1$d は無効な文字です"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "%s に対する exportstr に `=' がありません"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: shell_variables の先頭です。関数コンテキストではありません"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: global_variables コンテキストではありません"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: shell_variables の先頭です。一時環境スコープではありません"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: ファイルとして開くことができません"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: トレースファイル記述子として無効な値です"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: 値の互換性が範囲外です"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2248,12 +2263,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] command [arg ...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2340,8 +2355,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2388,8 +2403,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] name [name ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2428,12 +2443,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while COMMANDS; do COMMANDS; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while COMMANDS; do COMMANDS-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until COMMANDS; do COMMANDS; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until COMMANDS; do COMMANDS-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3726,7 +3741,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3800,7 +3816,7 @@ msgstr ""
 "    ファイル終了(EOF)、読み込みタイムアウト(この場合は128以上)、変数への代入エ\n"
 "    ラーが発生、 -u に無効なファイル記述子が与えられた場合を除き0を返します。"
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3821,7 +3837,7 @@ msgstr ""
 "    戻り値 N、またはシェルが関数またはスクリプトを実行していない場合は失敗を\n"
 "    返します。"
 
-#: builtins.c:1054
+#: builtins.c:1055
 #, fuzzy
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
@@ -3984,7 +4000,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションが与えられない限り成功を返します。"
 
-#: builtins.c:1139
+#: builtins.c:1140
 #, fuzzy
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
@@ -4023,7 +4039,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションが与えられるか NAME が読み取り専用の場合を除き成功を返します。"
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4057,7 +4073,7 @@ msgstr ""
 "    無効なオプションが与えられるか、無効な NAME が与えられない限り成功\n"
 "    を返します。"
 
-#: builtins.c:1180
+#: builtins.c:1181
 #, fuzzy
 msgid ""
 "Mark shell variables as unchangeable.\n"
@@ -4097,7 +4113,7 @@ msgstr ""
 "    無効なオプションが与えられるか、与えられた NAME が無効な場合を除き成功\n"
 "    を返します。"
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4115,7 +4131,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    Nが負の値または $# より大きい場合を除き成功を返します。"
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4139,7 +4155,8 @@ msgstr ""
 "    FILENAME で最後に実行したコマンドのステータスを返します。FILENAME が\n"
 "    読み込めなかった場合は失敗を返します。"
 
-#: builtins.c:1245
+#: builtins.c:1246
+#, fuzzy
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4163,7 +4180,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    ジョブ制御が有効でないかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:1261
+#: builtins.c:1262
 #, fuzzy
 msgid ""
 "Evaluate conditional expression.\n"
@@ -4318,7 +4335,7 @@ msgstr ""
 "    式 EXPR の評価値が真(true)の時に成功を返します。EXPR の評価値が偽(false) または\n"
 "    引数が無効な場合に失敗を返します。"
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4330,7 +4347,7 @@ msgstr ""
 "    これは test 組み込み関数と同義語です。ただし、最後の引数に開始の`['と一致\n"
 "    するように文字`]'を与えなければいけません。"
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4348,7 +4365,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    常に成功を返します。"
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4414,7 +4431,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    SIGSPEC が無効か、無効なオプションを与えられない限り成功を返します。"
 
-#: builtins.c:1400
+#: builtins.c:1401
 #, fuzzy
 msgid ""
 "Display information about command type.\n"
@@ -4470,7 +4487,7 @@ msgstr ""
 "    全ての NAME が見つかった場合に成功を返します。どれかが見つからなかった場合\n"
 "    は失敗を返します。"
 
-#: builtins.c:1431
+#: builtins.c:1432
 #, fuzzy
 msgid ""
 "Modify shell resource limits.\n"
@@ -4561,7 +4578,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションを与えるか、エラーが発生しない限り、成功を返します。"
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4593,7 +4610,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    MODE が無効か、無効なオプションが与えられない限り成功を返します。"
 
-#: builtins.c:1502
+#: builtins.c:1503
 #, fuzzy
 msgid ""
 "Wait for job completion and return exit status.\n"
@@ -4632,7 +4649,7 @@ msgstr ""
 "    最後の ID の終了ステータスを返します。IDが無効であるか、無効なオプ\n"
 "    ションが与えられた場合には失敗を返します。"
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4654,7 +4671,7 @@ msgstr ""
 "    最後の PID の終了ステータスを返します。PIDが無効か、無効なオプションが与えられた\n"
 "    場合は失敗します。"
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4675,7 +4692,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4705,7 +4722,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4740,7 +4757,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4768,7 +4785,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    PIPELINE の戻り値が終了ステータスとなります。"
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4786,7 +4803,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4813,12 +4830,13 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドの終了ステータスを返します。"
 
-#: builtins.c:1647
+#: builtins.c:1648
+#, fuzzy
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
@@ -4831,12 +4849,13 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1659
+#: builtins.c:1660
+#, fuzzy
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
@@ -4849,7 +4868,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1671
+#: builtins.c:1672
 #, fuzzy
 msgid ""
 "Create a coprocess named NAME.\n"
@@ -4872,7 +4891,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    COMMAND の終了ステータスを返します。"
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4894,7 +4913,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    NAME が読み取り専用でない限り成功を返します。"
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4912,7 +4931,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4935,7 +4954,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    再開されたジョブの終了ステータスを返します。"
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4953,7 +4972,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    EXPRESSION の評価値が 0 の場合は 1、それ以外は 0 を返します。"
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5002,7 +5021,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    EXPRESSION の値に基づいて 0 または 1 を返します。"
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5103,7 +5122,7 @@ msgstr ""
 "    HISTIGNORE\tヒストリ一覧に保存されるコマンドを決める時に使用される\n"
 "    \t\tコロン (:) で区切られたパターンの一覧。\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 #, fuzzy
 msgid ""
 "Add directories to stack.\n"
@@ -5163,7 +5182,7 @@ msgstr ""
 "    無効な引数が与えられるかディレクトリ変更が失敗しない限り成功を\n"
 "    返します。"
 
-#: builtins.c:1855
+#: builtins.c:1856
 #, fuzzy
 msgid ""
 "Remove directories from stack.\n"
@@ -5214,7 +5233,7 @@ msgstr ""
 "    無効な引数が与えられるかディレクトリ変更が失敗しない限り成功を\n"
 "    返します。"
 
-#: builtins.c:1885
+#: builtins.c:1886
 #, fuzzy
 msgid ""
 "Display directory stack.\n"
@@ -5267,7 +5286,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:1916
+#: builtins.c:1917
 #, fuzzy
 msgid ""
 "Set and unset shell options.\n"
@@ -5303,7 +5322,7 @@ msgstr ""
 "    OPTNAME が有効な場合は成功を返します。無効なオプションが与えられた場合\n"
 "    または OPTNAME が無効な場合は失敗を返します。"
 
-#: builtins.c:1937
+#: builtins.c:1938
 #, fuzzy
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
@@ -5323,6 +5342,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5357,7 +5378,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効な引数が与えられるか、書き込み、代入エラーが発生しない限り成功を返します。"
 
-#: builtins.c:1971
+#: builtins.c:1974
 #, fuzzy
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
@@ -5405,7 +5426,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5425,7 +5446,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:2016
+#: builtins.c:2019
 #, fuzzy
 msgid ""
 "Modify or display completion options.\n"
@@ -5478,7 +5499,7 @@ msgstr ""
 "    無効なオプションが与えられるか、 NAME が補完指定として定義されていない場合\n"
 "    を除き、成功を返します。"
 
-#: builtins.c:2047
+#: builtins.c:2050
 #, fuzzy
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
@@ -5541,7 +5562,7 @@ msgstr ""
 "    無効なオプションが与えられる、配列が読み取り専用、またはインデックス型配列で無い\n"
 "    場合を除き成功を返します。"
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
index e8dbf4963447029ab9a8c8dceee7c1ff22964daa..11fe7d2e9858d04c9db976bb385371ebee86eab1 100644 (file)
Binary files a/po/ko.gmo and b/po/ko.gmo differ
index 0131769131c7fce0746e3dd10ee0555407e74149..4b3fbc621f8fd05f0f8d5ebc0db7ee66db954f57 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -2,14 +2,15 @@
 # Copyright (C) 2019 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 # SooHyun Kim <soohyunkim@kw.ac.kr>, 2019.
+# Seong-ho Cho <darkcircle.0426@gmail.com>, 2022.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash-5.0\n"
+"Project-Id-Version: bash-5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2019-11-23 16:28+0900\n"
-"Last-Translator: SooHyun Kim <soohyunkim@kw.ac.kr>\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-25 01:50+0900\n"
+"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
 "Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
 "Language: ko\n"
 "MIME-Version: 1.0\n"
@@ -17,99 +18,95 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.3.1\n"
 
 #: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "잘못된 배열 첨자"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: 이름 참조 속성을 지우는 중"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
-msgstr "%s: ì\9d¸ë\8d±ì\8a¤ 배열을 연관 배열로 변환할 수 없음"
+msgstr "%s: ì\83\89ì\9d¸ 배열을 연관 배열로 변환할 수 없음"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: 유효하지 않은 연관 배열 키"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: 숫자가 아닌 인덱스에 할당할 수 없음"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
-msgstr "%s: %s: 연관 배열을 할당하기 위해서 반드시 첨자를 사용해야 함"
+msgstr "%s: %s: 연관 배열을 할당하려면 반드시 첨자를 사용해야 함"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: 생성할 수 없음: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr "bash_execute_unix_command: ëª\85ë ¹ì\96´ë¥¼ ì\9c\84í\95\9c keymap을 찾을 수 없음"
+msgstr "bash_execute_unix_command: ëª\85ë ¹ì\9d\98 keymap을 찾을 수 없음"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
-msgstr "%s: 공백이 아닌 첫 문자가 '\"' 가 아님"
+msgstr "%s: 공백이 아닌 첫 문자가 `\"'가 아님"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
-msgstr "%2$s에 닫는 '%1$c' 없음"
+msgstr "%2$s에 닫는 `%1$c' 없음"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
-msgstr "%s: 콜론(:) 구분자 없음"
+msgstr "%s: 콜론 구분자 없음"
 
-#: bashline.c:4555
-#, fuzzy, c-format
+#: bashline.c:4733
+#, c-format
 msgid "`%s': cannot unbind in command keymap"
-msgstr "'%s': unbind 할 수 없음"
+msgstr "`%s': 명령 keymap의 바인딩을 해제할 수 없음"
 
 #: braces.c:327
 #, c-format
 msgid "brace expansion: cannot allocate memory for %s"
-msgstr "괄호 확장: '%s'를 위해 메모리를 할당할 수 없음"
+msgstr "괄호 확장: %s의 메모리를 할당할 수 없음"
 
 #: braces.c:406
 #, c-format
 msgid "brace expansion: failed to allocate memory for %u elements"
-msgstr "괄호 확장: %uê°\9c ì\9a\94ì\86\8c를 ì\9c\84í\95\9c ë©\94모리 í\95 ë\8b¹ ì\8b¤í\8c¨"
+msgstr "괄호 확장: ì\9a\94ì\86\8c %uê°\9cì\97\90ì\84\9c ë©\94모리 í\95 ë\8b¹ ì\8b¤í\8c¨"
 
 #: braces.c:451
 #, c-format
 msgid "brace expansion: failed to allocate memory for `%s'"
-msgstr "괄호 확장: '%s'를 위한 메모리 할당 실패"
+msgstr "괄호 확장: `%s'의 메모리 할당 실패"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
-msgstr "'%s': 유효하지 않은 별명"
+msgstr "`%s': 부적절한 별명"
 
 #: builtins/bind.def:122 builtins/bind.def:125
 msgid "line editing not enabled"
-msgstr "줄 편집 활성화되어있지 않음"
+msgstr "줄 편집 기능 꺼짐"
 
 #: builtins/bind.def:212
 #, c-format
 msgid "`%s': invalid keymap name"
-msgstr "'%s': 유효하지 않은 keymap 이름"
+msgstr "`%s': 부적절한 keymap 이름"
 
 #: builtins/bind.def:252
 #, c-format
 msgid "%s: cannot read: %s"
-msgstr "%s: %s 읽을 수 없음"
+msgstr "%s: %s을(를) 읽을 수 없음"
 
 #: builtins/bind.def:328 builtins/bind.def:358
 #, c-format
@@ -119,17 +116,17 @@ msgstr "`%s': 알 수 없는 함수 이름"
 #: builtins/bind.def:336
 #, c-format
 msgid "%s is not bound to any keys.\n"
-msgstr "%s 는 어느 키에도 bind 되어있지 않음.\n"
+msgstr "%s은(는) 어떤 키에도 바인딩하지 않음.\n"
 
 #: builtins/bind.def:340
 #, c-format
 msgid "%s can be invoked via "
-msgstr "%s 는 다음을 통해 호출될 수 있음 "
+msgstr "%s은(는) 다음을 통해 호출될 수 있음 "
 
 #: builtins/bind.def:378 builtins/bind.def:395
 #, c-format
 msgid "`%s': cannot unbind"
-msgstr "'%s': unbind 할 수 없음"
+msgstr "`%s': 바인딩 해제 불가"
 
 #: builtins/break.def:77 builtins/break.def:119
 msgid "loop count"
@@ -137,7 +134,7 @@ msgstr "반복 횟수"
 
 #: builtins/break.def:139
 msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr "'for', 'while' 또는 'until' 반복문에서만 의미가 있음"
+msgstr "'for', 'while', 'until' 반복문에서만 의미 있음"
 
 #: builtins/caller.def:136
 msgid ""
@@ -150,27 +147,35 @@ msgid ""
 "    The value of EXPR indicates how many call frames to go back before the\n"
 "    current one; the top frame is frame 0."
 msgstr ""
+"현재 하위루틴 호출의 컨텍스트를 반환합니다.\n"
+"    \n"
+"    <표현식>을 지정하지 않으면 \"$line $filename\"을 반환합니다.\n"
+"    <표현식>을 지정하면 \"$line $subroutine $filename\"을 반환합니다.\n"
+"    추가 정보는 스택 추적을 제공할 때 활용할 수 있습니다.\n"
+"    \n"
+"    <표현식>의 값은 현재 호출 프레임에서 얼마나 뒤로 돌아가야 하는지를\n"
+"    나타냅니다. 최상단 호출 프레임은 프레임 0번입니다."
 
 #: builtins/cd.def:327
 msgid "HOME not set"
-msgstr "HOME 설정ë\90\98ì§\80 ì\95\8aì\9d\8c"
+msgstr "HOME 설정í\95\98ì§\80 ì\95\8aì\9d\8c"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "인자가 너무 많음"
 
 #: builtins/cd.def:342
 msgid "null directory"
-msgstr "null 디렉토리"
+msgstr "디렉터리 값이 비어있음"
 
 #: builtins/cd.def:353
 msgid "OLDPWD not set"
-msgstr "OLDPWD 설정ë\90\98ì§\80 ì\95\8aì\9d\8c"
+msgstr "OLDPWD 설정í\95\98ì§\80 ì\95\8aì\9d\8c"
 
 #: builtins/common.c:96
 #, c-format
 msgid "line %d: "
-msgstr "%d 줄: "
+msgstr "행 %d번: "
 
 #: builtins/common.c:134 error.c:264
 #, c-format
@@ -182,7 +187,7 @@ msgstr "경고: "
 msgid "%s: usage: "
 msgstr "%s: 사용법: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: 옵션에 인자가 필요함"
@@ -190,243 +195,248 @@ msgstr "%s: 옵션에 인자가 필요함"
 #: builtins/common.c:200
 #, c-format
 msgid "%s: numeric argument required"
-msgstr "%s: 숫자로 된 인자가 필요함"
+msgstr "%s: 숫자 인자가 필요함"
 
 #: builtins/common.c:207
 #, c-format
 msgid "%s: not found"
 msgstr "%s: 찾을 수 없음"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
-msgstr "%s: 유효하지 않은 옵션"
+msgstr "%s: 부적절한 옵션"
 
 #: builtins/common.c:223
 #, c-format
 msgid "%s: invalid option name"
-msgstr "%s: 유효하지 않은 옵션 이름"
+msgstr "%s: 부적절한 옵션 이름"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
-msgstr "`%s': ì\9c í\9a¨í\95\9c ì\8b\9dë³\84ì\9e\90ê°\80 아님"
+msgstr "`%s': ì \81ì \88í\95\9c ì\8b\9dë³\84ì\9e\90 아님"
 
 #: builtins/common.c:240
 msgid "invalid octal number"
-msgstr "유효하지 않은 8진수"
+msgstr "부적절한 8진수"
 
 #: builtins/common.c:242
 msgid "invalid hex number"
-msgstr "유효하지 않은 16진수"
+msgstr "부적절한 16진수"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
-msgstr "유효하지 않은 수"
+msgstr "부적절한 숫자"
 
 #: builtins/common.c:252
 #, c-format
 msgid "%s: invalid signal specification"
-msgstr "%s: 유효하지 않은 신호 정의"
+msgstr "%s: 부적절한 시그널 정의"
 
 #: builtins/common.c:259
 #, c-format
 msgid "`%s': not a pid or valid job spec"
-msgstr "'%s': pid가 아니거나 유효한 job spec이 아님"
+msgstr "`%s': PID가 아니거나 적절한 작업 명세 없음"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: 읽기 전용 변수임"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: 할당할 수 없음"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
-msgstr "%s: %s 범위를 벗어남"
+msgstr "%s: %s이(가) 범위를 벗어남"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "인자"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
-msgstr "%s 범위를 벗어남"
+msgstr "%s이(가) 범위를 벗어남"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
-msgstr "%s: ê·¸ë\9f¬í\95\9c job이 없음"
+msgstr "%s: ê·¸ë\9f° ì\9e\91ì\97\85이 없음"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
-msgstr "%s: job control이 없음"
+msgstr "%s: 작업 컨트롤 없음"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
-msgstr "job control이 없음"
+msgstr "작업 컨트롤 없음"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: 제한됨"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "제한됨"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
-msgstr "%s: ì\89\98 ë\82´ì\9e¥이 아님"
+msgstr "%s: ì\85¸ ë\82´ì\9e¥ ëª\85ë ¹이 아님"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "쓰기 오류: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "터미널 속성 설정 오류: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "터미널 속성 읽기 오류: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
-msgstr "%s: í\98\84ì\9e¬ ë\94\94ë \89í\86 ë¦¬ë¥¼ ë°\9bì\95\84ì\98¤ë\8a\94 ë\8d° 오류 발생: %s: %s\n"
+msgstr "%s: í\98\84ì\9e¬ ë\94\94ë \89í\84°ë¦¬ ê°\80ì ¸ì\98¤ë\8a\94 ì¤\91 오류 발생: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
-msgstr "%s: 모호한 job spec"
+msgstr "%s: 모호한 작업 명세"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
-msgstr "ì\9d´ ë²\84ì \84ì\97\90ë\8a\94 ë\8f\84ì\9b\80ë§\90ì\9d´ ì\97\86ì\9d\8c"
+msgstr "ì\9d´ ë²\84ì \84ì\97\90ë\8a\94 ë\8f\84ì\9b\80ë§\90ì\9d´ ì\97\86ì\8aµë\8b\88ë\8b¤"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
-msgstr "%s: unset할 수 없음: %s가 읽기 전용임"
+msgstr "%s: 설정 해제할 수 없음: %s이(가) 읽기 전용임"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
-msgstr "%s: unset할 수 없음"
+msgstr "%s: 설정 해제할 수 없음"
 
 #: builtins/complete.def:287
 #, c-format
 msgid "%s: invalid action name"
-msgstr "%s: 유효하지 않은 액션 이름"
+msgstr "%s: 부적절한 액션 이름"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
-msgstr "%s: 완료 사양 없음"
+msgstr "%s: 완성 명세 없음"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "경고: -F 옵션이 예상대로 작동하지 않을 수 있음"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "경고: -C 옵션이 예상대로 작동하지 않을 수 있음"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
-msgstr "현재 완료 함수가 실행중이 아님"
+msgstr "완성 함수를 현재 실행하고 있지 않음"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
-msgstr "함수에서만 사용ë\90  ì\88\98 ì\9e\88ì\9d\8c"
+msgstr "함수에서만 사용í\95  ì\88\98 ì\9e\88ì\9d\8c"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "함수 구성에 `-f' 옵션을 사용할 수 없음"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: 읽기 전용 함수"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: 참조 변수로 배열이 올 수 없음"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
-msgstr "%s: ì\9d´ë¦\84 ì°¸ì¡° ë³\80ì\88\98ì\9d\98 ì\9e\90ê°\80 ì°¸ì¡°ë\8a\94 í\97\88ì\9a©ë\90\98ì§\80 ì\95\8aì\9d\8c"
+msgstr "%s: ì\9d´ë¦\84 ì°¸ì¡° ë³\80ì\88\98ì\9d\98 ì\9e\90ê°\80 ì°¸ì¡°ë¥¼ í\97\88ì\9a©í\95\98ì§\80 ì\95\8aì\9d\8c"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: 순환 이름 참조"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
-msgstr "'%s': 유효하지 않은 이름 참조 변수 이름"
-
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "함수를 만들기 위해 '-f'를 사용할 수 없음"
+msgstr "`%s': 이름 참조의 부적절한 변수 이름"
 
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: 읽기 전용 함수임"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: 따옴표를 이용한 복합 배열 할당은 향후 제거될 예정임"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
-msgstr "%s: ì\9d´ ë°©ë²\95ì\9c¼ë¡\9c ë°°ì\97´ ë³\80ì\88\98를 í\8c\8cê´´í\95  ì\88\98 ì\97\86ì\9d\8c"
+msgstr "%s: ì\9d´ ë°©ë²\95ì\9c¼ë¡\9c ë°°ì\97´ ë³\80ì\88\98를 í\95´ì²´í\95  ì\88\98 ì\97\86ì\9d\8c"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
-msgstr "%s: ì°¸ì¡° ë°°ì\97´ì\9d\84 ì\9d¸ë\8d±ì\8a¤ 배열로 변환할 수 없음"
+msgstr "%s: ì°¸ì¡° ë°°ì\97´ì\9d\84 ì\83\89ì\9d¸ 배열로 변환할 수 없음"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: 따옴표를 이용한 복합 배열 할당은 향후 제거 예정"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
-msgstr "ë\8f\99ì \81 ë¡\9cë\94©ì\9d\84 ì\9d´ì\9a©í\95  ì\88\98 ì\97\86ì\9d\8c"
+msgstr "ë\8f\99ì \81 ë\88ë\9f¬ì\98¤ê¸° ë¶\88ê°\80"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
-msgstr "공유 오브젝트 %s를 열 수 없음: %s"
+msgstr "%s 공유 객체를 열 수 없음: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
-msgstr "공유 오브젝트 %2$s에서 %1$s를 찾을 수 없음: %3$s"
+msgstr "%2$s 공유 객체에서 %1$s을(를) 찾을 수 없음: %3$s"
 
-#: builtins/enable.def:388
-#, fuzzy, c-format
+#: builtins/enable.def:422
+#, c-format
 msgid "%s: dynamic builtin already loaded"
-msgstr "%s: 동적으로 로드되지 않음"
+msgstr "%s: 동적 내장 명령을 이미 불러왔습니다"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
-msgstr "%sì\97\90 ë\8c\80í\95\9c í\95¨ì\88\98 ë¡\9cë\93\9cê°\80 ì\8b¤í\8c¨ ë°\98í\99\98 (%d): ë¡\9cë\93\9cë\90\98지 않음"
+msgstr "%sì\97\90 ë\8c\80í\95\9c í\95¨ì\88\98 ë\88ë\9f¬ì\98¤ê¸° ì¤\91 ì\8b¤í\8c¨ ë°\98í\99\98 (%d): ë¶\88ë\9f¬ì\98¤지 않음"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
-msgstr "%s: ë\8f\99ì \81ì\9c¼ë¡\9c ë¡\9cë\93\9cë\90\98지 않음"
+msgstr "%s: ë\8f\99ì \81ì\9c¼ë¡\9c ë\88ë\9f¬ì\98¤지 않음"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: 삭제할 수 없음: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: 디렉터리임"
@@ -434,17 +444,17 @@ msgstr "%s: 디렉터리임"
 #: builtins/evalfile.c:144
 #, c-format
 msgid "%s: not a regular file"
-msgstr "%s: 일반적인 파일이 아님"
+msgstr "%s: 일반 파일이 아님"
 
 #: builtins/evalfile.c:153
 #, c-format
 msgid "%s: file is too large"
 msgstr "%s: 파일이 너무 큼"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
-msgstr "%s: 바이너리 파일을 실행할 수 없음"
+msgstr "%s: 이진 파일을 실행할 수 없음"
 
 #: builtins/exec.def:158 builtins/exec.def:160 builtins/exec.def:246
 #, c-format
@@ -458,26 +468,26 @@ msgstr "로그아웃\n"
 
 #: builtins/exit.def:89
 msgid "not login shell: use `exit'"
-msgstr "ë¡\9cê·¸ì\9d¸ ì\89\98ì\9d´ ì\95\84ë\8b\98: 'exit'를 ì\82¬ì\9a©í\95\98ì\84¸ì\9a\94"
+msgstr "ë¡\9cê·¸ì\9d¸ ì\85¸ì\9d´ ì\95\84ë\8b\98: `exit'를 ì\82¬ì\9a©í\95\98ì\8b­ì\8b\9cì\98¤"
 
 #: builtins/exit.def:121
 #, c-format
 msgid "There are stopped jobs.\n"
-msgstr "정지된 job이 있습니다.\n"
+msgstr "멈춘 작업이 있습니다.\n"
 
 #: builtins/exit.def:123
 #, c-format
 msgid "There are running jobs.\n"
-msgstr "실행중인 job이 있습니다.\n"
+msgstr "실행 중인 작업이 있습니다.\n"
 
 #: builtins/fc.def:275 builtins/fc.def:373 builtins/fc.def:417
 msgid "no command found"
-msgstr "ëª\85ë ¹ì\96´ë¥¼ 찾을 수 없음"
+msgstr "ëª\85ë ¹ì\9d\84 찾을 수 없음"
 
 #: builtins/fc.def:363 builtins/fc.def:368 builtins/fc.def:407
 #: builtins/fc.def:412
 msgid "history specification"
-msgstr "히스토리 사양"
+msgstr "기록 명세"
 
 #: builtins/fc.def:444
 #, c-format
@@ -491,7 +501,7 @@ msgstr "현재"
 #: builtins/fg_bg.def:161
 #, c-format
 msgid "job %d started without job control"
-msgstr "job %d가 job control 없이 시작함"
+msgstr "작업 %d번이 작업 컨트롤 없이 시작했습니다"
 
 #: builtins/getopt.c:110
 #, c-format
@@ -501,7 +511,7 @@ msgstr "%s: 잘못된 옵션 -- %c\n"
 #: builtins/getopt.c:111
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ì\98µì\85\98ì\9d´ ì\9d¸ì\9e\90를 í\95\84ì\9a\94ë¡\9c 함 -- %c\n"
+msgstr "%s: ì\98µì\85\98ì\97\90 ì\9d¸ì\9e\90ê°\80 í\95\84ì\9a\94함 -- %c\n"
 
 #: builtins/hash.def:91
 msgid "hashing disabled"
@@ -520,28 +530,27 @@ msgstr "hits\tcommand\n"
 #: builtins/help.def:133
 msgid "Shell commands matching keyword `"
 msgid_plural "Shell commands matching keywords `"
-msgstr[0] "ë\8b¤ì\9d\8c í\82¤ì\9b\8cë\93\9cì\97\90 ì\9d¼ì¹\98í\95\98ë\8a\94 ì\89\98 명령어 '"
+msgstr[0] "ë\8b¤ì\9d\8c í\82¤ì\9b\8cë\93\9cì\97\90 ì\9d¼ì¹\98í\95\98ë\8a\94 ì\85¸ 명령어 '"
 
 #: builtins/help.def:135
 msgid ""
 "'\n"
 "\n"
 msgstr ""
+"'\n"
+"\n"
 
 #: builtins/help.def:185
 #, c-format
-msgid ""
-"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"'%s'에 해당하는 도움말 주제가 없습니다. 'man -k %s' 또는 'info %s'를 사용해 "
-"보세요."
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgstr "`%s'에 해당하는 도움말 주제가 없습니다. `man -k %s' 또는 `info %s' 명령을 입력하십시오."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: 열 수 없음: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -552,34 +561,32 @@ msgid ""
 "A star (*) next to a name means that the command is disabled.\n"
 "\n"
 msgstr ""
-"이 쉘 명령어들은 내부적으로 정의되어 있습니다.  목록을 보려면 `help' 를 입력"
-"하세요.\n"
-"`help name' 을 입력하면 함수 `name' 에 대한 정보를 더 확인할 수 있습니다.\n"
-"쉘에 대한 일반적인 정보를 더 확인하려면 `info bash' 를 사용하세요.\n"
-"이 목록에 없는 명령어에 대해 더 알아보려면 `man -k' 또는 `info' 를 사용하세"
-"요.\n"
+"이 셸 명령어는 내부에 지정했습니다.  목록을 보려면 `help'를 입력하십시오.\n"
+"`help name'을 입력하면 함수 `name'의 정보를 더 확인할 수 있습니다.\n"
+"셸에 대한 일반적인 정보를 더 확인하려면 `info bash'를 사용하십시오.\n"
+"이 목록에 없는 명령어에 대해 더 알아보려면 `man -k' 또는 `info'를 사용하십시오.\n"
 "\n"
-"명령어 이름 다음의 별 (*) 은 해당 명령어가 비활성화 되었음을 의미합니다.\n"
+"명령어 이름 다음의 별(*) 표시는 해당 명령어의 비활성 상태을 의미합니다.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "-anrw를 한 개 이상 사용할 수 없음"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "히스토리 위치"
+msgstr "기록 위치"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
-msgstr "%s: 유효하지 않은 타임스탬프"
+msgstr "%s: 부적절한 타임스탬프"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
-msgstr "%s: 히스토리 확장 실패"
+msgstr "%s: 기록 확장 실패"
 
 #: builtins/inlib.def:71
 #, c-format
@@ -588,113 +595,113 @@ msgstr "%s: inlib 실패"
 
 #: builtins/jobs.def:109
 msgid "no other options allowed with `-x'"
-msgstr "'-x'와 다른 옵션들은 같이 사용할 수 없음"
+msgstr "`-x'와 다른 옵션을 같이 사용할 수 없음"
 
 #: builtins/kill.def:211
 #, c-format
 msgid "%s: arguments must be process or job IDs"
-msgstr "%s: 인자는 반드시 프로세스 또는 job ID이어야 함"
+msgstr "%s: 인자는 반드시 프로세스 또는 작업 ID이어야 함"
 
 #: builtins/kill.def:274
 msgid "Unknown error"
 msgstr "알 수 없는 오류"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
-msgstr "í\91\9cí\98\84ì\8b\9dì\9d\84 ì\98\88ì\83\81í\95¨"
+msgstr "í\91\9cí\98\84ì\8b\9dì\9d´ í\95\84ì\9a\94í\95©ë\8b\88ë\8b¤"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
-msgstr "%s: ì\9d¸ë\8d±ì\8a¤ 배열이 아님"
+msgstr "%s: ì\83\89ì\9d¸ 배열이 아님"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
-msgstr "%s: 유효하지 않은 파일 디스크립터 명세"
+msgstr "%s: 부적절한 파일 서술자 명세"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
-msgstr "%d: 유효하지 않은 파일 디스크립터: %s"
+msgstr "%d: 부적절한 파일 서술자: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
-msgstr "%s: 유효하지 않은 줄 수"
+msgstr "%s: 부적절한 줄 수"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
-msgstr "%s: 유효하지 않은 배열의 시작"
+msgstr "%s: 부적절한 배열의 시작"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
-msgstr "%s: 유효하지 않은 콜백 양자"
+msgstr "%s: 부적절한 콜백 양자"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "빈 배열 변수 이름"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "배열 변수 지원이 필요함"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
-msgstr "'%s': 서식 문자 없음"
+msgstr "`%s': 서식 문자 없음"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
-msgstr "'%c': 유효하지 않은 시간 포맷 사양"
+msgstr "`%c': 부적절한 시간 포맷 사양"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
-msgstr "'%c': 유효하지 않은 서식 문자"
+msgstr "`%c': 부적절한 서식 문자"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "경고: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
-msgstr "í\98\95ì\8b\9d í\8c\8cì\8b± 문제: %s"
+msgstr "í\98\95ì\8b\9d í\95´ì\84\9d 문제: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "\\x에 16진수 숫자 없음"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
-msgstr "\\%c에 해당하는 유니코드 문자 없음"
+msgstr "\\%c에 유니코드 문자 없음"
 
 #: builtins/pushd.def:199
 msgid "no other directory"
-msgstr "ë\8b¤ë¥¸ ë\94\94ë \89í\86 리 없음"
+msgstr "ë\8b¤ë¥¸ ë\94\94ë \89í\84°리 없음"
 
 #: builtins/pushd.def:360
 #, c-format
 msgid "%s: invalid argument"
-msgstr "%s: 유효하지 않은 인자"
+msgstr "%s: 부적절한 인자"
 
 #: builtins/pushd.def:480
 msgid "<no current directory>"
-msgstr "<í\98\84ì\9e¬ ë\94\94ë \89í\86 리 없음>"
+msgstr "<í\98\84ì\9e¬ ë\94\94ë \89í\84°리 없음>"
 
 #: builtins/pushd.def:524
 msgid "directory stack empty"
-msgstr "ë\94\94ë \89í\86 리 스택이 비어있음"
+msgstr "ë\94\94ë \89í\84°리 스택이 비어있음"
 
 #: builtins/pushd.def:526
 msgid "directory stack index"
-msgstr "ë\94\94ë \89í\86 ë¦¬ ì\8a¤í\83\9d ì\9d¸ë\8d±ì\8a¤"
+msgstr "ë\94\94ë \89í\84°ë¦¬ ì\8a¤í\83\9d ì\83\89ì\9d¸"
 
 #: builtins/pushd.def:701
 msgid ""
@@ -711,35 +718,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 ""
-"현재 기억된 디렉토리의 목록을 보여줍니다.  디렉토리들은\n"
-"    `pushd' ëª\85ë ¹ì\9d\84 í\86µí\95´ ëª©ë¡\9dì\97\90 ê²½ë¡\9c를 ì \80ì\9e¥í\95  ì\88\98 ì\9e\88ê³ ; 'popd' \n"
-"    ëª\85ë ¹ì\9d\84 í\86µí\95´ 거슬러 올라갈 수 있습니다.\n"
+"현재 기억한 디렉터리의 목록을 보여줍니다.  디렉터리는\n"
+"    `pushd' ëª\85ë ¹ì\9c¼ë¡\9c ëª©ë¡\9dì\97\90 ê²½ë¡\9c를 ì \80ì\9e¥í\95  ì\88\98 ì\9e\88ê³  'popd' \n"
+"    ëª\85ë ¹ì\9c¼ë¡\9c 거슬러 올라갈 수 있습니다.\n"
 "    \n"
 "    옵션:\n"
-"      -c\tì\9b\90ì\86\8c를 ì \84ë¶\80 ì\82­ì \9cí\95¨ì\9c¼ë¡\9cì\8d¨ ë\94\94ë \89í\86 리 스택을 초기화합니다\n"
-"      -l\tí\99\88 ë\94\94ë \89í\86 ë¦¬ê¹\8cì§\80 ~ë¡\9c ì¶\95ì\95½ë\90\9c 상대경로를 표시하지 않습니다\n"
-"      -p\tí\95\9c ì¤\84ì\97\90 í\95\98ë\82\98ì\94© ë\94\94ë \89í\86 리 스택을 표시합니다\n"
-"      -v\t한 줄에 하나씩 스택의 위치와 함께 디렉토리 스택을 표시합니다\n"
+"      -c\tì\9b\90ì\86\8c를 ì \84ë¶\80 ì\82­ì \9cí\95\98ì\97¬ ë\94\94ë \89í\84°리 스택을 초기화합니다\n"
+"      -l\tí\99\88 ë\94\94ë \89í\84°ë¦¬ê¹\8cì§\80 ~ ì¶\95ì\95½ 상대경로를 표시하지 않습니다\n"
+"      -p\tí\95\9c ì¤\84ì\97\90 í\95\98ë\82\98ì\94© ë\94\94ë \89í\84°리 스택을 표시합니다\n"
+"      -v\t한 줄에 하나씩 스택의 위치와 디렉터리 스택을 표시합니다\n"
 "    \n"
 "    인자:\n"
-"      +N\t인자 없이 실행될 때 보여지는 목록의 왼쪽부터 N번째 항목을 보여줍니"
-"다.\n"
-"    \t세는 수는 0부터 시작합니다.\n"
+"      +N\t인자 없이 실행할 때 dirs에서 보여주는 목록의 왼쪽부터 N번째\n"
+"    \t항목을 보여줍니다. 세는 수는 0부터 시작합니다.\n"
 "    \n"
-"      -N\t인자 없이 실행될 때 보여지는 목록의 오른쪽부터 N번째 항목을 보여줍"
-"니다.\n"
-"\t세는 수는 0부터 시작합니다."
+"      -N\t인자 없이 실행할 때 dirs에서 보여주는 목록의 오른쪽부터 N번째\n"
+"   \t 항목을 보여줍니다. 세는 수는 0부터 시작합니다."
 
 #: builtins/pushd.def:723
-#, fuzzy
 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"
@@ -763,30 +765,27 @@ msgid ""
 "    \n"
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
-"ë\94\94ë \89í\86 ë¦¬ ì\8a¤í\83\9dì\9d\98 ìµ\9cì\83\81ì\9c\84ì\97\90 ë\94\94ë \89í\86 리를 추가하거나 스택을 회전\n"
-"    í\95\98ê±°ë\82\98, í\98\84ì\9e¬ ì\9e\91ì\97\85ì¤\91ì\9d¸ ë\94\94ë \89í\86 리에서 스택의 새 최상위를 \n"
-"    ë§\8cë\93­ë\8b\88ë\8b¤.  ì\9d¸ì\9e\90ê°\80 ì\97\86ë\8b¤ë©´ ì\83\81ì\9c\84 ë\91\90 ë\94\94ë \89í\86 리를 교환합니다.\n"
+"ë\94\94ë \89í\84°ë¦¬ ì\8a¤í\83\9dì\9d\98 ìµ\9cì\83\81ì\9c\84ì\97\90 ë\94\94ë \89í\84°리를 추가하거나 스택을 회전\n"
+"    í\95\98ê±°ë\82\98, í\98\84ì\9e¬ ì\9e\91ì\97\85ì¤\91ì\9d¸ ë\94\94ë \89í\84°리에서 스택의 새 최상위를 \n"
+"    ë§\8cë\93­ë\8b\88ë\8b¤.  ì\9d¸ì\9e\90ê°\80 ì\97\86ë\8b¤ë©´ ì\83\81ì\9c\84 ë\91\90 ë\94\94ë \89í\84°리를 교환합니다.\n"
 "    \n"
 "    옵션:\n"
-"      -n\tSuppresses the normal change of directory when adding\n"
-"    \tdirectories to the stack, so only the stack is manipulated.\n"
+"      -n\t스택에 디렉터리를 추가할 때 디렉터리 일반 변경 동작을\n"
+"    \t억제해서 스택만 바뀌게 합니다.\n"
 "    \n"
-"    Arguments:\n"
-"      +N\tRotates the stack so that the Nth directory (counting\n"
-"    \tfrom the left of the list shown by `dirs', starting with\n"
-"    \tzero) is at the top.\n"
+"    인자:\n"
+"      +N\tN번째 디렉터리가 최상단이 되도록(0부터 시작해서\n"
+"    \t`dirs' 내장 명령 목록 왼쪽부터 갯수를 셈) 스택을 뒤집습니다.\n"
 "    \n"
-"      -N\tRotates the stack so that the Nth directory (counting\n"
-"    \tfrom the right of the list shown by `dirs', starting with\n"
-"    \tzero) is at the top.\n"
+"      -N\tN 번째 디렉터리가 최상단이 되도록(0부터 시작해서\n"
+"    \t`dirs' 내장 명령 목록 오른쪽부터 갯수를 셈) 스택을 뒤집습니다.\n"
 "    \n"
-"      dir\tAdds DIR to the directory stack at the top, making it the\n"
-"    \tnew current working directory.\n"
+"      dir\t새 현재 작업 디렉터리로 만들 DIR을 상단 디렉터리\n"
+"    \t 스택에 추가합니다.\n"
 "    \n"
-"    `dirs' 내장은 디렉토리 스택을 보여줍니다."
+"    `dirs' 내장 명령은 디렉터리 스택을 보여줍니다."
 
 #: builtins/pushd.def:748
-#, fuzzy
 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"
@@ -806,43 +805,43 @@ msgid ""
 "    \n"
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
-"ë\94\94ë \89í\86 리 스택에서 항목을 제거합니다.  주어진 인자가 없을 경우\n"
-"    ìµ\9cì\83\81ì\9c\84 ë\94\94ë \89í\86 ë¦¬ë¥¼ ì\8a¤í\83\9dì\97\90ì\84\9c ì \9cê±°í\95\98ê³  ì\83\88 ìµ\9cì\83\81ì\9c\84 ë\94\94ë \89í\86 리로 변경합니다.\n"
+"ë\94\94ë \89í\84°리 스택에서 항목을 제거합니다.  주어진 인자가 없을 경우\n"
+"    ìµ\9cì\83\81ì\9c\84 ë\94\94ë \89í\84°ë¦¬ë¥¼ ì\8a¤í\83\9dì\97\90ì\84\9c ì \9cê±°í\95\98ê³  ì\83\88 ìµ\9cì\83\81ì\9c\84 ë\94\94ë \89í\84°리로 변경합니다.\n"
 "    \n"
 "    옵션:\n"
-"      -n\tSuppresses the normal change of directory when removing\n"
-"    \tdirectories from the stack, so only the stack is manipulated.\n"
+"      -n\t스택에 디렉터리를 제거할 때 디렉터리 일반 변경 동작을\n"
+"    \t억제해서 스택만 바뀌게 합니다.\n"
 "    \n"
-"    Arguments:\n"
-"      +N\tRemoves the Nth entry counting from the left of the list\n"
-"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
-"    \tremoves the first directory, `popd +1' the second.\n"
+"    인자:\n"
+"      +N\t0부터 시작해서 `dirs' 내장 명령 목록 왼쪽부터 갯수를 세어\n"
+"    \tN번째 항목을 제거합니다. 예: `popd +0'는 첫번째 디렉터리를, \n"
+"    \t`popd +1'는 두번째 디렉터리를 제거합니다.\n"
 "    \n"
-"      -N\tRemoves the Nth entry counting from the right of the list\n"
-"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
-"    \tremoves the last directory, `popd -1' the next to last.\n"
+"      -N\t0부터 시작해서 `dirs' 내장 명령 목록 오른쪽부터 갯수를 세어\n"
+"    \tN번째 항목을 제거합니다. 예: `popd -0'는 마지막 디렉터리를, \n"
+"    \t`popd -1'는 마지막의 그 전 디렉터리를 제거합니다.\n"
 "    \n"
-"    The `dirs' builtin displays the directory stack."
+"    `dirs' 내장 명령은 디렉터리 스택을 나타냅니다."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
-msgstr "%s: 유효하지 않은 타임아웃 정의"
+msgstr "%s: 부적절한 타임아웃 정의"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "읽기 오류: %d: %s"
 
 #: builtins/return.def:68
 msgid "can only `return' from a function or sourced script"
-msgstr "í\95¨ì\88\98 ë\98\90ë\8a\94 ì\86\8cì\8a¤ë\90\9c 스크립트에서만 'return' 할 수 있음"
+msgstr "í\95¨ì\88\98 ë\98\90ë\8a\94 ì\9b\90본 ì°¸ì¡° 스크립트에서만 'return' 할 수 있음"
 
 #: builtins/set.def:869
 msgid "cannot simultaneously unset a function and a variable"
-msgstr "함수와 변수를 동시에 unset할 수 없음"
+msgstr "함수와 변수를 동시에 설정 해제할 수 없음"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: 배열 변수가 아님"
@@ -855,20 +854,20 @@ msgstr "%s: 함수가 아님"
 #: builtins/setattr.def:194
 #, c-format
 msgid "%s: cannot export"
-msgstr "%s: export할 수 없음"
+msgstr "%s: 환경으로 내보낼 수 없음"
 
 #: builtins/shift.def:72 builtins/shift.def:79
 msgid "shift count"
 msgstr "시프트 횟수"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
-msgstr "ì\89\98 ì\98µì\85\98ì\9d\84 ë\8f\99ì\8b\9cì\97\90 set í\95\98ê³  unset 할 수 없음"
+msgstr "ì\85¸ ì\98µì\85\98ì\9d\84 ë\8f\99ì\8b\9cì\97\90 ì\84¤ì \95 ë°\8f ì\84¤ì \95 í\95´ì \9c할 수 없음"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
-msgstr "%s: 유효하지 않은 쉘 옵션 이름"
+msgstr "%s: 부적절한 셸 옵션 이름"
 
 #: builtins/source.def:128
 msgid "filename argument required"
@@ -885,66 +884,66 @@ msgstr "일시 정지할 수 없음"
 
 #: builtins/suspend.def:112
 msgid "cannot suspend a login shell"
-msgstr "ë¡\9cê·¸ì\9d¸ ì\89\98을 일시 정지할 수 없음"
+msgstr "ë¡\9cê·¸ì\9d¸ ì\85¸을 일시 정지할 수 없음"
 
 #: builtins/type.def:235
 #, c-format
 msgid "%s is aliased to `%s'\n"
-msgstr "%s는 '%s'의 별칭임\n"
+msgstr "%s은(는) `%s'의 별칭임\n"
 
 #: builtins/type.def:256
 #, c-format
 msgid "%s is a shell keyword\n"
-msgstr "%s 는 쉘 키워드임\n"
+msgstr "%s은(는) 셸 키워드임\n"
 
 #: builtins/type.def:275
 #, c-format
 msgid "%s is a function\n"
-msgstr "%s 는 함수임\n"
+msgstr "%s은(는) 함수임\n"
 
 #: builtins/type.def:299
 #, c-format
 msgid "%s is a special shell builtin\n"
-msgstr "%s 는 특수한 쉘 내장임\n"
+msgstr "%s은(는) 특수 셸 내장 명령임\n"
 
 #: builtins/type.def:301
 #, c-format
 msgid "%s is a shell builtin\n"
-msgstr "%s 는 쉘 내장임\n"
+msgstr "%s은(는) 셸 내장임\n"
 
 #: builtins/type.def:323 builtins/type.def:408
 #, c-format
 msgid "%s is %s\n"
-msgstr "%s 는 %s 임\n"
+msgstr "%s은(는) %s 임\n"
 
 #: builtins/type.def:343
 #, c-format
 msgid "%s is hashed (%s)\n"
-msgstr "%s 는 해시됨 (%s)\n"
+msgstr "%s은(는) 해시됨 (%s)\n"
 
 #: builtins/ulimit.def:400
 #, c-format
 msgid "%s: invalid limit argument"
-msgstr "%s: 유효하지 않은 제한 인자"
+msgstr "%s: 부적절한 제한 인자"
 
 #: builtins/ulimit.def:426
 #, c-format
 msgid "`%c': bad command"
-msgstr "'%c': 잘못된 명령어"
+msgstr "`%c': 잘못된 명령어"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: 제한을 읽을 수 없음: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "제한"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
-msgstr "%s: ì \9cí\95\9cì\9d\84 ë³\80ê²½í\95  수 없음: %s"
+msgstr "%s: ì \9cí\95\9cì\9d\84 ë°\94ê¿\80 수 없음: %s"
 
 #: builtins/umask.def:115
 msgid "octal number"
@@ -953,14 +952,14 @@ msgstr "8진수"
 #: builtins/umask.def:232
 #, c-format
 msgid "`%c': invalid symbolic mode operator"
-msgstr "'%c': 유효하지 않은 심볼릭 모드 연산자"
+msgstr "`%c': 부적절한 심볼릭 모드 연산자"
 
 #: builtins/umask.def:287
 #, c-format
 msgid "`%c': invalid symbolic mode character"
-msgstr "'%c': 유효하지 않은 심볼릭 모드 문자"
+msgstr "`%c': 부적절한 심볼릭 모드 문자"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " 줄 "
 
@@ -980,359 +979,368 @@ msgstr "취소중..."
 msgid "INFORM: "
 msgstr "정보: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "디버깅 경고: "
+
+#: error.c:488
 msgid "unknown command error"
-msgstr "알 수 없는 명령 오류"
+msgstr "알 수 없는 명령 오류"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
-msgstr "잘못된 명령어 타입"
+msgstr "잘못된 명령 형식"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "잘못된 커넥터"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "잘못된 점프"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
-msgstr "%s: í\95´ì \9cë\90\9c ë³\80ì\88\98"
+msgstr "%s: ë°\94ì\9d¸ë\94© í\95´ì \9cí\95\9c ë³\80ì\88\98"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\a입력 대기중 시간 초과: 자동으로 로그아웃\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
-msgstr "í\91\9cì¤\80 ì\9e\85ë ¥ì\9d\84 /dev/nullì\97\90ì\84\9c ë¦¬ë\8b¤ì\9d´ë \89í\8a¸ 할 수 없음: %s"
+msgstr "í\91\9cì¤\80 ì\9e\85ë ¥ì\9d\84 /dev/nullì\97\90ì\84\9c ë°©í\96¥ì\9e¬ì§\80ì \95 ì²\98리할 수 없음: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
-msgstr "TIMEFORMAT: `%c': 유효하지 않은 서식 문자"
+msgstr "TIMEFORMAT: `%c': 부적절한 서식 문자"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: coproc [%d:%s] 가 여전히 존재"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "파이프 오류"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: 최대 eval 중첩 레벨 초과 (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: 최대 소스 중첩 레벨 초과 (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: 최대 함수 중첩 레벨 초과 (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: 제한됨: 명령 이름에 '/'를 지정할 수 없음"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: 명령어를 찾을 수 없음"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: 실행할 수 없음: 필요한 파일이 없습니다"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: 잘못된 인터프리터"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: 이진 파일을 실행할 수 없음: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
-msgstr "'%s': 특수한 내장 명령임"
+msgstr "`%s': 특수한 내장 명령임"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
-msgstr "fd %d를 fd %d로 복제할 수 없음"
+msgstr "파일 서술자 %d번을 파일 서술자 %d번으로 복제할 수 없음"
 
 #: expr.c:263
 msgid "expression recursion level exceeded"
-msgstr "표현식 재귀 레벨 초과"
+msgstr "표현식 재귀 레벨 초과"
 
 #: expr.c:291
 msgid "recursion stack underflow"
 msgstr "재귀 스택 언더플로우"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "표현식 문법 오류"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
-msgstr "ë³\80ì\88\98ê°\80 ì\95\84ë\8b\8c ê²\83ì\97\90 í\95 ë\8b¹ì\9d\84 ì\8b\9cë\8f\84í\95¨"
+msgstr "ë¹\84 ë³\80ì\88\98ì\97\90 í\95 ë\8b¹ ì\8b\9cë\8f\84"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "변수 할당 문법 오류"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "0으로 나눔"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "버그: 잘못된 표현식 토큰"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
-msgstr "조건문에 ':' 예상함"
+msgstr "조건문에 ':' 필요함"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "지수가 0보다 작음"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
-msgstr "전위 증가 또는 후위 감소 후에 식별자를 예상함"
+msgstr "전위 증가 또는 후위 감소 후에 식별자가 필요함"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "')' 빠짐"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
-msgstr "문법 오류: 피연산자 예상함"
+msgstr "문법 오류: 피연산자 필요함"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
-msgstr "문법 오류: 유효하지 않은 산술 연산자"
+msgstr "문법 오류: 부적절한 산술 연산자"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (오류 토큰은 \"%s\" 임)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
-msgstr "유효하지 않은 진법"
+msgstr "부적절한 진법"
 
-#: expr.c:1582
-#, fuzzy
+#: expr.c:1587
 msgid "invalid integer constant"
-msgstr "%s: 유효하지 않은 줄 수"
+msgstr "부적절한 정수 상수"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "해당 진법에서 표현할 수 없는 값"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: 표현식 오류\n"
 
 #: general.c:70
 msgid "getcwd: cannot access parent directories"
-msgstr "getcwd: 부모 디렉터리에 접근할 수 없음"
+msgstr "getcwd: 상위 디렉터리에 접근할 수 없음"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
-msgstr "fd %d에 대해 nodelay 모드를 재설정 할 수 없음"
+msgstr "파일 서술자 %d번에 nodelay 모드를 초기화할 수 없음"
 
 #: input.c:266
 #, c-format
 msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr "fd %d에서 bash 입력을 위한 새 파일 디스크립터를 할당할 수 없음"
+msgstr "파일 서술자 %d번에서 bash 입력용 새 파일 서술자를 할당할 수 없음"
 
 #: input.c:274
 #, c-format
 msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr "save_bash_input: 새로운 fd %d를 위한 버퍼가 이미 존재함"
+msgstr "save_bash_input: 새 파일 서술자 %d번의 버퍼가 이미 존재함"
 
 #: jobs.c:543
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp pipe"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
-msgstr ""
+msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
-msgstr ""
+msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
-msgstr "포크된 pid %d가 실행중인 job %d에 나타남"
+msgstr "포크한 PID %d번이 실행중인 작업 %d에 나타남"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
-msgstr "프로세스 그룹 %2$ld의 정지된 작업 %1$d 를 삭제중"
+msgstr "프로세스 그룹 %2$ld번의 멈춘 작업 %1$d번을 삭제중"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
-msgstr "add_process: pid %5ld (%s) ê°\80 í\98\84ì\9e¬ë\8f\84 ì\82´ì\95\84ì\9e\88ë\8b¤ê³  í\91\9cì\8b\9cë\90¨"
+msgstr "add_process: pid %5ld (%s)ì\9d´(ê°\80) ì\97¬ì \84í\9e\88 ì\82´ì\95\84ì\9e\88ë\8b¤ê³  ë\82\98í\83\80ë\82¨"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: 그런 pid가 없음"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
-msgstr "ì\8b í\98¸ %d"
+msgstr "ì\8b\9cê·¸ë\84\90 %dë²\88"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "완료"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "멈춤"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "멈춤(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "실행중"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "완료(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "나감 %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "알 수 없는 상태"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(코어 덤프됨) "
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
-msgstr "child setpgid (%ld 에서 %ld 로)"
+msgstr "child setpgid (%ld에서 %ld(으)로)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
-msgstr "wait: pid %ldë\8a\94 ì\9d´ ì\89\98의 자식이 아님"
+msgstr "wait: pid %ldë²\88ì\9d\80 ì\9d´ ì\85¸의 자식이 아님"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
-msgstr "wait_for: 프로세스 %ld에 대한 기록 없음"
+msgstr "wait_for: 프로세스 %ld번의 기록 없음"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
-msgstr "wait_for_job: job %d 은 정지됨"
+msgstr "wait_for_job: 작업 %d번이 멈춤"
 
-#: jobs.c:3564
-#, fuzzy, c-format
+#: jobs.c:3551
+#, c-format
 msgid "%s: no current jobs"
-msgstr "%s: 그러한 job이 없음"
+msgstr "%s: 현재 작업이 없음"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: 작업이 종료됨"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
-msgstr "%s: job %d는 이미 백그라운드에 있음"
+msgstr "%s: 작업 %d번은 이미 백그라운드에 있음"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr "waitchld: 정의되지 않은 블록을 피하기 위해 WNOHANG를 켜는 중"
+msgstr "waitchld: 미지정 차단 동작 회피 목적으로 WNOHANG를 켜는 중"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: 줄 %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (코어 덤프됨)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(wd now: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp 실패"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: 백그라운드에 job control 없음"
+msgstr "initialize_job_control: 백그라운드에 작업 컨트롤 없음"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
-msgstr "initialize_job_control: line discipline"
+msgstr "initialize_job_control: 라인 제어"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
-msgstr "터미털 프로세스 그룹 (%d)을 설정할 수 없음"
+msgstr "터미털 프로세스 그룹(%d)을 설정할 수 없음"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
-msgstr "ì\9d´ ì\89\98ì\97\90 job control 없음"
+msgstr "ì\9d´ ì\85¸ì\97\90 ì\9e\91ì\97\85 ì \9cì\96´ 없음"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: assertion 실패: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1341,70 +1349,68 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: assertion 망가짐\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "알 수 없음"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
-msgstr "malloc: block on free list clobbered"
+msgstr "malloc: 해제 목록 처리중 중단"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: 이미 해제된 블록 인자를 가지고 호출됨"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: 할당되지 않은 블록 인자와 호출됨"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
-msgstr "free: 언더플로우 감지; mh_nbytes가 범위를 벗어남"
+msgstr "free: 언더플로우 감지! mh_nbytes가 범위를 벗어남"
 
-#: lib/malloc/malloc.c:1001
-#, fuzzy
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
-msgstr "free: 언더플로우 감지; mh_nbytes가 범위를 벗어남"
+msgstr "free: 언더플로우 감지! magic8 손상"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: 시작과 끝의 청크 사이즈가 다름"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: 할당되지 않은 블록 인자를 가지고 호출됨"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr "realloc: 언더플로우 감지; mh_nbytes가 범위를 벗어남"
+msgstr "realloc: 언더플로우 감지! mh_nbytes가 범위를 벗어남"
 
-#: lib/malloc/malloc.c:1141
-#, fuzzy
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
-msgstr "realloc: 언더플로우 감지; mh_nbytes가 범위를 벗어남"
+msgstr "realloc: 언더플로우 감지! magic8 손상"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: 시작과 끝의 청크 사이즈가 다름"
 
 #: lib/malloc/table.c:191
 #, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr "register_alloc: FIND_ALLOC이 할당 테이블이 가득 찼다고 함?\n"
+msgstr "register_alloc: FIND_ALLOC이 할당 테이블이 가득?\n"
 
 #: lib/malloc/table.c:200
 #, c-format
 msgid "register_alloc: %p already in table as allocated?\n"
-msgstr "register_alloc: %pê°\80 í\95 ë\8b¹ë\90\9c í\85\8cì\9d´ë¸\94ì\97\90 ì\9e\88ì\9d\8c?\n"
+msgstr "register_alloc: %pì\9d´(ê°\80) í\95 ë\8b¹í\95\9c í\85\8cì\9d´ë¸\94ì\97\90 ì\9e\88ì\9d\8c?\n"
 
 #: lib/malloc/table.c:253
 #, c-format
 msgid "register_free: %p already in table as free?\n"
-msgstr "register_free: %pê°\80 ì\9d´ë¯¸ í\95´ì \9cë\90\9c í\85\8cì\9d´ë¸\94ì\97\90 ì\9e\88ì\9d\8c?\n"
+msgstr "register_free: %pì\9d´(ê°\80) ì\9d´ë¯¸ í\95´ì \9cí\95\9c í\85\8cì\9d´ë¸\94ì\97\90 ì\9e\88ì\9d\8c?\n"
 
 #: lib/sh/fmtulong.c:102
 msgid "invalid base"
-msgstr "유효하지 않은 진법"
+msgstr "부적절한 진법"
 
 #: lib/sh/netopen.c:168
 #, c-format
@@ -1414,7 +1420,7 @@ msgstr "%s: 알 수 없는 호스트"
 #: lib/sh/netopen.c:175
 #, c-format
 msgid "%s: invalid service"
-msgstr "%s: 유효하지 않은 서비스"
+msgstr "%s: 부적절한 서비스"
 
 #: lib/sh/netopen.c:306
 #, c-format
@@ -1425,25 +1431,25 @@ msgstr "%s: 잘못된 네트워크 경로 사양"
 msgid "network operations not supported"
 msgstr "네트워크 작업은 지원되지 않음"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr "setlocale: LC_ALL: ë¡\9cì¼\80ì\9d¼을 바꿀 수 없음 (%s)"
+msgstr "setlocale: LC_ALL: ë¡\9cìº\98을 바꿀 수 없음 (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr "setlocale: LC_ALL: ë¡\9cì¼\80ì\9d¼을 바꿀 수 없음 (%s): %s"
+msgstr "setlocale: LC_ALL: ë¡\9cìº\98을 바꿀 수 없음 (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "setlocale: %s: ë¡\9cì¼\80ì\9d¼을 바꿀 수 없음 (%s)"
+msgstr "setlocale: %s: ë¡\9cìº\98을 바꿀 수 없음 (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "setlocale: %s: ë¡\9cì¼\80ì\9d¼을 바꿀 수 없음 (%s): %s"
+msgstr "setlocale: %s: ë¡\9cìº\98을 바꿀 수 없음 (%s): %s"
 
 #: mailcheck.c:439
 msgid "You have mail in $_"
@@ -1456,148 +1462,145 @@ msgstr "$_에 새로운 메일이 있습니다"
 #: mailcheck.c:480
 #, c-format
 msgid "The mail in %s has been read\n"
-msgstr "%sì\97\90 ì\9e\88ë\8a\94 ë©\94ì\9d¼ì\9d\80 읽었습니다\n"
+msgstr "%sì\9d\98 ë©\94ì\9d¼ì\9d\84 읽었습니다\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "문법 오류: 산술 표현식이 필요함"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
-msgstr "문법 오류: ';' ì\98\88ì\83\81ë\90\98ì§\80 ì\95\8aì\9d\8c"
+msgstr "문법 오류: ';' í\95\84ì\9a\94í\95\98ì§\80 ì\95\8aì\9d\8c"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "문법 오류: `((%s))'"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: 잘못된 명령어 형식 %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr "here-document가 줄 %d 에서 파일의 끝으로 구분됨 (`%s'를 예상함)"
+msgstr "here-document가 %d번 행에서 파일의 끝으로 구분함 (`%s'아(가) 필요함)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr "make_redirection: ë¦¬ë\8b¤ì\9d´ë \89ì\85\98 명령어 `%d' 범위 벗어남"
+msgstr "make_redirection: ë°©í\96¥ì\9e¬ì§\80ì \95 ì²\98리 명령어 `%d' 범위 벗어남"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: shell_input_line_size (%zu)가 SIZE_MAX (%lu)를 초과함: 줄 잘림"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size(%zu)가 SIZE_MAX(%lu)를 초과함: 줄 잘림"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "최대 here-document 카운트 초과"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
-msgstr "'%c'를 찾는 도중 예상하지 못한 파일의 끝"
+msgstr "`%c'을(를) 찾는 도중 예상치 못한 파일의 끝"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
-msgstr "']]'를 찾던 도중 예상하지 못한 파일의 끝"
+msgstr "']]'를 찾던 도중 예상 못한 파일의 끝"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr "조건 표현식에 문법 오류: 예상하지 못한 토큰 '%s'"
+msgstr "조건 표현식에 문법 오류: 예상치 못한 토큰 `%s'"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "조건 표현식에 문법 오류"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
-msgstr "예상ë\90\98ì§\80 ì\95\8aì\9d\80 í\86 í\81° '%s', ')' ì\98\88ì\83\81ë\90¨"
+msgstr "예상ì¹\98 ëª»í\95\9c í\86 í\81° `%s', ')' í\95\84ì\9a\94í\95¨"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
-msgstr "')' ì\98\88ì\83\81ë\90¨"
+msgstr "')' í\95\84ì\9a\94í\95¨"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
-msgstr "조건 단항 연산자에 예기치 않은 인자 '%s'"
+msgstr "조건 단항 연산자에 예기치 않은 인자 `%s'"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "조건 단항 연산자에 예기치 않은 인자"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
-msgstr "예기치 않은 토큰 '%s', ì¡°ê±´ ì\9d´í\95­ ì\97°ì\82°ì\9e\90 ì\98\88ì\83\81ë\90¨"
+msgstr "예기치 않은 토큰 `%s', ì¡°ê±´ ì\9d´í\95­ ì\97°ì\82°ì\9e\90 í\95\84ì\9a\94í\95¨"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
-msgstr "조건 이항 연산자 ì\98\88ì\83\81ë\90¨"
+msgstr "조건 이항 연산자 í\95\84ì\9a\94í\95¨"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
-msgstr "조건 이항 연산자에 대해 예기치 않은 인자 '%s'"
+msgstr "조건 이항 연산자에 대해 예기치 않은 인자 `%s'"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "조건 이항 연산자에 대해 예기치 않은 인자"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
-msgstr "조건 명령어에서 예기치 않은 토큰 '%c'"
+msgstr "조건 명령어에서 예기치 않은 토큰 `%c'"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
-msgstr "조건 명령어에서 예기치 않은 토큰 '%s'"
+msgstr "조건 명령어에서 예기치 않은 토큰 `%s'"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "조건 명령어에서 예기치 않은 토큰 %d"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
-msgstr "예기치 않은 토큰 '%s' 근처에서 문법 오류"
+msgstr "예기치 않은 토큰 `%s' 근처에서 문법 오류"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
-msgstr "'%s' 근처에서 문법 오류"
+msgstr "`%s' 근처에서 문법 오류"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "문법 오류: 예기치 않은 파일의 끝"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "문법 오류"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
-msgstr "ì\89\98ì\9d\84 ë\82\98ê°\80려면 \"%s\"를 ì\82¬ì\9a©í\95\98ì\84¸ì\9a\94.\n"
+msgstr "ì\85¸ì\9d\84 ë\82\98ê°\80려면 \"%s\" ëª\85ë ¹ì\9d\84 ì\82¬ì\9a©í\95\98ì\8b­ì\8b\9cì\98¤.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "맞는 ')'를 찾던 도중 예기치 않은 파일의 끝"
 
 #: pcomplete.c:1132
 #, c-format
 msgid "completion: function `%s' not found"
-msgstr "completion: 함수 `%s' 를 찾을 수 없음"
+msgstr "completion: `%s' 함수를 찾을 수 없음"
 
 #: pcomplete.c:1722
 #, c-format
@@ -1617,7 +1620,7 @@ msgstr "print_command: 잘못된 커넥터 `%d'"
 #: print_cmd.c:375
 #, c-format
 msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "xtrace_set: %d: 유효하지 않은 파일 디스크립터"
+msgstr "xtrace_set: %d: 부적절한 파일 서술자"
 
 #: print_cmd.c:380
 msgid "xtrace_set: NULL file pointer"
@@ -1628,569 +1631,560 @@ msgstr "xtrace_set: NULL 파일 포인터"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: `%c': 잘못된 서식 문자"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
-msgstr "파일 디스크립터 범위 벗어남"
+msgstr "파일 서술자 범위 벗어남"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: 모호한 리다이렉트"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: 이미 있는 파일을 덮어쓸 수 없음"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
-msgstr "%s: ì \9cí\95\9cë\90¨: ì¶\9cë ¥ì\9d\84 ë¦¬ë\8b¤ì\9d´ë \89í\8a¸할 수 없음"
+msgstr "%s: ì \9cí\95\9cë\90¨: ì¶\9cë ¥ì\9d\84 ë°©í\96¥ ì\9e¬ì§\80ì \95할 수 없음"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "here-document를 위한 임시 파일을 생성할 수 없음: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
-msgstr "%s: fd를 변수에 할당할 수 없음"
+msgstr "%s: 파일 서술자를 변수에 할당할 수 없음"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr "/dev/(tcp|udp)/host/port ë\8a\94 ë\84¤í\8a¸ì\9b\8cí\82¹ ì\97\86ì\9d´ ì§\80ì\9b\90ë\90\98ì§\80 ì\95\8aì\9d\8c"
+msgstr "/dev/(tcp|udp)/host/portë\8a\94 ë\84¤í\8a¸ì\9b\8cí\82¹ ì\97\86ì\9d´ ì§\80ì\9b\90í\95\98ì§\80 ì\95\8aì\9d\8c"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
-msgstr "리ë\8b¤ì\9d´ë \89ì\85\98 ì\98¤ë¥\98: fd를 복제할 수 없음"
+msgstr "ë°©í\96¥ì\9e¬ì§\80ì \95 ì²\98리 ì\98¤ë¥\98: í\8c\8cì\9d¼ ì\84\9cì\88 ì\9e\90를 복제할 수 없음"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
-msgstr "/tmp를 ì°¾ì\9d\84 ì\88\98 ì\97\86ì\9d\8c, ë§\8cë\93¤ì\96´ ì£¼ì\84¸ì\9a\94!"
+msgstr "/tmp를 ì°¾ì\9d\84 ì\88\98 ì\97\86ì\9d\8c, ë§\8cë\93\9cì\8b­ì\8b\9cì\98¤!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
-msgstr "/tmpë\8a\94 ë°\98ë\93\9cì\8b\9c ì\9c í\9a¨í\95\9c ë\94\94ë \89í\86 리 이름이어야 함"
+msgstr "/tmpë\8a\94 ë°\98ë\93\9cì\8b\9c ì \81ì \88í\95\9c ë\94\94ë \89í\84°리 이름이어야 함"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
-msgstr "ì\83\81í\98¸ì \81 ì\89\98ì\97\90ì\84\9cë\8a\94 pretty-printing ëª¨ë\93\9cê°\80 ë¬´ì\8b\9cë\90¨"
+msgstr "ë\8c\80í\99\94í\98\95 ì\85¸ì\97\90ì\84\9cë\8a\94 ì \95ë\8f\88 ì¶\9cë ¥ ëª¨ë\93\9c를 ë¬´ì\8b\9cí\95¨"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
-msgstr "%c%c: 유효하지 않은 옵션"
+msgstr "%c%c: 부적절한 옵션"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
-msgstr "uid를 %dë¡\9c ì\84¤ì \95í\95  ì\88\98 ì\97\86ì\9d\8c: effective uid %d"
+msgstr "uid를 %dë²\88ì\9c¼ë¡\9c ì\84¤ì \95í\95  ì\88\98 ì\97\86ì\9d\8c: í\9a¨ë ¥ì\83\81 ì\82¬ì\9a©ì\9e\90 ID %dë²\88"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
-msgstr "gid를 %dë¡\9c ì\84¤ì \95í\95  ì\88\98 ì\97\86ì\9d\8c: effective gid %d"
+msgstr "gid를 %dë²\88ì\9c¼ë¡\9c ì\84¤ì \95í\95  ì\88\98 ì\97\86ì\9d\8c: í\9a¨ë ¥ì\83\81 ê·¸ë£¹ ID %dë²\88"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
-msgstr "디버거를 시작할 수 없음; 디버깅 모드 비활성화됨"
+msgstr "디버거를 시작할 수 없음! 디버깅 모드 꺼짐"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
-msgstr "%s: ë\8a\94 ë\94\94ë \89í\84°ë¦¬ì\9e\84"
+msgstr "%s: 디렉터리임"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "이름 없음!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
-msgstr "GNU bash, 버전 %s-(%s)\n"
+msgstr "GNU 배시, 버전 %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
 "\t%s [GNU long option] [option] script-file ...\n"
 msgstr ""
-"사용법:\t%s [GNU 긴 옵션] [옵션] ...\n"
-"\t%s [GNU 긴 옵션] [옵션] 스크립트-파일 ...\n"
+"사용법:\t%s [<GNU_긴_옵션>] [<옵션>] ...\n"
+"\t%s [<GNU_긴_옵션>] [<옵션>] <스크립트파일> ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "GNU 긴 옵션:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
-msgstr "ì\89\98 옵션:\n"
+msgstr "ì\85¸ 옵션:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr "\t-ilrsD 또는 -c 명령 또는 -O shopt_option\t\t(invocation 전용)\n"
+msgstr "\t-ilrsD 또는 -c <명령> 또는 -O shopt_option\t\t(invocation 전용)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s 또는 -o 옵션\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"`%s -c \"help set\"' 를 사용하면 쉘 옵션에 관해 더 많은 정보를 확인할 수 있습"
-"니다.\n"
+msgstr "`%s -c \"help set\"' 명령을 사용하면 셸 옵션에 관해 더 많은 정보를 확인할 수 있습니다.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"`%s -c help' 를 사용하면 쉘 내장 명령어에 관해 더 많은 정보를 확인할 수 있습"
-"니다.\n"
+msgstr "`%s -c help' 명령을 사용하면 셸 내장 명령어에 관해 더 많은 정보를 확인할 수 있습니다.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
-msgstr "ë²\84그를 ë³´ê³ í\95\98려면 'bashbug' ëª\85ë ¹ì\9d\84 ì\82¬ì\9a©í\95\98ì\84¸ì\9a\94.\n"
+msgstr "ë²\84그를 ë³´ê³ í\95\98려면 'bashbug' ëª\85ë ¹ì\9d\84 ì\82¬ì\9a©í\95\98ì\8b­ì\8b\9cì\98¤.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "bash 홈페이지: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
-"GNU 소프트웨어를 사용하는데 일반적인 도움말: <http://www.gnu.org/gethelp/>\n"
+msgstr "GNU 소프트웨어 사용자 일반 도움말: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
-msgstr "sigprocmask: %d: 유효하지 않은 작업"
+msgstr "sigprocmask: %d: 부적절한 작업"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
-msgstr "Bogus 신호"
+msgstr "가짜 시그널"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
-msgstr "Hangup"
+msgstr "수행 중단(Hangup)"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "인터럽트"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "나가기"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
-msgstr "Illegal instruction"
+msgstr "부적절한 명령"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
-msgstr "BPT trace/trap"
+msgstr "BPT 추적/중단"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "ABORT 명령"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "EMT 명령"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "부동 소수점 예외"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
-msgstr "Killed"
+msgstr "죽었음"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "버스 오류"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
-msgstr "ì\84¸ê·¸ë©\98테이션 오류"
+msgstr "ì\84¸ê·¸ë¨¼테이션 오류"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "잘못된 시스템 콜"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
-msgstr "고장난 파이프"
+msgstr "파이프 깨짐"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
-msgstr "ì\95\8cë\9e\8c 시계"
+msgstr "ì\95\8c림 시계"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
-msgstr "Terminated"
+msgstr "중단됨"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
-msgstr "긴급한 IO 상황"
+msgstr "긴급 입출력 상태"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
-msgstr "ë©\88춤 (ì\8b í\98¸)"
+msgstr "ë©\88춤 (ì\8b\9cê·¸ë\84\90)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "계속"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
-msgstr "자식이 죽거나 멈춤"
+msgstr "하위 요소가 죽거나 멈춤"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "멈춤 (tty 입력)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "멈춤 (tty 출력)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "I/O 준비"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "CPU 제한"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "파일 제한"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
-msgstr "ì\95\8cë\9e\8c (가상)"
+msgstr "ì\95\8c림 (가상)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
-msgstr "ì\95\8cë\9e\8c (프로파일)"
+msgstr "ì\95\8c림 (프로파일)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
-msgstr "ì\9c\88ë\8f\84ì\9a° ë³\80ê²½ë\90¨"
+msgstr "ì\9c\88ë\8f\84ì\9a° ë°\94ë\80\9c"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "기록 잠금"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
-msgstr "ì\9c ì \80 ì\8b í\98¸ 1"
+msgstr "ì\82¬ì\9a©ì\9e\90 ì\8b\9cê·¸ë\84\90 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
-msgstr "ì\9c ì \80 ì\8b í\98¸ 2"
+msgstr "ì\82¬ì\9a©ì\9e\90 ì\8b\9cê·¸ë\84\90 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "HFT 입력 데이터 대기중"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "전원 문제 임박"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "시스템 충돌 임박"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "다른 CPU로 프로세스 이전"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "프로그래밍 오류"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
-msgstr "HFT 모니터 모드 승인ë\90¨"
+msgstr "HFT 모니터 모드 승인í\95¨"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
-msgstr "HFT 모니터 모드 철회ë\90¨"
+msgstr "HFT 모니터 모드 철회í\95¨"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
-msgstr "HFT ì\82¬ì\9a´ë\93\9c ì \88ì°¨ê°\80 ì\99\84ë£\8cë\90¨"
+msgstr "HFT ì\82¬ì\9a´ë\93\9c ì\8b\9cí\80\80ì\8a¤ê°\80 ë\81\9dë\82¨"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "정보 요청"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
-msgstr "ì\95\8c ì\88\98 ì\97\86ë\8a\94 ì\8b í\98¸ #%d"
+msgstr "ì\95\8c ì\88\98 ì\97\86ë\8a\94 ì\8b\9cê·¸ë\84\90 #%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
-msgstr "잘못된 대체: %2$s에 닫는 '%1$s' 없음"
+msgstr "잘못된 대체: %2$s에 닫는 `%1$s' 없음"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
-msgstr "%s: 리스트를 배열 멤버 할당할 수 없음"
+msgstr "%s: 리스트를 배열 멤버 할당할 수 없음"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
-msgstr "프로세스 대체를 위해 파이프를 만들 수 없음"
+msgstr "프로세스 대체 파이프를 만들 수 없음"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
-msgstr "프로세스 대체를 위해 자식을 만들 수 없음"
+msgstr "프로세스 대체용 하위 요소를 만들 수 없음"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
-msgstr "읽기를 위해 명명된 파이프 %s를 열 수 없음"
+msgstr "읽기용 명명 파이프 %s을(를) 열 수 없음"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
-msgstr "쓰기를 위해 명명된 파이프 %s를 열 수 없음"
+msgstr "쓰기용 명명 파이프 %s을(를) 열 수 없음"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
-msgstr "명명된 파이프 %s를 fd %d로 복제할 수 없음"
+msgstr "명명된 파이프 %s을(를) 파일 서술자 %d번으로 복제할 수 없음"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
-msgstr "command substitution: 입력의 null 바이트 무시"
+msgstr "command substitution: 입력의 null 바이트 무시"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
-msgstr "명령어 대체를 위해 파이프를 만들 수 없음"
+msgstr "명령어 대체 파이프를 만들 수 없음"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
-msgstr "명령어 대체를 위해 자식을 만들 수 없음"
+msgstr "명령어 대체용 하위 요소를 만들 수 없음"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr "command_substitute: 파이프를 fd 1로 복제할 수 없음"
+msgstr "command_substitute: 파이프를 파일 서술자 1번으로 복제할 수 없음"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
-msgstr "%s: ì\9d´ë¦\84 ì°¸ì¡°ì\97\90 ë\8c\80í\95´ ì\9c í\9a¨í\95\98ì§\80 ì\95\8aì\9d\80 변수 이름"
+msgstr "%s: ì\9d´ë¦\84 ì°¸ì¡°ì\97\90 ë\80ì \81ì \88í\95\9c 변수 이름"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
-msgstr "%s: 유효하지 않은 간접 확장"
+msgstr "%s: 부적절한 간접 확장"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
-msgstr "%s: 유효하지 않은 변수 이름"
+msgstr "%s: 부적절한 변수 이름"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
-msgstr "%s: 파라미터 설정되지 않음"
+msgstr "%s: 매개변수값 설정 안함"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
-msgstr "%s: í\8c\8cë\9d¼ë¯¸í\84°ê°\80 null ë\98\90ë\8a\94 ì\84¤ì \95ë\90\98ì§\80 ì\95\8aì\9d\8c"
+msgstr "%s: ë§¤ê°\9cë³\80ì\88\98 ê°\92ì\9d´ null ì\9d´ê±°ë\82\98 ì\84¤ì \95í\95\98ì§\80 ì\95\8aì\9d\8c"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: 부분 문자열 표현식 < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: 잘못된 대체"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: 이 방법으로 할당할 수 없음"
 
-#: subst.c:9814
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr "향후 버전의 쉘에서는 산술 대체로 연산이 강제됩니다"
+#: subst.c:10111
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "향후 버전의 셸에서는 산술 대체로 연산이 강제됩니다"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "잘못된 대체: %s에 닫는 \"`\" 없음"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "일치 없음: %s"
 
 #: test.c:147
 msgid "argument expected"
-msgstr "인자 ì\98\88ì\83\81ë\90¨"
+msgstr "인자 í\95\84ì\9a\94í\95¨"
 
 #: test.c:156
 #, c-format
 msgid "%s: integer expression expected"
-msgstr "%s: 정수 표현식 ì\98\88ì\83\81ë\90¨"
+msgstr "%s: 정수 표현식 í\95\84ì\9a\94í\95¨"
 
 #: test.c:265
 msgid "`)' expected"
-msgstr "`)' ì\98\88ì\83\81ë\90¨"
+msgstr "`)'ê°\80 í\95\84ì\9a\94í\95¨"
 
 #: test.c:267
 #, c-format
 msgid "`)' expected, found %s"
-msgstr "`)' 예상되었으나 %s를 발견"
+msgstr "`)'가 있어야 하지만, %s이(가) 있습니다"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
-msgstr "%s: 이항 연산자 예상됨"
+msgstr "%s: 이항 연산자가 필요합니다"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
-msgstr "%s: 단항 연산자 예상됨"
+msgstr "%s: 단항 연산자가 필요합니다"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
-msgstr "']' 없음"
+msgstr "']' 빠짐"
 
-#: test.c:899
-#, fuzzy, c-format
+#: test.c:914
+#, c-format
 msgid "syntax error: `%s' unexpected"
-msgstr "문법 오류: ';' ì\98\88ì\83\81ë\90\98ì§\80 ì\95\8aì\9d\8c"
+msgstr "문법 오류: `%s' í\95\84ì\9a\94í\95\98ì§\80 ì\95\8aì\9d\8c"
 
 #: trap.c:220
 msgid "invalid signal number"
-msgstr "유효하지 않은 신호 번호"
+msgstr "부적절한 시그널 번호"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
-msgstr "trap handler: 최대 trap handler 레벨 초과 (%d)"
+msgstr "trap handler: 최대 트랩 핸들러 레벨 초과 (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: trap_list[%d]에 잘못된 값: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: 신호 핸들러는 SIG_DFL 이고, %d (%s)를 자신에게 보내는 중"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: 시그널 핸들러는 SIG_DFL 이고, %d (%s)를 자신에게 다시 보내는 중"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
-msgstr "trap_handler: ì\9e\98못ë\90\9c ì\8b í\98¸ %d"
+msgstr "trap_handler: ì\9e\98못ë\90\9c ì\8b\9cê·¸ë\84\90 %dë²\88"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
-msgstr "'%s'에 대해 함수 정의를 불러오는데 오류 발생"
+msgstr "`%s'의 함수 정의 가져오기 오류"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
-msgstr "ì\89\98 레벨 (%d)이 너무 높습니다, 1로 재설정합니다"
+msgstr "ì\85¸ 레벨 (%d)이 너무 높습니다, 1로 재설정합니다"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: 현재 범위에서 함수 컨텍스트 없음"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
-msgstr "%s: 변수는 할당된 값이 될 수 없음"
+msgstr "%s: 변수는 할당 값이 아님"
+
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: 비호환 형식의 값을 가져올 수 없음"
 
-#: variables.c:3475
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: 이름 참조에 정수를 할당하고 있음"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: 현재 범위에서 함수 컨텍스트 없음"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
-msgstr "%s null exportstr을 가짐"
+msgstr "%s이(가) null exportstr을 가짐"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
-msgstr "%2$s를 위한 exportstr에서 유효하지 않은 문자 %1$d"
+msgstr "%2$s의 exportstr에서 부적절한 문자 %1$d"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
-msgstr "%s를 위한 exportstr에 '=' 없음"
+msgstr "%s exportstr에 '=' 없음"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: shell_variables의 시작이 함수의 컨텍스트가 아님"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: 컨텍스트에 global_variables 없음"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: shell_variables의 시작이 임시 환경 범위가 아님"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
-msgstr "%s: %s: 파일로써 열 수 없음"
+msgstr "%s: %s: <파일>로 열 수 없음"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%s: %s: 추척 파일 디스크립터에 유효하지 않은 값"
+msgstr "%s: %s: 추척 파일 서술자에 부적절한 값"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: 호환 값이 범위를 벗어남"
 
 #: version.c:46 version2.c:46
-#, fuzzy
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2018 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"라이선스 GPLv3+: GNU GPL version 3 or later <http://gnu.org/license/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "라이선스 GPLv3+: GNU GPL 버전 3 이상 <http://gnu.org/license/gpl.html>\n"
 
 #: version.c:86 version2.c:86
 #, c-format
@@ -2199,67 +2193,63 @@ msgstr "GNU bash, 버전 %s (%s)\n"
 
 #: version.c:91 version2.c:91
 msgid "This is free software; you are free to change and redistribute it."
-msgstr "This is free software; you are free to change and redistribute it."
+msgstr "이 프로그램은 자유 소프트웨어입니다. 자유롭게 바꾸고 재배포할 수 있습니다."
 
 #: version.c:92 version2.c:92
 msgid "There is NO WARRANTY, to the extent permitted by law."
-msgstr "There is NO WARRANTY, to the extent permitted by law."
+msgstr "법률이 허용하는 모든 범위내의 보증은 없습니다."
 
 #: xmalloc.c:93
 #, c-format
 msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "%s: %lu bytes를 í\95 ë\8b¹í\95  ì\88\98 ì\97\86ì\9d\8c (%lu bytes í\95 ë\8b¹ë\90¨)"
+msgstr "%s: %lu ë°\94ì\9d´í\8a¸ë¥¼ í\95 ë\8b¹í\95  ì\88\98 ì\97\86ì\9d\8c (%lu ë°\94ì\9d´í\8a¸ í\95 ë\8b¹í\95¨)"
 
 #: xmalloc.c:95
 #, c-format
 msgid "%s: cannot allocate %lu bytes"
-msgstr "%s: %lu bytes를 할당할 수 없음"
+msgstr "%s: %lu 바이트를 할당할 수 없음"
 
 #: xmalloc.c:165
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "%s: %s:%d: %lu bytes를 í\95 ë\8b¹í\95  ì\88\98 ì\97\86ì\9d\8c (%lu bytes í\95 ë\8b¹ë\90¨)"
+msgstr "%s: %s:%d: %lu ë°\94ì\9d´í\8a¸ë¥¼ í\95 ë\8b¹í\95  ì\88\98 ì\97\86ì\9d\8c (%lu ë°\94ì\9d´í\8a¸ í\95 ë\8b¹í\95¨)"
 
 #: xmalloc.c:167
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "%s: %s:%d: %lu bytes를 할당할 수 없음"
+msgstr "%s: %s:%d: %lu 바이트를 할당할 수 없음"
 
 #: builtins.c:45
 msgid "alias [-p] [name[=value] ... ]"
-msgstr "alias [-p] [name[=value] ... ]"
+msgstr "alias [-p] [<이름>[=<값>] ... ]"
 
 #: builtins.c:49
 msgid "unalias [-a] name [name ...]"
-msgstr "unalias [-a] name [name ...]"
+msgstr "unalias [-a] <이름> [<이름> ...]"
 
 #: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function 또는 readline-command]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpsvPSVX] [-m <키매핑>] [-f <파일이름>] [-q <이름>] [-u <이름>] [-r <키시퀀스>] [-x <키시퀀스>:<셸명령>] [<키시퀀스>:<행읽기함수> 또는 <행읽기명령>]"
 
 #: builtins.c:56
 msgid "break [n]"
-msgstr "break [n]"
+msgstr "break [<번호>]"
 
 #: builtins.c:58
 msgid "continue [n]"
-msgstr "continue [n]"
+msgstr "continue [<번호>]"
 
 #: builtins.c:60
 msgid "builtin [shell-builtin [arg ...]]"
-msgstr "builtin [shell-builtin [arg ...]]"
+msgstr "builtin [<셸내장명령> [<인자> ...]]"
 
 #: builtins.c:63
 msgid "caller [expr]"
-msgstr "caller [expr]"
+msgstr "caller [<표현식>]"
 
 #: builtins.c:66
 msgid "cd [-L|[-P [-e]] [-@]] [dir]"
-msgstr "cd [-L|[-P [-e]] [-@]] [dir]"
+msgstr "cd [-L|[-P [-e]] [-@]] [<디렉터리>]"
 
 #: builtins.c:68
 msgid "pwd [-LP]"
@@ -2267,83 +2257,75 @@ msgstr "pwd [-LP]"
 
 #: builtins.c:76
 msgid "command [-pVv] command [arg ...]"
-msgstr "command [-pVv] command [arg ...]"
+msgstr "<명령> [-pVv] <명령> [<인자> ...]"
 
 #: builtins.c:78
-#, fuzzy
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgilnrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgilnrtux] [-p] [<이름>[=<값>] ...]"
 
 #: builtins.c:80
-#, fuzzy
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgilnrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgilnrtux] [-p] <이름>[=<값>] ..."
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
-msgstr "local [옵션] name[=value] ..."
+msgstr "local [<옵션>] <이름>[=<값>] ..."
 
 #: builtins.c:85
 msgid "echo [-neE] [arg ...]"
-msgstr "echo [-neE] [인자 ...]"
+msgstr "echo [-neE] [<인자> ...]"
 
 #: builtins.c:89
 msgid "echo [-n] [arg ...]"
-msgstr "echo [-n] [인자 ...]"
+msgstr "echo [-n] [<인자> ...]"
 
 #: builtins.c:92
 msgid "enable [-a] [-dnps] [-f filename] [name ...]"
-msgstr "enable [-a] [-dnps] [-f 파일명] [이름 ...]"
+msgstr "enable [-a] [-dnps] [-f <파일이름>] [<이름> ...]"
 
 #: builtins.c:94
 msgid "eval [arg ...]"
 msgstr "eval [인자 ...]"
 
 #: builtins.c:96
-#, fuzzy
 msgid "getopts optstring name [arg ...]"
-msgstr "getopts optstring name [arg]"
+msgstr "getopts optstring name [<인자> ...]"
 
 #: builtins.c:98
-#, fuzzy
 msgid "exec [-cl] [-a name] [command [argument ...]] [redirection ...]"
-msgstr "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
+msgstr "exec [-cl] [-a <이름>] [<명령> [<인자> ...]] [<방향재지정> ...]"
 
 #: builtins.c:100
 msgid "exit [n]"
-msgstr "exit [n]"
+msgstr "exit [<번호>]"
 
 #: builtins.c:102
 msgid "logout [n]"
-msgstr "logout [n]"
+msgstr "logout [<번호>]"
 
 #: builtins.c:105
 msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr "fc [-e ename] [-lnr] [first] [last] 또는 fc -s [pat=rep] [command]"
+msgstr "fc [-e <편집기이름>] [-lnr] [<처음>] [<종결>] 또는 fc -s [<패턴>=<대체>] [<명령>]"
 
 #: builtins.c:109
 msgid "fg [job_spec]"
-msgstr "fg [job_spec]"
+msgstr "fg [<JOBSPEC>]"
 
 #: builtins.c:113
 msgid "bg [job_spec ...]"
-msgstr "bg [job_spec ...]"
+msgstr "bg [<JOBSPEC> ...]"
 
 #: builtins.c:116
 msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
-msgstr "hash [-lr] [-p pathname] [-dt] [name ...]"
+msgstr "hash [-lr] [-p <경로이름>] [-dt] [<이름> ...]"
 
 #: builtins.c:119
 msgid "help [-dms] [pattern ...]"
-msgstr "help [-dms] [패턴 ...]"
+msgstr "help [-dms] [<패턴> ...]"
 
 #: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d 오프셋] [n] 또는 history -anrw [파일명] 또는 history -ps "
-"arg [인자...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d <오프셋>] [n] 또는 history -anrw [<파일이름>] 또는 history -ps <인자> [<인자>...]"
 
 #: builtins.c:127
 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2351,47 +2333,39 @@ msgstr "jobs [-lnprs] [jobspec ...] 또는 jobs -x command [args]"
 
 #: builtins.c:131
 msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
-msgstr "disown [-h] [-ar] [jobspec ... | pid ...]"
+msgstr "disown [-h] [-ar] [<JOBSPEC> ... | <PID> ...]"
 
 #: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... 또는 kill -l "
-"[sigspec]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s <시그널명세> | -n <시그널번호> | -<시그널명세>] <PID> | <JOBSPEC> ... 또는 kill -l [<시그널명세>]"
 
 #: builtins.c:136
 msgid "let arg [arg ...]"
-msgstr "let arg [arg ...]"
+msgstr "let <인자> [<인자> ...]"
 
 #: builtins.c:138
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
-msgstr ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr "read [-ers] [-a <배열>] [-d <구분자>] [-i <텍스트>] [-n <문자수>] [-N <문자수>] [-p <프롬프트>] [-t <제한시간>] [-u <파일서술자>] [<이름> ...]"
 
 #: builtins.c:140
 msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o 옵션이름] [--] [arg ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCHP] [-o <옵션-이름>] [--] [<인자> ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
-msgstr "unset [-f] [-v] [-n] [name ...]"
+msgstr "unset [-f] [-v] [-n] [<이름> ...]"
 
 #: builtins.c:146
 msgid "export [-fn] [name[=value] ...] or export -p"
-msgstr "export [-fn] [name[=value] ...] 또는 export -p"
+msgstr "export [-fn] [<이름>[=<값>] ...] 또는 export -p"
 
 #: builtins.c:148
 msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
-msgstr "readonly [-aAf] [name[=value] ...] 또는 readonly -p"
+msgstr "readonly [-aAf] [<이름>[=<값>] ...] 또는 readonly -p"
 
 #: builtins.c:150
 msgid "shift [n]"
@@ -2399,11 +2373,11 @@ msgstr "shift [n]"
 
 #: builtins.c:152
 msgid "source filename [arguments]"
-msgstr "source 파일명 [인자들]"
+msgstr "source <파일이름> [<인자>]"
 
 #: builtins.c:154
 msgid ". filename [arguments]"
-msgstr ". 파일명 [인자들]"
+msgstr ". <파일이름> [<인자>]"
 
 #: builtins.c:157
 msgid "suspend [-f]"
@@ -2411,83 +2385,79 @@ msgstr "suspend [-f]"
 
 #: builtins.c:160
 msgid "test [expr]"
-msgstr "test [expr]"
+msgstr "test [<표현식>]"
 
 #: builtins.c:162
 msgid "[ arg... ]"
-msgstr "[ 인자... ]"
+msgstr "[ <인자>... ]"
 
 #: builtins.c:166
 msgid "trap [-lp] [[arg] signal_spec ...]"
-msgstr "trap [-lp] [[arg] signal_spec ...]"
+msgstr "trap [-lp] [[<인자>] <시그널_명세> ...]"
 
 #: builtins.c:168
 msgid "type [-afptP] name [name ...]"
-msgstr "type [-afptP] name [name ...]"
+msgstr "type [-afptP] <이름> [<이름> ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [<한계값>]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
-msgstr "umask [-p] [-S] [모드]"
+msgstr "umask [-p] [-S] [<모드>]"
 
 #: builtins.c:177
-#, fuzzy
 msgid "wait [-fn] [-p var] [id ...]"
-msgstr "wait [-fn] [id ...]"
+msgstr "wait [-fn] [<ID> ...]"
 
 #: builtins.c:181
 msgid "wait [pid ...]"
-msgstr "wait [pid ...]"
+msgstr "wait [<PID> ...]"
 
 #: builtins.c:184
 msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
-msgstr "for NAME [in WORDS ... ] ; do COMMANDS; done"
+msgstr "for <이름> [in <여러단어> ... ] ; do <명령>; done"
 
 #: builtins.c:186
 msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
-msgstr "for (( exp1; exp2; exp3 )); do COMMANDS; done"
+msgstr "for (( <조건식1>; <조건식2>; <조건식3> )); do <명령>; done"
 
 #: builtins.c:188
 msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
-msgstr "select NAME [in WORDS ... ;] do COMMANDS; done"
+msgstr "select <이름> [in <여러단어> ... ;] do <명령>; done"
 
 #: builtins.c:190
 msgid "time [-p] pipeline"
-msgstr "time [-p] pipeline"
+msgstr "time [-p] <파이프라인>"
 
 #: builtins.c:192
 msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
-msgstr "case 단어 in [패턴 [| 패턴]...) 명령어 ;;]... esac"
+msgstr "case <단어> in [<패턴> [| <패턴>]...) <명령> ;;]... esac"
 
 #: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if 명령어; then 명령어; [ elif 명령어; then 명령어; ]... [ else 명령어; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if <명령>; then <명령>; [ elif <명령>; then <명령>; ]... [ else <명령>; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while 명령어; do 명령어; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while <명령>; do <명령-2>; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until 명령어; do 명령어; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until <명령>; do <명령-2>; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
-msgstr "coproc [NAME] command [redirections]"
+msgstr "coproc [<이름>] <명령> [<방향재지정>]"
 
 #: builtins.c:202
 msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
-msgstr "function name { 명령어 ; } 또는 name () { 명령어 ; }"
+msgstr "function <이름> { <명령> ; } 또는 <이름> () { <명령> ; }"
 
 #: builtins.c:204
 msgid "{ COMMANDS ; }"
-msgstr "{ 명령어 ; }"
+msgstr "{ <명령> ; }"
 
 #: builtins.c:206
 msgid "job_spec [&]"
@@ -2495,75 +2465,55 @@ msgstr "job_spec [&]"
 
 #: builtins.c:208
 msgid "(( expression ))"
-msgstr "(( 표현식 ))"
+msgstr "(( <표현식> ))"
 
 #: builtins.c:210
 msgid "[[ expression ]]"
-msgstr "[[ 표현식 ]]"
+msgstr "[[ <표현식> ]]"
 
 #: builtins.c:212
 msgid "variables - Names and meanings of some shell variables"
-msgstr ""
+msgstr "variables - 이름이자 일부 셸 변수를 의미합니다"
 
 #: builtins.c:215
 msgid "pushd [-n] [+N | -N | dir]"
-msgstr "pushd [-n] [+N | -N | dir]"
+msgstr "pushd [-n] [+<갯수> | -<갯수> | <디렉터리>]"
 
 #: builtins.c:219
 msgid "popd [-n] [+N | -N]"
-msgstr "popd [-n] [+N | -N]"
+msgstr "popd [-n] [+<갯수> | -<갯수>]"
 
 #: builtins.c:223
 msgid "dirs [-clpv] [+N] [-N]"
-msgstr "dirs [-clpv] [+N] [-N]"
+msgstr "dirs [-clpv] [+<갯수>] [-<갯수>]"
 
 #: builtins.c:226
 msgid "shopt [-pqsu] [-o] [optname ...]"
-msgstr "shopt [-pqsu] [-o] [옵션이름...]"
+msgstr "shopt [-pqsu] [-o] [<옵션이름>...]"
 
 #: builtins.c:228
 msgid "printf [-v var] format [arguments]"
-msgstr "printf [-v 변수] format [인자]"
+msgstr "printf [-v <변수>] <출력형식> [<인자>]"
 
 #: builtins.c:231
-#, fuzzy
-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 option] [-A action] [-G globpat] [-"
-"W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
+msgid "complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
+msgstr "complete [-abcdefgjksuv] [-pr] [-DEI] [-o <옵션>] [-A <동작>] [-G <글롭패턴>] [-W <단어목록>]  [-F <함수>] [-C <명령>] [-X <필터패턴>] [-P <접두어>] [-S <접미어>] [<이름> ...]"
 
 #: builtins.c:235
-#, fuzzy
-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 option] [-A action] [-G globpat] [-W wordlist]  "
-"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgstr "compgen [-abcdefgjksuv] [-o <옵션>] [-A <동작>] [-G <글롭패턴>] [-W <단어목록>]  [-F <함수>] [-C <명령>] [-X <필터패턴>] [-P <접두어>] [-S <접미어>] [<단어>]"
 
 #: builtins.c:239
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
-msgstr "compopt [-o|+o option] [-DEI] [name ...]"
+msgstr "compopt [-o|+o <옵션>] [-DEI] [<이름> ...]"
 
 #: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d <구분자>] [-n <갯수>] [-O <시작>] [-s <갯수>] [-t] [-u <파일서술자>] [-C <콜백>] [-c <양자>] [<배열>]"
 
 #: builtins.c:244
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-d <구분자>] [-n <갯수>] [-O <시작>] [-s <갯수>] [-t] [-u <파일서술자>] [-C <콜백>] [-c <양자>] [<배열>]"
 
 #: builtins.c:256
 msgid ""
@@ -2580,10 +2530,23 @@ msgid ""
 "      -p\tprint all defined aliases in a reusable format\n"
 "    \n"
 "    Exit Status:\n"
-"    alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+"    alias returns true unless a NAME is supplied for which no alias has been\n"
 "    defined."
 msgstr ""
+"별칭을 지정하거나 표시합니다.\n"
+"    \n"
+"    인자가 없다면, `alias'는 `alias <이름>=<값>' 형식으로 표준 출력에\n"
+"    별칭 목록을 출력합니다.\n"
+"    \n"
+"    그렇지 않으면 <값>을 부여한 각 <이름>을 지정합니다.\n"
+"    <값>에 공백 문자를 덧붙이면 별칭을 확장할 때 별칭 대체 대상\n"
+"    문자열의 다음 단어를 확인합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -p\t재사용 형식으로 지정한 모든 별칭을 출력합니다\n"
+"    \n"
+"    종료 상태:\n"
+"    별칭으로 지정한 <이름>을 확인하면 참을 반환합니다."
 
 #: builtins.c:278
 msgid ""
@@ -2594,6 +2557,12 @@ msgid ""
 "    \n"
 "    Return success unless a NAME is not an existing alias."
 msgstr ""
+"지정 별칭의 목록에서 각 <이름>을 제거합니다\n"
+"    \n"
+"    옵션:\n"
+"      -a\t모든 별칭 지정 항목을 제거합니다.\n"
+"    \n"
+"    <이름>이 기존 별칭일 경우 성공을 반환합니다."
 
 #: builtins.c:291
 msgid ""
@@ -2607,35 +2576,61 @@ msgid ""
 "    Options:\n"
 "      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
 "                         command.  Acceptable keymap names are emacs,\n"
-"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
 "                         vi-command, and vi-insert.\n"
 "      -l                 List names of functions.\n"
 "      -P                 List function names and bindings.\n"
 "      -p                 List functions and bindings in a form that can be\n"
 "                         reused as input.\n"
-"      -S                 List key sequences that invoke macros and their "
-"values\n"
-"      -s                 List key sequences that invoke macros and their "
-"values\n"
+"      -S                 List key sequences that invoke macros and their values\n"
+"      -s                 List key sequences that invoke macros and their values\n"
 "                         in a form that can be reused as input.\n"
 "      -V                 List variable names and values\n"
 "      -v                 List variable names and values in a form that can\n"
 "                         be reused as input.\n"
 "      -q  function-name  Query about which keys invoke the named function.\n"
-"      -u  function-name  Unbind all keys which are bound to the named "
-"function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named function.\n"
 "      -r  keyseq         Remove the binding for KEYSEQ.\n"
 "      -f  filename       Read key bindings from FILENAME.\n"
 "      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
 "    \t\t\t\tKEYSEQ is entered.\n"
-"      -X                 List key sequences bound with -x and associated "
-"commands\n"
+"      -X                 List key sequences bound with -x and associated commands\n"
 "                         in a form that can be reused as input.\n"
 "    \n"
 "    Exit Status:\n"
 "    bind returns 0 unless an unrecognized option is given or an error occurs."
 msgstr ""
+"readline 키 바인딩과 값을 설정합니다.\n"
+"    \n"
+"    키 시퀀스를 readline 함수 또는 매크로에 바인딩하거나, readline\n"
+"    변수에 설정합니다.  옵션을 지정하지 않은 인자 문법은 ~/.inputrc\n"
+"    에서 찾을 수 있는 문법과 동일합니다만 단일 인자로 전달해야 합니다.\n"
+"    예: bind '\"\\C-x\\C-r\": re-read-init-file'\n"
+"    \n"
+"    옵션:\n"
+"    -m <키매핑>        <키매핑>을 이 명령 실행동안 사용하는 키매핑\n"
+"                         으로 활용합니다.  허용할 수 있는 키매핑 이름은 emacs,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
+"                         vi-command, vi-insert가 있습니다.\n"
+"      -l                 함수 이름 목록.\n"
+"      -P                 함수 이름 및 바인딩 목록.\n"
+"      -p                 입력에 다시 활용할 수 있는 형식의 함수 이름과 바인딩 목록.\n"
+"      -S                 매크로와 값을 실행하는 키 시퀀스 목록\n"
+"      -s                 입력으로 다시 활용할 수 있는 매크로와 값을 실행하는\n"
+"                         키 시퀀스 목록.\n"
+"      -V                 변수 이름과 값 목록\n"
+"      -v                 입력으로 다시 활용할 수 있는 변수 이름과 값 목록.\n"
+"      -q  <함수이름>     어떤 키가 명명 함수를 실행하는지 요청.\n"
+"      -u  <함수이름>     명명 함수에 바인딩한 모든 키의 바인딩 해제.\n"
+"      -r  <키시퀀스>     <키시퀀스>의 바인딩 제거.\n"
+"      -f  <파일이름>     <파일이름>의 키 바인딩 읽기.\n"
+"      -x  <키시퀀스>:<셸명령>\t<키시퀀스>를 입력하면 <셸명령>을\n"
+"    \t\t\t\t실행하게 합.\n"
+"      -X                 입력으로 다시 활용할 수 있는 -x로 지정한 키 시퀀스\n"
+"                         및 관련 명령 목록\n"
+"    \n"
+"    종료 상태:\n"
+"    알 수 없는 옵션을 지정하지 않았거나 오류가 없으면 0을 반환합니다."
 
 #: builtins.c:330
 msgid ""
@@ -2647,6 +2642,13 @@ msgid ""
 "    Exit Status:\n"
 "    The exit status is 0 unless N is not greater than or equal to 1."
 msgstr ""
+"for, while, until 반복문을 나갑니다.\n"
+"    \n"
+"    FOR, WHILE, UNTIL 반복문을 나갑니다. <횟수>를 지정하면,\n"
+"    반복 <횟수>에 도달했을 때 중단합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <횟수>가 1보다 크거나 같으면 0입니다."
 
 #: builtins.c:342
 msgid ""
@@ -2658,6 +2660,13 @@ msgid ""
 "    Exit Status:\n"
 "    The exit status is 0 unless N is not greater than or equal to 1."
 msgstr ""
+"for, while, until 반복문을 다시 실행합니다.\n"
+"    \n"
+"    FOR, WHILE, UNTIL 반복문의 다음 반복 실행을 진행합니다.\n"
+"    <횟수>를 지정하면 <횟수> 만큼 다시 실행합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <횟수>가 1보다 크거나 같으면 0입니다."
 
 #: builtins.c:354
 msgid ""
@@ -2665,13 +2674,21 @@ msgid ""
 "    \n"
 "    Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
 "    lookup.  This is useful when you wish to reimplement a shell builtin\n"
-"    as a shell function, but need to execute the builtin within the "
-"function.\n"
+"    as a shell function, but need to execute the builtin within the function.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
 "    not a shell builtin."
 msgstr ""
+"셸 내장 명령을 실행합니다.\n"
+"    \n"
+"    <셸내장명령>을 명령 검색 동작 없이 <인자>를 지정하여 실행합니다.\n"
+"    셸 내장 명령을 셸 함수로 재구현할 때 쓸만합니다만, 내장 명령은\n"
+"    함수 안에서 실행해야합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <셸내장명령>의 종료 상태를 반환하거나 <셸내장명령>이 내장\n"
+"    명령이 아닐 경우 거짓을 반환합니다."
 
 #: builtins.c:369
 msgid ""
@@ -2688,27 +2705,29 @@ msgid ""
 "    Returns 0 unless the shell is not executing a shell function or EXPR\n"
 "    is invalid."
 msgstr ""
+"현재 하위루틴 호출 컨텍스트를 반환합니다.\n"
+"    \n"
+"    <표현식>이 없다면 \"$line $filename\"을 반환하며, <표현식>을 지정했다면\n"
+"    \"$line $subroutine $filename\"을 반환합니다. 추가 정보는 스택 트레이스\n"
+"    에 활용할 수 있습니다.\n"
+"    \n"
+"    <표현식>의 값은 현재 호출 프레임으로부터 얼마나 되돌아가야 하는지를\n"
+"    나타냅니다. 최상단 프레임은 프레임 0번입니다."
 
 #: builtins.c:387
 msgid ""
 "Change the shell working directory.\n"
 "    \n"
-"    Change the current directory to DIR.  The default DIR is the value of "
-"the\n"
+"    Change the current directory to DIR.  The default DIR is the value of the\n"
 "    HOME shell variable.\n"
 "    \n"
-"    The variable CDPATH defines the search path for the directory "
-"containing\n"
-"    DIR.  Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-"    A null directory name is the same as the current directory.  If DIR "
-"begins\n"
+"    The variable CDPATH defines the search path for the directory containing\n"
+"    DIR.  Alternative directory names in CDPATH are separated by a colon (:).\n"
+"    A null directory name is the same as the current directory.  If DIR begins\n"
 "    with a slash (/), then CDPATH is not used.\n"
 "    \n"
-"    If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-"    the word is assumed to be  a variable name.  If that variable has a "
-"value,\n"
+"    If the directory is not found, and the shell option `cdable_vars' is set,\n"
+"    the word is assumed to be  a variable name.  If that variable has a value,\n"
 "    its value is used for DIR.\n"
 "    \n"
 "    Options:\n"
@@ -2724,15 +2743,45 @@ msgid ""
 "    \t\tattributes as a directory containing the file attributes\n"
 "    \n"
 "    The default is to follow symbolic links, as if `-L' were specified.\n"
-"    `..' is processed by removing the immediately previous pathname "
-"component\n"
+"    `..' is processed by removing the immediately previous pathname component\n"
 "    back to a slash or the beginning of DIR.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+"    Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
 "    -P is used; non-zero otherwise."
 msgstr ""
+"셸 작업 디렉터리를 바꿉니다.\n"
+"    \n"
+"    현재 디렉터리를 <디렉터리>로 바꿉니다. 기본 <디렉터리>는 HOME 셸 변수\n"
+"    값입니다.\n"
+"    \n"
+"    CDPATH 변수에는 <디렉터리> 값이 들어간 디렉터리 검색 경로를 지정합니다.\n"
+"    CDPATH의 대안 디렉터리 이름은 콜론으로 구분합니다. 널 디렉터리 이름은 \n"
+"    현재 디렉터리와 같습니다.  <디렉터리> 값이 슬래시 문자(/)로 시작하면, \n"
+"    CDPATH 변수를 사용하지 않습니다.\n"
+"    \n"
+"    디렉터리가 없고, `cdable_vars' 셸 옵션을 설정했다면, 단어를 변수 이름으로\n"
+"    가정합니다. 변수에 값이 들어가있다면, 해당 값을 <디렉터리> 값으로 활용\n"
+"    합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -L\t강제로 심볼릭 링크를 따라갑니다. <디렉터리>의 심볼릭 링크를\n"
+"    \t\t`..' 인스턴스를 처리한 다음에 해석합니다.\n"
+"      -P\t심볼릭 링크를 따르지 않고 실제 디렉터리 구조를 활용합니다.\n"
+"    \t\t`..' 인스턴스를 처리하기 전에 <디렉터리>의 심볼릭 링크를\n"
+"    \t\t해석합니다.\n"
+"      -e\t-P 옵션을 지정하고, 현재 디렉터리를 제대로 식별하지 못하면\n"
+"    \t\t0이 아닌 상태 값으로 나갑니다\n"
+"      -@\t이 옵션을 지원하는 시스템에서는 파일 속성이 들어간\n"
+"    \t\t디렉터리처럼 확장 속성을 가진 파일을 나타냅니다\n"
+"    \n"
+"    `-L' 옵션을 지정했을 때와 같이 심볼릭 링크를 따라가는게 기본 동작입니다.\n"
+"    `..'은 이전 경로 이름 요소를 즉시 제거하여 슬래시 경로로 돌아가거나\n"
+"    <디렉터리>의 시작점으로 돌아갑니댜.\n"
+"    \n"
+"    종료 상태:\n"
+"    디렉터리가 바뀌었고 -P 옵션을 사용했을 때 $PWD 값을 제대로 설정하면\n"
+"    0 값을 반환하며, 그렇지 않으면 0이 아닌 값을 반환합니다."
 
 #: builtins.c:425
 msgid ""
@@ -2749,6 +2798,16 @@ msgid ""
 "    Returns 0 unless an invalid option is given or the current directory\n"
 "    cannot be read."
 msgstr ""
+"현재 작업 디렉터리의 이름을 출력합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -L\t$PWD값의 이름이 현재 작업 디렉터리일 경우 값을 출력\n"
+"      -P\t심볼릭 링크가 아닌 물리 디렉터리를 출력\n"
+"    \n"
+"    기본적으로 `pwd'에는 `-L' 옵션이 붙어있습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션이 붙었거나 현재 디렉터리를 읽을 수 있다면 0을 반환합니다."
 
 #: builtins.c:442
 msgid ""
@@ -2761,7 +2820,7 @@ msgid ""
 msgstr ""
 "Null 명령.\n"
 "    \n"
-"    효과 없음; 아무것도 하지 않습니다.\n"
+"    효과 없음. 아무것도 하지 않습니다.\n"
 "    \n"
 "    종료 상태:\n"
 "    항상 성공합니다."
@@ -2773,7 +2832,7 @@ msgid ""
 "    Exit Status:\n"
 "    Always succeeds."
 msgstr ""
-"성공적인 결과를 반환합니다.\n"
+"성공 결과를 반환합니다.\n"
 "    \n"
 "    종료 상태:\n"
 "    항상 성공합니다."
@@ -2785,19 +2844,17 @@ msgid ""
 "    Exit Status:\n"
 "    Always fails."
 msgstr ""
-"실패 결과를 반환합니다.\n"
+"실패 결과를 반환합니다.\n"
 "    \n"
 "    종료 상태:\n"
 "    항상 실패합니다."
 
 #: builtins.c:471
-#, fuzzy
 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"
@@ -2809,21 +2866,20 @@ msgid ""
 "    Exit Status:\n"
 "    Returns exit status of COMMAND, or failure if COMMAND is not found."
 msgstr ""
-"간단한 명령을 실행하거나 명령에 관한 정보를 표시합니다..\n"
+"간단한 명령을 실행하거나 명령 정보를 표시합니다.\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"
-"    on disk when a function with the same name exists.\n"
+"    셸 함수 탐색을 억제하는 <인자>로 <명령>을 실행하거나, 지정 <명령>의 정보를\n"
+"    나타냅니다.  동일한 이름을 가진 함수가 있을 때 디스크의 명령을 실행할 경우\n"
+"    활용할 수 있습니다.\n"
 "    \n"
 "    옵션:\n"
-"      -p    표준 유틸리티를 전부 찾을 수 있다고 보장된 PATH의\n"
-"            기본 값을 사용합니다.\n"
-"      -v    `type' ë¹\8cí\8a¸ì\9d¸ê³¼ ì\9c ì\82¬í\95\9c ëª\85ë ¹의 설명을 보여줍니다\n"
-"      -V    각 명령에 관해 더 상세한 정보를 보여줍니다\n"
+"      -p    표준 유틸리티를 전부 찾을 수 있다고 보장하는\n"
+"            PATH 기본값을 사용합니다.\n"
+"      -v    `type' ë\82´ì\9e¥ ëª\85령과 ë¹\84ì\8a·í\95\98ê²\8c <ëª\85ë ¹>의 설명을 보여줍니다\n"
+"      -V    각 <명령>의 더 자세한 정보를 보여줍니다\n"
 "    \n"
 "    종료 상태:\n"
-"    명령의 실행 결과를 반환하거나 명령이 없을 경우 오류를 반환합니다."
+"    <명령>의 실행 결과를 반환하거나 <명령>이 없을 경우 오류를 반환합니다."
 
 #: builtins.c:490
 msgid ""
@@ -2858,14 +2914,50 @@ msgid ""
 "    Variables with the integer attribute have arithmetic evaluation (see\n"
 "    the `let' command) performed when the variable is assigned a value.\n"
 "    \n"
-"    When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+"    When used in a function, `declare' makes NAMEs local, as with the `local'\n"
 "    command.  The `-g' option suppresses this behavior.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or a variable\n"
 "    assignment error occurs."
 msgstr ""
+"변수 값과 속성을 설정합니다.\n"
+"    \n"
+"    변수를 선언하고 속성을 부여합니다. <이름>을 정하지 않으면,\n"
+"    속성과 모든 변수 값을 나타냅니다.\n"
+"    \n"
+"    옵션:\n"
+"      -f\t함수 이름과 정의로 동작과 표시를 제한합니다\n"
+"      -F\t함수 이름만 표시를 제한합니다 (디버깅할 때는 행 번호와\n"
+"    \t\t소스 파일 포함)\n"
+"      -g\t셸 함수에서 사용할 때 전역 변수를 만듭니다. 아니면 무시\n"
+"      -I\t지역 변수를 만들 때, 이전 범위의 같은 이름을 가진 속성과\n"
+"    \t\t변수값을 이어받습니다\n"
+"      -p\t속성과 각 <이름>의 값을 표시합니다\n"
+"    \n"
+"    속성을 설정하는 옵션:\n"
+"      -a\t<이름>을 색인 배열로 만듬 (지원할 경우)\n"
+"      -A\t<이름>을 연관 배열로 만듬 (지원할 경우)\n"
+"      -i\t<이름>을 `정수' 속성을 가지게 함\n"
+"      -l\t각 <이름>의 할당 값을 소문자로 변환\n"
+"      -n\t<이름> 값으로 지정한 이름을 참조하게 함\n"
+"      -r\t<이름>을 읽기 전용으로 설정\n"
+"      -t\t<이름>에 `trace' 속성을 가지게 함\n"
+"      -u\t각 <이름>의 할당 값을 대문자로 변환\n"
+"      -x\t<이름>을 내보냄\n"
+"    \n"
+"    주어진 속성을 사용하려면 `+'를 끄려면 `-'를 사용합니다.\n"
+"    \n"
+"    정수 속성 변수는 변수에 값을 할당하면 산술 연산을 수행\n"
+"    합니다 (`let' 명령 참고).\n"
+"    \n"
+"    함수에서 사용할 때, `declare' 명령은 `local' 명령처럼\n"
+"    <이름>을 로컬 변수로 만듭니다.  `-g' 옵션은 이 동작을\n"
+"    억제합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 설정했거나 변수 할당 오류가 없다면\n"
+"    성공을 반환합니다."
 
 #: builtins.c:532
 msgid ""
@@ -2891,13 +2983,23 @@ msgid ""
 "    Returns success unless an invalid option is supplied, a variable\n"
 "    assignment error occurs, or the shell is not executing a function."
 msgstr ""
+"지역 변수를 지정합니다.\n"
+"    \n"
+"    <이름> 지역 변수를 만들고 <값>을 부여합니다.  <옵션>은 `declare'\n"
+"    로 받아들일 수 있는 어떤 옵션도 가능합니다.\n"
+"    \n"
+"    지역 변수는 함수 내에서만 활용할 수 있습니다. 하위 요소에서 지정했다면,\n"
+"    역시 하위 함수에서만 볼 수 있습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 지정했거나, 변수 할당에 오류가 없거나,\n"
+"    셸에서 함수를 실행하면 성공을 반환합니다."
 
 #: 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"
@@ -2921,16 +3023,43 @@ 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"
 "    Returns success unless a write error occurs."
 msgstr ""
+"표준 출력에 인자를 기록합니다.\n"
+"    \n"
+"    단일 공백문자로 구분하며 개행 문자가 따라오는 <인자>를\n"
+"    표준 출력에 나타냅니다.\n"
+"    \n"
+"    옵션:\n"
+"      -n\t개행 문자 추가 안함\n"
+"      -e\t추가 백슬래시 탈출 문자 처리 활성\n"
+"      -E\t백슬래시 탈출 문자 처리를 명백하게 무시\n"
+"    \n"
+"    `echo' 명령은 다음 백슬래시 탈출 문자를 처리합니다:\n"
+"      \a\t경고 (알림음)\n"
+"      \\b\t백스페이스\n"
+"      \\c\t이후 출력 무시\n"
+"      \\e\t탈출 문자\n"
+"      \\E\t탈출 문자\n"
+"      \\f\t폼 피드\n"
+"      \\n\t개행 문자\n"
+"      \\r\t캐리지 리턴\n"
+"      \\t\t수평 탭\n"
+"      \\v\t수직탭\n"
+"      \\\\\t백슬래시\n"
+"      \\0nnn\t8진수 ASCII 코드 문자.  NNN은 최대 3자리 8진수\n"
+"      \\xHH\t16진수 8비트 문자.  HH는 2자리 16진수\n"
+"      \\uHHHH\t16진수 유니코드 문자. HHHH는 4자리 16진수\n"
+"      \\UHHHHHHHH 16진수 유니코드 문자. HHHHHHHH는 8자리 16진수\n"
+"    \n"
+"    종료 상태:\n"
+"    기록 오류가 없으면 성공을 반환합니다."
 
 #: builtins.c:597
 msgid ""
@@ -2944,6 +3073,15 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless a write error occurs."
 msgstr ""
+"표준 출력에 인자를 기록합니다.\n"
+"    \n"
+"    <인자> 값과 줄바꿈을 표준 출력에 나타냅니다.\n"
+"    \n"
+"    옵션:\n"
+"      -n\t개행 문자 추가 안함\n"
+"    \n"
+"    종료 상태:\n"
+"    기록 오류가 없다면 성공을 반환합니다."
 
 #: builtins.c:612
 msgid ""
@@ -2971,18 +3109,47 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless NAME is not a shell builtin or an error occurs."
 msgstr ""
+"셸 내장 명령을 사용 혹은 미사용처리 합니다.\n"
+"    \n"
+"    내장 셸 명령을 사용/미사용 처리합니다. 미사용 처리하면 전체 경로 이름을\n"
+"    지정하지 않고도 셸 내장명령처럼 동일한 이름을 가진 디스크 명령을 실행할\n"
+"    수 있습니다\n"
+"    \n"
+"    옵션:\n"
+"      -a\t내장 명령의 활성 여부를 나타내는 목록을 출력합니다\n"
+"      -n\t각 <이름>을 미사용 처리하거나 미사용 내장 명령 목록을 출력합니다\n"
+"      -p\t재활용 형식으로 내장 명령 목록을 출력합니다\n"
+"      -s\tPOSIX `특수' 내장 명령 이름만 출력합니다\n"
+"    \n"
+"    동적 불러오기를 제어하는 옵션은 다음과 같습니다:\n"
+"      -f\t<파일이름> 공유 객체의 내장 <이름>을 불러옵니다\n"
+"      -d\t-f로 불러온 내장 명령을 제거합니다\n"
+"    \n"
+"    옵션을 지정하지 않으면, 각 <이름>을 사용합니다.\n"
+"    \n"
+"    셸 내장 버전 대신 $PATH에서 찾은 `test'를 활용하려면,\n"
+"    `enable -n test'를 입력하십시오.\n"
+"    \n"
+"    종료 상태:\n"
+"    <이름>이 셸 내장 명령이고 오류가 없으면 성공을 반환합니다."
 
 #: 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"
 "    Returns exit status of command or success if command is null."
 msgstr ""
+"인자를 셸 명령으로 실행합니다.\n"
+"    \n"
+"    <인자>를 단일 문자열에 결합하여 셸 입력 결과로 할용한 다음,\n"
+"    결과를 내는 명령으로 실행합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    명령 값이 있다면 종료 상태를, null 이라면 성공을 반환합니다."
 
 #: builtins.c:652
 msgid ""
@@ -3024,14 +3191,48 @@ msgid ""
 "    Returns success if an option is found; fails if the end of options is\n"
 "    encountered or an error occurs."
 msgstr ""
+"옵션 인자를 해석합니다.\n"
+"   \n"
+"    getopts는 위치 매개변수를 옵션으로 해석하는 셸 프로시저에서\n"
+"    활용합니다.\n"
+"    \n"
+"    <옵션문자열>에는 식별할 옵션 문자가 들어갑니다. 문자에 콜론이\n"
+"    뒤따라 붙을 경우, 옵션에 공백 문자로 구분한 인자가 뒤따라오는\n"
+"    것으로 간주합니다.\n"
+"    \n"
+"    실행할 때마다, getopts에서 $name 셸 변수의 다음 옵션을 확인하여\n"
+"    해당 옵션이 없을 경우  이름을 초기화하고 OPTIND 셸 변수에 다음\n"
+"    인자의 색인을 처리합니다.  OPTIND는 셸 또는 셸 스크립트를 실행\n"
+"    할 때마다 1로 초기화합니다.  옵션에 인자가 필요하면, getopts에서\n"
+"    해당 인자를 OPTARG 셸 변수에 넣습니다.\n"
+"    \n"
+"    getopts는 두가지 방법으로 오류를 나타냅니다.  OPTSTRING의 첫번째\n"
+"    문자가 콜론이면, getopts에서는 오류 보고시 조용한 상태로 바뀝니다.\n"
+"    이 때, 어떤 오류 메시지도 나타나지 않습니다.  그런데 부적절한 옵션이\n"
+"    나타나면, getopts에서 OPTARG의 잘못된 옵션 문자를 찾아 가리킵니다.\n"
+"    필요한 인자가 없다면, getopts는 콜론을 <이름>에 대입하고, OPTARG \n"
+"    변수에는 찾은 옵션 문자를 할당합니다. getopts가 미출력 상태가 아니고,\n"
+"    부적절한 옵션을 확인했다면, getopts는 '?' 값을 <이름>에 대입하고, \n"
+"    OPTARG 설정을 해제합니다. 필요한 인자가 없다면 '?' 값이 <이름>에\n"
+"    들어가고, OPTARG 변수 설정을 해제하며, 진단 메시지를 출력합니다.\n"
+"    \n"
+"    OPTERR 셸 변수값이 0이면, getopts에서는 오류 메시지 출력을 하지\n"
+"    않습니다. OPTSTRING 첫번째 문자가 콜론이 아니더라도, 기본적으로\n"
+"    OPTERR 셸 변수값에는 1이 들어가 있습니다.\n"
+"    \n"
+"    getopts는 보통 위치 매개변수를 해석하지만, <인자> 값처럼 인자를\n"
+"    지정하면, 해당 값을 먼저 해석합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    옵션을 찾으면 성공을 반환합니다.옵션의 끝에 도달했거나, 오류가\n"
+"     나타나면 실패를 반환합니다."
 
 #: 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"
@@ -3039,14 +3240,28 @@ msgid ""
 "      -c\texecute COMMAND with an empty environment\n"
 "      -l\tplace a dash in the zeroth argument to COMMAND\n"
 "    \n"
-"    If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+"    If the command cannot be executed, a non-interactive shell exits, unless\n"
 "    the shell option `execfail' is set.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+"    Returns success unless COMMAND is not found or a redirection error occurs."
 msgstr ""
+"셸을 주어진 명령으로 대체합니다.\n"
+"    \n"
+"    이 셸을 지정 프로그램으로 대체하는 <명령>을 실행합니다.\n"
+"     <인자>는 <명령>을 따라갑니다. <명령>을 지정하지 않으면,\n"
+"    현재 셸의 어떤 방향재지정 명령이든 결과가 나타납니다.\n"
+"    \n"
+"    옵션:\n"
+"      -a <이름>\t<이름>을 <명령>의 0번째 인자로 전달합니다\n"
+"      -c\t빈 환경에서 <명령>을 실행합니다\n"
+"      -l\t<명령>의 0번째 인자로 대시 문자를 둡니다\n"
+"    \n"
+"    명령을 실행할 수 없다면, `execfail' 셸 옵션을 설정하지 않았을 경우,\n"
+"    비대화식 셸을 나갑니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <명령>이 있거나 방향재지정 실행시 오류가 없다면 성공을 반환합니다."
 
 #: builtins.c:715
 msgid ""
@@ -3055,33 +3270,34 @@ msgid ""
 "    Exits the shell with a status of N.  If N is omitted, the exit status\n"
 "    is that of the last command executed."
 msgstr ""
+"셸을 나갑니다.\n"
+"    \n"
+"    <번호> 값 상태로 셸을 나갑니다.  <번호>를 지정하지 않으면,\n"
+"    종료 상태는 최종 명령 실행 상태와 동일합니다."
 
 #: 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 ""
-"ë¡\9cê·¸ì\9d¸ ì\89\98을 나갑니다.\n"
+"ë¡\9cê·¸ì\9d¸ ì\85¸을 나갑니다.\n"
 "    \n"
-"    ì¢\85ë£\8c ì\83\81í\83\9c Nì\9c¼ë¡\9c ë¡\9cê·¸ì\9d¸ ì\89\98ì\9d\84 ë\82\98ê°\91ë\8b\88ë\8b¤.  ë¡\9cê·¸ì\9d¸ ì\89\98에서 실행되지 않는 경우\n"
+"    ì¢\85ë£\8c ì\83\81í\83\9c Nì\9c¼ë¡\9c ë¡\9cê·¸ì\9d¸ ì\85¸ì\9d\84 ë\82\98ê°\91ë\8b\88ë\8b¤.  ë¡\9cê·¸ì\9d¸ ì\85¸에서 실행되지 않는 경우\n"
 "    에러가 발생합니다."
 
 #: 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"
@@ -3095,9 +3311,30 @@ msgid ""
 "    the last command.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success or status of executed command; non-zero if an error "
-"occurs."
+"    Returns success or status of executed command; non-zero if an error occurs."
 msgstr ""
+"기록 목록의 명령을 표시하거나 실행합니다.\n"
+"    \n"
+"    fc는 기록 목록의 명령을 보여주거나 편집하고 다시 실행할 때 사용합니다.\n"
+"    <처음>과 <종결>은 범위 지정 숫자이며, <처음>은 문자열일 수도 있습니다.\n"
+"    이는, 최근 명령이 <처음>에 지정한 문자열로 시작함을 의미합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -e <편집기이름>\t사용할 편집기를 선택합니다.  기본은 FCEDIT, EDITOR, \n"
+"    \t\t그 다음은 vi입니다\n"
+"      -l \t편집하지 않고 목록 행을 보여줍니다\n"
+"      -n\t목록을 나타낼 때 번호를 생략합니다\n"
+"      -r\t행 순서를 뒤집습니다 (최신 항목을 먼저)\n"
+"    \n"
+"    `fc -s [<패턴>=<대체> ...] [<명령>]' 형식에서, <명령> 은\n"
+"    <이전>=<최신> 대체 동작을 수행한 다음 다시 실행합니다.\n"
+"    \n"
+"    r='fc -s'(으)로 쓸만한 별칭을 만들어 쓸 수 있는데, `r cc'를 입력하면\n"
+"    `cc'로 시작하는 최근 명령을 실행하고 `r'을 입력하면 직전에 입력한\n"
+"    최근 명령을 다시 실행할 수 있습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    성공 또는 실행 명령 상태를 반환합니다. 오류가 있다면 0이 아닌 값을 반환합니다."
 
 #: builtins.c:764
 msgid ""
@@ -3110,28 +3347,41 @@ msgid ""
 "    Exit Status:\n"
 "    Status of command placed in foreground, or failure if an error occurs."
 msgstr ""
+"작업을 포그라운드로 이동합니다.\n"
+"    \n"
+"    JOB_SPEC으로 식별하는 작업을 포그라운드에 두어, 현재 작업으로\n"
+"    전환합니다. JOB_SPEC이 현재 작업이 아니면, 셸의 개념상 현재 작업을\n"
+"    활용합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    포그라운드에 있는 명령의 상태를 반환합니다. 오류가 있다면 실패를 반환합니다."
 
 #: 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"
 "    Returns success unless job control is not enabled or an error occurs."
 msgstr ""
+"작업을 백그라운드로 이동합니다.\n"
+"    \n"
+"    `&'로 시작했을 때와 마찬가지로, 각 JOB_SPEC으로 식별하는 작업을\n"
+"    백그라운드에 둡니다. JOB_SPEC이 없다면, 셸의 개념상 현재 작업을\n"
+"    활용합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    작업 컨트롤이 있고 오류가 없다면 성공을 반환합니다."
 
 #: 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"
@@ -3148,6 +3398,24 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless NAME is not found or an invalid option is given."
 msgstr ""
+"프로그램 위치를 기억하거나 표시합니다.\n"
+"    \n"
+"    명령 <이름>의 전체 경로 이름을 판단하거나 기억합니다.  어떤 인자도\n"
+"    설정하지 않으면, 기억한 명령의 정보를 표시합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -d\t각 <이름>의 기억 위치를 소거합니다\n"
+"      -l\t입력으로 재활용할 형식을 표시합니다\n"
+"      -p <경로이름>\t<이름> 의 전체 경로 이름으로 <경로이름>을 활용합니다\n"
+"      -r\t기억한 모든 위치를 소거합니다\n"
+"      -t\t각 <이름>의 기억 위치를 출력하며 여러 <이름>을 지정했을 경우,\n"
+"    \t\t<이름>에 해당하는 각 위치를 우선 나타냅니다\n"
+"    인자:\n"
+"      <이름>\t각 <이름>은 $PATH에서 검색하며 기억 명령에 대해 목록에\n"
+"    \t\t추가합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <이름>을 찾았거나 적절한 옵션을 지정했다면 성공을 반환합니다."
 
 #: builtins.c:818
 msgid ""
@@ -3167,9 +3435,24 @@ 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 ""
+"내장 명령 정보를 표시합니다.\n"
+"    \n"
+"    내장 명령 요약 정보를 표시합니다.  <패턴>을 지정하면 <패턴>에 일치\n"
+"    하는 모든 명령의 자세한 내용을 나타내며, 그렇지 않으면 도움말 주제 \n"
+"    목록을 나타냅니다.\n"
+"    \n"
+"    옵션:\n"
+"      -d\t각 주제의 간단한 설명을 출력합니다\n"
+"      -m\t유사 맨 페이지 형식으로 사용법을 출력합니다.\n"
+"      -s\t<패턴>에 일치하는 주제의 간단한 개요만 출력합니다\n"
+"    \n"
+"    인자:\n"
+"      <패턴>\t도움말 주제를 지정합니다\n"
+"    \n"
+"    종료 상태:\n"
+"    <패턴>에 일치하는 주제를 찾았거나 적절한 옵션을 지정하면 성공을 반환합니다."
 
 #: builtins.c:842
 msgid ""
@@ -3199,12 +3482,41 @@ msgid ""
 "    \n"
 "    If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
 "    as a format string for strftime(3) to print the time stamp associated\n"
-"    with each displayed history entry.  No time stamps are printed "
-"otherwise.\n"
+"    with each displayed history entry.  No time stamps are printed otherwise.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or an error occurs."
 msgstr ""
+"기록 목록을 표시하거나 편집합니다.\n"
+"    \n"
+"    기록 목록에 행번호를 붙여 나타내며, 수정한 항목은 `*' 표시가\n"
+"    앞에 붙습니다.  인자 N은 최근 항목 N개만 나타냄을 의미합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -c\t모든 항목을 삭제하여 기록 목록을 지웁니다\n"
+"      -d <오프셋>\t<오프셋> 포지션에 있는 항목을 삭제합니다. 음수\n"
+"    \t\t오프셋은 기록 목록 끝부터 거꾸로 셉니다\n"
+"    \n"
+"      -a\t이 세선의 기록 파일에 기록 행을 추가합니다\n"
+"      -n\t기록 파일에서 이미 읽은 부분은 읽지 않고 모든 기록 항목을\n"
+"    \t\t읽어 기록 목록에 추가합니다\n"
+"      -r\t기록 파일을 읽고 기록 목록에 내용을 추가합니다\n"
+"      -w\t현재 기록을 기록 파일에 기록합니다\n"
+"    \n"
+"      -p\t각 <인자>의 기록 확장을 수행한 후 기록 목록에 저장하지\n"
+"    \t\t않고 결과를 표시합니다\n"
+"      -s\t<인자>를 기록 목록에 단일 항목으로 추가합니다\n"
+"    \n"
+"    <파일이름>을 지정하면 기록 파일로 사용합니다.  아니면,\n"
+"    HISTFILE 변수에 값을 지정했다면 해당 값을 사용하고, \n"
+"    아니면 ~/.bash_history를 활용합니다.\n"
+"    \n"
+"    HISTTIMEFORMAT 변수에 값을 설정하여 널 상태가 아니라면 해당 값을\n"
+"    앞으로 표시할 각 기록 항목에 대한 타임스탬프를 출력할 때 strftime(3)의\n"
+"    형식 문자열로 활용합니다.  그렇지 않으면 타임스탬프를 출력하지 않습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 설정했거나 오류가 없다면 성공을 반환합니다."
 
 #: builtins.c:879
 msgid ""
@@ -3229,6 +3541,25 @@ msgid ""
 "    Returns success unless an invalid option is given or an error occurs.\n"
 "    If -x is used, returns the exit status of COMMAND."
 msgstr ""
+"작업 상태를 표시합니다.\n"
+"    \n"
+"    활성 작업을 나타냅니다.  JOBSPEC에는 해당 작업의 출력을\n"
+"    제한합니다. 옵션을 지정하지 않으면 모든 활성 작업 상태를\n"
+"    나타냅니다.\n"
+"    \n"
+"    옵션:\n"
+"      -l\t일반 정보 및 프로세스 ID를 보여줍니다.\n"
+"      -n\t최근 알림 이후 상태가 바뀐 프로세스만 보여줍니다.\n"
+"      -p\t프로세스 ID만 보여줍니다\n"
+"      -r\t출력 대상을 실행 작업으로 제한합니다\n"
+"      -s\t출력 대상을 멈춘 작업으로 제한합니다\n"
+"    \n"
+"    -x 옵션을 지정하면 <인자>에 나타난 모든 작업 명세가 프로세스 그룹의\n"
+"    리더 프로세스 ID로 바뀐 후 <명령> 을 실행합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 설정했거나 오류가 없다면 성공을 반환합니다.\n"
+"    -x 옵션을 사용했다면 <명령>의 종료 상태를 반환합니다."
 
 #: builtins.c:906
 msgid ""
@@ -3246,6 +3577,19 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option or JOBSPEC is given."
 msgstr ""
+"현재 셸에서 작업을 제거합니다.\n"
+"    \n"
+"    각 <JOBSPEC> 인자를 활성 작업 테이블에서 제거합니다.  어떤 <JOBSPEC>도\n"
+"    지정하지 않으면, 현재 작업을 지정한 것으로 간주합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -a\t<JOBSPEC>를 지정하지 않으면 모든 작업을 제거합니다\n"
+"      -h\t각 <JOBSPEC>을 마킹해서 셸에서 SIGHUP 시그널을 받았다면\n"
+"    \t\t작업에 해당 시그널을 보내지 않게 합니다.\n"
+"      -r\t실행 작업만 제거합니다\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 지정하고 주어진 <JOBSPEC> 값이 올바를 경우 성공을 반환합니다."
 
 #: builtins.c:925
 msgid ""
@@ -3269,6 +3613,25 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or an error occurs."
 msgstr ""
+"작업에 시그널을 보냅니다..\n"
+"    \n"
+"    <PID> 또는 <JOBSPEC>으로 식별하는 프로세스에 SIGSPEC 또는\n"
+"    SIGNUM으로 이름이 붙은 시그널을 보냅니다. SIGSPEC, SIGNUM \n"
+"    돌 다 없을 경우, SIGTERM을 고려합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -s <시그널>\t<시그널>은 시그널 이름입니다\n"
+"      -n <시그널>\t<시그널>은 시그널 번호입니다\n"
+"      -l\t시그널 이름 목록을 나타냅니다. 인자에 `-l'을 붙이면 나타낼 이름에\n"
+"    \t\t대한 시그널 번호를 나타내라는 의미입니다\n"
+"      -L\t-l과 동일한 의미\n"
+"    \n"
+"    두가지 이유로 kill은 셸 내장 명령입니다: 프로세스 ID  대신 작업 ID를\n"
+"    허용하며, 만들 수 있는 프로세스 수의 한계에 도달했을 때 강제로 끝내야\n"
+"    할 프로세스를 강제로 끝낼 수 있습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 설정했거나 오류가 없다면 성공을 반환합니다."
 
 #: builtins.c:949
 msgid ""
@@ -3277,8 +3640,7 @@ msgid ""
 "    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
 "    fixed-width integers with no check for overflow, though division by 0\n"
 "    is trapped and flagged as an error.  The following list of operators is\n"
-"    grouped into levels of equal-precedence operators.  The levels are "
-"listed\n"
+"    grouped into levels of equal-precedence operators.  The levels are listed\n"
 "    in order of decreasing precedence.\n"
 "    \n"
 "    \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3314,22 +3676,57 @@ msgid ""
 "    Exit Status:\n"
 "    If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
 msgstr ""
+"산술 연산을 처리합니다.\n"
+"    \n"
+"    각 <인자>의 산술 연산을 처리합니다. 오버플로우를 검사하지 않고\n"
+"    고정 길이 정수로 처리하며, 0나누기 동작은 잡혀서 오류로 표시합니다.\n"
+"    다음 연산자 목록은 동일한 우선순위별로 묶었습니다. 우선순위 수준은\n"
+"    우선순위가 감소하는 순서대로 나열했습니다.\n"
+"    \n"
+"    \tid++, id--\t변수의 후위 증가, 후위 감소\n"
+"    \t++id, --id\t변수의 전위 증가, 전위 감소\n"
+"    \t-, +\t\t음, 양 부호\n"
+"    \t!, ~\t\t논리, 비트 반전\n"
+"    \t**\t\t지수 연산\n"
+"    \t*, /, %\t\t곱하기, 나누기, 나머지\n"
+"    \t+, -\t\t더하기, 빼기\n"
+"    \t<<, >>\t\t좌측, 우측 비트 이동\n"
+"    \t<=, >=, <, >\t비교\n"
+"    \t==, !=\t\t동등, 상이\n"
+"    \t&\t\t비트 논리곱\n"
+"    \t^\t\t비트 배타합\n"
+"    \t|\t\t비트 논리합\n"
+"    \t&&\t\t논리 논리곱\n"
+"    \t||\t\t논리 논리합\n"
+"    \t<수식> ? <수식> : <수식>\n"
+"    \t\t\t3항 조건 연산자\n"
+"    \t=, *=, /=, %=,\n"
+"    \t+=, -=, <<=, >>=,\n"
+"    \t&=, ^=, |=\t할당\n"
+"    \n"
+"    셸 변수를 피연산자로 활용할 수 있습니다. 수식 내 변수 이름은 값으로 \n"
+"    바뀝니다(고정 길이 정수로 강제 변환)  변수는 수식에서 활용할 정수 \n"
+"    속성을 가질 필요는 없습니다.\n"
+"    \n"
+"    연산자는 우선순위 순서대로 처리합니다.  괄호 내 하위 연산을 우선\n"
+"    처리하며, 이 또한 위의 우선순위 규칙을 따릅니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <인자>가 0을 계산하면 1을 반환하고 그렇지 않으면 0을 반환합니다."
 
 #: 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.\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"
@@ -3341,8 +3738,7 @@ msgid ""
 "      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
 "    \t\tfor a newline, but honor a delimiter if fewer than\n"
 "    \t\tNCHARS characters are read before the delimiter\n"
-"      -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+"      -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
 "    \t\tEOF is encountered or read times out, ignoring any\n"
 "    \t\tdelimiter\n"
 "      -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3360,14 +3756,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 ""
+"표준 입력에서 행을 읽고 필드 단위로 분리합니다.\n"
+"    \n"
+"    표준 입력 또는 -u 옵션을 지정했을 경우 파일 서술자에서 단일 행을\n"
+"    읽습니다.  행은 단어를 분리할 때처럼 필드로 분리하며, 첫번째 단어는\n"
+"    처음 <이름>으로, 두번째 단어는 두번째 <이름>으로 이런 식으로 할당\n"
+"    하여 나머지 단어에서도 역시 그 다음 <이름>으로 할당합니다. 오직 $IFS\n"
+"    의 문자만 단어 구분자로 인식합니다. 기본적으로 백슬래시 문자는 구분\n"
+"    문자와 개행 문자를 이스케이핑합니다.\n"
+"    \n"
+"    <이름>을 지정하지 않으면, 해당 행을 REPLY 변수에 저장합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -a <배열>\t0부터 시작하는 ARRAY 배열 변수의 순차 색인을 읽을\n"
+"    \t\t단어를 할당합니다\n"
+"      -d <구분>\t개행 문자가 아닌 DELIM의 첫 글자를 읽을 때까지 계속합니다\n"
+"      -e\t행 읽기에 readline을 활용합니다\n"
+"      -i <텍스트>\treadline 초기 텍스트 값으로 TEXT를 활용합니다.\n"
+"      -n <문자수>\t개행 문자를 기다리기 보다는 <문자수> 만큼의 문자를 읽은 다음\n"
+"    \t\t반환합니다만, 구분 문자가 나타나기 전에 <문자수> 만큼 읽었을 때 개행 문자가\n"
+"    \t\t먼저 오면 구분 문자보다 개행 문자를 우선 처리합니다.\n"
+"      -N <문자수>\tEOF가 나타났거나, 읽기 시간 초과가 있지 않은 한,\n"
+"    \t\t<문자수> 만큼 문자를 읽은 다음 구분자를 무시하고 값을 반환합니다.\n"
+"      -p <프롬프트>\t읽기 전, 개행 문자를 제외하고 PROMPT 문자열을 출력합니다\n"
+"      -r\t문자를 이스케이핑하는 백슬래시 문자를 허용하지 않습니다\n"
+"      -s\t터미널의 입력에 대해 반향 출력 처리하지 않습니다\n"
+"      -t <제한시간>\tTIIMEOUT 초 이내에 입력 행을 완전히 읽지 않으면 실패를\n"
+"    \t\t반환합니다.  TMOUT 변수 기본 값은 기본 제한시간입니다. TIMEOUT은\n"
+"    \t\t분수 값입니다. 이 값을 0으로 지정하면, 어떤 결과를 읽으려 시도하지 않고\n"
+"    \t\t읽은 결과를 바로 반환하며, 지정 파일 서술자에 입력이 있을 경우에만\n"
+"    \t\t성공을 반환합니다. 시간을 초과하면 종료 상태값은 128보다 큽니다.\n"
+"      -u <파일서술자>\t표준 입력 대신 파일 서술자에서 읽습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    EOF가 나타나지 않았다거나, 읽기 시간을 초과하지 않았다거나(초과하면 \n"
+"    128보다 큰 수 반환), 변수 할당 오류가 없었다거나, -u 옵션에 잘못된 파일\n"
+"     서술자를 지정하지 않았다면 0 값을 반환합니다."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3378,8 +3808,17 @@ msgid ""
 "    Exit Status:\n"
 "    Returns N, or failure if the shell is not executing a function or script."
 msgstr ""
+"셸 함수로부터 값을 반환합니다.\n"
+"    \n"
+"    함수 또는 소싱 스크립트로 하여금 반환 값을 내놓도록 합니다.\n"
+"    <횟수>로 지정합니다. <횟수> 값을 생략하면, 반환 상태는\n"
+"    스크립트 함수 내 최종 명령 실행 결과에 따릅니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <횟수>를 반환하거나, 셸에서 함수 또는 스크립트를\n"
+"    실행하지 않으면 실패를 반환합니다."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -3422,8 +3861,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"
@@ -3447,8 +3885,7 @@ msgid ""
 "          by default when the shell is interactive.\n"
 "      -P  If set, do not resolve symbolic links when executing commands\n"
 "          such as cd which change the current directory.\n"
-"      -T  If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+"      -T  If set, the DEBUG and RETURN traps are inherited by shell functions.\n"
 "      --  Assign any remaining arguments to the positional parameters.\n"
 "          If there are no remaining arguments, the positional parameters\n"
 "          are unset.\n"
@@ -3464,8 +3901,84 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given."
 msgstr ""
+"셸 옵션과 위치 매개변수를 설정 또는 설정 해제합니다.\n"
+"    \n"
+"    셸 속성 값 및 위치 매개변수를 바꾸거나, 셸 변수의 이름과 값을\n"
+"    표시합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -a  환경으로 내보내려 수정하거나 만든 변수를 표시합니다.\n"
+"      -b  작업 중단 알림을 즉시 수행.\n"
+"      -e  명령이 0 값이 아닌 상태를 내보냈다면 즉시 나감.\n"
+"      -f  파일 이름 생성 사용 안힘(글로빙).\n"
+"      -h  찾은 명령 위치 기억.\n"
+"      -k  명령 이름에 앞선 요소 뿐만 아니라 명령 실행에 필요한 모든\n"
+"          할당 인자를 환경에 설정합니다.\n"
+"      -m  작업 컨트롤을 활성합니다..\n"
+"      -n  명령은 읽되 실행하지는 않습니다.\n"
+"      -o <명령-이름>\n"
+"          <옵션-이름>과 관련한 변수를 설정합니다:\n"
+"              allexport    -a와 동일\n"
+"              braceexpand  -B와 동일\n"
+"              emacs        이맥스 방식 행 편집 인터페이스 활용\n"
+"              errexit      -e와 동일\n"
+"              errtrace     -E와 동일\n"
+"              functrace    -T와 동일\n"
+"              hashall      -h와 동일\n"
+"              histexpand   -H와 동일\n"
+"              history      명령 기록 사용\n"
+"              ignoreeof    EOF를 읽고 나서 셸을 나가지 않음\n"
+"              interactive-comments\n"
+"                           interactive commands에 나타난 주석 허용\n"
+"              keyword      -k와 동일\n"
+"              monitor      -m과 동일\n"
+"              noclobber    -C와 동일\n"
+"              noexec       -n과 동일\n"
+"              noglob       -f와 동일\n"
+"              nolog        현재 허용하나 무시함\n"
+"              notify       -b와 동일\n"
+"              nounset      -u와 동일\n"
+"              onecmd       -t와 동일\n"
+"              physical     -P와 동일\n"
+"              pipefail     파이프라인 반환 값은 최종 명령의 0이 아닌\n"
+"                           종료 상태이거나, 0이 아닌 종료 상태를 반환한 명령이\n"
+"                           없다면 0 값을 반환함\n"
+"              posix        배시 동작을 바꾸어 POSIX 표준과 다른 기본 동작\n"
+"                           부분을 표준에 맞춤\n"
+"              privileged   -p와 동일\n"
+"              verbose      -v와 동일\n"
+"              vi           vi 방식 행 종결 인터페이스\n"
+"              xtrace       -x와 동일\n"
+"      -p  실제 ID와 효력상 ID가 일치하지 않을 때라도 켭니다.\n"
+"          $ENV 파일의 처리와 셸 함수 가져오기 동작을 끕니다.\n"
+"          이 옵션을 끄면 효력상 사용자 ID와 그룹 ID를 실제\n"
+"          사용자 ID와 그룹 ID로 설정합니다.\n"
+"      -t  명령하나를 읽고 실행한 후 나갑니다.\n"
+"      -u  설정 해제한 변수를 대체할 때 오류로 간주.\n"
+"      -v  셸 입력 행을 읽는대로 출력합니다.\n"
+"      -x  명령과 인자를 실행하는 대로 출력합니다.\n"
+"      -B  셸에 중괄호 확장을 수행하게 합니다\n"
+"      -C  이 옵션을 설정하면, 기존 일반 파일에 출력 방향 재지정을 통한\n"
+"          내용 덮어쓰기를 허용하지 않습니다.\n"
+"      -E  이 옵션을 설정하면, ERR 트랩을 셸 함수에서 승계합니다.\n"
+"      -H  ! 방식 기록 대체를 활성화합니다.  이 플래그는 셸이 대화모드일 떄\n"
+"          기본적으로 사용 상태입니다..\n"
+"      -P  이 옵션을 설정하면, 현재 디렉터리를 바꾸는 cd 명령과 같은 그련\n"
+"          명령을 실행할 때 심볼릭 링크를 해석하지 않습니다.\n"
+"      -T  이 옵션을 설정하면, DEBUG와 RETURN을 셸 함수에서 계승합니다..\n"
+"      --  남은 인자를 위치 매개변수로 할당합니다. 남은 인자가 없으면\n"
+"          위치 매개변수를 삭제합니다.\n"
+"      -   남은 인자를 위치 매개변수로 할당합니다. -x 옵션과 -v 옵션을 끕니다.\n"
+"    \n"
+"    플래그를 사용하려면 + 를, 아니면 - 기호를 씁니다.  플래그는 셸 실행애\n"
+"    활용할 수도 있습니다. 현재 플래그 셋은 $-에 있습니다. 남은 <인자>는\n"
+"    $1, $2, ... $n 순으로 할당한 위치 매개변수입니다. 지정 <인자>가 없으면\n"
+"    모든 셸 변수를 출력합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 지정하면 성공을 반환합니다."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -3477,8 +3990,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"
@@ -3486,14 +3998,30 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or a NAME is read-only."
 msgstr ""
+"셸 변수와 함수의 값과 속성 설정을 해제합니다.\n"
+"    \n"
+"    각 <이름>에 대해 관련 변수 또는 함수를 제거합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -f\t각 <이름>을 셸 함수로 취급합니다.\n"
+"      -v\t각 <이름>을 셸 변수로 취급합니다.\n"
+"      -n\t각 <이름>을 이름 참조자로 활용하며, 이름을 참조하는 변수가 아닌\n"
+"    \t\t변수 자체를 참조하는 이름 설정을 해제합니다\n"
+"    \n"
+"    옵션을 지정하지 않으면, 변수를 우선 설정 해제하려고 하며, 실패했다면,\n"
+"    함수 설정 해제를 시도합니다.\n"
+"    \n"
+"    일부 변수는 설정을 해제할 수 없습니다. `readonly' 참조.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 지정했거나 <이름>이 읽기 전용이 아니면 성공을 반환합니다."
 
-#: builtins.c:1161
+#: 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"
@@ -3505,8 +4033,22 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or NAME is invalid."
 msgstr ""
+"셸 변수 속성을 내보내기 설정합니다.\n"
+"    \n"
+"    각 <이름>은 명령을 계속 실행해나가면서 환경에 내보내기(export)처리 합니다.\n"
+"    <값>을 지정했다면 내보내기(export) 전, <값>을 할당합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -f\t셸 함수를 참조합니다\n"
+"      -n\t각 <이름>의 내보내기 속성을 제거합니다\n"
+"      -p\t환경에 내보낸 변수와 함수 목록을 나타냅니다\n"
+"    \n"
+"    `--' 인자는 이후 옵션 처리를 막습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 설정했거나 <이름>이 올바르면 성공을 반환합니다."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -3526,8 +4068,25 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or NAME is invalid."
 msgstr ""
+"셸 변수를 바꾸지 못하게 합니다.\n"
+"    \n"
+"    각 <이름>을 읽기 전용으로 만듭니다. 이 <이름>의 값은 앞으로의 할당\n"
+"    동작에서 바뀌지 않습니다. <값>을 지정했다면 읽기 전용으로 지정하기 전\n"
+"    <값>부터 할당합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -a\t색인 배열 변수를 참조합니다\n"
+"      -A\t연관 배열 변수를 참조합니다\n"
+"      -f\t셸 함수를 참조합니다\n"
+"      -p\t-f 옵션의 지정 여부에 따라 모든 읽기 전용 변수\n"
+"    \t\t또는 함수를 표시합니다\n"
+"    \n"
+"    `--' 인자는 이후 옵션 처리를 중단합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 지정했거나 <이름>이 올바르면 성공을 반환합니다."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -3537,8 +4096,15 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless N is negative or greater than $#."
 msgstr ""
+"위치 매개변수를 이동합니다.\n"
+"    \n"
+"    <초기횟수> 값을 지정하지 않으면 , $<초기횟수>+1, $<초기횟수>+2,\n"
+"     ... $1, $2 ... 로 위치 매개변수 이름을 바꾸며, <초기횟수> 값은 1로 가정합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <횟수>가 양수거나 $# 보다 작거나 같으면 성공을 반환합니다."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -3551,8 +4117,17 @@ msgid ""
 "    Returns the status of the last command executed in FILENAME; fails if\n"
 "    FILENAME cannot be read."
 msgstr ""
+"현재 셸의 파일에서 명령을 실행합니다.\n"
+"    \n"
+"    현제 셸의 <파일이름>에서 명령을 읽고 실행합니다. $PATH 항목은 <파일\n"
+"    이름>에 있는 디렉터리를 찾을 때 활용합니다. <인자>를 지정했다면, \n"
+"    <파일이름>을 실행할 때 위치 매개 변수가 따라옵니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <파일이름>의 마지막 명령 실행 상태를 반환합니다. <파일이름>을\n"
+"    읽지 못하면, 실패를 반환합니다."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -3565,19 +4140,18 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless job control is not enabled or an error occurs."
 msgstr ""
-"ì\89\98 ì\8b¤í\96\89ì\9d\84 ì\9d¼ì\8b\9cì \95ì§\80í\95©니다.\n"
+"ì\85¸ ì\8b¤í\96\89ì\9d\84 ì\9e ì\8b\9c ë©\88ì¶¥니다.\n"
 "    \n"
-"    SIGCONT ì\8b í\98¸ë¥¼ ë°\9bì\9d\84 ë\95\8c ê¹\8cì§\80 ì\89\98의 실행을 일시 정지합니다.\n"
-"    ê°\95ì \9c ì\98µì\85\98ì\9d´ ì\97\86ë\8a\94 ê²½ì\9a° ë¡\9cê·¸ì\9d¸ ì\89\98은 일시 정지될 수 없습니다.\n"
+"    SIGCONT ì\8b\9cê·¸ë\84\90를 ë°\9bì\9d\84 ë\95\8c ê¹\8cì§\80 ì\85¸의 실행을 일시 정지합니다.\n"
+"    ê°\95ì \9c ì\98µì\85\98ì\9d´ ì\97\86ë\8a\94 ê²½ì\9a° ë¡\9cê·¸ì\9d¸ ì\85¸은 일시 정지될 수 없습니다.\n"
 "    \n"
 "    옵션:\n"
-"      -f\të¡\9cê·¸ì\9d¸ ì\89\98의 경우에도 일시 정지를 강제합니다.\n"
+"      -f\të¡\9cê·¸ì\9d¸ ì\85¸의 경우에도 일시 정지를 강제합니다.\n"
 "    \n"
 "    종료 상태:\n"
-"    job control이 활성화되지 않았거나 오류가 발생하지 않으면 성공을 반환합니"
-"다."
+"    작업 컨트롤이 동작하거나 오류가 없으면 성공을 반환합니다."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -3611,8 +4185,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"
@@ -3633,8 +4206,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"
@@ -3659,33 +4231,118 @@ msgid ""
 "    Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
 "    false or an invalid argument is given."
 msgstr ""
+"조건식을 처리합니다.\n"
+"    \n"
+"    <표현식>의 계산 결과에 따라 0(참) 또는 1(거짓) 상태 값을\n"
+"    내며 빠져나옵니다.  수식은 단항 수식 또는 이항 수식일 수 있습니다.\n"
+"    단항 수식은 보통 파일 상태를 확인할 때 사용합니다.  숫자 비교 \n"
+"    연산자와 마찬가지로 문자열 연산자도 있습니다.\n"
+"    \n"
+"    테스트 동작은 인자 갯수에 따릅니다. 완전한 내용을 알아보려면,\n"
+"    배시 설명서 페이지를 읽어보십시오.\n"
+"    \n"
+"    파일 연산자:\n"
+"    \n"
+"      -a <파일>        파일이 있으면 참.\n"
+"      -b <파일>        블록 특수 파일이면 참.\n"
+"      -c <파일>        문자 특수 파일이면 참.\n"
+"      -d <파일>        파일이 디렉터리면 참.\n"
+"      -e <파일>        파일이 있으면 참.\n"
+"      -f <파일>        일반 파일이 있으면 참.\n"
+"      -g <파일>        파일이 그룹 ID 모음이면 참.\n"
+"      -h <파일>        파일이 심볼릭 링크면 참.\n"
+"      -L <파일>        파일이 심볼릭 링크면 참.\n"
+"      -k <파일>        파일에 `끈적이' 비트 설정이 있으면 참.\n"
+"      -p <파일>        파일이 명명 파이프면 참.\n"
+"      -r <파일>        파일을 읽을 수 잇으면 참.\n"
+"      -s <파일>        비아있지 않은 파일이 있으면 참.\n"
+"      -S <파일>        소켓 파일이면 참.\n"
+"      -t <파일서술자>          <파일서술자>를 터미널에서 열면 참.\n"
+"      -u <파일>        파일이 사용자 ID 세트면 참.\n"
+"      -w <파일>        파일을 기록할 수 있으면 참.\n"
+"      -x <파일>        파일을 실행할 수 있으면 참.\n"
+"      -O <파일>        파일을 명백히 소유하면 참.\n"
+"      -G <파일>        파일을 명백시 소속 그룹에서 소유하면 참.\n"
+"      -N <파일>        파일을 읽은 후 수정했다면 참.\n"
+"    \n"
+"      <파일1> -nt <파일2>  파일1이 파일2보다 최신이면\n"
+"                       (수정일자에 따라)참.\n"
+"    \n"
+"      <파일1> -ot <파일2>  파일2가 파일1보다 최신이면 참.\n"
+"    \n"
+"      <파일1> -ef <파일2>  파일1이 파일2의 하드링크라면 참.\n"
+"    \n"
+"    문자열 연산자:\n"
+"    \n"
+"      -z <문자열>      문자열이 비었으면 참.\n"
+"    \n"
+"      -n <문자열>\n"
+"         <문자열>      문자열이 있으면 참.\n"
+"    \n"
+"      <문자열1> = <문자열2>\n"
+"                     문자열이 같으면 참.\n"
+"      <문자열1> != <문자열2>\n"
+"                     문자열이 다르면 참.\n"
+"      <문자열1> < <문자열2>\n"
+"                     문자열1이 문자열2보다 문자 순서상 먼저일 경우 참.\n"
+"      <문자열1> > <문자열2>\n"
+"                     문자열1이 문자열2보다 문자 순서상 나중일 경우 참.\n"
+"    \n"
+"    기타 연산:\n"
+"    \n"
+"      -o <옵션>      셸 <옵션>을 사용할 수 있으면 참.\n"
+"      -v <변수>         셸 <변수>를 설정하면 참.\n"
+"      -R <변수>         셸 <변수>를 이름 참조로 설정하면 참.\n"
+"    \n"
+"      ! <표현식>         표현식이 거짓이면 참.\n"
+"      <표현식1> -a <표현식2> <표현식1>, <표현식2>가 모두 참이면 참.\n"
+"      <표현식1> -o <표현식2> <표현식1> 또는 <표현식2> 둘 중 하나가 참이면 참.\n"
+"    \n"
+"      <변수1> <연산자> <변수2>   산술 시험.  <연산자>는  -eq, -ne,\n"
+"                     -lt, -le, -gt, or -ge 중 하나.\n"
+"    \n"
+"    산술 이진 연산자는 <인자1>과 <인자2>가 같거나, 다르거나, 작거나, 작고\n"
+"    같거나, 크거나, 크고 같을 경우 참을 반환합니다\n"
+"    \n"
+"    종료 상태:\n"
+"    <표현식>이 참이면 성공을 반환합니다. <표현식>이 거짓을 결과로 냈거나\n"
+"    부적절한 인자를 대입하면 실패를 반환합니다."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
 "    This is a synonym for the \"test\" builtin, but the last argument must\n"
 "    be a literal `]', to match the opening `['."
 msgstr ""
+"조건식을 처리합니다.\n"
+"    \n"
+"    \"test\" 내장 명령의 동의 명령입니다만, 마지막 인자는 반드시\n"
+"    `]' 문자로 마무리하여 열기 괄호 `['와 일치해야합니다."
 
-#: builtins.c:1352
+#: 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"
 "    Always succeeds."
 msgstr ""
+"프로세스 시간을 표시합니다.\n"
+"    \n"
+"    셸의 사용자 및 시스템 누적 시간, 하위 프로세스의 누적 시간을\n"
+"    나타냅니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    항상 성공."
 
-#: builtins.c:1364
+#: 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"
 "    ARG is a command to be read and executed when the shell receives the\n"
@@ -3694,37 +4351,60 @@ msgid ""
 "    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
 "    shell and by the commands it invokes.\n"
 "    \n"
-"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  "
-"If\n"
-"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  "
-"If\n"
-"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
-"a\n"
-"    script run by the . or source builtins finishes executing.  A "
-"SIGNAL_SPEC\n"
-"    of ERR means to execute ARG each time a command's failure would cause "
-"the\n"
+"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If\n"
+"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If\n"
+"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n"
+"    script run by the . or source builtins finishes executing.  A SIGNAL_SPEC\n"
+"    of ERR means to execute ARG each time a command's failure would cause the\n"
 "    shell to exit when the -e option is enabled.\n"
 "    \n"
-"    If no arguments are supplied, trap prints the list of commands "
-"associated\n"
+"    If no arguments are supplied, trap prints the list of commands associated\n"
 "    with each signal.\n"
 "    \n"
 "    Options:\n"
 "      -l\tprint a list of signal names and their corresponding numbers\n"
 "      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
 "    \n"
-"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
 "    Signal names are case insensitive and the SIG prefix is optional.  A\n"
 "    signal may be sent to the shell with \"kill -signal $$\".\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+"    Returns success unless a SIGSPEC is invalid or an invalid option is given."
 msgstr ""
+"시그널과 기타 이벤트를 잡습니다.\n"
+"    \n"
+"    셸에서 시그널 또는 기타 상태를 받았을 때 실행할 핸들러를 지정하고 활성\n"
+"    상태로 전환합니다.\n"
+"    \n"
+"    <인자>는 <시그널명세>의 시그널을 셸에서 받았을 때 읽고 실행할 명령\n"
+"    입니다.  <인자>값이 빠지면 (그리고 단일 <시그널명세> 값을 지정하면)\n"
+"    또는 값이 `-'으로 설정했다면, 각 지정 시그널을 원래 값으로 되돌립니다.\n"
+"    <인자>에 널 문자열이 들어갔다면, 각 <시그널명세> 값은 셸과 실행 명령\n"
+"    에서 무시합니다.\n"
+"    \n"
+"    <시그널명세>가 EXIT(0) 이면 <인자>는 셸을 빠져나갈 떄 실행합니다.\n"
+"    <시그널명세>가 DEBUG면, 모든 단순 명령을 실행하기 전에 <인자>를\n"
+"    실행 합니다. <시그널명세>가 RETURN이면, <인자>는 . 또는 원시 내장 \n"
+"    명령 실행을 끝내는 셸 함수 또는 스크립트를 실행할 때마다 실행합니다.\n"
+"    <오류> <시그널명세> 는 -e 옵션을 넣었을 때, 셸을 빠져나오게 하는 \n"
+"    명령 실패를 겪을 때마다 <인자>를 실행합니다.\n"
+"    \n"
+"    어떤 인자도 지정하지 않으면 trap에서 각 시그널 별로 실행하는 명령\n"
+"    목록을 출력합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -l\t시그널 이름과 관련 숫자 목록을 출력합니다\n"
+"      -p\t각 <시그널명세> 관련 처리 명령을 표시합니다\n"
+"    \n"
+"    각 <시그널명세>는 <signal.h>에 지정한 시그널 이름이거나 시그널\n"
+"    번호입니다. 시그널 이름은 대소문자 무관하며, SIG 접두사는 선택사항\n"
+"    입니다.  시그널은 \"kill -signal $$\" 처럼 셸에 보낼 수 있습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 <시그널명세> 또는 옵션을 지정했다면 성공을 반환합니다."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -3750,16 +4430,37 @@ msgid ""
 "      NAME\tCommand name to be interpreted.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success if all of the NAMEs are found; fails if any are not "
-"found."
+"    Returns success if all of the NAMEs are found; fails if any are not found."
 msgstr ""
+"명령 형식 정보를 표시합니다.\n"
+"    \n"
+"    각 <이름>에 대해 명령 이름으로 활용할 때 어떻게 해석하는지\n"
+"     나타냅니다.\n"
+"    \n"
+"    옵션:\n"
+"      -a\t<이름>이 들어간 모든 실행 파일 보관 위치를 나타냅니다.\n"
+"    \t\t별칭, 내장명령, 함수가 해당하며, `-p' 옵션은 사용하지\n"
+"    \t\t 말아야합니다.\n"
+"      -f\t셸 함수 찾기 동작을 멈춥니다\n"
+"      -P\t각 <이름>별로 별칭, 내장 명령, 함수로 해도  PATH 검색을 강제\n"
+"    \t\t시행하며, 실행 파일 디스크 이름을 반환합니다\n"
+"      -p\t실행할 디스크 파일 이름을 반환하거나 , `type -t <이름>'을\n"
+"    \t\t`file'로 반환하지 않으면 아무것도 반환하지 않습니다.\n"
+"      -t\t<이름>이 별칭, 셸 예약 단어, 셸 함수, 셸 내장 명령, 디스크 파일\n"
+"    \t\t 또는 없음 여부에 따라 `alias', `keyword', `function', `builtin',\n"
+"    \t\t `file', `' 중 하나를 반환합니다.\n"
+"    \n"
+"    인자:\n"
+"      <이름>\t해석할 명령 이름.\n"
+"    \n"
+"    종료 상태:\n"
+"    모든 <이름>을 찾으면 성공을 반환, 그렇지 않으면 실패를 반환합니다."
 
-#: builtins.c:1431
+#: 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"
@@ -3803,8 +4504,52 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
+"셸 자원 제한을 조정합니다.\n"
+"    \n"
+"    셸과 생성 프로세스를 제어하는 시스템에서 사용할 수 있는 자원의\n"
+"    제어 전반을 제공합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -S\t`soft' 자원 제한을 활용합니다\n"
+"      -H\t`hard' 자원 제한을 활용합니다\n"
+"      -a\t현재 모든 제한 현황을 보고합니다\n"
+"      -b\t소켓 버퍼 킂기\n"
+"      -c\t생성 핵심 파일 최대 크기\n"
+"      -d\t프로세스 데이터 세그먼트 최대 크기\n"
+"      -e\t최대 스케쥴링 우선순위 (`nice')\n"
+"      -f\t셸과 하위 프로세스에서 작성한 파일의 최대 크기\n"
+"      -i\t최대 대기 시그널 수\n"
+"      -k\t프로세스에 할당한 커널 큐 최대 수\n"
+"      -l\t메모리에서 잠글 프로세스 최대 수\n"
+"      -m\t최대 점유 설정 크기\n"
+"      -n\t파일 서술자 개방 최대 갯수\n"
+"      -p\t파이프 버퍼 크기\n"
+"      -q\tPOSIX 메시지 큐 최대 바이트 단위 크기\n"
+"      -r\t최대 실시간 스케쥴링 우선순위\n"
+"      -s\t최대 스택 크기\n"
+"      -t\t초단위 최대 CPU 시간\n"
+"      -u\t최대 사용자 프로세스 수\n"
+"      -v\t가상 메모리 크기\n"
+"      -x\t최대 파일 잠금 수\n"
+"      -P\t가상 터미널 최대 갯수\n"
+"      -R\t블로킹 전 실시간 프로세스 최대 실행 가능 시간\n"
+"      -T\t최대 스레드 수\n"
+"    \n"
+"    모든 플랫폼에서 모든 옵션을 활용할 수 있는건 아닙니다.\n"
+"    \n"
+"    <한계>값이 주어지면, 지정 자원의 새 값이 됩니다. `soft', `hard', \n"
+"    `unlimited' <한계> 값은 현재 soft 한계, hard 한계, 한계 없음을 각각\n"
+"    의미합니다. 아니면, 지정 자원의 현재 값을 출력합니다. 옵션을 지정\n"
+"    하지 않으면, -f 옵션을 설정한 걸로 간주합니다.\n"
+"    \n"
+"    초 단위를 취급하는 -t 옵션과 512 바이트 단위로 증가하는 -p 옵션,\n"
+"    그리고 크기를 갖지 않는 프로세스 수를 취급하는 -u 옵션을 제외하고,\n"
+"    1024 바이트씩 값을 증가합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    옵션을 올바르게 설정했거나 오류가 없다면 성공을 반환합니다."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -3821,28 +4566,38 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless MODE is invalid or an invalid option is given."
 msgstr ""
+"파일 모드 마스크를 표시하거나 설정합니다.\n"
+"    \n"
+"    사용자 파일 생성 마스크를 <모드>로 설정합니다. <모드>를 생략하면,\n"
+"    마스크 현재 값을 출력합니다.\n"
+"    \n"
+"    <모드>를 숫자로 시작하면, 8진수로 해석합니다. 그렇지 않으면 chmod(1)\n"
+"    에서 인식하는 심볼릭 모드 문자열이 됩니다.\n"
+"    \n"
+"    웁션:\n"
+"      -p\t<모드>를 생략하면 입력으로 재활용할 형식으로 출력합니다\n"
+"      -S\t출력 심볼릭을 만듭니다. 그렇지 않으면 8진수로 출력합니다\n"
+"    \n"
+"    종료 상태:\n"
+"    <모드>가 올바르거나 옵션을 적절하게 설정하면 성공을 반환합니다."
 
-#: builtins.c:1502
+#: 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"
@@ -3853,23 +4608,52 @@ msgid ""
 "    option is given, or if -n is supplied and the shell has no unwaited-for\n"
 "    children."
 msgstr ""
+"작업 완료를 기다리며 종료 상태를 반환합니다.\n"
+"    \n"
+"    프로세스 ID 또는 작업 명세가 될 ID로 식별하는 각 프로세스를 \n"
+"    기다리며, 중단 상태를 보고합니다. ID가 주어지지 않으면 현재의\n"
+"    모든 활성 하위 프로세스를 기다리며, 반환 상태 값은 0입니다.\n"
+"    ID가 작업 명세라면 작업 파이프라인의 모든 프로세스를 기다립니다.\n"
+"    \n"
+"    -n 옵션을 지정하면 ID 목록의 단일 작업을 기다리며, ID를 지정하지\n"
+"    않으면, 다음 작업 완료시까지 기다리고 해당 작업의 종료 상태를 반환\n"
+"    합니다.\n"
+"    \n"
+"    -p 옵션을 지정하면 종료 상태를 반환할 작업의 프로세스 또는 작업\n"
+"    식별자룰 옵션 인자가 명명한 <변수>에 할당합니다. 변수는 할당 전\n"
+"    설정을 해제할 수 있습니다. 보통 -n 옵션을 지정할 때만 쓸만합니다.\n"
+"    \n"
+"    -f 옵션을 지정하고 작업 컨트롤을 사용하면 지정 ID의 상태가 바뀌기를\n"
+"    기다리기보다는, 중단 시기를 기다립니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 ID의 상태를 반환합니다. ID가 잘못되었거나 잘못된 옵션을 지정\n"
+"    했다든지, -n 옵션을 지정하고 셸에서 하위 프로세스를 기다리지 않는\n"
+"    다면 실패를 반환합니다."
 
-#: builtins.c:1533
+#: 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 ""
+"프로세스 처리 완료를 기다리고 종료 상태를 반환합니다.\n"
+"    \n"
+"    지정 <PID>의 각 프로세스를 기다리며, 종료 상태를 보고합니다.\n"
+"    <PID>를 지정하지 않으면 모든 현재 하위 활성 프로세스를 기다리며,\n"
+"    반환 상태는 0이 됩니다.  <PID>는 프로세스 ID여야 합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 PID의 상태를 반환합니다. PID 값이 잘못되었거나,\n"
+"    부적절한 옵션을 지정하면 실패를 반환합니다."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -3881,8 +4665,17 @@ msgid ""
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
 msgstr ""
+"목록 각 구성 요소의 명령을 실행합니다.\n"
+"    \n"
+"    `for' 반복문은 항목 목록 각 구성요소의 명령 목록을 실행합니다.\n"
+"    `in <단어> ...;' 식으로 나타나지 않으면, `in $@\"'으로 가정합니다.\n"
+"    <단어>의 각 요소에 대해 <이름>을 해당 요소에 설정하고,\n"
+"    <명령>을 실행합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 명령 실행 상태를 반환합니다."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -3898,8 +4691,21 @@ msgid ""
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
 msgstr ""
+"반복문의 산술 연산을 실행합니다.\n"
+"    \n"
+"    다음과 동일합니다\n"
+"    \t(( <표현식1> ))\n"
+"    \twhile (( <표현식2> )); do\n"
+"    \t\t <명령>\n"
+"    \t\t (( 표현식3 ))\n"
+"    \tdone\n"
+"    <표현식1>, <표현식2>, <표현식3> 은 산술 수식입니다.   어떤 수식이든 생략하면\n"
+"    1 값을 계산한걸로 간주합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 명령 실행 상태를 반환합니다."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -3918,8 +4724,22 @@ msgid ""
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
 msgstr ""
+"단어를 목록에서 선택하고 명령을 실행합니다.\n"
+"    \n"
+"    <단어>는 단어 목록을 만들 때 확장합니다.   확장 단어는 표준 오류에\n"
+"    출력하며, 출력행에 숫자가 붙습니다. 각 `in <단어>'가 없다면 `in \"$@\"'\n"
+"    를 고려합니다. 그 다음 PS3 프롬프트를 나타내고 표준 입력에서 \n"
+"    읽습니다. 표시 단어 중 하나의 숫자로 행을 구성했다면, <이름>\n"
+"    을 해당 단어에 설정합니다. 행이 비어있으면, <단어>와 프롬프트는\n"
+"    다시 나타납니다.  EOF (파일 끝)을 읽으면, 명령 실행이 끝납니다.\n"
+"    다른 값을 읽으면 <이름>을 null로 설정할 수도 있습니다.  읽은 행은\n"
+"    REPLY 변수에 저장합니다. <명령>은 break 명령을 실행하기 전까지\n"
+"    각 선택 때마다 실행합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    마지막 명령 실행 상태를 반환합니다."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -3934,8 +4754,20 @@ msgid ""
 "    Exit Status:\n"
 "    The return status is the return status of PIPELINE."
 msgstr ""
+"파이프라인 실행의 소요 시간을 보고합니다.\n"
+"    \n"
+"    <파이프라인>을 실행한 후 파이프라인이 멈췄을 때, <파이프라인> 실행에\n"
+"    걸린 실제 시간, 사용자 CPU 시간, 시스템 CPU 시간 요약 내용을 출력합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -p\t이식성이 있는 POSIX 형식의 타이밍 요약 내용을 출력합니다.\n"
+"    \n"
+"    TIMEFORMAT 변수의 값은 출력 형식에 활용합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <파이프라인>의 반환 상태가 곧 반환 상태 입니다."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -3945,51 +4777,76 @@ msgid ""
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
 msgstr ""
+"패턴 일치에 기반하여 명령을 실행합니다.\n"
+"    \n"
+"    <패턴>에 일치하는 <단어> 기반으로 <명령>을 별도로 실행합니다.\n"
+"    `|' 문자로 여러 패턴을 나눌 수 있습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 명령 실행 상태를 반환합니다."
 
-#: builtins.c:1630
+#: 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"
 "    Returns the status of the last command executed."
 msgstr ""
+"조건 기반으로 명령을 실행합니다.\n"
+"    \n"
+"    `if <명령>' 목록을 실행합니다.  종료 상태값이 0이면, `then <명령>'\n"
+"    목록도 실행합니다.  아니면, `elif <명령>' 목록도 실행하며, 종료 상태\n"
+"    값이 0이면 관련 `then <명령>' 목록을 실행하여 if 명령의 처리가 끝\n"
+"    납니다.  위 과정에 만족하지 않으면 `else <명령>' 목록이 있을 경우\n"
+"    실행합니다.  전체 명령 구성의 종료 상태 값은 최종 명령 실행 종료\n"
+"    상태값이며, 또는 어떤 조건에서도 참이 아닌 경우 0이 됩니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 명령 실행 상태 값을 반환합니다."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
+"테스트에 성공하는 동안 명령을 실행합니다.\n"
+"    \n"
+"    <명령>의 최종 명령 종료 상태가 0인 동안 <명령-2>로 확장 실행합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 명령 상태를 반환합니다."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
+"테스트에 실패하는 동안 명령을 실행합니다.\n"
+"    \n"
+"    <명령>의 최종 명령 종료 상태가 0이 아니면 <명령-2>로 확장 실행합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 명령 실행 상태를 반환합니다."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4001,22 +4858,37 @@ msgid ""
 "    Exit Status:\n"
 "    The coproc command returns an exit status of 0."
 msgstr ""
+"<이름>으로 병행 프로세스를 만듭니다.\n"
+"    \n"
+"    <명령>을 비동기 실행합니다. 명령의 표준 출력과 표준 입력은 실행하는 \n"
+"    셸에서 배열 변수 <이름>의 색인 0번과 1번에 할당한 파일 서술자와\n"
+"    파이프로 연결합니다. 기본 <이름>은 \"COPROC\" 입니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    coproc 명령이 종료 상태 0을 반환합니다."
 
-#: builtins.c:1685
+#: 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"
 "    Exit Status:\n"
 "    Returns success unless NAME is readonly."
 msgstr ""
+"셸 함수를 정의합니다.\n"
+"    \n"
+"    <이름>을 가진 셸 함수를 만듭니다.  단순 명령으로 실행할 경우, <이름>은\n"
+"    셸 컨텍스트를 호출할 때 <명령>을 실행합니다.  <이름>을 실행하면, 함수에\n"
+"    전달하는 인자는 $1,...$N 이며, 함수 이름은 $FUNCNAME이 됩니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <이름>이 읽기 전용이 아니라면 참을 반환합니다."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4026,8 +4898,15 @@ msgid ""
 "    Exit Status:\n"
 "    Returns the status of the last command executed."
 msgstr ""
+"여러 명령을 단위로 묶습니다.\n"
+"    \n"
+"    여러 명령을 그룹 하나로 묶어 실행합니다.  명령 전체를 방향재지정\n"
+"    처리하는 방법 중 하나입니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    최종 명령 실행 상태를 반환합니다."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4040,8 +4919,17 @@ msgid ""
 "    Exit Status:\n"
 "    Returns the status of the resumed job."
 msgstr ""
+"포그라운드의 작업을 재개합니다.\n"
+"    \n"
+"    `fg' 명령의 JOB_SPEC 인자와 동일합니다.  멈춘 작업 또는 백그라운드\n"
+"    작업을 재개합니다.  JOB_SPEC은 작업 이름 또는 작업 번호를 지정할 수\n"
+"    있습니다.  JOB_SPEC 다음에 `&'를 입력하여 백그라운드에서 실행하게\n"
+"    합니다. `bg' 인자로 지정할 때처럼 작업 명세를 지정합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    재개한 작업의 상태를 반환합니다."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4051,17 +4939,20 @@ msgid ""
 "    Exit Status:\n"
 "    Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
 msgstr ""
+"산술 연산을 수행합니다.\n"
+"    \n"
+"    <표현식>은 산술 연산 규칙에 따라 실행합니다. `let \"<표현식>\"'과 동일합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <표현식> 결과가 0이면 1을 반환하고 그렇지 않으면 0을 반환합니다."
 
-#: builtins.c:1738
+#: 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"
@@ -4079,8 +4970,28 @@ msgid ""
 "    Exit Status:\n"
 "    0 or 1 depending on value of EXPRESSION."
 msgstr ""
+"조건 명령을 수행합니다.\n"
+"    \n"
+"    <표현식>의 조건문 수행의 처리 결과에 따라 상태값을 0 또는 1로 반환합니다.\n"
+"    표현식은 `test' 내장 명령에서 활용하는 동일한 규칙에 따라 작성하며,\n"
+"    다음 연산자로 결합합니다:\n"
+"    ( <표현식> )\t<표현식>의 값을 반환\n"
+"    ! <표현식>\t\t <표현식> 결과가 거짓이면 참을, 그렇지 않으면 거짓을 반환\n"
+"    <표현식1> && <표현식2>\t\t<표현식1>과 <표현식2>가 모두 참이면 참을\n"
+"    \t\t\t\t그렇지 않으면 거짓을 반환\n"
+"    <표현식1> || <표현식2>\t\t<표현식1> 또는 <표현식2> 둘 중 하나가 참이면 참을\n"
+"    \t\t\t\t그렇지 않으면 거짓을 반환\n"
+"    \n"
+"    `=='과 `!=' 연산자를 사용한다면 우항의 문자열은 패턴으로 활용하며, 패턴 검사를\n"
+"    수행합니다. `=~' 연산자를 사용할 때는 우항의 문자열은 정규표현식으로 간주합니다.\n"
+"    \n"
+"     && 연산자와 || 연산자는 <표현식1>이 표현식 값을 내는데 충분하다면 <표현식2>를\n"
+"    처리하지는 않습니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    <표현식> 값에 따라 0 또는 1을 반환합니다."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -4133,8 +5044,54 @@ msgid ""
 "    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
 "    \t\tcommands should be saved on the history list.\n"
 msgstr ""
-
-#: builtins.c:1821
+"일반 셸 변수 이름과 사용법입니다.\n"
+"    \n"
+"    BASH_VERSION\t배시 버전 정보입니다.\n"
+"    CDPATH\t`cd' 인자처럼 디렉터리 검색에 주어지는 콜론으로 구분한\n"
+"    \t\t디렉터리 목록입니다.\n"
+"    GLOBIGNORE\t경로 이름을 확장하여 무시할 콜론 이름으로 구분한 파일 이름\n"
+"    \t\t특징 패턴 목록입니다.\n"
+"    HISTFILE\t명령을 기록에 저장하는 파일 이름입니다.\n"
+"    HISTFILESIZE\t파일에 넣을 수 있는 최대 줄 수 입니다.\n"
+"    HISTSIZE\t동작 중인 셸에서 접근할 수 있는 최대 기록 줄 수 입니다.\n"
+"    HOME\t로그인 후 접근하는 완전한 경로 이름입니다.\n"
+"    HOSTNAME\t현재 호스트 이름입니다.\n"
+"    HOSTTYPE\t이 배시 버전이 실행하고 있는 시스템의 CPU 형식입니다.\n"
+"    IGNOREEOF\n"
+"EOF 문자 입력을 유일한 입력으로 받는 셸의 동작을\n"
+"    \t\t제어합니다.  설정하면, 이 변수의 값은 셸을 나가기\n"
+"    \t\t전 빈 줄에 한줄로 나타낼 EOF 문자 수 입니다 (기본 10개).\n"
+"    \t\t설정을 해제하면, EOF는 입력 끝을 나타냅니다.\n"
+"    MACHTYPE\t현재 배시를 실행하고 있는 시스템을 설명하는 문자열입니다.\n"
+"    MAILCHECK\t배시에서 새 메일을 확인하는 초단위 빈도 시간입니다.\n"
+"    MAILPATH\t배시에서 새 메일을 확인할 콜론 구분 파일 목록입니다.\n"
+"    OSTYPE\t이 배시 버전을 실행하고 있는 유닉스 버전입니다.\n"
+"    PATH\t명령을 찾을 때 검색할 콜론 구분 디렉터리 목록입니다.\n"
+"    PROMPT_COMMAND\t각 기본 프롬프트를 출력하기 전에 실행할\n"
+"    \t\t명령입니다.\n"
+"    PS1\t\t기본 프롬프트 문자열입니다.\n"
+"    PS2\t\t2차 프롬프트 문자열입니다.\n"
+"    PWD\t\t현재 디렉터리의 전체 경로 이름 입니다.\n"
+"    SHELLOPTS\t콜론으로 구분한 활성 셸 옵션 목록입니다.\n"
+"    TERM\t현재 터미널 형식 이름입니다.\n"
+"    TIMEFORMAT\t`time' 역방향 단어로 표시하는 시간 통계의\n"
+"    \t\t출력 형식입니다.\n"
+"    <자동_재개>\tnull 값이 아니라면 자체에서 나타내는 명령행을\n"
+"    \t\t먼저 나타내고, 현재 멈춘 작업 목록의 첫번째 확인 요소임을\n"
+"    \t\t의미합니다.  이 상태가 나타나면 작업을 포 그라운드에서\n"
+"    \t\t실행헙니다. `exact' 값은 명령 단어가 멈춘 작업 목록의\n"
+"    \t\t명령과 정확히 일치해야 함을 의미합니다.\n"
+"    \t\t`substring' 값은 명령 단어가 작업의 부분 문자열과\n"
+"    \t\t일치해야 하는 의미를 담고 있습니다.  다른 값은\n"
+"    \t\t명령이 멈춘 작업의 접두어여야 하는 의미를 담고 있습니다.\n"
+"    <기록 문자>\t기록 확장과 빠른 대체를 제어하는 문자입니다.\n"
+"    \t\t첫번째는 기록 제거 문자로, 보통 `!'을 활용합니다.\n"
+"    \t\t두번째는 보통 `^'으로 표기하는 `빠른 대체문자' 입니다.\n"
+"    \t\t세번째는 `기록 주석' 문자로 보통 `#'으로 표기합니다.\n"
+"    HISTIGNORE\t어떤 명령을 기록 목록에 저장해야 하는지 판단할 때\n"
+"    \t\t활용하는 콜론 구분 패턴 목록입니다.\n"
+
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -4164,8 +5121,33 @@ msgid ""
 "    Returns success unless an invalid argument is supplied or the directory\n"
 "    change fails."
 msgstr ""
+"디렉터리를 스택에 추가합니다.\n"
+"    \n"
+"    디렉터리를 디렉터리 스택 상단에 추가하거나, 스택을 돌리거나,\n"
+"    스택의 새 상단에 현재 작업 디렉터리를 둡니다. 인자를 지정하지\n"
+"    않으면 상단 디렉터리 둘을 바꿉니다.\n"
+"    \n"
+"    옵션:\n"
+"      -n\t스택에 디렉터리를 추가할 때 디렉터리 일반 변경 동작을\n"
+"    \t\t막은 상태에서, 스택만 다루게 합니다.\n"
+"    \n"
+"    인자:\n"
+"      +N\t`dirs' 내장 명령에 나타난 항목을 0부터 시작해서 왼쪽부터\n"
+"    \t\t세어 N번째 항목을 스택의 최상단에 오도록 회전합니다.\n"
+"    \n"
+"      -N\t`dirs' 내장 명령에 나타난 항목을 0부터 시작해서 오른쪽부터\n"
+"    \t\t세어 N번째 항목을 스택의 최상단에 오도록 회전합니다.\n"
+"    \n"
+"      <디렉터리>\t<디렉터리>를 스택 상단에 추가하여 새 현재 작업\n"
+"    \t\t디렉터리로 지정합니다.\n"
+"    \n"
+"    `dirs' 내장 명령은 디렉터리 스택을 표시합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 인자를 지정하고 디렉터리 변경에 성공하면 성공을 반환\n"
+"    합니다."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -4191,8 +5173,32 @@ msgid ""
 "    Returns success unless an invalid argument is supplied or the directory\n"
 "    change fails."
 msgstr ""
+"스택에서 디렉터리를 제거합니다.\n"
+"    \n"
+"    디렉터리 스택에서 항목을 제거합니다.  인자를 지정하지 않으면,\n"
+"    스택의 상단 디렉터리를 제거하며, 새 상단 디렉터리로 바꿉니다.\n"
+"    \n"
+"    옵션:\n"
+"      -n\t스택에서 디렉터리를 제거할 때 디렉터리 일반 변경동작을\n"
+"    \t\t막아 스택만 처리하게합니다.\n"
+"    \n"
+"    인자:\n"
+"      +N\t0부터 시작해서 `dirs' 내장 명령에 나타난 항목을 왼쪽부터\n"
+"    \t\t세어 N번째 항목을 제거합니다. 예를 들어 `popd +0' 명령은\n"
+"    \t\t처음 디렉터리를 `popd +1' 명령은  두번째 디렉터리를\n"
+"    \t\t제거합니다.\n"
+"      -N\t0부터 시작해서 `dirs' 내장 명령에 나타난 항목을 오른쪽부터\n"
+"    \t\t세어 N번째 항목을 제거합니다. 예를 들어 `popd -0' 명령은\n"
+"    \t\t마지막 디렉터리를 `popd -1' 명령은 마지막에서 두번째의\n"
+"    \t\t디렉터리를 제거합니다.\n"
+"    \n"
+"    `dirs' 내장 명령은 디렉터리 스택을 보여줍니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 인자를 지정했거나 디렉터리를 제대로 이동했다면\n"
+"    성공을 반환합니다.전"
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -4220,31 +5226,28 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
-"ë\94\94ë \89í\86 ë¦¬ ì\8a¤í\83\9dì\9d\84 ë³´ì\97¬ì¤\8d니다.\n"
+"ë\94\94ë \89í\84°ë¦¬ ì\8a¤í\83\9dì\9d\84 í\91\9cì\8b\9cí\95©니다.\n"
 "    \n"
-"    현재 기억된 디렉토리의 목록을 보여줍니다.  디렉토리들은\n"
-"    `pushd' ëª\85ë ¹ì\9d\84 í\86µí\95´ ëª©ë¡\9dì\97\90 ê²½ë¡\9c를 ì \80ì\9e¥í\95  ì\88\98 ì\9e\88ê³ ; 'popd' \n"
-"    ëª\85ë ¹ì\9d\84 í\86µí\95´ 거슬러 올라갈 수 있습니다.\n"
+"    현재 기억한 디렉터리 목록을 보여줍니다.  디렉터리는\n"
+"    `pushd' ëª\85ë ¹ì\9c¼ë¡\9c ëª©ë¡\9dì\97\90 ê²½ë¡\9c를 ì \80ì\9e¥í\95  ì\88\98 ì\9e\88ê³ , 'popd' \n"
+"    ëª\85ë ¹ì\9c¼ë¡\9c 거슬러 올라갈 수 있습니다.\n"
 "    \n"
 "    옵션:\n"
-"      -c\tì\9b\90ì\86\8c를 ì \84ë¶\80 ì\82­ì \9cí\95¨ì\9c¼ë¡\9cì\8d¨ ë\94\94ë \89í\86 리 스택을 초기화합니다\n"
-"      -l\tí\99\88 ë\94\94ë \89í\86 리까지 ~로 축약된 상대경로를 표시하지 않습니다\n"
-"      -p\tí\95\9c ì¤\84ì\97\90 í\95\98ë\82\98ì\94© ë\94\94ë \89í\86 리 스택을 표시합니다\n"
-"      -v\t한 줄에 하나씩 스택의 위치와 함께 디렉토리 스택을 표시합니다\n"
+"      -c\tì\9b\90ì\86\8c를 ì \84ë¶\80 ì\82­ì \9cí\95¨ì\9c¼ë¡\9cì\8d¨ ë\94\94ë \89í\84°리 스택을 초기화합니다\n"
+"      -l\tí\99\88 ë\94\94ë \89í\84°리까지 ~로 축약된 상대경로를 표시하지 않습니다\n"
+"      -p\tí\95\9c ì¤\84ì\97\90 í\95\98ë\82\98ì\94© ë\94\94ë \89í\84°리 스택을 표시합니다\n"
+"      -v\t한 줄에 하나씩 스택의 위치 및 디렉터리 스택을 표시합니다\n"
 "    \n"
 "    인자:\n"
-"      +N\t인자 없이 실행될 때 보여지는 목록의 왼쪽부터 N번째 항목을 보여줍니"
-"다.\n"
+"      +N\t인자 없이 실행될 때 보여지는 목록의 왼쪽부터 N번째 항목을 보여줍니다.\n"
 "    \t세는 수는 0부터 시작합니다.\n"
 "    \n"
-"      -N\t인자 없이 실행될 때 보여지는 목록의 오른쪽부터 N번째 항목을 보여줍"
-"니다.\n"
+"      -N\t인자 없이 실행될 때 보여지는 목록의 오른쪽부터 N번째 항목을 보여줍니다.\n"
 "\t세는 수는 0부터 시작합니다.\n"
 "    종료 상태:\n"
-"    유효하지 않은 옵션이 주어지거나 오류가 발생하지 않는다면 성공을 반환합니"
-"다."
+"    부적절한 옵션이 주어지거나 오류가 발생하지 않는다면 성공을 반환합니다."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -4263,8 +5266,24 @@ msgid ""
 "    Returns success if OPTNAME is enabled; fails if an invalid option is\n"
 "    given or OPTNAME is disabled."
 msgstr ""
+"셸 옵션을 설정 또는 해제합니다.\n"
+"    \n"
+"    <옵션이름> 셸 옵션의 설정을 바꿉니다. 어떤 옵션 인자도 지정하지 않으면\n"
+"    <옵션이름>에 지정한 항목을 보여주거나, <옵션이름>이 없을 경우 모든\n"
+"    셸 옵션을 보여주든지 설정 여부를 함께 나타냅니다.\n"
+"    \n"
+"    옵션:\n"
+"      -o\t`set -o'로 지정한 <옵션이름>으로 제한합니다\n"
+"      -p\t각 셸 옵션과 상태를 출력합니다\n"
+"      -q\t출력을 끕니다\n"
+"      -s\t각 <옵션이름>을 사용합니다 (설정)\n"
+"      -u\t각 <옵션이름>을 사용하지 않습니다 (설정해제)\n"
+"    \n"
+"    종료 상태:\n"
+"    <옵션이름>을 활성화했다면 성공을 반환합니다. 부적절한 옵션을\n"
+"    지정했거나 <옵션이름>을 사용하지 않으면 실패를 반환합니다."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -4272,45 +5291,63 @@ msgid ""
 "      -v var\tassign the output to shell variable VAR rather than\n"
 "    \t\tdisplay it on the standard output\n"
 "    \n"
-"    FORMAT is a character string which contains three types of objects: "
-"plain\n"
-"    characters, which are simply copied to standard output; character "
-"escape\n"
+"    FORMAT is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output; character escape\n"
 "    sequences, which are converted and copied to the standard output; and\n"
-"    format specifications, each of which causes printing of the next "
-"successive\n"
+"    format specifications, each of which causes printing of the next successive\n"
 "    argument.\n"
 "    \n"
-"    In addition to the standard format specifications described in "
-"printf(1),\n"
+"    In addition to the standard format specifications described in printf(1),\n"
 "    printf interprets:\n"
 "    \n"
 "      %b\texpand backslash escape sequences in the corresponding argument\n"
 "      %q\tquote the argument in a way that can be reused as shell input\n"
-"      %(fmt)T\toutput the date-time string resulting from using FMT as a "
-"format\n"
+"      %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"
 "    \t        string for strftime(3)\n"
 "    \n"
 "    The format is re-used as necessary to consume all of the arguments.  If\n"
 "    there are fewer arguments than the format requires,  extra format\n"
-"    specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+"    specifications behave as if a zero value or null string, as appropriate,\n"
 "    had been supplied.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is given or a write or "
-"assignment\n"
+"    Returns success unless an invalid option is given or a write or assignment\n"
 "    error occurs."
 msgstr ""
+"<형식>에 따라 <인자>를 구성하고 출력합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -v <변수>\t표준 출력에 나타내는 대신 셸 <변수>에 할당합니다.\n"
+"    \n"
+"    <형식>은 세가지 형식의 객체가 들어간 문자열입니다. 표준 출력에 그냥\n"
+"    복사하는 일반 문자, 표준 출력에 변환하여 복사하는 문자 이스케이핑 시퀀스,\n"
+"    그리고 다음 뒤따라오는 인자를 형식에 맞춰 출력하는 형식 지정자가 바로\n"
+"    세가지 형식 입니다.\n"
+"    \n"
+"    게다가 printf(1)에 표준 형식 지정자에서 printf는 다음과 같이 해석합니다:\n"
+"    \n"
+"      %b\t관련 인자의 백슬래시 이스케이프 시퀀스를 확장합니다\n"
+"      %q\t셸 입력으로 다시 사용할 수 있도록 변수를 따옴표 처리합니다\n"
+"      %Q\t%q와 비슷하지만, 따옴표 처리하기 전의 인자에 정빌도를 적용합니다\n"
+"      %(fmt)T\tstrftime(3)의 형식 문자열로 <형식>을 사용하도록 날짜-시간\n"
+"    \t        문자열을 출력합니다\n"
+"    \n"
+"    형식은 모든 인자에 대해 필요한대로 재활용합니다. 필요한 형식보다\n"
+"    적은 인자를 지정했다면,  추가 형식 지정 부분에 대해 적당하게 널 문자열\n"
+"    이 들어간 것처럼 처리해줍니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 설정했거나 기록, 할당 오류가 나타나지 않으면 성공을\n"
+"    반환합니다."
 
-#: builtins.c:1971
+#: 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"
-"    are supplied, existing completion specifications are printed in a way "
-"that\n"
+"    For each NAME, specify how arguments are to be completed.  If no options\n"
+"    are supplied, existing completion specifications are printed in a way that\n"
 "    allows them to be reused as input.\n"
 "    \n"
 "    Options:\n"
@@ -4325,38 +5362,61 @@ 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 ""
+"readline에서 인자를 어떻게 완성 처리할 지 지정합니다.\n"
+"    \n"
+"    각 <이름>에 대해 인자를 어떻게 완성할 지 지정합니다.  옵션을 지정하지\n"
+"    않으면, 입력할 때 다시 활용할 수 있게 하는 방식으로 기존 완성 명세를\n"
+"    출력합니다.\n"
+"    \n"
+"    옵션:\n"
+"      -p\t기존 완성 명세를 재사용 형식으로 출력합니다\n"
+"      -r\t각 <이름>별 완성 명세를 제거하거나, <이름>을 지정하지 않았다면\n"
+"    \t\t모든 완성 명세를 제거합니다\n"
+"      -D\t어떤 개별 완성 명세 없이 명령에 대해 기본 완성 명세와 동작을\n"
+"    \t\t적용합니다\n"
+"      -E\t\"빈\" 명령에 대해 완성 명세와 동작을 적용합니다 -- 빈 줄 상태에서\n"
+"    \t\t완성 동작을 시도합니다\n"
+"      -I\t초기 단어(보통 명령) 완성 명세와 동작을 적용합니다\n"
+"    \n"
+"    완성 동작을 시도할 때 상단에 대문자 옵션 순서대로 동작을 적용합니다. 여러\n"
+"    옵션을 지정하면 -D 옵션은 -E 옵션보다 우선하며, 두 옵션은 -I 옵션보다\n"
+"    우선합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 지정했거나 오류가 발생하지 않으면 성공을 반환합니다."
 
-#: builtins.c:2001
+#: 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 supplied, matches "
-"against\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 ""
+"옵션에 따라 가능한 완성 명세를 표시합니다.\n"
+"    \n"
+"    가능한 완성 명세를 만드는 셸 함수에서 사용하도록 의도했습니다.\n"
+"    추가 <단어> 인자를 지정하면, <단어>에 일치하는 항목을 만듭니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    적절한 옵션을 지정했거나 오류가 없으면 성공을 반환합니다."
 
-#: builtins.c:2016
+#: 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"
@@ -4378,27 +5438,46 @@ msgid ""
 "    Returns success unless an invalid option is supplied or NAME does not\n"
 "    have a completion specification defined."
 msgstr ""
+"자동 완성 옵션을 수정하거나 표시합니다.\n"
+"\n"
+"    각 <이름> 별로 자동 완성 옵션을 수정하거나, 지정 <이름>이 없다면,\n"
+"    현재 실행하는 명령의 자동완성 옵션을 수정합니다.  주어진 <옵션>이 없다면\n"
+"    각 <이름> 별 자동 완성 옵션을 출력하거나 현재 자동 완성 명세를 출력합니다.\n"
+"    \n"
+"    옵션:\n"
+"    \t-o <옵션>\t각 <이름>별 <옵션>을 설정합니다\n"
+"    \t-D\t\t\"기본\"  명령 자동 완성 옵션을 바꿉니다\n"
+"    \t-E\t\t\"빈\" 명령 자동 완성 옵션을 바꿉니다\n"
+"    \t-I\t\t초기 단어의 자동 완성 옵션을 바꿉니다\n"
+"    \n"
+"    지정 옵션을 끄는 `-o' 대신 `+o'를 사용하십시오.\n"
+"    \n"
+"    인자:\n"
+"    \n"
+"    각 <이름>은 `complete' 내장 명령으로 앞서 지정해야 하는 자동 완성\n"
+"    명세 명령을 참조합니다. <이름>이 없다면 현재 자동 완성 규칙을 생성하는\n"
+"    compopt를 호출해야 하며, 현재 실행하는 자동 완성 생성자의 옵션도\n"
+"    역시 마찬가지로 수정해야합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    부적절한 옵션을 지정하지 않았거나 <이름>에 자동 완성 명세를 지정했다면\n"
+"    성공을 반환합니다."
 
-#: builtins.c:2047
+#: 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"
@@ -4411,17 +5490,47 @@ msgid ""
 "    element to be assigned and the line to be assigned to that element\n"
 "    as additional arguments.\n"
 "    \n"
-"    If not supplied with an explicit origin, mapfile will clear ARRAY "
-"before\n"
+"    If not supplied with an explicit origin, mapfile will clear ARRAY before\n"
 "    assigning to it.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is given or ARRAY is readonly "
-"or\n"
+"    Returns success unless an invalid option is given or ARRAY is readonly or\n"
 "    not an indexed array."
 msgstr ""
+"표준 입력을 읽어 색인 배열 변수에 대입합니다.\n"
+"    \n"
+"    표준 입력에서 행을 읽어 색인 <배열> 변수에 넣거나 -u 옵션을 지정하여\n"
+"    <파일서술자>에서 행을 읽어 색인 <배열> 변수에 넣습니다.  <매핑파일>\n"
+"    변수는 기본적으로 <배열> 취급합니다.\n"
+"    \n"
+"    옵션:\n"
+"    -d <구분자>\t개행 문자 대신 <구분자>로 행을 끊습니다.\n"
+"    -n <갯수>\t\t<갯수>만큼 행을 읽습니다. <갯수> 값이 0이면\n"
+"            \t\t 모든 행을 복사합니다.\n"
+"    -O <시작>\t\t<시작> 인덱스에 <배열> 할당을 시작합니다.\n"
+"            \t\t기본 인덱스는 0 입니다.\n"
+"    -s <갯수>\t\t처음 <갯수>만큼 읽은 행을 무시합니다\n"
+"    -t\t\t읽은 각 행 끝에 뒤다라오는 <구분자>를 제거합니다\n"
+"           \t\t(기본 값은 개행 문자)\n"
+"    -u <파일서술자>\t표준 입력 대신 <파일서술자>에서 행을 읽습니다\n"
+"    -C <콜백>\t\t<양자> 행을 읽을 때마다 실행할 <콜백> 입니다\n"
+"    -c <양자>\t\t<콜백>을 실행할 때마다 읽을 행 갯수를 지정합니다\n"
+"    \n"
+"    인자:\n"
+"      <배열>\t파일 데이터에 활용할 배열 변수 이름\n"
+"    \n"
+"    -c 옵션 없이 -C를 지정하면, 기본 양자 수는 5000입니다.  <콜백>을\n"
+"    실행하면, 다음 배열 요소의 색인 번호를 할당하고, 해당 요소에 할당할 행을\n"
+"    추가 인자로 지정합니다.\n"
+"    \n"
+"    <시작> 색인 번호를 제대로 지정하지 않으면, mapfile에서 <배열>에\n"
+"    할당하기 전에 <배열>값을 삭제합니다.\n"
+"    \n"
+"    종료 상태:\n"
+"    부적절한 옵션을 주지 않았거나 <배열>을 읽기 전용으로 두지 않았거나\n"
+"    색인 배열로 올바르게 지정했다면 성공을 반환합니다."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -4430,18 +5539,3 @@ msgstr ""
 "파일에서 줄을 읽어 배열 변수에 넣습니다.\n"
 "    \n"
 "    `mapfile'의 동의어."
-
-#~ msgid ""
-#~ "Returns the context of the current subroutine call.\n"
-#~ "    \n"
-#~ "    Without EXPR, returns "
-#~ msgstr ""
-#~ "현재 서브루틴 콜의 컨텍스트를 반환합니다.\n"
-#~ "    \n"
-#~ "    EXPR이 없으면, 다음을 반환 "
-
-#~ msgid "add_process: process %5ld (%s) in the_pipeline"
-#~ msgstr "add_process: 프로세스 %5ld (%s) 는 the_pipeline에 있음"
-
-#~ msgid "Unknown Signal #"
-#~ msgstr "알 수 없는 신호 #"
index 894af69262b9e18e2562732855c4b1434784c419..8d59f1d2d005776494227ca472a7022f0747d685 100644 (file)
Binary files a/po/nb.gmo and b/po/nb.gmo differ
index cdeff4d168da93dbcecf66c4e9fcd76e6ac774de..1a2da59c449c41b0e78b3ea9c9c25c703eff626a 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -1,82 +1,78 @@
 # Norwegian (bokmål) translation of GNU Bash
 # Copyright (C) 2019 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
+# Johnny A. Solbu <johnny@solbu.net>, 2022.
 # Åka Sikrom <a4@hush.com>, 2015-2019.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash-5.0\n"
+"Project-Id-Version: bash-5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2019-01-08 19:40+0100\n"
-"Last-Translator: Åka Sikrom <a4@hush.com>\n"
-"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-07-03 20:40+0200\n"
+"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
+"Language-Team: Norwegian Bokmaal <l10n-no@lister.huftis.org>\n"
 "Language: nb\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.0.6\n"
+"X-Generator: Poedit 2.2.3\n"
 
 #: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "feil i tabell-underskript"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: fjerner navnref-egenskap"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: indeksert tabell kan ikke konverteres til assosiativ tabell"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: ugyldig nøkkel for assosiativ tabell"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: kan ikke tildeles ikke-numerisk indeks"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: underskript må brukes ved tildeling av assosiative tabeller"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: klarte ikke å opprette: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: fant ikke tastaturoppsett for kommando"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: første ikke-blanktegn må være «\"»"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "avsluttende «%c» mangler i %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: kolon-skilletegn mangler"
 
-#: bashline.c:4555
-#, fuzzy, c-format
+#: bashline.c:4733
+#, c-format
 msgid "`%s': cannot unbind in command keymap"
-msgstr "«%s»: klarte ikke å fjerne tildeling"
+msgstr "«%s»: kan ikke oppheve bindingen i kommandotastaturet"
 
 #: braces.c:327
 #, c-format
@@ -93,7 +89,7 @@ msgstr "brace-utvidelse: klarte ikke å tildele minne for %u elementer"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "brace-utvidelse: klarte ikke å tildele minne for «%s»"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "«%s»: ugyldig alias"
@@ -125,7 +121,7 @@ msgstr "%s er ikke tilknyttet en knapp.\n"
 #: builtins/bind.def:340
 #, c-format
 msgid "%s can be invoked via "
-msgstr "%s kan startes via"
+msgstr "%s kan startes via "
 
 #: builtins/bind.def:378 builtins/bind.def:395
 #, c-format
@@ -141,7 +137,6 @@ msgid "only meaningful in a `for', `while', or `until' loop"
 msgstr "gir bare mening i «for»-, «while»- og «until»-sløyfer"
 
 #: builtins/caller.def:136
-#, fuzzy
 msgid ""
 "Returns the context of the current subroutine call.\n"
 "    \n"
@@ -153,24 +148,18 @@ msgid ""
 "    current one; the top frame is frame 0."
 msgstr ""
 "Vis konteksten for gjeldende underrutine-kall.\n"
-"    \n"
-"    Hvis UTTRykk ikke er valgt, vises «$line $filename».  Med UTTRykk vises\n"
-"    «$line $subroutine $filename». Denne ekstrainformasjonen kan brukes\n"
-"    til stabelsporing.\n"
-"    \n"
-"    Verdien av UTTRykk viser hvor mange kall-rammer programmet skal bevege "
-"seg\n"
-"    gjennom tilbake fra gjeldende ramme. Øverste ramme er 0.\n"
-"    \n"
-"    Avslutningsstatus:\n"
-"    Status er 0, med mindre skallet ikke kjører en skallfunksjon eller\n"
-"    valgt UTTRykk er ugyldig."
+" Uten EXPR, returnerer \"$line $filnavn\". Med EXPR, returnerer\n"
+"     \"$line $subrutine $filename denne ekstra informasjonen kan brukes til å\n"
+"     gi en stabelsporing.\n"
+"     \n"
+"     Verdien til EXPR indikerer hvor mange anropsrammer som skal gå tilbake før\n"
+"     nåværende; topprammen er ramme 0."
 
 #: builtins/cd.def:327
 msgid "HOME not set"
 msgstr "HOME har ingen verdi"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "for mange argumenter"
 
@@ -190,14 +179,14 @@ msgstr "linje %d: "
 #: builtins/common.c:134 error.c:264
 #, c-format
 msgid "warning: "
-msgstr "advarsel:"
+msgstr "advarsel: "
 
 #: builtins/common.c:148
 #, c-format
 msgid "%s: usage: "
 msgstr "%s: bruk: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: valget krever et argument"
@@ -212,7 +201,7 @@ msgstr "%s: valget krever et tall-argument"
 msgid "%s: not found"
 msgstr "fant ikke %s"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: ugyldig valg"
@@ -222,7 +211,7 @@ msgstr "%s: ugyldig valg"
 msgid "%s: invalid option name"
 msgstr "%s: ugyldig valgnavn"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "«%s»: ugyldig navn"
@@ -235,7 +224,7 @@ msgstr "ugyldig oktal-tall"
 msgid "invalid hex number"
 msgstr "ugldig heksadesimalt tall"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "ugyldig tall"
 
@@ -249,88 +238,93 @@ msgstr "%s: ugyldig signalspesifikasjon"
 msgid "`%s': not a pid or valid job spec"
 msgstr "«%s» er hverken hverken et PID eller en gyldig jobbspesifikasjon"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: skrivebeskyttet variabel"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: kan ikke tildele"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s er utenfor rekkevidde"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s er utenfor rekkevidde"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: jobben finnes ikke"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: ingen jobbkontroll"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "ingen jobbkontroll"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: begrenset"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "begrenset"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: ikke innebygd i skall"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "skrivefeil: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "feil under endring av terminal-egenskaper: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "feil under henting av terminal-egenskaper: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: feil under henting av gjeldende mappe: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: flertydig jobbspesifikasjon"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "hjelp er ikke tilgjengelig for denne versjonen"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: klarte ikke å fjerne verdi fra skrivebeskyttet %s"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: klarte ikke å fjerne verdi"
@@ -340,108 +334,108 @@ msgstr "%s: klarte ikke å fjerne verdi"
 msgid "%s: invalid action name"
 msgstr "%s: ugyldig handlingsnavn"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: ingen spesifikasjon for fullføring"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "advarsel: valget «-F» virker kanskje ikke slik du forventer"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "advarsel: valget «-C» virker kanskje ikke slik du forventer"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "fullføringsfunksjon kjøres ikke nå"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "kan bare brukes i funksjoner"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "valget«-f» kan ikke brukes til å lage funksjoner"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: skrivebeskyttet funksjon"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: referansevariabler kan ikke være tabeller (arrays)"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: navnref.-variabler kan ikke referere til seg selv"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: sirkulær navnreferanse"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "«%s»: ugyldig variabelnavn for navnreferanse"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "valget«-f» kan ikke brukes til å lage funksjoner"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: skrivebeskyttet funksjon"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: sammensatt tabell-tideling i hermetegn er utgått"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: tabellvariabler kan ikke ødelegges på denne måten"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: assosiative tabeller kan ikke konverteres til indekserte tabeller"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: sammensatt tabell-tideling i hermetegn er utgått"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "dynamisk innlasting er ikke tilgjengelig"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "klarte ikke å åpne delt objekt %s: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "fant ikke %s i delt objekt %s: %s"
 
-#: builtins/enable.def:388
-#, fuzzy, c-format
+#: builtins/enable.def:422
+#, c-format
 msgid "%s: dynamic builtin already loaded"
-msgstr "%s: ikke dynamisk innlastet"
+msgstr "%s: dynamisk innebygd allerede lastet"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "innlastingsfunksjon for %s førte til feilkode (%d). Ikke lastet inn"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: ikke dynamisk innlastet"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: klarte ikke å slette: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: er en mappe"
@@ -456,7 +450,7 @@ msgstr "%s: ikke en vanlig fil"
 msgid "%s: file is too large"
 msgstr "%s: fila er for stor"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: klarte ikke å kjøre binærfil"
@@ -543,21 +537,20 @@ msgid ""
 "'\n"
 "\n"
 msgstr ""
+"'\n"
+"\n"
 
 #: builtins/help.def:185
 #, c-format
-msgid ""
-"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"ingen hjelpeemner samsvarer med «%s».  Prøv «help help», «man -k %s» eller "
-"«info %s»."
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgstr "ingen hjelpeemner samsvarer med «%s».  Prøv «help help», «man -k %s» eller «info %s»."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: klarte ikke å åpne: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -568,32 +561,29 @@ msgid ""
 "A star (*) next to a name means that the command is disabled.\n"
 "\n"
 msgstr ""
-"Disse skallkommandoene er internt definert. Skriv «help» for å se denne "
-"lista.\n"
+"Disse skallkommandoene er internt definert. Skriv «help» for å se denne lista.\n"
 "Skriv «help name» for å finne ut mer om funksjonen «name».\n"
 "Bruk «info bash» for å finne generell info om skallet.\n"
-"Bruk «man -k» eller «info» for å finne ut mer om kommandoer som ikke er på "
-"denne lista.\n"
+"Bruk «man -k» eller «info» for å finne ut mer om kommandoer som ikke er på denne lista.\n"
 "\n"
-"Stjerne (*) ved siden av et kommandonavn betyr at gjeldende kommando er "
-"slått av.\n"
+"Stjerne (*) ved siden av et kommandonavn betyr at gjeldende kommando er slått av.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "du kan ikke bruke flere enn ett av valgene -anrw på én gang"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "historikkposisjon"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: ugyldig tidsstempel"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: historikk-utvidelse mislyktes"
@@ -616,78 +606,78 @@ msgstr "%s: argumenter må være prosess- eller jobb-ID-er"
 msgid "Unknown error"
 msgstr "Ukjent feil"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "forventet uttrykk"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: ikke en indeksert tabell"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: ugyldig spesifikasjon av fildeskriptor"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: ugyldig fildeskriptor: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: ugyldig linjeantall"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: ugyldig tabellopphav"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: ugyldig tilbakekallsmengde"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "tomt navn på tabellvariabel"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "støtte for tabellvariabler kreves"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "«%s»: formattegn mangler"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "«%c»: ugyldig spesifikasjon av tidsformat"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "«%c»: ugyldig formattegn"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "advarsel: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "problem med tolkning av format: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "heks-siffer mangler for \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "unicode-siffer mangler for  \\%c"
@@ -728,12 +718,10 @@ msgid ""
 "    \twith its position in the stack\n"
 "    \n"
 "    Arguments:\n"
-"      +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+"      +N\tDisplays the Nth entry counting from the left of the list shown by\n"
 "    \tdirs when invoked without options, starting with zero.\n"
 "    \n"
-"      -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+"      -N\tDisplays the Nth entry counting from the right of the list shown by\n"
 "\tdirs when invoked without options, starting with zero."
 msgstr ""
 "Vis liste over mapper som blir husket. Mapper\n"
@@ -820,8 +808,7 @@ msgid ""
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
 "Fjerner mapper fra mappestabelen. Hvis ingen argumenter brukes,\n"
-"    fjerner programmet øverste mappe fra stabelen og bytter til det som "
-"deretter er øverste mappe.\n"
+"    fjerner programmet øverste mappe fra stabelen og bytter til det som deretter er øverste mappe.\n"
 "    \n"
 "    Valg:\n"
 "      -n\tLar være å bytte mappe når mapper fjernes fra stabelen,\n"
@@ -838,12 +825,12 @@ msgstr ""
 "    \n"
 "    Den innebygde funksjonen «dirs» viser mappestabelen."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: ugyldig spesifikasjon av tidsavbrudd"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "lesefeil: %d: %s"
@@ -854,11 +841,9 @@ msgstr "du kan bare «return» fra en funksjon eller kildeskript"
 
 #: builtins/set.def:869
 msgid "cannot simultaneously unset a function and a variable"
-msgstr ""
-"du kan ikke utføre «unset» (tømme både en funksjon og en variabel for "
-"verdier) samtidig"
+msgstr "du kan ikke utføre «unset» (tømme både en funksjon og en variabel for verdier) samtidig"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: ikke en tabellvariabel"
@@ -877,11 +862,11 @@ msgstr "%s: klarte ikke å eksportere"
 msgid "shift count"
 msgstr "shift-antall"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "du kan ikke både definere og fjerne skallvalg samtidig"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: ugyldig navn på skallvalg"
@@ -948,16 +933,16 @@ msgstr "%s: ugyldig grenseargument"
 msgid "`%c': bad command"
 msgstr "«%c»: ugyldig kommando"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: klarte ikke å hente grense: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "grense"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: klarte ikke å endre grense: %s"
@@ -976,7 +961,7 @@ msgstr "«%c»: ugyldig symbolsk modus-operatør"
 msgid "`%c': invalid symbolic mode character"
 msgstr "«%c»: ugyldig symbolsk modustegn"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " linje "
 
@@ -988,7 +973,7 @@ msgstr "forrige kommando: %s\n"
 #: error.c:172
 #, c-format
 msgid "Aborting..."
-msgstr "Abryter …"
+msgstr "Avbryter …"
 
 #. TRANSLATORS: this is a prefix for informational messages.
 #: error.c:287
@@ -996,96 +981,106 @@ msgstr "Abryter …"
 msgid "INFORM: "
 msgstr "INFORM: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "DEBUG-advarsel: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "ukjent kommandofeil"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "ugyldig kommandotype"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "ugyldig tilkobling"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "ugyldig hopp"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: utildelt variabel"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\atidsavbrudd for inndata: auto-utlogging\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "klarte ikke å videresende standard inndata fra «/dev/null». %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: «%c» er et ugyldig formattegn"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: coproc [%d:%s] finnes fremdeles"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "datarør-feil"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: grensa for nivåer av eval-funksjoner (%d) er overskredet"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: grensa for nivåer av kilder i kilder (%d) er overskredet"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: grensa for nivåer av funksjoner i funksjoner (%d) er overskredet"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: ikke tillatt: kommandonavn kan ikke inneholde «/»"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "fant ikke kommando %s"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: kan ikke kjøres: den nødvendige filen ble ikke funnet"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: ugyldig tolk"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: klarte ikke å kjøre binærfil: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "«%s» er en innebygd spesialfunksjon"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "klarte ikke å duplisere fd %d til fd %d"
@@ -1098,69 +1093,68 @@ msgstr "grensa for rekursjonsnivåer i uttrykk er overskredet"
 msgid "recursion stack underflow"
 msgstr "rekursjonsstabelen er tom"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "uttrykk inneholder syntaksfeil"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "du forsøkte å tilordne en verdi til noe som ikke er en variabel"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "variabeltildeling inneholder syntaksfeil"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "forsøkte å dele på 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "programfeil: ugyldig expassign-symbol"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "forventet «:» for betinget uttrykk"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "eksponent er lavere enn 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "forventet identifikator etter pre-økning eller pre-forminskelse"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "mangler «)»"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "syntaksfeil: forventet operand"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "syntaksfeil: ugyldig aritmetisk operatør"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (feilaktig symbol er «%s»)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "ugyldig aritmetisk grunntall"
 
-#: expr.c:1582
-#, fuzzy
+#: expr.c:1587
 msgid "invalid integer constant"
-msgstr "%s: ugyldig linjeantall"
+msgstr "ugyldig heltallskonstant"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "verdien er for høy for grunntallet"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: feil i uttrykk\n"
@@ -1169,7 +1163,7 @@ msgstr "%s: feil i uttrykk\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: fikk ikke tilgang til foreldermapper"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "klarte ikke å tilbakestille nodelay-modus for fd %d"
@@ -1188,167 +1182,167 @@ msgstr "save_bash_input: mellomlager for ny fd %d finnes allerede"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp-datarør"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
-msgstr ""
+msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
-msgstr ""
+msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "kopiert pid %d finnes i kjørende jobb %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "sletter ventende bakgrunnsjobb %d med prosessgruppe %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: markert PID %5ld (%s) som levende"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: pid-en finnes ikke"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Signal %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Ferdig"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Venter"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Venter(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Kjører"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Ferdig(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Avsluttet %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Ukjent status"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(kjerne lagret i fil) "
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "underprosess setpgid (%ld til %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld er ikke en underprosess av dette skallet"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: Ingen kjennskap til prosess %ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: prosess %d venter"
 
-#: jobs.c:3564
-#, fuzzy, c-format
+#: jobs.c:3551
+#, c-format
 msgid "%s: no current jobs"
-msgstr "%s: jobben finnes ikke"
+msgstr "%s: ingen aktuelle jobber"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: jobben er avsluttet"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: jobb %d kjører allerede i bakgrunnen"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: slår på WNOHANG for å unngå kronisk blokkering"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: linje %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (kjerne lagret i fil)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(wd nå: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp mislyktes"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: ingen jobbkontroll i bakgrunn"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: linjeregler"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "klarte ikke å velge terminal-prosessgruppe (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "ingen jobbkontroll i dette skallet"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: mislykket premiss: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1357,49 +1351,47 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: urimelig premiss\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "ukjent"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: rotete blokk på befrielsesliste"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: ble bedt om å behandle blokk som allerede er ledig"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: ble bedt om å behandle blokk som ikke er tildelt"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: tomt. mh_nbytes er utenfor rekkevidde"
 
-#: lib/malloc/malloc.c:1001
-#, fuzzy
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
-msgstr "free: tomt. mh_nbytes er utenfor rekkevidde"
+msgstr "fri: underflyt oppdaget; magic8 er skadet"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: start- og sluttdel er av ulik størrelse"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: ble bedt om å behandle blokk som ikke er tildelt"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: tomt. mh_nbytes er utenfor rekkevidde"
 
-#: lib/malloc/malloc.c:1141
-#, fuzzy
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
-msgstr "realloc: tomt. mh_nbytes er utenfor rekkevidde"
+msgstr "realloc: underflyt oppdaget; magic8 er skadet"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: start- og sluttdel er av ulik størrelse"
 
@@ -1441,22 +1433,22 @@ msgstr "%s: ugyldig spesifikasjon av nettverkssti"
 msgid "network operations not supported"
 msgstr "nettverkshandlinger støttes ikke"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: klarte ikke å bytte region (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: klarte ikke å bytte region (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: klarte ikke å bytte region (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: klarte ikke å bytte region (%s): %s"
@@ -1474,141 +1466,136 @@ msgstr "Du har ny e-post i $_"
 msgid "The mail in %s has been read\n"
 msgstr "Posten i %s er lest\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "syntaksfeil: aritmetisk uttrykk kreves"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "syntaksfeil: uforventet «;»"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "syntaksfeil: «((%s))»"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: %d er en ugyldig instrukstype"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "here-dokument ved linje %d adskilt av slutt på fil (forventet «%s»)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-"make_redirection: videresendinginstruks «%d» er utenfor tillatt rekkevidde"
+msgstr "make_redirection: videresendinginstruks «%d» er utenfor tillatt rekkevidde"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: «shell_input_line_size» (%zu) overskrider SIZE_MAX (%lu): linja "
-"er forkortet"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: «shell_input_line_size» (%zu) overskrider SIZE_MAX (%lu): linja er forkortet"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "grensa for maksimalt antall here-dokumenter er overskredet"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "uforventet slutt på fil (EOF) under søk etter «%c»"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "uforventet slutt på fil (EOF) under søk etter «]]»"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "syntaksfeil i betinget uttrykk: forventet ikke symbolet «%s»"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "syntaksfeil i betinget uttrykk"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "forventet ikke symbolet «%s», men «)»"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "forventet «)»"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "«%s» er et uforventet argument for betinget unær operatør"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "uforventet argument for betinget unær operatør"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "«%s» er et uforventet symbol. Forventet betinget binær operatør"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "forventet betinget binæroperatør"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "«%s» er et uforventet argument for betinget binæroperatør"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "uforventet argument for betinget binæroperatør"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "«%c» er et uforventet symbol i en betinget kommando"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "«%s» er et uforventet symbol i en betinget kommando"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "«%d» er et uforventet symbol i en betinget kommando"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "syntaksfeil ved «%s», som er et uforventet symbol"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "syntaksfeil ved «%s»"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "syntaksfeil: uforventet slutt på fil"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "syntaksfeil"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Bruk «%s» for å gå ut av skallet.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "uforventet slutt på fil (EOF) under søk etter «)»"
 
@@ -1646,94 +1633,94 @@ msgstr "xtrace_set: filpeker er NULL"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: «%c»: ugyldig formattegn"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "fildeskriptor er utenfor tillatt rekkevidde"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: flertydig videresending"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: klarte ikke å overskrive fil"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: ikke tillatt: klarte ikke å videresende utdata"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "klarte ikke å lage midlertidig fil for here-dokument: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: klarte ikke å knytte fd til variabel"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port støttes ikke uten nettverkstilkobling"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "videresendingsfeil: klarte ikke å duplisere fd"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "fant ikke «/tmp». Opprett denne mappa!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "«/tmp» må være et gyldig mappenavn"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "pen utskriftsmodus blir ignorert i interaktive skall"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: ugyldig valg"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "klarte ikke å velge %d som uid. Effektiv uid: %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "klarte ikke å velge %d som gid. Effektiv gid: %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "klarte ikke å starte feilsøkingsverktøy. Feilsøkingsmodus slått av"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: er en mappe"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Jeg manger navn!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, versjon %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1742,323 +1729,317 @@ msgstr ""
 "Bruk:\t%s [langt GNU-valg] [valg] …\n"
 "\t%s [langt GNU-valg] [valg] skriptfil …\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Lange GNU-valg:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Skallvalg:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr ""
-"\t«-ilrsD»,  «-c kommando» eller «-O kortvalg_valg»\t\t(kun programkall)\n"
+msgstr "\t«-ilrsD»,  «-c kommando» eller «-O kortvalg_valg»\t\t(kun programkall)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t«-%s» eller «-o»\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Skriv «%s -c \"help set\"» for mer informasjon om skallvalg.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "Skriv «%s -c help» for mer informasjon om innebygde skallkommandoer.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Bruk kommandoen «bashbug» for å rapportere programfeil.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "bash-nettside: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
-"Generell hjelp til bruk av GNU-programvare: <http://www.gnu.org/gethelp/>\n"
+msgstr "Generell hjelp til bruk av GNU-programvare: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: ugyldig handling"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Ugyldig signal"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Legg på"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Forstyrr"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Avslutt"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Ugyldig instruks"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "BPT-sporing/-fanging"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "ABORT-instruks"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "EMT-instruks"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Flyttallsfeil"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Drept"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Bussfeil"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Segmenteringsfeil"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Ugyldig systemkall"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Ødelagt datarør"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Alarmklokke"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Avsluttet"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Hastende IO-tilstand"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Stoppet (signal)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Fortsett"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Død eller stans av underprosess"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Stoppet (tty-inndata)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Stoppet (tty-utdata)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "I/O klar"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "CPU-grense"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Filgrense"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Alarm (virtuell)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Alarm (profil)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Vindu endret"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Husk lås"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Brukersignal 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Brukersignal 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "HFT-inndata venter"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "strømstans er nærliggende"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "systemkræsj er nærliggende"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "flytt prosess til annen CPU"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "programmeringsfeil"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "HFT-skjermmodus tildelt"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "HFT-skjermmodus tilbaketrukket"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "HFT-lydsekvens er fullført"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Informasjonsforespørsel"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "#%d er et ukjent signal"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "ugyldig substitutt: %2$s mangler avsluttende «%1$s»"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: klarte ikke å knytte liste til tabellmedlem"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "klarte ikke å lage datarør for substitusjon av prosess"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "klarte ikke å lage underprosess for substitusjon av prosess"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "klarte ikke å åpne navngitt datarør %s for lesing"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "klarte ikke å åpne navngitt datarør %s for skriving"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "klarte ikke å duplisere navngitt datarør %s som fd %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "kommandosubstitusjon: null-byte i inndata ignorert"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "klarte ikke å lage datarør for substitusjon av kommando"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "klarte ikke å lage underprosess for substitusjon av kommando"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: klarte ikke å duplisere datarør som fd 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: ugyldig variabelnavn for navnreferanse"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: ugyldig indirekte utvidelse"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: ugyldig variabelnavn"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parameter har ingen verdi"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parameter har null-verdi eller står tomt"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: understreng-uttrykk < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: ugyldig substitusjon"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: du kan ikke tildele på denne måten"
 
-#: subst.c:9814
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"fremtidige versjoner av skallet skal tvinge evaluering som en aritmetisk "
-"substitusjon"
+#: subst.c:10111
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "fremtidige versjoner av skallet skal tvinge evaluering som en aritmetisk substitusjon"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "ugyldig substitusjon. %s mangler avsluttende «`»"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "ingen treff på %s"
@@ -2081,137 +2062,131 @@ msgstr "forventet «)»"
 msgid "`)' expected, found %s"
 msgstr "forventet «)», men fant %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: forventet binær operatør"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: forventet unær operatør"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "«]» mangler"
 
-#: test.c:899
-#, fuzzy, c-format
+#: test.c:914
+#, c-format
 msgid "syntax error: `%s' unexpected"
-msgstr "syntaksfeil: uforventet «;»"
+msgstr "syntaksfeil: uforventet «%s»"
 
 #: trap.c:220
 msgid "invalid signal number"
 msgstr "ugyldig signalnummer"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
-msgstr ""
-"fellehåndtering: øvre grense for fellehåndteringsnivå (%d) er overskredet"
+msgstr "fellehåndtering: øvre grense for fellehåndteringsnivå (%d) er overskredet"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: ugyldig verdi i «trap_list[%d]»: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: SIG_DFL er signalbehandler. Sender %d (%s) til meg selv "
-"på nytt"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: SIG_DFL er signalbehandler. Sender %d (%s) til meg selv på nytt"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: %d er et ugyldig signal"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "feil under importering av definisjonen av funksjonen «%s»"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "skallnivået (%d) er for høyt. Tilbakestiller til 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: ingen funksjonskontekst i gjeldende virkefelt"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: variabel kan ikke tilknyttes verdi"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: kan ikke arve verdi fra inkompatibel type"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: knytter heltall til navnreferanse"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: ingen funksjonskontekst i gjeldende virkefelt"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s har exportstr som er null"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "%d er et ugyldig tegn i exportstr for %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "exportstr for %s mangler «=»"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
-"pop_var_context: toppen av «shell_variables» er ikke en funksjonskontekst"
+msgstr "pop_var_context: toppen av «shell_variables» er ikke en funksjonskontekst"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: kontekst for «global_variables» mangler"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-"pop_scope: toppen av «shell_variables» er ikke et midlertidig miljøfelt"
+msgstr "pop_scope: toppen av «shell_variables» er ikke et midlertidig miljøfelt"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: klarte ikke å åpne som FIL"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: ugyldig verdi for sporing av fildeskriptor"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: samspill-verdi er utenfor tillatt rekkevidde"
 
 #: version.c:46 version2.c:46
-#, fuzzy
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Opphavsrett (C) 2012 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Opphavsrett (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Lisens GPLv3+: GNU GPL versjon 3 eller nyere <http://gnu.org/licenses/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Lisens GPLv3+: GNU GPL versjon 3 eller nyere <http://gnu.org/licenses/gpl.html>\n"
 
 #: version.c:86 version2.c:86
 #, c-format
@@ -2220,13 +2195,11 @@ msgstr "GNU bash, versjon %s (%s)\n"
 
 #: version.c:91 version2.c:91
 msgid "This is free software; you are free to change and redistribute it."
-msgstr ""
-"Dette er fri programvare. Du står fritt til å endre og dele den videre."
+msgstr "Dette er fri programvare. Du står fritt til å endre og dele den videre."
 
 #: version.c:92 version2.c:92
 msgid "There is NO WARRANTY, to the extent permitted by law."
-msgstr ""
-"Det stilles INGEN GARANTI, i den grad dette tillates av gjeldende lovverk."
+msgstr "Det stilles INGEN GARANTI, i den grad dette tillates av gjeldende lovverk."
 
 #: xmalloc.c:93
 #, c-format
@@ -2257,13 +2230,8 @@ msgid "unalias [-a] name [name ...]"
 msgstr "unalias [-a] navn [navn …]"
 
 #: 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]"
-msgstr ""
-"bind [-lpsvPSVX] [-m tastaturoppsett] [-f filnavn] [-q navn] [-u navn] [-r "
-"knappesekv] [-x knappesekv:skallkommando] [knappesekv:readline-funksjon "
-"eller readline-kommando]"
+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 tastaturoppsett] [-f filnavn] [-q navn] [-u navn] [-r knappesekv] [-x knappesekv:skallkommando] [knappesekv:readline-funksjon eller readline-kommando]"
 
 #: builtins.c:56
 msgid "break [n]"
@@ -2294,14 +2262,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] command [arg …]"
 
 #: builtins.c:78
-#, fuzzy
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgilnrtux] [-p] [navn[=verdi] …]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [-p] [navn[=verdi] …] eller deklarer -p [-aAfFilnrtux] [navn ...]"
 
 #: builtins.c:80
-#, fuzzy
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgilnrtux] [-p] navn[=verdi] …"
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgilnrtux] [-p] navn[=verdi] … eller typesett -p [-aAfFilnrtux] [navn ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2324,14 +2290,12 @@ msgid "eval [arg ...]"
 msgstr "eval [arg …]"
 
 #: builtins.c:96
-#, fuzzy
 msgid "getopts optstring name [arg ...]"
-msgstr "getopts valgstreng navn [arg]"
+msgstr "getopts valgstreng navn [arg ...]"
 
 #: builtins.c:98
-#, fuzzy
 msgid "exec [-cl] [-a name] [command [argument ...]] [redirection ...]"
-msgstr "exec [-cl] [-a navn] [kommando [argumenter …]] [videresending …]"
+msgstr "exec [-cl] [-a navn] [kommando [argument …]] [videresending …]"
 
 #: builtins.c:100
 msgid "exit [n]"
@@ -2362,12 +2326,8 @@ msgid "help [-dms] [pattern ...]"
 msgstr "help [-dms] [mønster …]"
 
 #: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d posisjon] [n] eller history -anrw [filnavn] eller history -"
-"ps arg [arg …]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d posisjon] [n] eller history -anrw [filnavn] eller history -ps arg [arg …]"
 
 #: builtins.c:127
 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2378,32 +2338,24 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
 msgstr "disown [-h] [-ar] [jobbspes … | pid …]"
 
 #: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s sigspes | -n signum | -sigspes] pid | jobbspes … eller kill -l "
-"[sigspes]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s sigspes | -n signum | -sigspes] pid | jobbspes … eller kill -l [sigspes]"
 
 #: builtins.c:136
 msgid "let arg [arg ...]"
 msgstr "let arg [arg …]"
 
 #: builtins.c:138
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
-msgstr ""
-"read [-ers] [-a tabell] [-d adskill] [-i tekst] [-n ntegn] [-N ntegn] [-p "
-"ledetekst] [-t tidsavbrudd] [-u fd] [navn …]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr "read [-ers] [-a tabell] [-d adskill] [-i tekst] [-n ntegn] [-N ntegn] [-p ledetekst] [-t tidsavbrudd] [-u fd] [navn …]"
 
 #: builtins.c:140
 msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o valgnavn] [--] [arg …]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o valgnavn] [--] [arg …]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2450,17 +2402,16 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] navn [navn …]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [grense]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT [grense]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
 msgstr "umask [-p] [-S] [modus]"
 
 #: builtins.c:177
-#, fuzzy
 msgid "wait [-fn] [-p var] [id ...]"
-msgstr "wait [-fn] [id …]"
+msgstr "wait [-fn] [-p var] [id …]"
 
 #: builtins.c:181
 msgid "wait [pid ...]"
@@ -2487,20 +2438,16 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case ORD in [MØNSTER [| MØNSTER] …) KOMMANDOER ;;] … esac"
 
 #: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if KOMMANDOER; then KOMMANDOER; [ elif KOMMANDOER; then KOMMANDOER; ] … "
-"[ else KOMMANDOER; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if KOMMANDOER; then KOMMANDOER; [ elif KOMMANDOER; then KOMMANDOER; ] … [ else KOMMANDOER; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while KOMMANDOER; do KOMMANDOER; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while KOMMANDOER; do KOMMANDOER-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until KOMMANDOER; do KOMMANDOER; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until KOMMANDOER; do KOMMANDOER-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -2551,44 +2498,24 @@ msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v var] format [argumenter]"
 
 #: builtins.c:231
-#, fuzzy
-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 valg] [-A handling] [-G globpat] [-"
-"W ordliste]  [-F funksjon] [-C kommando] [-X filterpat] [-P prefiks] [-S "
-"suffiks] [navn …]"
+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 valg] [-A handling] [-G globpat] [-W ordliste] [-F funksjon] [-C kommando] [-X filterpat] [-P prefiks] [-S suffiks] [navn …]"
 
 #: builtins.c:235
-#, fuzzy
-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 valg] [-A handling] [-G globpat] [-W ordliste]  "
-"[-F funksjon] [-C kommando] [-X filtersti] [-P prefiks] [-S suffiks] [ord]"
+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 valg] [-A handling] [-G globpat] [-W ordliste] [-F funksjon] [-C kommando] [-X filtersti] [-P prefiks] [-S suffiks] [ord]"
 
 #: builtins.c:239
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
 msgstr "compopt [-o|+o valg] [-DEI] [navn …]"
 
 #: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d skilletegn] [-n antall] [-O opphav] [-s antall] [-t] [-u fd] [-C "
-"tilbakekall] [-c mengde] [tabell]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d skilletegn] [-n antall] [-O opphav] [-s antall] [-t] [-u fd] [-C tilbakekall] [-c mengde] [tabell]"
 
 #: builtins.c:244
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-d skilletegn] [-n antall] [-O opphav] [-s antall] [-t] [-u fd] [-"
-"C tilbakekall] [-c mengde] [tabell]"
+msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-d skilletegn] [-n antall] [-O opphav] [-s antall] [-t] [-u fd] [-C tilbakekall] [-c mengde] [tabell]"
 
 #: builtins.c:256
 msgid ""
@@ -2605,8 +2532,7 @@ msgid ""
 "      -p\tprint all defined aliases in a reusable format\n"
 "    \n"
 "    Exit Status:\n"
-"    alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+"    alias returns true unless a NAME is supplied for which no alias has been\n"
 "    defined."
 msgstr ""
 "Definer eller vis alias.\n"
@@ -2622,8 +2548,7 @@ msgstr ""
 "      -p\tSkriv ut alle definerte alias i brukbart format\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    alias avslutter med positiv verdi («true»), med mindre bruker skriver "
-"inn et NAVN\n"
+"    alias avslutter med positiv verdi («true»), med mindre bruker skriver inn et NAVN\n"
 "    som mangler definert alias."
 
 #: builtins.c:278
@@ -2640,8 +2565,7 @@ msgstr ""
 "    Valg:\n"
 "      -a\tfjern alle alias-definisjoner.\n"
 "    \n"
-"    Programmet avslutter som vellykket med mindre bruker velger et aliasNAVN "
-"som ikke finnes."
+"    Programmet avslutter som vellykket med mindre bruker velger et aliasNAVN som ikke finnes."
 
 #: builtins.c:291
 msgid ""
@@ -2655,30 +2579,25 @@ msgid ""
 "    Options:\n"
 "      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
 "                         command.  Acceptable keymap names are emacs,\n"
-"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
 "                         vi-command, and vi-insert.\n"
 "      -l                 List names of functions.\n"
 "      -P                 List function names and bindings.\n"
 "      -p                 List functions and bindings in a form that can be\n"
 "                         reused as input.\n"
-"      -S                 List key sequences that invoke macros and their "
-"values\n"
-"      -s                 List key sequences that invoke macros and their "
-"values\n"
+"      -S                 List key sequences that invoke macros and their values\n"
+"      -s                 List key sequences that invoke macros and their values\n"
 "                         in a form that can be reused as input.\n"
 "      -V                 List variable names and values\n"
 "      -v                 List variable names and values in a form that can\n"
 "                         be reused as input.\n"
 "      -q  function-name  Query about which keys invoke the named function.\n"
-"      -u  function-name  Unbind all keys which are bound to the named "
-"function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named function.\n"
 "      -r  keyseq         Remove the binding for KEYSEQ.\n"
 "      -f  filename       Read key bindings from FILENAME.\n"
 "      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
 "    \t\t\t\tKEYSEQ is entered.\n"
-"      -X                 List key sequences bound with -x and associated "
-"commands\n"
+"      -X                 List key sequences bound with -x and associated commands\n"
 "                         in a form that can be reused as input.\n"
 "    \n"
 "    Exit Status:\n"
@@ -2686,45 +2605,35 @@ msgid ""
 msgstr ""
 "Velg hurtigtaster og variabler for Readline.\n"
 "    \n"
-"    Knytt en knappekombinasjon til en Readline-funksjon eller makro, eller "
-"gi\n"
-"    verdi til en Readline-variabel. Argumentsyntaksen tilsvarer det som "
-"finnes\n"
+"    Knytt en knappekombinasjon til en Readline-funksjon eller makro, eller gi\n"
+"    verdi til en Readline-variabel. Argumentsyntaksen tilsvarer det som finnes\n"
 "    i «~/.inputrc», men må oppgis som ett argument.\n"
 "    F.eks.: bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
 "    \n"
 "    Valg:\n"
-"      -m  OPPSETT         Bruk valgt tastaturOPPSETT under kjøring av denne "
-"kommandoen.\n"
+"      -m  OPPSETT         Bruk valgt tastaturOPPSETT under kjøring av denne kommandoen.\n"
 "                         Gyldige oppsettsnavn er «emacs», «emacs-standard»,\n"
 "                         «emacs-meta», «emacs-ctlx», «vi», «vi-move»,\n"
 "                         «vi-command» og «vi-insert».\n"
 "      -l                 Vis funksjonsnavn.\n"
 "      -P                 Vis funksjonsnavn og tildelinger.\n"
-"      -p                 Vis funksjoner og tildelinger i et format som kan "
-"gjenbrukes\n"
+"      -p                 Vis funksjoner og tildelinger i et format som kan gjenbrukes\n"
 "                         som inndata.\n"
-"      -S                 Vis knappekombinasjoner som kaller makroer og "
-"tilhørende verdier\n"
-"      -s                 Tilsvarer «-S», men i et format som kan gjenbrukes "
-"i inndata.\n"
+"      -S                 Vis knappekombinasjoner som kaller makroer og tilhørende verdier\n"
+"      -s                 Tilsvarer «-S», men i et format som kan gjenbrukes i inndata.\n"
 "      -V                 Vis variabelnavn og verdier\n"
-"      -v                 Tilsvarer «-V», men i et format som kan gjenbrukes "
-"i inndata.\n"
+"      -v                 Tilsvarer «-V», men i et format som kan gjenbrukes i inndata.\n"
 "      -q  function-name  Spør hvilke knapper som kaller aktuell funksjon.\n"
-"      -u  function-name  Fjern alle knappekombinasjoner som er tilknyttet "
-"aktuell funksjon.\n"
+"      -u  function-name  Fjern alle knappekombinasjoner som er tilknyttet aktuell funksjon.\n"
 "      -r  KOMB         Fjern tildeling av valgt knappeKOMBinasjon.\n"
 "      -f  FILNAVN       Les knappekombinasjoner fra FILNAVN.\n"
 "      -x  KOMB:KOMMANDO\tGjør slik at valgt skallKOMMANDO kjøres når\n"
 "    \t\t\t\tvalgt knappeKOMBinasjon trykkes.\n"
-"      -X                 Vis knappekombinasjoner som er tildelt med «-x», og "
-"aktuelle kommandoer \n"
+"      -X                 Vis knappekombinasjoner som er tildelt med «-x», og aktuelle kommandoer \n"
 "                         i et format som kan gjenbrukes i inndata.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    bind avslutter med 0, med mindre bruker tar et ukjent valg eller det "
-"oppstår feil."
+"    bind avslutter med 0, med mindre bruker tar et ukjent valg eller det oppstår feil."
 
 #: builtins.c:330
 msgid ""
@@ -2766,8 +2675,7 @@ msgid ""
 "    \n"
 "    Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
 "    lookup.  This is useful when you wish to reimplement a shell builtin\n"
-"    as a shell function, but need to execute the builtin within the "
-"function.\n"
+"    as a shell function, but need to execute the builtin within the function.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2777,8 +2685,7 @@ msgstr ""
 "    \n"
 "    Kjør SKALLFUNKSJON med valgte ARGumenter uten å slå opp\n"
 "    kommandonavn. Dette er nyttig når du vil re-implementere en innebygd\n"
-"    skallkommando som en funksjon, samtidig som du kjører den innenfor en "
-"skallfunksjon.\n"
+"    skallkommando som en funksjon, samtidig som du kjører den innenfor en skallfunksjon.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Statuskoden er den samme som aktuell SKALLFUNKSJON gir, eller\n"
@@ -2805,8 +2712,7 @@ msgstr ""
 "    «$line $subroutine $filename». Denne ekstrainformasjonen kan brukes\n"
 "    til stabelsporing.\n"
 "    \n"
-"    Verdien av UTTRykk viser hvor mange kall-rammer programmet skal bevege "
-"seg\n"
+"    Verdien av UTTRykk viser hvor mange kall-rammer programmet skal bevege seg\n"
 "    gjennom tilbake fra gjeldende ramme. Øverste ramme er 0.\n"
 "    \n"
 "    Avslutningsstatus:\n"
@@ -2817,22 +2723,16 @@ msgstr ""
 msgid ""
 "Change the shell working directory.\n"
 "    \n"
-"    Change the current directory to DIR.  The default DIR is the value of "
-"the\n"
+"    Change the current directory to DIR.  The default DIR is the value of the\n"
 "    HOME shell variable.\n"
 "    \n"
-"    The variable CDPATH defines the search path for the directory "
-"containing\n"
-"    DIR.  Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-"    A null directory name is the same as the current directory.  If DIR "
-"begins\n"
+"    The variable CDPATH defines the search path for the directory containing\n"
+"    DIR.  Alternative directory names in CDPATH are separated by a colon (:).\n"
+"    A null directory name is the same as the current directory.  If DIR begins\n"
 "    with a slash (/), then CDPATH is not used.\n"
 "    \n"
-"    If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-"    the word is assumed to be  a variable name.  If that variable has a "
-"value,\n"
+"    If the directory is not found, and the shell option `cdable_vars' is set,\n"
+"    the word is assumed to be  a variable name.  If that variable has a value,\n"
 "    its value is used for DIR.\n"
 "    \n"
 "    Options:\n"
@@ -2848,13 +2748,11 @@ msgid ""
 "    \t\tattributes as a directory containing the file attributes\n"
 "    \n"
 "    The default is to follow symbolic links, as if `-L' were specified.\n"
-"    `..' is processed by removing the immediately previous pathname "
-"component\n"
+"    `..' is processed by removing the immediately previous pathname component\n"
 "    back to a slash or the beginning of DIR.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+"    Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
 "    -P is used; non-zero otherwise."
 msgstr ""
 "Bytt arbeidsmappe for skallet.\n"
@@ -2867,8 +2765,7 @@ msgstr ""
 "    Et null-mappenavn er det samme som gjeldende mappe. Hvis MAP begynner\n"
 "    med skråstrek (/), brukes ikke CDPATH.\n"
 "    \n"
-"    Hvis valgt mappe ikke finnes, og skallvalget «cdable_vars» har en "
-"verdi,\n"
+"    Hvis valgt mappe ikke finnes, og skallvalget «cdable_vars» har en verdi,\n"
 "    antas ordet å være et variabelnavn. Hvis den variabelen har en verdi,\n"
 "    brukes denne verdien som MAP.\n"
 "    \n"
@@ -2887,8 +2784,7 @@ msgstr ""
 "    én skråstrek tilbake eller til begynnelsen av MAP.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Status er 0 hvis skallet har byttet mappe, og hvis $PWD er valgt uten "
-"problemer\n"
+"    Status er 0 hvis skallet har byttet mappe, og hvis $PWD er valgt uten problemer\n"
 "    ved bruk av «-P». Ellers er status noe annet enn 0."
 
 #: builtins.c:425
@@ -2964,8 +2860,7 @@ msgid ""
 "Execute a simple command or display information about commands.\n"
 "    \n"
 "    Runs COMMAND with ARGS suppressing  shell function lookup, or display\n"
-"    information about the specified COMMANDs.  Can be used to invoke "
-"commands\n"
+"    information about the specified COMMANDs.  Can be used to invoke commands\n"
 "    on disk when a function with the same name exists.\n"
 "    \n"
 "    Options:\n"
@@ -2979,10 +2874,8 @@ msgid ""
 msgstr ""
 "Kjør en enkel kommando, eller vis informasjon om kommandoer.\n"
 "    \n"
-"    Kjører valgt KOMMANDO med ARG uten oppslag av skallfunksjoner, eller "
-"viser\n"
-"    informasjon om valgte KOMMANDOer. Dette kan brukes til å kalle "
-"kommandoer\n"
+"    Kjører valgt KOMMANDO med ARG uten oppslag av skallfunksjoner, eller viser\n"
+"    informasjon om valgte KOMMANDOer. Dette kan brukes til å kalle kommandoer\n"
 "    på disk når det finens en funksjon med samme navn.\n"
 "    \n"
 "    Valg:\n"
@@ -2992,11 +2885,9 @@ msgstr ""
 "      -V\tskriv ut en mer detaljert beskrivelse av hver KOMMANDO\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Samme som statuskoden fra KOMMANDO, eller mislykket hvis KOMMANDO ikke "
-"finnes."
+"    Samme som statuskoden fra KOMMANDO, eller mislykket hvis KOMMANDO ikke finnes."
 
 #: builtins.c:490
-#, fuzzy
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -3029,8 +2920,7 @@ msgid ""
 "    Variables with the integer attribute have arithmetic evaluation (see\n"
 "    the `let' command) performed when the variable is assigned a value.\n"
 "    \n"
-"    When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+"    When used in a function, `declare' makes NAMEs local, as with the `local'\n"
 "    command.  The `-g' option suppresses this behavior.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3048,6 +2938,7 @@ msgstr ""
 "    \tkildefil kommer i tillegg ved feilsøking)\n"
 "      -g\tlag globale variabler ved bruk innenfor en skallfunksjon\n"
 "    \t(ignoreres ved annen bruk)\n"
+"      -I\thvis du oppretter en lokal variabel, arv attributtene og verdien\n"
 "      -p\tvis attributter og verdi av hvert valgt NAVN\n"
 "    \n"
 "    Valg som justerer attributter:\n"
@@ -3055,8 +2946,7 @@ msgstr ""
 "      -A\tgjør valgte NAVN til assosiative tabeller (hvis det støttes)\n"
 "      -i\tgi valgte NAVN attributten «integer» (heltall)\n"
 "      -l\tkonverter valgte NAVN til små bokstaver\n"
-"      -n\tgjør valgt NAVN til en referanse til variabelen med egen verdi som "
-"navn\n"
+"      -n\tgjør valgt NAVN til en referanse til variabelen med egen verdi som navn\n"
 "      -r\tskrivebeskytt valgte NAVN\n"
 "      -t\tgi valgte NAVN attirbutten «trace»\n"
 "      -u\tkonverter valgte NAVN til store bokstaver\n"
@@ -3103,8 +2993,7 @@ msgstr ""
 "    Lag en lokal variabel med valgt NAVN og VERDI. Du kan foreta\n"
 "    VALG i henhold til kommandoen «declare».\n"
 "    \n"
-"    Lokale variabler kan bare brukes innenfor en funksjon. De er kun "
-"synlige\n"
+"    Lokale variabler kan bare brukes innenfor en funksjon. De er kun synlige\n"
 "    for funksjonen de lages innenfor, samt underfunksjoner.\n"
 "    \n"
 "    Avslutningsstatus:\n"
@@ -3115,8 +3004,7 @@ msgstr ""
 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"
@@ -3140,11 +3028,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"
@@ -3236,8 +3122,7 @@ msgstr ""
 "    \n"
 "    Valg:\n"
 "      -a\tskriv ut en liste som viser hvilke kommandoer som er slått på\n"
-"      -n\tslå av hvert valgt NAVN, eller vis en liste over kommandoer som er "
-"slått av\n"
+"      -n\tslå av hvert valgt NAVN, eller vis en liste over kommandoer som er slått av\n"
 "      -p\tskriv ut liste over kommandoer i et gjenbrukbart format\n"
 "      -s\tbare skriv ut navn på innebygde Posix-spesialkommandoer\n"
 "    \n"
@@ -3257,8 +3142,7 @@ msgstr ""
 msgid ""
 "Execute arguments as a shell command.\n"
 "    \n"
-"    Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+"    Combine ARGs into a single string, use the result as input to the shell,\n"
 "    and execute the resulting commands.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3273,7 +3157,6 @@ msgstr ""
 "    Samme som valgt kommando, eller vellykket hvis kommando er null."
 
 #: builtins.c:652
-#, fuzzy
 msgid ""
 "Parse option arguments.\n"
 "    \n"
@@ -3326,17 +3209,13 @@ msgstr ""
 "    kalles, laster inn navnet hvis det ikke finnes, og\n"
 "    indeks for neste argument som skal behandles i skallvariabelen OPTIND.\n"
 "    OPTIND lastes inn til 1 hver gang skallet eller et skallskript kjøres.\n"
-"    Når et valg krever et argument plasseres argumentet i skallvariabelen "
-"OPTARG.\n"
+"    Når et valg krever et argument plasseres argumentet i skallvariabelen OPTARG.\n"
 "    \n"
-"    getopts rapporterer feil på én av to måter. Hvis første tegn i "
-"VALGSTRENG\n"
+"    getopts rapporterer feil på én av to måter. Hvis første tegn i VALGSTRENG\n"
 "    er kolon, rapporteres feil uten direkte feilmeldinger til bruker.\n"
 "    Hvis getopts ser et ugyldig valg, plasseres aktuelt valgtegn i OPTARG.\n"
-"    Hvis et obligatorisk argument ikke er gitt, legger getopts et «:» i NAVN "
-"og\n"
-"    bruker oppdaget valgtegn som OPTARG. Hvis getopts ikke er i "
-"stillemodus,\n"
+"    Hvis et obligatorisk argument ikke er gitt, legger getopts et «:» i NAVN og\n"
+"    bruker oppdaget valgtegn som OPTARG. Hvis getopts ikke er i stillemodus,\n"
 "    og ser et ugyldig valg, brukes «?» som NAVN, og OPTARG tømmes.\n"
 "    Hvis et obligatorisk argument ikke er gitt, legger getopts et «?»\n"
 "    i NAVN, tømmer OPTARG og skriver ut en feilmelding.\n"
@@ -3345,7 +3224,7 @@ msgstr ""
 "    av feilmeldinger, selv hvis første tegn i VALGSTRENG ikke er kolon.\n"
 "    OPTERR har verdien 1 som standard.\n"
 "    \n"
-"    Getopts tolker vanligvis posisjonsparametre ($0 - $9), men hvis\n"
+"    Getopts tolker vanligvis posisjonsparametre, men hvis\n"
 "    flere argumenter er gitt, blir disse tolket i stedet.\n"
 "    \n"
 "    Avslutningsstatus:\n"
@@ -3357,8 +3236,7 @@ msgid ""
 "Replace the shell with the given command.\n"
 "    \n"
 "    Execute COMMAND, replacing this shell with the specified program.\n"
-"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not "
-"specified,\n"
+"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,\n"
 "    any redirections take effect in the current shell.\n"
 "    \n"
 "    Options:\n"
@@ -3366,19 +3244,16 @@ 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 ""
 "Erstatt skallet med valgt kommando.\n"
 "    \n"
 "    Kjør KOMMANDO, og erstatt dette skallet med valgt program.\n"
-"    ARGUMENTER sendes videre til valgt KOMMANDO. Hvis KOMMANDO ikke er "
-"valgt,\n"
+"    ARGUMENTER sendes videre til valgt KOMMANDO. Hvis KOMMANDO ikke er valgt,\n"
 "    blir videresendinger brukt i gjeldende skall.\n"
 "    \n"
 "    Valg:\n"
@@ -3386,13 +3261,11 @@ msgstr ""
 "      -c\t\tkjør valgt KOMMANDO med et tomt miljø\n"
 "      -l\t\tbruk bindestrek som argument nummer null for COMMAND\n"
 "    \n"
-"    Hvis kommandoen ikke kan kjøres, avsluttes ikke-interaktivt skall, med "
-"mindre\n"
+"    Hvis kommandoen ikke kan kjøres, avsluttes ikke-interaktivt skall, med mindre\n"
 "    skallvalget «execfail» er brukt.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Vellykket, med mindre valgt KOMMANDO ikke finnes eller det oppstår en "
-"videresendingsfeil."
+"    Vellykket, med mindre valgt KOMMANDO ikke finnes eller det oppstår en videresendingsfeil."
 
 #: builtins.c:715
 msgid ""
@@ -3410,29 +3283,25 @@ msgstr ""
 msgid ""
 "Exit a login shell.\n"
 "    \n"
-"    Exits a login shell with exit status N.  Returns an error if not "
-"executed\n"
+"    Exits a login shell with exit status N.  Returns an error if not executed\n"
 "    in a login shell."
 msgstr ""
 "Avslutt et innloggingsskall.\n"
 "    \n"
-"    Avslutter et innloggingsskall med status N. Dette gir feilmelding hvis "
-"det\n"
+"    Avslutter et innloggingsskall med status N. Dette gir feilmelding hvis det\n"
 "    ikke kjøres i et innloggingsskall."
 
 #: 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"
@@ -3446,20 +3315,16 @@ msgid ""
 "    the last command.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success or status of executed command; non-zero if an error "
-"occurs."
+"    Returns success or status of executed command; non-zero if an error occurs."
 msgstr ""
 "Vis eller kjør kommandoer fra historikklista.\n"
 "    \n"
-"    fc brukes til å vise list eller redigere og kjøre kommandoer på nytt fra "
-"historikklista.\n"
-"    FØRSTE og SISTE kan være tall som angir rekkevidde. FØRSTE kan også være "
-"en\n"
+"    fc brukes til å vise list eller redigere og kjøre kommandoer på nytt fra historikklista.\n"
+"    FØRSTE og SISTE kan være tall som angir rekkevidde. FØRSTE kan også være en\n"
 "    streng, som betyr nyeste kommando som begynner med denne strengen.\n"
 "    \n"
 "    Valg:\n"
-"      -e ENAME\tvelg hvilket redigeringsprogram som skal brukes. Standard er "
-"FCEDIT, evt. EDITOR\n"
+"      -e ENAME\tvelg hvilket redigeringsprogram som skal brukes. Standard er FCEDIT, evt. EDITOR\n"
 "    \t\teller vi\n"
 "      -l \tvis linjer i stedet for å redigere\n"
 "      -n\tikke vis linjenumre\n"
@@ -3473,8 +3338,7 @@ msgstr ""
 "    betyr å kjøre forrige kommando.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Enten vellykket, samme som kjørt kommando eller noe annet enn null hvis "
-"det oppstår feil."
+"    Enten vellykket, samme som kjørt kommando eller noe annet enn null hvis det oppstår feil."
 
 #: builtins.c:764
 msgid ""
@@ -3494,17 +3358,14 @@ msgstr ""
 "    allerede oppfattes som gjeldende i skallet.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Samme som kommandoen som legges i forgrunnen, eller mislykket hvis det "
-"oppstår feil."
+"    Samme som kommandoen som legges i forgrunnen, eller mislykket hvis det oppstår feil."
 
 #: 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"
@@ -3513,8 +3374,7 @@ msgstr ""
 "Flytt jobber til bakgrunnen.\n"
 "    \n"
 "    Plasser jobber med id-er JOB_SPEC i bakgrunnen, som om de\n"
-"    ble startet med «&».  Hvis JOB_SPEC ikke er oppgitt, brukes jobben som "
-"allerede\n"
+"    ble startet med «&».  Hvis JOB_SPEC ikke er oppgitt, brukes jobben som allerede\n"
 "    som gjeldende i skallet.\n"
 "    \n"
 "    Avslutningsstatus:\n"
@@ -3525,8 +3385,7 @@ msgid ""
 "Remember or display program locations.\n"
 "    \n"
 "    Determine and remember the full pathname of each command NAME.  If\n"
-"    no arguments are given, information about remembered commands is "
-"displayed.\n"
+"    no arguments are given, information about remembered commands is displayed.\n"
 "    \n"
 "    Options:\n"
 "      -d\tforget the remembered location of each NAME\n"
@@ -3556,8 +3415,7 @@ msgstr ""
 "      -t\t\tskriv ut lagret plassering av valgt(e) NAVN, med\n"
 "    \t\tNAVN foran aktuell plassering hvis flere NAVN er valgt\n"
 "    Argumenter:\n"
-"      NAVN\t\tProgrammet søker etter hvert NAVN i $PATH og legger det til i "
-"lista\n"
+"      NAVN\t\tProgrammet søker etter hvert NAVN i $PATH og legger det til i lista\n"
 "    \t\tover lagrede kommandoer.\n"
 "    \n"
 "    Avslutningsstatus:\n"
@@ -3581,8 +3439,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 ""
 "Vis informasjon om innebygde kommandoer.\n"
 "    \n"
@@ -3600,8 +3457,7 @@ msgstr ""
 "      MØNSTER\tVelger hjelpeemne\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Vellykket, med mindre et MØNSTER ikke finnes eller bruker tar et ugyldig "
-"valg."
+"    Vellykket, med mindre et MØNSTER ikke finnes eller bruker tar et ugyldig valg."
 
 #: builtins.c:842
 msgid ""
@@ -3631,8 +3487,7 @@ msgid ""
 "    \n"
 "    If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
 "    as a format string for strftime(3) to print the time stamp associated\n"
-"    with each displayed history entry.  No time stamps are printed "
-"otherwise.\n"
+"    with each displayed history entry.  No time stamps are printed otherwise.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or an error occurs."
@@ -3648,8 +3503,7 @@ msgstr ""
 "\t\tNegativ posisjon teller fra slutten.\n"
 "    \n"
 "      -a\tlegg til linjer fra gjeldende økt i historikkfil\n"
-"      -n\tles alle historikklinjer som ikke allerede er lest inn fra "
-"historikkfil\n"
+"      -n\tles alle historikklinjer som ikke allerede er lest inn fra historikkfil\n"
 "      -r\tles historikkfil og legg til innhold i historikkliste\n"
 "      -w\tlagre gjeldende historikk i historikkfil\n"
 "    \n"
@@ -3707,8 +3561,7 @@ msgstr ""
 "    jobber er erstattet med prosess-ID-en til gjeldende prosessgruppeleder.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Vellykket, med mindre bruker tar et ugyldig valg eller det oppstår "
-"feil.\n"
+"    Vellykket, med mindre bruker tar et ugyldig valg eller det oppstår feil.\n"
 "    Hvis «-x» er valgt, hentes statuskode fra aktuell KOMMANDO."
 
 #: builtins.c:906
@@ -3734,8 +3587,7 @@ msgstr ""
 "    \n"
 "    Valg:\n"
 "      -a\tfjern alle jobber hvis JOBBSPES ikke er angitt\n"
-"      -h\tmarker hver JOBBSPES slik at SIGHUP ikke sendes til jobben hvis "
-"skallet\n"
+"      -h\tmarker hver JOBBSPES slik at SIGHUP ikke sendes til jobben hvis skallet\n"
 "    \tmottar et SIGHUP\n"
 "      -r\tbare fjern kjørende jobber\n"
 "    \n"
@@ -3767,8 +3619,7 @@ msgstr ""
 "Send signal til en jobb.\n"
 "    \n"
 "    Gi prosesser (valgt med PID eller JOBBSPES) et signal\n"
-"    (valgt med SIGSPES eller SIGNUM). Hvis hverken SIGSPES eller SIGNUM er "
-"valgt,\n"
+"    (valgt med SIGSPES eller SIGNUM). Hvis hverken SIGSPES eller SIGNUM er valgt,\n"
 "    brukes SIGTERM.\n"
 "    \n"
 "    Valg:\n"
@@ -3778,8 +3629,7 @@ msgstr ""
 "    \tantas disse å være signalnumre som det skal vises navn på\n"
 "      -L\ttilsvarer «-l»\n"
 "    \n"
-"    Kill er en innebygget skallkommando av to grunner: den tillater bruk av "
-"jobb-ID\n"
+"    Kill er en innebygget skallkommando av to grunner: den tillater bruk av jobb-ID\n"
 "    i stedet for prosess-ID, og lar bruker drepe prosesser hvis grensa for\n"
 "    antall tillatte prosesser er nådd.\n"
 "    \n"
@@ -3793,8 +3643,7 @@ msgid ""
 "    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
 "    fixed-width integers with no check for overflow, though division by 0\n"
 "    is trapped and flagged as an error.  The following list of operators is\n"
-"    grouped into levels of equal-precedence operators.  The levels are "
-"listed\n"
+"    grouped into levels of equal-precedence operators.  The levels are listed\n"
 "    in order of decreasing precedence.\n"
 "    \n"
 "    \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3860,8 +3709,7 @@ msgstr ""
 "    \n"
 "    Skallvariabler tillates som operand. Variabelens navn erstattes med\n"
 "    verdien (tvunget til et breddefast heltall) i et uttrykk.\n"
-"    Variabelen behøver ikke heltallsattributt for å kunne brukes i et "
-"uttrykk.\n"
+"    Variabelen behøver ikke heltallsattributt for å kunne brukes i et uttrykk.\n"
 "    \n"
 "    Operatører regnes ut etter presedens. Underuttrykk i parentes\n"
 "    regnes ut først, og kan overstyre overnevnte presedensregler.\n"
@@ -3874,16 +3722,14 @@ 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.\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"
@@ -3895,8 +3741,7 @@ msgid ""
 "      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
 "    \t\tfor a newline, but honor a delimiter if fewer than\n"
 "    \t\tNCHARS characters are read before the delimiter\n"
-"      -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+"      -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
 "    \t\tEOF is encountered or read times out, ignoring any\n"
 "    \t\tdelimiter\n"
 "      -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -3914,10 +3759,8 @@ 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 ""
 "Les en linje fra standard inndata og del den opp i felt.\n"
@@ -3933,38 +3776,32 @@ msgstr ""
 "    Valg:\n"
 "      -a tabell\tknytt leste ord til sekvens-indekser i \n"
 "    \t\ttabellvariabelen TABELL, talt fra null\n"
-"      -d skill\tfortsett frem til første SKILLetegn, i stedet for frem til "
-"linjeskift\n"
+"      -d skill\tfortsett frem til første SKILLetegn, i stedet for frem til linjeskift\n"
 "      -e\t\tbruk Readline til å hente linje\n"
 "      -i tekst\tBruk valgt TEKST med Readline\n"
-"      -n n\tgå tilbake etter å ha lest N antall tegn i stedet for å vente på "
-"ny linje,\n"
+"      -n n\tgå tilbake etter å ha lest N antall tegn i stedet for å vente på ny linje,\n"
 "    \t\tmen bruk skilletegn hvis linja er kortere enn N\n"
 "    \t\tles tegn før skilletegn\n"
 "      -N N\tgå tilbake etter å ha lest nøyaktig N antall tegn, med mindre\n"
 "    \t\tEOF eller tidsavbrudd oppstår (skilletegn ignoreres)\n"
-"      -p ledet\tskriv ut valgt LEDETekst uten å legge til linjeskift før "
-"lesing\n"
+"      -p ledet\tskriv ut valgt LEDETekst uten å legge til linjeskift før lesing\n"
 "      -r\t\tikke tillat bruk av skråstrek som skiftetegn\n"
 "      -s\t\tikke skriv ut inndata som kommer fra en terminal\n"
 "      -t tidsav\tavbryt og avslutt med feil hvis en hel linje med inndata\n"
 "    \t\tikke blir lest ferdig innen valgt TIDSAVbrudd (i sekunder).\n"
-"    \t\tStandard avbruddstid hentes fra variabelen TMOUT. TIDSAVbrudd kan "
-"være\n"
+"    \t\tStandard avbruddstid hentes fra variabelen TMOUT. TIDSAVbrudd kan være\n"
 "    \t\tet brøktall. Hvis TIDSAV er 0, går read tilbake umiddelbart,\n"
-"    \t\tog prøver ikke å lese data. I sistnevnte tilfelle avslutter read "
-"bare\n"
+"    \t\tog prøver ikke å lese data. I sistnevnte tilfelle avslutter read bare\n"
 "    \t\tvellykket hvis inndata er tilgjengelig på valgt fildeskriptor.\n"
 "    \t\tAvslutningsstatus er større enn 128 ved tidsavbrudd\n"
 "      -u fd\t\tles fra fildeskriptor FD i stedet for standard inndata\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Null (vellykket), med mindre programmet møter EOF, får tidsavbrudd\n"
-"    (i så fall er verdien høyere enn 128), det oppstår en variabel-"
-"tidelingsfeil,\n"
+"    (i så fall er verdien høyere enn 128), det oppstår en variabel-tidelingsfeil,\n"
 "    eller valget «-u» argumenteres med en ugyldig fildeskriptor."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3984,7 +3821,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    N, eller mislykket hvis skallet ikke kjører en funksjon eller et skript."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4027,8 +3864,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"
@@ -4052,8 +3888,7 @@ msgid ""
 "          by default when the shell is interactive.\n"
 "      -P  If set, do not resolve symbolic links when executing commands\n"
 "          such as cd which change the current directory.\n"
-"      -T  If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+"      -T  If set, the DEBUG and RETURN traps are inherited by shell functions.\n"
 "      --  Assign any remaining arguments to the positional parameters.\n"
 "          If there are no remaining arguments, the positional parameters\n"
 "          are unset.\n"
@@ -4109,10 +3944,8 @@ msgstr ""
 "              onecmd       tilsvarer «-t»\n"
 "              physical     tilsvarer «-P»\n"
 "              pipefail     returverdi av en kommandokø er statusen for\n"
-"                           siste kommando som avslutter med en annen status "
-"enn null,\n"
-"                           eller null hvis alle kommandoer avsluttet med "
-"null\n"
+"                           siste kommando som avslutter med en annen status enn null,\n"
+"                           eller null hvis alle kommandoer avsluttet med null\n"
 "              posix        endre bash-oppførsel hvor standardoppførselen er\n"
 "                           annerledes enn Posix-standarden, slik at bash\n"
 "                           samsvarer med Posix\n"
@@ -4122,8 +3955,7 @@ msgstr ""
 "              xtrace       tilsvarer «-x»\n"
 "      -p  Slått på når virkelig og effektiv bruker-ID ikke er like.\n"
 "          Dette slår av behandling av fila $ENV og importering av\n"
-"          skallfunksjoner. Hvis du slår av dette valget, blir effektiv uid "
-"og\n"
+"          skallfunksjoner. Hvis du slår av dette valget, blir effektiv uid og\n"
 "          gid det samme som virkelig uid og gid.\n"
 "      -t  Avslutt når én kommando er lest og kjørt.\n"
 "      -u  Behandle udefinerte variabler som en feil.\n"
@@ -4152,7 +3984,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre bruker tar et ugyldig valg."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4164,8 +3996,7 @@ msgid ""
 "      -n\ttreat each NAME as a name reference and unset the variable itself\n"
 "    \t\trather than the variable it references\n"
 "    \n"
-"    Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+"    Without options, unset first tries to unset a variable, and if that fails,\n"
 "    tries to unset a function.\n"
 "    \n"
 "    Some variables cannot be unset; also see `readonly'.\n"
@@ -4180,8 +4011,7 @@ msgstr ""
 "    Valg:\n"
 "      -f\tbehandle hvert NAVN som en skallfunksjon\n"
 "      -v\tbehandle hvert NAVN som en skallvariabel\n"
-"      -n\tbehandle hvert NAVN som en navnreferanse, og tilbakestill selve "
-"variabelen\n"
+"      -n\tbehandle hvert NAVN som en navnreferanse, og tilbakestill selve variabelen\n"
 "    \ti stedet for variabelen den refererer til\n"
 "    \n"
 "    Hvis ingen valg er tatt, prøver programmet først å tømme en variabel.\n"
@@ -4190,16 +4020,14 @@ msgstr ""
 "    Enkelte variabler kan ikke tømmes. Se også «readonly».\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Vellykket, med mindre bruker tar et ugyldig valg eller et NAVN er "
-"skrivebeskyttet."
+"    Vellykket, med mindre bruker tar et ugyldig valg eller et NAVN er skrivebeskyttet."
 
-#: builtins.c:1161
+#: 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"
@@ -4213,10 +4041,8 @@ msgid ""
 msgstr ""
 "Gi skallvariabler eksport-attributt.\n"
 "    \n"
-"    Markerer hvert valgt NAVN for automatisk eksportering til miljøet ved "
-"etterfølgende\n"
-"    kjørte kommandoer. Hvis VERDI er oppgitt, tildeles VERDI før "
-"eksportering.\n"
+"    Markerer hvert valgt NAVN for automatisk eksportering til miljøet ved etterfølgende\n"
+"    kjørte kommandoer. Hvis VERDI er oppgitt, tildeles VERDI før eksportering.\n"
 "    \n"
 "    Valg:\n"
 "      -f\thenvis til skallfunksjoner\n"
@@ -4226,10 +4052,9 @@ msgstr ""
 "    Bruk argumentet«--» for å slå av videre behandling av valg.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Vellykket, med mindre bruker tar et ugyldig valg, eller et NAVN er "
-"ugyldig."
+"    Vellykket, med mindre bruker tar et ugyldig valg, eller et NAVN er ugyldig."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4251,8 +4076,7 @@ msgid ""
 msgstr ""
 "Marker skallvariabler som skrivebeskyttet.\n"
 "    \n"
-"    Marker hvert valgt NAVN som skrivebeskyttet. Verdier av NAVN kan ikke "
-"endres\n"
+"    Marker hvert valgt NAVN som skrivebeskyttet. Verdier av NAVN kan ikke endres\n"
 "    av etterfølgende tildeling. Hvis VERDI er oppgitt, tildeles denne før\n"
 "    variabelen markeres som skrivebeskyttet.\n"
 "    \n"
@@ -4260,8 +4084,7 @@ msgstr ""
 "      -a\thenvis til indekserte tabellvariabler\n"
 "      -A\thenvis til assosiative tabellvariabler\n"
 "      -f\thenvis til skallfunksjoner\n"
-"      -p\tvis en liste over alle skrivebeskyttede variabler eller "
-"funksjoner,\n"
+"      -p\tvis en liste over alle skrivebeskyttede variabler eller funksjoner,\n"
 "            avhengig av hvorvidt «-f» er valgt\n"
 "    \n"
 "    Bruk argumentet «--» for å slå av videre behandling av valg.\n"
@@ -4269,7 +4092,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre bruker tar et ugyldig valg eller NAVN."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4287,7 +4110,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre N er negativ eller større enn $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4311,7 +4134,7 @@ msgstr ""
 "    Samme som siste kommando som ble kjørt via FILNAVN, eller\n"
 "    mislykket hvis FILNAVN ikke kan leses."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4326,10 +4149,8 @@ msgid ""
 msgstr ""
 "Sett skallkjøring på pause.\n"
 "    \n"
-"    Sett kjøring av dette skallet på pause inntil det mottar et SIGCONT-"
-"signal.\n"
-"    Innloggingsskall kan ikke settes på pause med mindre du tvinger det "
-"fram.\n"
+"    Sett kjøring av dette skallet på pause inntil det mottar et SIGCONT-signal.\n"
+"    Innloggingsskall kan ikke settes på pause med mindre du tvinger det fram.\n"
 "    \n"
 "    Valg:\n"
 "      -f\ttving skallpause, selv hvis skallet er et innloggingsskall\n"
@@ -4337,7 +4158,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre jobbkontroll er slått av eller det oppstår feil."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4371,8 +4192,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"
@@ -4393,8 +4213,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"
@@ -4422,8 +4241,7 @@ msgstr ""
 "Kontroller betinget uttrykk.\n"
 "    \n"
 "    Avslutter med status 0 (positiv, «true») eller 1 (negativ, «false»)\n"
-"    i henhold til resultatet av valgt UTTRykk. Uttrykk kan være unære eller "
-"binære.\n"
+"    i henhold til resultatet av valgt UTTRykk. Uttrykk kan være unære eller binære.\n"
 "    Unære uttrykk brukes ofte for å undersøke status for en fil.\n"
 "    Streng- og tallkontroll-valg kan også brukes.\n"
 "    \n"
@@ -4451,10 +4269,8 @@ msgstr ""
 "      -w FIL        Positiv hvis FIL kan overskrives av deg.\n"
 "      -x FIL        Positiv hvis FIL kan kjøres av deg.\n"
 "      -O FIL        Positiv hvis FIL har deg som effektiv eier.\n"
-"      -G FIL        Positiv hvis FIL har din gruppe som effektiv "
-"gruppetilhørighet.\n"
-"      -N FIL        Positiv hvis FIL er blitt endret siden den ble lest "
-"sist.\n"
+"      -G FIL        Positiv hvis FIL har din gruppe som effektiv gruppetilhørighet.\n"
+"      -N FIL        Positiv hvis FIL er blitt endret siden den ble lest sist.\n"
 "    \n"
 "      FIL1 -nt FIL2  Positiv hvis FIL1 er nyere enn FIL2 (i følge\n"
 "                       endringsdato).\n"
@@ -4475,18 +4291,15 @@ msgstr ""
 "      STRENG1 != STRENG2\n"
 "                     Positiv hvis STRENGene ikke er like.\n"
 "      STRENG1 < STRENG2\n"
-"                     Positiv hvis STRENG1 havner over STRENG2 når de "
-"sorteres leksikografisk.\n"
+"                     Positiv hvis STRENG1 havner over STRENG2 når de sorteres leksikografisk.\n"
 "      STRENG1 > STRENG2\n"
-"                     Positiv hvis STRENG1 havner under STRENG2 når de "
-"sorteres leksikografisk.\n"
+"                     Positiv hvis STRENG1 havner under STRENG2 når de sorteres leksikografisk.\n"
 "    \n"
 "    Andre valg:\n"
 "    \n"
 "      -o VALG      Positiv hvis skallvalget OPTION er slått på.\n"
 "      -v VAR\t Positiv hvis skallvariabelen VAR har en verdi\n"
-"      -R VAR\t Positiv hvis skallvariabelen VAR har en verdi, og er en "
-"navnreferanse.\n"
+"      -R VAR\t Positiv hvis skallvariabelen VAR har en verdi, og er en navnreferanse.\n"
 "      ! UTTR         Positiv hvis UTTR er usant.\n"
 "      UTTR1 -a UTTR2 Positiv hvis både UTTR1 og UTTR2 er sanne.\n"
 "      UTTR1 -o UTTR2 Positiv hvis enten UTTR1 eller UTTR2 er sanne.\n"
@@ -4494,16 +4307,14 @@ msgstr ""
 "      arg1 OP arg2   Aritmetiske tester. OP må være enten «-eq», «-ne»,\n"
 "                     «-lt», «-le», «-gt» eller «-ge».\n"
 "    \n"
-"    Aritmetiske binærvalg gir positiv verdi hvis ARG1 er lik, ulik, mindre "
-"enn,\n"
+"    Aritmetiske binærvalg gir positiv verdi hvis ARG1 er lik, ulik, mindre enn,\n"
 "    lik-eller-mindre-enn, større enn eller større-enn-eller-lik ARG2.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Vellykket hvis UTTR gir positiv verdi, og mislykket hvis det gir negativ "
-"verdi eller\n"
+"    Vellykket hvis UTTR gir positiv verdi, og mislykket hvis det gir negativ verdi eller\n"
 "    bruker skriver inn et ugyldig argument."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4515,12 +4326,11 @@ msgstr ""
 "    Dette er synonymt med den innebygde kommandoen «test», men\n"
 "    siste argument må være «]» for å samsvare med «[»."
 
-#: builtins.c:1352
+#: 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"
@@ -4528,18 +4338,16 @@ msgid ""
 msgstr ""
 "Vis prosesstider.\n"
 "    \n"
-"    Skriver ut oppsamlet bruker- og systemtid for skallet og alle "
-"underprosesser.\n"
+"    Skriver ut oppsamlet bruker- og systemtid for skallet og alle underprosesser.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Alltid vellykket."
 
-#: builtins.c:1364
+#: 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"
 "    ARG is a command to be read and executed when the shell receives the\n"
@@ -4548,43 +4356,33 @@ msgid ""
 "    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
 "    shell and by the commands it invokes.\n"
 "    \n"
-"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  "
-"If\n"
-"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  "
-"If\n"
-"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
-"a\n"
-"    script run by the . or source builtins finishes executing.  A "
-"SIGNAL_SPEC\n"
-"    of ERR means to execute ARG each time a command's failure would cause "
-"the\n"
+"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If\n"
+"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If\n"
+"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n"
+"    script run by the . or source builtins finishes executing.  A SIGNAL_SPEC\n"
+"    of ERR means to execute ARG each time a command's failure would cause the\n"
 "    shell to exit when the -e option is enabled.\n"
 "    \n"
-"    If no arguments are supplied, trap prints the list of commands "
-"associated\n"
+"    If no arguments are supplied, trap prints the list of commands associated\n"
 "    with each signal.\n"
 "    \n"
 "    Options:\n"
 "      -l\tprint a list of signal names and their corresponding numbers\n"
 "      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
 "    \n"
-"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
 "    Signal names are case insensitive and the SIG prefix is optional.  A\n"
 "    signal may be sent to the shell with \"kill -signal $$\".\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+"    Returns success unless a SIGSPEC is invalid or an invalid option is given."
 msgstr ""
 "Fang signaler og andre hendelser.\n"
 "    \n"
-"    Definerer og slår på brytere som skal kjøres når skallet mottar "
-"signaler\n"
+"    Definerer og slår på brytere som skal kjøres når skallet mottar signaler\n"
 "    eller havner i andre tilstander.\n"
 "    \n"
-"    ARG er en kommando som skal leses og kjøres når skallet mottar signalet/-"
-"ene\n"
+"    ARG er en kommando som skal leses og kjøres når skallet mottar signalet/-ene\n"
 "    i henhold til SIGNALSPES. Hvis ARG er enten utelatt eller «-»,\n"
 "    og én SIGNALSPES er brukt, tilbakestilles valgt(e) signal(er) til\n"
 "    opprinnelig verdi. Hvis ARG er null, ignoreres SIGNALSPES av skallet\n"
@@ -4592,31 +4390,26 @@ msgstr ""
 "    \n"
 "    Hvis en SIGNALSPES er EXIT (0), kjøres ARG når skallet avslutter.\n"
 "    Hvis en SIGNALSPES er DEBUG, kjøres ARG før hver kommando.\n"
-"    Hvis en SIGNALSPES er RETURN, kjøres ARG hver gang en skallfunksjon, "
-"skript\n"
+"    Hvis en SIGNALSPES er RETURN, kjøres ARG hver gang en skallfunksjon, skript\n"
 "    eller innebygd kommando har kjørt ferdig. Hvis en SIGNALSPES\n"
-"    er ERR, kjøres ARG hver gang en feilkjørt kommando ville ført til at "
-"skallet\n"
+"    er ERR, kjøres ARG hver gang en feilkjørt kommando ville ført til at skallet\n"
 "    avsluttes når «-e» er valgt.\n"
 "    \n"
-"    Hvis ingen argumenter er brukt, skriver trap ut en liste over "
-"kommandoer\n"
+"    Hvis ingen argumenter er brukt, skriver trap ut en liste over kommandoer\n"
 "    som er tilknyttet hvert signal.\n"
 "    \n"
 "    Valg:\n"
 "      -l\tskriv ut en liste over signalnavn og tilknyttede numre\n"
 "      -p\tvis trap-kommandoer som er tilknyttet hver SIGNALSPESifikasjon\n"
 "    \n"
-"    Hver SIGNALSPES er enten et signalnavn fra <signal.h> eller et "
-"signalnummer.\n"
-"    Signalnavn skiller mellom små og store bokstaver. Prefikset «SIG» er "
-"valgfritt.\n"
+"    Hver SIGNALSPES er enten et signalnavn fra <signal.h> eller et signalnummer.\n"
+"    Signalnavn skiller mellom små og store bokstaver. Prefikset «SIG» er valgfritt.\n"
 "    Du kan sende et signal til skallet med «kill -signal $$».\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre en SIGNALSPES eller et valg er ugyldig."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4642,8 +4435,7 @@ msgid ""
 "      NAME\tCommand name to be interpreted.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success if all of the NAMEs are found; fails if any are not "
-"found."
+"    Returns success if all of the NAMEs are found; fails if any are not found."
 msgstr ""
 "Vis informasjon om kommandotype.\n"
 "    \n"
@@ -4651,36 +4443,30 @@ msgstr ""
 "    et kommandonavn.\n"
 "    \n"
 "    Valg:\n"
-"      -a\tvis alle plasseringer som inneholder en kjørbar fil med oppgitt "
-"NAVN.\n"
+"      -a\tvis alle plasseringer som inneholder en kjørbar fil med oppgitt NAVN.\n"
 "    \tHer inngår alle alias, innebygde kommandoer og funksjoner, med mindre\n"
 "    \t«-p» er valgt i tillegg\n"
 "      -f\tikke slå opp skallfunksjoner\n"
 "      -P\ttving et søk i STI etter NAVN, selv hvis det er et alias,\n"
 "    \tinnebygd kommando eller en funksjon, og vis navn på fila\n"
 "    \tsom ville blitt kjørt\n"
-"      -p\tvis enten navn på fila som ville blitt kjørt, eller ingenting "
-"hvis\n"
+"      -p\tvis enten navn på fila som ville blitt kjørt, eller ingenting hvis\n"
 "    \t«type -t NAVN» ikke fører til «file».\n"
 "      -t\tbeskriv NAVN som enten «alias», «keyword» (nøkkelord),\n"
-"    \t«function» (funksjon), «builtin» (innebygd kommando), «file» (fil) "
-"eller \n"
+"    \t«function» (funksjon), «builtin» (innebygd kommando), «file» (fil) eller \n"
 "    \t«'» (ikke funnet), if NAME is an alias, shell\n"
 "    \n"
 "    Argumenter:\n"
 "      NAVN\tKommandonavn som skal tolkes.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Vellykket hvis alle NAVN finnes, og mislykket hvis ett eller flere ikke "
-"finnes."
+"    Vellykket hvis alle NAVN finnes, og mislykket hvis ett eller flere ikke finnes."
 
-#: builtins.c:1431
-#, 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"
@@ -4726,8 +4512,7 @@ msgid ""
 msgstr ""
 "Endre grenser for skallressurser.\n"
 "    \n"
-"    Lar deg kontrollere mengden ressurser som skal være tilgjengelig for "
-"skall og\n"
+"    Lar deg kontrollere mengden ressurser som skal være tilgjengelig for skall og\n"
 "    prosessene det lager på systemer som tillater det.\n"
 "    \n"
 "    Valg:\n"
@@ -4738,9 +4523,9 @@ msgstr ""
 "      -c\tmaksimal størrelse på opprettede kjernefiler\n"
 "      -d\tmaksimal størrelse på datasegment av en prosess\n"
 "      -e\tmaksimal prioritet («nice»-verdi)\n"
-"      -f\tmaksimal størrelse på filer som skrives av skallet og "
-"underprosesser\n"
+"      -f\tmaksimal størrelse på filer som skrives av skallet og underprosesser\n"
 "      -i\tmaksimalt antall ventende signaler\n"
+"      -k\tmaksimalt antall k-køer som er tildelt denne prosessen\n"
 "      -l\tmaksimal minnemengde en prosess kan låse\n"
 "      -m\tmaksimal «resident set»-størrelse\n"
 "      -n\tmaksimalt antall åpne fildeskriptorer\n"
@@ -4752,26 +4537,24 @@ msgstr ""
 "      -u\tmaksimalt antall brukerprosesser\n"
 "      -v\tstørrelsen på virtuelt minne\n"
 "      -x\tmaksimalt antall fillåser\n"
-"      -T    maksimalt antall tråder\n"
+"      -P\tmaksimalt antall pseudoterminaler\n"
+"      -R\tden maksimale tiden en sanntidsprosess kan kjøre før blokkering\n"
+"      -T\tmaksimalt antall tråder\n"
 "    \n"
 "    Det er ikke alle valg som støttes på alle plattformer.\n"
 "    \n"
 "    Hvis GRENSE er oppgitt, brukes denne som ny verdi for valgt ressurs.\n"
-"    Du kan også bruke spesialverdiene «soft» (myk), «hard», og "
-"«unlimited» (ubegrenset).\n"
-"    Ellers skriver programmet ut gjeldende verdi av valgt ressurs. Hvis "
-"ingenting\n"
+"    Du kan også bruke spesialverdiene «soft» (myk), «hard», og «unlimited» (ubegrenset).\n"
+"    Ellers skriver programmet ut gjeldende verdi av valgt ressurs. Hvis ingenting\n"
 "    er valgt, brukes «-f».\n"
 "    \n"
-"    Verdier oppgis i 1024-byte-enheter, bortsett fra «-t» som oppgis i "
-"sekunder,\n"
-"    «-p» som oppgis i 512-byte-enheter og «-u» som er et uskalert antall "
-"prosesser.\n"
+"    Verdier oppgis i 1024-byte-enheter, bortsett fra «-t» som oppgis i sekunder,\n"
+"    «-p» som oppgis i 512-byte-enheter og «-u» som er et uskalert antall prosesser.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre bruker tar et ugyldig valg eller det oppstår feil."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4797,35 +4580,29 @@ msgstr ""
 "    og ellers som en symbolsk modusstreng av typen som brukes av chmod(1).\n"
 "    \n"
 "    Valg:\n"
-"      -p\tskriv ut i et format som kan gjenbrukes som inndata hvis ingen "
-"MODUS er valgt\n"
+"      -p\tskriv ut i et format som kan gjenbrukes som inndata hvis ingen MODUS er valgt\n"
 "      -S\tgjør utdata symbolsk (ikke skriv ut oktaltall)\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre MODUS er ugyldig eller bruker tar et ugyldig valg."
 
-#: builtins.c:1502
-#, fuzzy
+#: 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"
@@ -4837,51 +4614,48 @@ msgid ""
 "    children."
 msgstr ""
 "Vent på fullføring av jobb, og skriv ut avslutningsstatus.\n"
-"    \n"
-"    Vent på valgt(e) prosess(er) (valgt med ID, som kan være prosess-ID "
-"eller\n"
+"   \n"
+" \n"
+"    Vent på valgt(e) prosess(er) (valgt med ID, som kan være prosess-ID eller\n"
 "    jobbspesifikasjon), og skriv ut statuskode. Hvis ID ikke er valgt,\n"
 "    venter programmet på alle aktive underprosesser, og avslutter\n"
-"    med kode null. Hvis ID er en jobbspesifikasjon, venter programmet på "
-"alle\n"
+"    med kode null. Hvis ID er en jobbspesifikasjon, venter programmet på alle\n"
 "    prosesser i kommandokøen for valgt jobb.\n"
 "    \n"
-"    Hvis «-n» er valgt, skriver programmet ut avslutningsstatus for neste "
-"jobb.\n"
+"    Hvis «-n» er valgt, venter på en enkelt jobb fra listen over IDer,\n"
+"    eller, hvis ingen IDer er oppgitt skriver programmet ut avslutningsstatus for neste jobb.\n"
 "    \n"
 "    Hvis «f» er valgt og jobbkontroll er slått på, venter programmet på at\n"
 "    valgt ID skal avslutte i stedet for å vente på statusendring.\n"
+"    \n"
 "    Avslutningsstatus:\n"
-"    Samme som siste ID, eller mislykket hvis enten ID er ugyldig eller\n"
-"    bruker tar et ugyldig valg."
+"    Samme som siste ID: mislykket hvis enten ID er ugyldig eller\n"
+"    bruker tar et ugyldig valg, eller hvis «-n» er oppgitt og \n"
+"    skallet ikke har noen uventede barne-prosesser."
 
-#: builtins.c:1533
+#: 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 ""
 "Vent på ferdigstillelse av prosess, og rapporter avslutningsstatus.\n"
 "    \n"
-"    Venter på hver prosess som er valgt med PID, og rapporterer avsluttende "
-"statuskode.\n"
-"    Hvis PID ikke er valgt, venter kommandoen på alle aktive "
-"underprosesser,\n"
+"    Venter på hver prosess som er valgt med PID, og rapporterer avsluttende statuskode.\n"
+"    Hvis PID ikke er valgt, venter kommandoen på alle aktive underprosesser,\n"
 "    og avslutter med null-status. PID må være en prosess-ID.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Samme som siste PID. Mislykket hvis PID er ugyldig, eller hvis\n"
 "    bruker tar et ugyldig valg."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4902,7 +4676,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Samme som sist kjørte kommando."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4932,7 +4706,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Samme som sist kjørte kommando."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4960,15 +4734,14 @@ msgstr ""
 "    består av et tall som tilsvarer antall ord, endres NAVN slik at det\n"
 "    tilsvarer dette tallet. Hvis linja er tom, vises ORD og ledetekst på\n"
 "    nytt.  Hvis programmet møter EOF, avslutter kommandoen. Andre\n"
-"    verdier fører til at NAVN endres til null. Lest linje lagres i "
-"variabelen\n"
+"    verdier fører til at NAVN endres til null. Lest linje lagres i variabelen\n"
 "    REPLY. KOMMANDOER kjøres etter hvert utvalg frem til programmet\n"
 "    støter på en bruddkommando.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Samme som sist kjørt kommando."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4985,10 +4758,8 @@ msgid ""
 msgstr ""
 "Rapporter medgått tid i kommandokø-kjøring.\n"
 "    \n"
-"    Kjør valgt DATARØR og skriv ut en oppsummering av reell tid, bruker-CPU-"
-"tid\n"
-"    og system-CPU-tid som er medgått ved kjøring av DATARØR idet det "
-"avsluttes.\n"
+"    Kjør valgt DATARØR og skriv ut en oppsummering av reell tid, bruker-CPU-tid\n"
+"    og system-CPU-tid som er medgått ved kjøring av DATARØR idet det avsluttes.\n"
 "    \n"
 "    Valg:\n"
 "      -p\tkjør tidsoppsummering i gjenbrukbart Posix-format.\n"
@@ -4998,7 +4769,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Samme som statuskoden fra valgt DATARØR."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -5016,21 +4787,16 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Samme som sist kjørte kommando."
 
-#: builtins.c:1630
+#: 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"
@@ -5040,53 +4806,51 @@ msgstr ""
 "    \n"
 "    Kjør lista «if KOMMANDOER». Hvis avslutningsstatus er null, kjøres\n"
 "    «then KOMMANDOER». Ellers kjøres hver «elif KOMMANDOER»-liste\n"
-"    etter tur. Hvis status er null ved sistnevnte, kjøres tilhørende «then "
-"KOMMANDOER»\n"
+"    etter tur. Hvis status er null ved sistnevnte, kjøres tilhørende «then KOMMANDOER»\n"
 "    og if-kommandoen avslutter. Ellers kjøres evt. lista «else KOMMANDOER».\n"
-"    Avslutningsstatus for hele betingelsesuttrykket er statuskoden fra sist "
-"kjørt kommando,\n"
+"    Avslutningsstatus for hele betingelsesuttrykket er statuskoden fra sist kjørt kommando,\n"
 "    eller null hvis ingen tilstand er sann.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Samme som sist kjørt kommando."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Kjør kommandoer så lenge en test lykkes.\n"
 "    \n"
-"    Utvid og kjør KOMMANDOER så lenge siste kommando i\n"
+"    Utvid og kjør KOMMANDOER-2 så lenge siste kommando i\n"
 "    «while» avslutter med null-status.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Samme som sist kjørte kommando."
+"    Returnerer statusen til den siste kommandoen som ble kjørt."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Kjør kommandoer så lenge en test mislykkes.\n"
 "    \n"
-"    Utvid og kjør KOMMANDOER så lenge siste kommando i\n"
+"    Utvid og kjør KOMMANDOER-2 så lenge siste kommando i\n"
 "    «until» avslutter med en annen statuskode enn null.\n"
 "    \n"
 "    Avslutningsstatus:\n"
-"    Samme som sist kjørte kommando."
+"    Returnerer statusen til den siste kommandoen som ble kjørt."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -5100,22 +4864,19 @@ msgid ""
 msgstr ""
 "Lag medprosess med valgt NAVN.\n"
 "    \n"
-"    Kjør valgt KOMMANDO synkront, med standard inn- og utdata for "
-"kommandoen\n"
-"    som er tilkoblet via et datarør til fildeskriptorer med indeks 0 og 1 i "
-"en tabellvariabel \n"
+"    Kjør valgt KOMMANDO synkront, med standard inn- og utdata for kommandoen\n"
+"    som er tilkoblet via et datarør til fildeskriptorer med indeks 0 og 1 i en tabellvariabel \n"
 "    med oppgitt NAVN i kjørende skall.\n"
 "\v    StandardNAVN er «COPROC».\n"
 "    \n"
 "    coproc avslutter med kode 0."
 
-#: builtins.c:1685
+#: 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"
@@ -5124,16 +4885,14 @@ msgid ""
 msgstr ""
 "Definer en skallfunksjon.\n"
 "    \n"
-"    Lag en skallfunksjon med valgt NAVN. NAVN kjører KOMMANDOer i gjeldende "
-"skallkontekst\n"
-"    når det kjøres som en enkel kommando, og argumenter videresendes til "
-"funksjonen som\n"
+"    Lag en skallfunksjon med valgt NAVN. NAVN kjører KOMMANDOer i gjeldende skallkontekst\n"
+"    når det kjøres som en enkel kommando, og argumenter videresendes til funksjonen som\n"
 "    $1…$n. Funksjonens navn ligger i $FUNCNAME.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre valgt NAVN er skrivebeskyttet."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -5151,7 +4910,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Samme som sist kjørt kommando."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5169,14 +4928,12 @@ msgstr ""
 "    Tilsvarer argumentet «JOBBSPES» for kommandoen «fg». Gjenoppta\n"
 "    en jobb som venter eller kjører i bakgrunnen. «JOBBSPES» kan\n"
 "    enten være et jobbnavn eller -nummer. Bruk «&» etter JOBBSPES for å\n"
-"    legge jobben i bakgrunnen, som om jobbspesifikasjonen var et argument "
-"for «bg».\n"
+"    legge jobben i bakgrunnen, som om jobbspesifikasjonen var et argument for «bg».\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Samme som statuskoden for gjenopptatt jobb."
 
-#: builtins.c:1726
-#, fuzzy
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5194,16 +4951,13 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    1 hvis UTTRYKK blir 0, og ellers 0."
 
-#: builtins.c:1738
+#: 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"
@@ -5229,10 +4983,8 @@ msgstr ""
 "    \n"
 "      ( UTTRYKK )\tViser verdien av UTTRYKK\n"
 "      ! UTTRYKK\t\tPositiv hvis UTTRYKK er usant, ellers negativ\n"
-"      UTTR1 && UTTR2\tPositiv hvis både UTTR1 og UTTR2 er sant, ellers "
-"negativ\n"
-"      UTTR1 || UTTR2\tPositiv hvis enten UTTR1 eller UTTR2 er sant, ellers "
-"negativ\n"
+"      UTTR1 && UTTR2\tPositiv hvis både UTTR1 og UTTR2 er sant, ellers negativ\n"
+"      UTTR1 || UTTR2\tPositiv hvis enten UTTR1 eller UTTR2 er sant, ellers negativ\n"
 "    \n"
 "    Ved bruk av «==» og «!=» brukes etterfølgende streng som\n"
 "    et mønster, og programmet utfører mønsterutlikning.\n"
@@ -5245,7 +4997,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    0 eller 1, avhengig av UTTRYKKets verdi."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5305,11 +5057,9 @@ msgstr ""
 "    \t\tfor mapper som er brukt som argumenter for «cd».\n"
 "    GLOBIGNORE\tEn kolondelt liste over mønstre som beskriver filnavn\n"
 "    \t\tsom skal ignoreres av stinavn-utvidelse.\n"
-"    HISTFILE\tNavn på fil hvor kommandohistorikk for gjeldende bruker er "
-"lagret.\n"
+"    HISTFILE\tNavn på fil hvor kommandohistorikk for gjeldende bruker er lagret.\n"
 "    HISTFILESIZE\tMaksimalt antall linjer denne fila kan inneholde.\n"
-"    HISTSIZE\tMaksimalt antall historikklinjer et kjørende skall har tilgang "
-"til.\n"
+"    HISTSIZE\tMaksimalt antall historikklinjer et kjørende skall har tilgang til.\n"
 "    HOME\tFullstendig sti til gjeldende brukers hjemmemappe.\n"
 "    HOSTNAME\tNavn på gjeldende vert.\n"
 "    HOSTTYPE\tType prosessor denne versjonen av Bash kjører på.\n"
@@ -5335,8 +5085,7 @@ msgstr ""
 "    TIMEFORMAT\tUtdata-format for tidsstatistikk som vises av\n"
 "    \t\tdet reserverte ordet «time».\n"
 "    auto_resume\tEt kommandoord som dukker opp alene på en linje\n"
-"    \t\tblir kontrollert mot lista over ventende jobber. Hvis kommandoen "
-"finnes\n"
+"    \t\tblir kontrollert mot lista over ventende jobber. Hvis kommandoen finnes\n"
 "    \t\ti lista, flyttes den til forgrunnen.\n"
 "    \t\tVerdien «exact» betyr at kommandoen må være helt lik\n"
 "    \t\tet kommandonavn i lista over ventende jobber.\n"
@@ -5350,7 +5099,7 @@ msgstr ""
 "    HISTIGNORE\tEn kolondelt liste over mønstre som bestemmer\n"
 "    \t\thvilke kommandoer som skal lagres i historikklista.\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5406,7 +5155,7 @@ msgstr ""
 "    Vellykket, med mindre et ugyldig argument er brukt eller\n"
 "    mappebytte mislykkes."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5435,8 +5184,7 @@ msgstr ""
 "Fjern mapper fra stabelen.\n"
 "    \n"
 "    Fjern oppføringer fra mappestabelen. Hvis ingen argumenter er gitt,\n"
-"    fjernes øverste mappe fra stabelen, og tar i bruk ny toppmappe som "
-"arbeidsmappe.\n"
+"    fjernes øverste mappe fra stabelen, og tar i bruk ny toppmappe som arbeidsmappe.\n"
 "    \n"
 "    Valg:\n"
 "      -n\tIkke bytt mappe når mapper fjernes fra stabelen\n"
@@ -5447,8 +5195,7 @@ msgstr ""
 "       F.eks.: «popd +0» fjerner første mappe, og «popd +1» mappe nr. 2.\n"
 "    \n"
 "      -N\tFjern N-te mappe (talt fra null til høyre, etter «dirs»).\n"
-"       F.eks.: «popd -0» fjerner siste mappe, og «popd -1» nest siste "
-"mappe.\n"
+"       F.eks.: «popd -0» fjerner siste mappe, og «popd -1» nest siste mappe.\n"
 "    \n"
 "    Bruk kommandoen «dirs» for å vise mappestabelen.\n"
 "    \n"
@@ -5456,7 +5203,7 @@ msgstr ""
 "    Vellykket, med mindre et ugyldig argument er brukt eller\n"
 "    mappebytte mislykkes."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5502,7 +5249,7 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre bruker tar et ugyldig valg eller det oppstår feil."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5523,10 +5270,8 @@ msgid ""
 msgstr ""
 "Juster og tilbakestill skallvalg.\n"
 "    \n"
-"    Endre innstilling for hvert VALGNAVN. Hvis ingen valg/argumenter er "
-"brukt,\n"
-"    skriver programmet ut alle oppgitte VALGNAVN og viser hvorvidt de har en "
-"verdi.\n"
+"    Endre innstilling for hvert VALGNAVN. Hvis ingen valg/argumenter er brukt,\n"
+"    skriver programmet ut alle oppgitte VALGNAVN og viser hvorvidt de har en verdi.\n"
 "    Hvis ingen VALGNAVN er oppgitt, skriver programmet ut alle skallvalg.\n"
 "    \n"
 "    Valg:\n"
@@ -5540,7 +5285,7 @@ msgstr ""
 "    Vellykket hvis VALGNAVN er slått på, og mislykket hvis enten bruker \n"
 "    tar et ugyldig valg eller VALGNAVN er slått av."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5548,34 +5293,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 specifications described in "
-"printf(1),\n"
+"    In addition to the standard format specifications described in printf(1),\n"
 "    printf interprets:\n"
 "    \n"
 "      %b\texpand backslash escape sequences in the corresponding argument\n"
 "      %q\tquote the argument in a way that can be reused as shell input\n"
-"      %(fmt)T\toutput the date-time string resulting from using FMT as a "
-"format\n"
+"      %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"
 "    \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 ""
 "Formaterer og skriver ut ARGUMENTER på FORMATets premisser.\n"
@@ -5589,35 +5329,29 @@ msgstr ""
 "    - skiftetegn (som konverteres og kopieres til standardutdata), og\n"
 "    - formatspesifikasjoner (som skriver ut påfølgende argument).\n"
 "    \n"
-"    Printf tolker følgende standard-formatspes. i tillegg til de som "
-"står     beskrevet i printf(1):\n"
+"    Printf tolker følgende standard-formatspes. i tillegg til de som står     beskrevet i printf(1):\n"
 "    \n"
 "      %b\tutvid omvendt skråstrek-skiftesekvenser i gjeldende argument\n"
-"      %q\tgi argumentet anførselstegn slik at det kan brukes som skall-"
-"inndata\n"
-"      %(fmt)T skriv ut «date-time»-streng etter bruk av FMT som "
-"formatstreng\n"
+"      %q\tgi argumentet anførselstegn slik at det kan brukes som skall-inndata\n"
+"      %Q\tsom %q, men bruk hvilken som helst presisjon på argumentet uten anførselstegn før\n"
+"     \t\tsitering\n"
+"      %(fmt)T skriv ut «date-time»-streng etter bruk av FMT som formatstreng\n"
 "            med strftime(3)\n"
 "    \n"
-"    Formatet gjenbrukes etter nødvendighet for å bruke opp alle "
-"argumentene.\n"
-"    Hvis det finnes færre argumenter enn formatet krever, oppfører "
-"overflødige\n"
+"    Formatet gjenbrukes etter nødvendighet for å bruke opp alle argumentene.\n"
+"    Hvis det finnes færre argumenter enn formatet krever, oppfører overflødige\n"
 "    formatstrenger seg som om de var 0-verdier eller null-strenger.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre bruker tar et ugyldig valg eller det oppstår en\n"
 "    skrive- eller tidelingsfeil."
 
-#: builtins.c:1971
-#, 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"
-"    are supplied, existing completion specifications are printed in a way "
-"that\n"
+"    For each NAME, specify how arguments are to be completed.  If no options\n"
+"    are supplied, existing completion specifications are printed in a way that\n"
 "    allows them to be reused as input.\n"
 "    \n"
 "    Options:\n"
@@ -5632,10 +5366,8 @@ msgid ""
 "    \t\tcommand) word\n"
 "    \n"
 "    When completion is attempted, the actions are applied in the order the\n"
-"    uppercase-letter options are listed above. If multiple options are "
-"supplied,\n"
-"    the -D option takes precedence over -E, and both take precedence over -"
-"I.\n"
+"    uppercase-letter options are listed above. If multiple options are supplied,\n"
+"    the -D option takes precedence over -E, and both take precedence over -I.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
@@ -5643,13 +5375,11 @@ msgstr ""
 "Velg hvordan argumenter skal fullføres av Readline.\n"
 "    \n"
 "    Velg hvordan argumenter skal fullføres per NAVN.\n"
-"    Hvis brukeren ikke tar noen valg, blir gjeldende "
-"fullføringsspesifikasjoner\n"
+"    Hvis brukeren ikke tar noen valg, blir gjeldende fullføringsspesifikasjoner\n"
 "    skrevet ut i et format som egner seg til gjenbruk.\n"
 "    \n"
 "    Valg:\n"
-"      -p\tskriv ut gjeldende fullføringsoppsett i et gjenbrukbart format "
-"(standard)\n"
+"      -p\tskriv ut gjeldende fullføringsoppsett i et gjenbrukbart format (standard)\n"
 "      -r\tfjern en fullføringsspesifikasjon per NAVN\n"
 "    \t(eller fra alle spesifikasjoner hvis ingen NAVN er valgt)\n"
 "      -D\tbruk fullføringer og handlinger som standard for kommandoer uten\n"
@@ -5664,13 +5394,12 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre bruker tar et ugyldig valg eller det oppstår feil."
 
-#: builtins.c:2001
+#: 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 supplied, matches "
-"against\n"
+"    completions.  If the optional WORD argument is supplied, matches against\n"
 "    WORD are generated.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5685,16 +5414,13 @@ msgstr ""
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre bruker tar et ugyldig valg eller det oppstår feil."
 
-#: builtins.c:2016
+#: 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"
@@ -5718,10 +5444,8 @@ msgid ""
 msgstr ""
 "Endre eller vis fullføringsvalg.\n"
 "    \n"
-"    Endre fullføringsvalg per NAVN, eller kjørende fullføringsprosess hvis "
-"ingen\n"
-"    NAVN er valgt. Hvis ingen VALG er brukt, skriv enten ut fullføringsvalg "
-"per NAVN,\n"
+"    Endre fullføringsvalg per NAVN, eller kjørende fullføringsprosess hvis ingen\n"
+"    NAVN er valgt. Hvis ingen VALG er brukt, skriv enten ut fullføringsvalg per NAVN,\n"
 "    eller gjeldende fullføringsoppsett.\n"
 "    \n"
 "    Valg:\n"
@@ -5734,8 +5458,7 @@ msgstr ""
 "    \n"
 "    Argumenter:\n"
 "    \n"
-"    Hvert NAVN henviser til en kommando som må ha en "
-"fullføringsspesifikasjon\n"
+"    Hvert NAVN henviser til en kommando som må ha en fullføringsspesifikasjon\n"
 "    definert med den innebyde kommandoen «complete». Hvis ingen NAVN\n"
 "    er valgt, må compopt brukes av en funksjon som genererer fullføringer.\n"
 "    Valgene for den aktuelle fullføringsgeneratoren blir i så fall endret.\n"
@@ -5744,26 +5467,21 @@ msgstr ""
 "    Vellykket, med mindre bruker tar et ugyldig valg eller NAVN\n"
 "    mangler fullføringsoppsett."
 
-#: builtins.c:2047
+#: 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"
@@ -5776,54 +5494,43 @@ 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 ""
 "Legg linjer fra standard inndata i en indeksert tabellvariabel.\n"
 "    \n"
-"    Legg linjer fra standard inndata i indeksert tabellvariabel TABELL, "
-"eller\n"
+"    Legg linjer fra standard inndata i indeksert tabellvariabel TABELL, eller\n"
 "    fra fildeskriptor FD ved bruk av «-u». Variabelen MAPFILE er\n"
 "    standard TABELL.\n"
 "    \n"
 "    Valg:\n"
-"      -d skill\tBruk SKILLetegn til å avslutte linjer (i stedet for "
-"linjeskift)\n"
-"      -n antall\tIkke kopier flere enn valgt ANTALL linjer. Hvis ANTALL er "
-"0, kopieres alle linjer.\n"
-"      -O oppr\tTildel til TABELL ved indeks-OPPRinnelse. Standard indeks er "
-"0.\n"
+"      -d skill\tBruk SKILLetegn til å avslutte linjer (i stedet for linjeskift)\n"
+"      -n antall\tIkke kopier flere enn valgt ANTALL linjer. Hvis ANTALL er 0, kopieres alle linjer.\n"
+"      -O oppr\tTildel til TABELL ved indeks-OPPRinnelse. Standard indeks er 0.\n"
 "      -s antall \tForkast valgt ANTALL linjer i starten.\n"
 "      -t\t\tFjern etterfølgende linjeskift fra hver lest linje.\n"
-"      -u fd\t\tLes linjer fra fildeskriptor FD i stedet for standard "
-"inndata.\n"
-"      -C tilbakekall\tVurder TILBAKEKALL hver gang valgt ANTALL linjer er "
-"lest.\n"
-"      -c antall\tVelg antall linjer som skal leses mellom hvert "
-"TILBAKEKALL.\n"
+"      -u fd\t\tLes linjer fra fildeskriptor FD i stedet for standard inndata.\n"
+"      -C tilbakekall\tVurder TILBAKEKALL hver gang valgt ANTALL linjer er lest.\n"
+"      -c antall\tVelg antall linjer som skal leses mellom hvert TILBAKEKALL.\n"
 "    \n"
 "    Argumenter:\n"
 "      ARRAY\t\tTabellvariabel-navn som skal brukes i fildata.\n"
 "    \n"
 "    Hvis «-C» er valgt men ikke «-c», brukes standardantallet 5000.  Når\n"
-"    TILBAKEKALL vurderes, argumenteres det i tillegg med indeks av neste "
-"tabellelement\n"
+"    TILBAKEKALL vurderes, argumenteres det i tillegg med indeks av neste tabellelement\n"
 "    samt linjenummeret som skal tildeles aktuelt element.\n"
 "    \n"
-"    Hvis ingen eksplisitt opprinnelse er gitt, tømmes TABELL før den får "
-"tildelt noe.\n"
+"    Hvis ingen eksplisitt opprinnelse er gitt, tømmes TABELL før den får tildelt noe.\n"
 "    \n"
 "    Avslutningsstatus:\n"
 "    Vellykket, med mindre bruker tar et ugyldig valg eller TABELL enten er\n"
 "    skrivebeskyttet eller en ikke-indeksert tabell."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5833,6 +5540,9 @@ msgstr ""
 "    \n"
 "    Dette er synonymt med «mapfile»."
 
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: ugyldig nøkkel for assosiativ tabell"
+
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
index 51b3d4f61cdee6f82a1418fb90721faba8f101c2..86de738c33c04f42f861ea5bc5dbb6f617999e8f 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index dcc82d95f6ee4e369695261fce842d74f9459dad..f80f24709385550c87b8bf2eeb464ed9373a52be 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,5 +1,5 @@
 # Dutch translations for GNU bash.
-# Copyright (C) 2020 Free Software Foundation, Inc.
+# Copyright (C) 2022 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 #
 # «Lernfähiger Software! Ich lach mich kaputt!»
 # om stilstaan en niet om finale opgave.  Een alternatieve vertaling
 # zou dus "Stilstand" kunnen zijn.
 #
-# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2008, 2010, 2011, 2013, 2014.
-# Benno Schulenberg <benno@vertaalt.nl>, 2015, 2016, 2019, 2020.
-# Erwin Poeze <erwin.poeze@gmail.com>, 2009.
-# Julie Vermeersch <julie@lambda1.be>, 2004.
 # Erick Branderhorst <branderh@iaehv.nl>, 1996.
+# Julie Vermeersch <julie@lambda1.be>, 2004.
+# Erwin Poeze <erwin.poeze@gmail.com>, 2009.
+# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2008, 2010, 2011, 2013, 2014.
+# Benno Schulenberg <benno@vertaalt.nl>, 2015, 2016, 2019, 2020, 2022.
 msgid ""
 msgstr ""
-"Project-Id-Version: bash-5.1\n"
+"Project-Id-Version: bash-5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2020-12-16 09:57+0100\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-23 10:18+0200\n"
 "Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -41,57 +41,52 @@ msgstr ""
 msgid "bad array subscript"
 msgstr "ongeldige array-index"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: 'nameref'-eigenschap wordt verwijderd"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: kan geïndexeerd array niet omzetten naar associatief array"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: ongeldige sleutel voor associatief array"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: niet-numerieke index is niet mogelijk"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: een index is nodig bij toekenning aan associatief array"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "Kan %s niet aanmaken: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command(): kan voor opdracht geen toetsenkaart vinden"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: eerste teken dat geen witruimte is is niet '\"'"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "geen sluit-'%c' in %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: ontbrekend scheidingsteken (dubbele punt)"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "Kan '%s' niet losmaken in toetsenkaart"
@@ -111,7 +106,7 @@ msgstr "accoladevervanging: onvoldoende geheugen beschikbaar voor %u elementen"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "accoladevervanging: onvoldoende geheugen beschikbaar voor '%s'"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "'%s': ongeldige naam voor alias"
@@ -182,7 +177,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "HOME is niet gedefinieerd"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "te veel argumenten"
 
@@ -209,7 +204,7 @@ msgstr "waarschuwing: "
 msgid "%s: usage: "
 msgstr "%s: Gebruik:  "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: optie vereist een argument"
@@ -224,7 +219,7 @@ msgstr "%s: vereist een numeriek argument"
 msgid "%s: not found"
 msgstr "%s: niet gevonden"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: ongeldige optie"
@@ -234,7 +229,7 @@ msgstr "%s: ongeldige optie"
 msgid "%s: invalid option name"
 msgstr "%s: ongeldige optienaam"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "'%s': is geen geldige naam"
@@ -247,7 +242,7 @@ msgstr "ongeldig octaal getal"
 msgid "invalid hex number"
 msgstr "ongeldig hexadecimaal getal"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "ongeldig getal"
 
@@ -261,88 +256,93 @@ msgstr "%s: ongeldige signaalaanduiding"
 msgid "`%s': not a pid or valid job spec"
 msgstr "'%s': is geen PID en geen geldige taakaanduiding"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: is een alleen-lezen variabele"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: kan niet toewijzen"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s valt buiten bereik"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s valt buiten bereik"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: taak bestaat niet"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: geen taakbesturing"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "geen taakbesturing"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: beperkte modus"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "beperkte modus"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: is geen ingebouwde opdracht van de shell"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "schrijffout: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "fout tijdens instellen van terminaleigenschappen: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "fout tijdens verkrijgen van terminaleigenschappen: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: fout tijdens bepalen van huidige map: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: taakaanduiding is niet eenduidig"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "hulp is niet beschikbaar in deze versie"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "Kan '%s' niet verwijderen: %s is alleen-lezen"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "Kan '%s' niet verwijderen"
@@ -352,108 +352,108 @@ msgstr "Kan '%s' niet verwijderen"
 msgid "%s: invalid action name"
 msgstr "%s: ongeldige actienaam"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: is geen completerings-aanduiding"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "waarschuwing: optie -F functioneert mogelijk niet zoals verwacht"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "waarschuwing: optie -C functioneert mogelijk niet zoals verwacht"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "er wordt momenteel geen completeringsfunctie uitgevoerd"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "kan alleen worden gebruikt binnen een functie"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "'-f' kan niet gebruikt worden om een functie te definiëren"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: is een alleen-lezen functie"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: verwijzingsvariabele mag geen array zijn"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: zelfverwijzing door naamsverwijzingsvariabele is niet toegestaan"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: circulaire naamsverwijzing"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "'%s': ongeldige variabelenaam voor naamsverwijzing"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "'-f' kan niet gebruikt worden om een functie te definiëren"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: is een alleen-lezen functie"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: aangehaalde samengesteld-array-toekenning is verouderd"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: kan array-variabelen niet op deze manier verwijderen"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: kan associatief array niet omzetten naar geïndexeerd array"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: aangehaalde samengesteld-array-toekenning is verouderd"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "dynamisch-laden is niet beschikbaar"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "kan gedeeld object %s niet openen: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "kan %s niet vinden in gedeeld object %s: %s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: dynamische ingebouwde functie is reeds geladen"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "laadfunctie voor %s geeft foutcode (%d): is niet geladen"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: is niet dynamisch geladen"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "Kan %s niet verwijderen: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: is een map"
@@ -468,7 +468,7 @@ msgstr "%s: is geen normaal bestand"
 msgid "%s: file is too large"
 msgstr "%s: bestand is te groot"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: kan binair bestand niet uitvoeren"
@@ -565,12 +565,12 @@ msgstr ""
 "Er is geen hulptekst voor '%s'.\n"
 "Probeer 'help help' of 'man -k %s' of 'info %s'."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "Kan %s niet openen: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -590,21 +590,21 @@ msgstr ""
 "(Een sterretje (*) naast een naam betekent dat de functie uitgeschakeld is.)\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "slechts één van '-a', '-n', '-r' of '-w' is mogelijk"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "geschiedenispositie"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: ongeldig tijdsstempel"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: geschiedenisexpansie is mislukt"
@@ -627,80 +627,80 @@ msgstr "%s: argumenten moeten proces-IDs of taak-IDs zijn"
 msgid "Unknown error"
 msgstr "Onbekende fout"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "uitdrukking werd verwacht"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: is geen geïndexeerd array"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: ongeldige aanduiding van bestandsdescriptor"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: ongeldige bestandsdescriptor: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: ongeldig regelaantal"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: ongeldig array-begin"
 
 # Quantum is een hoeveelheid regels, een getal.
 # Callback is de aan te roepen functie, maar onnodig in de vertaling.
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: ongeldige hoeveelheid"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "lege naam van array-variabele"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "ondersteuning van arrayvariabelen is vereist"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "'%s': ontbrekend opmaakteken"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "'%c': ongeldige aanduiding van tijdsopmaak"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "'%c': ongeldig opmaakteken"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "waarschuwing: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "probleem bij ontleden van opmaak: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "ontbrekend hexadecimaal cijfer bij \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "ontbrekend Unicode-cijfer bij \\%c"
@@ -844,12 +844,12 @@ msgstr ""
 "\n"
 "    De opdracht 'dirs' toont de huidige mappenstapel."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: ongeldige aanduiding van tijdslimiet"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "leesfout: %d: %s"
@@ -862,7 +862,7 @@ msgstr "kan alleen een 'return' doen uit een functie of een uit script aangeroep
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "kan niet tegelijk een functie en een variabele verwijderen"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: is geen array-variabele"
@@ -881,11 +881,11 @@ msgstr "Kan '%s' niet exporteren"
 msgid "shift count"
 msgstr "shift-aantal"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "kan shell-opties niet tegelijk inschakelen en uitschakelen"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: ongeldige shell-optienaam"
@@ -952,16 +952,16 @@ msgstr "%s: ongeldige limietwaarde"
 msgid "`%c': bad command"
 msgstr "'%c': ongeldige opdracht"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: kan de limiet niet bepalen: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "limiet"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: kan de limiet niet wijzigen: %s"
@@ -980,7 +980,7 @@ msgstr "'%c': ongeldige operator in symbolische modus"
 msgid "`%c': invalid symbolic mode character"
 msgstr "'%c': ongeldig teken in symbolische modus"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " regel "
 
@@ -1000,96 +1000,106 @@ msgstr "Afbreken..."
 msgid "INFORM: "
 msgstr "informatie: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "DEBUG-waarschuwing: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "onbekende opdrachtfout"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "ongeldig opdrachttype"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "ongeldige verbinder"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "ongeldige sprong"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: ongebonden variabele"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\awachten op invoer duurde te lang -- automatisch afgemeld\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "kan standaardinvoer niet omleiden vanaf /dev/null: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: '%c': ongeldig opmaakteken"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc(): coproc [%d:%s] bestaat nog steeds"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "pijpfout"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: maximum 'eval'-nestingsniveau is overschreden (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: maximum 'source'-nestingsniveau is overschreden (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: maximum functie-nestingsniveau is overschreden (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: beperkte modus: '/' in opdrachtnamen is niet toegestaan"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: opdracht niet gevonden"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: kan niet uitvoeren: vereist bestand is niet gevonden"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: ongeldige interpreter"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: kan binair bestand %s niet uitvoeren"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "'%s' is een speciale ingebouwde shell-functie"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "kan bestandsdescriptor %d niet dupliceren naar bestandsdescriptor %d"
@@ -1102,68 +1112,68 @@ msgstr "recursieniveau van expressies is overschreden"
 msgid "recursion stack underflow"
 msgstr "recursiestapel-onderloop"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "syntaxfout in expressie"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "poging tot toewijzing aan een niet-variabele"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "syntaxfout in toewijzing aan variabele"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "deling door nul"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "**interne fout**: onjuist symbool in toewijzingsexpressie"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "':' werd verwacht voor een voorwaardelijke expressie"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "exponent is kleiner dan 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "naam verwacht na pre-increment of pre-decrement"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "ontbrekend ')'"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "syntaxfout: operator verwacht"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "syntaxfout: ongeldige rekenkundige operator"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (het onjuiste symbool is \"%s\")"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "ongeldige rekenkundige basis"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "ongeldige integerconstante"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "waarde is te groot voor basis"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: expressiefout\n"
@@ -1172,7 +1182,7 @@ msgstr "%s: expressiefout\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getwd(): kan geen geen toegang verkrijgen tot bovenliggende mappen"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "kan 'nodelay'-modus niet uitschakelen voor bestandsdescriptor %d"
@@ -1191,167 +1201,167 @@ msgstr "check_bash_input(): buffer bestaat al voor nieuwe bestandsdescriptor %d"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline(): procesgroep van pijp"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: LUS: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: LUS: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "afgesplitst PID %d hoort bij draaiende taak %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "verwijderen van gepauzeerde taak %d met procesgroep %ld..."
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process(): PID %5ld (%s) staat gemarkeerd als nog actief"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid(): PID %ld bestaat niet"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Signaal %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Klaar"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Gepauzeerd"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Gepauzeerd(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Wordt uitgevoerd"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Klaar(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Exit %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Onbekende afsluitwaarde"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(geheugendump gemaakt) "
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (werkmap: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "instellen van procesgroep %2$ld van dochter %1$ld"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait(): PID %ld is geen dochterproces van deze shell"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for(): proces %ld is nergens geregistreerd"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job(): taak %d is gepauzeerd"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: geen lopende taken"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: taak is afgesloten"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: taak %d draait al op de achtergrond"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld(): WNOHANG wordt ingeschakeld om een onbegrensde blokkering te vermijden"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: regel %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (geheugendump gemaakt)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(werkmap is nu: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp() is mislukt"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: geen taakbesturing in de achtergrond"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: lijnprotocol"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid()"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "kan procesgroep (%d) van terminal niet instellen"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "er is geen taakbesturing in deze shell"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc(): controletest is mislukt: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1360,47 +1370,47 @@ msgstr ""
 "\r\n"
 "malloc(): %s:%d: controletest is mislukt\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "onbekend"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc(): een pointer op de lijst van vrije blokken is overschreven"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free(): aangeroepen met als argument een blok dat al vrijgegeven is"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free(): aangeroepen met als argument een ongebruikt blok"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free(): onderloop: 'mh_nbytes' valt buiten bereik"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free(): onderloop: 'magic8' is beschadigd"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free(): blokgroottes van begin en eind zijn verschillend"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc(): aangeroepen met als argument een ongebruikt blok"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc(): onderloop: 'mh_nbytes' valt buiten bereik"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc(): onderloop: 'magic8' is beschadigd"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc(): blokgroottes van begin en eind zijn verschillend"
 
@@ -1442,22 +1452,22 @@ msgstr "%s: ongeldige aanduiding van netwerkpad"
 msgid "network operations not supported"
 msgstr "netwerkoperaties worden niet ondersteund"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale(): LC_ALL: kan niet van taalregio veranderen (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale(): LC_ALL: kan niet van taalregio veranderen (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale(): %s: kan niet van taalregio veranderen (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale(): %s: kan niet van taalregio veranderen (%s): %s"
@@ -1475,136 +1485,136 @@ msgstr "U hebt nieuwe post in $_"
 msgid "The mail in %s has been read\n"
 msgstr "De post in %s is gelezen.\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "syntaxfout: een rekenkundige uitdrukking is vereist"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "syntaxfout: onverwachte ';'"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "syntaxfout: '((%s))'"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document(): ongeldig instructietype %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "regel %d van \"hier\"-document eindigt met einde van bestand (verwachtte '%s')"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection(): omleidingsinstructie '%d' valt buiten bereik"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc(): lengte van invoerregel (%zu) overschrijdt SIZE_MAX (%lu): regel is afgekapt"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "maximum aantal \"hier\"-documenten is overschreden"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "onverwacht bestandseinde tijdens zoeken naar bijpassende '%c'"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "onverwacht bestandseinde tijdens zoeken naar ']]'"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "syntaxfout in conditionele expressie: onverwacht symbool '%s'"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "syntaxfout in conditionele expressie"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "onverwacht symbool '%s'; ')' werd verwacht"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "')' werd verwacht"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "onverwacht argument '%s' bij eenzijdige conditionele operator"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "onverwacht argument bij eenzijdige conditionele operator"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "onverwacht symbool '%s'; tweezijdige conditionele operator werd verwacht"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "tweezijdige conditionele operator werd verwacht"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "onverwacht argument '%s' bij tweezijdige conditionele operator"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "onverwacht argument bij tweezijdige conditionele operator"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "onverwacht symbool '%c' in conditionele opdracht"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "onverwacht symbool '%s' in conditionele opdracht"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "onverwacht symbool %d in conditionele opdracht"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "syntaxfout nabij onverwacht symbool '%s'"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "syntaxfout nabij '%s'"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "syntaxfout: onverwacht bestandseinde"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "syntaxfout"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Gebruik \"%s\" om de shell te verlaten.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "onverwacht bestandseinde tijdens zoeken naar bijpassende ')'"
 
@@ -1642,94 +1652,94 @@ msgstr "xtrace_set(): bestandspointer is NIL"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace-bestandsdescriptor (%d) != bestandsnummer van xtrace-bestandspointer (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf(): '%c': ongeldig opmaakteken"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "bestandsdescriptor valt buiten bereik"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: omleiding is niet eenduidig"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: kan bestaand bestand niet overschrijven"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: beperkte modus: omleiden van uitvoer is niet toegestaan"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "kan geen tijdelijk bestand maken voor \"hier\"-document: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: kan bestandsdescriptor niet toewijzen aan variabele"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port is niet mogelijk zonder netwerk"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "omleidingsfout: kan bestandsdescriptor niet dupliceren"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "Kan /tmp niet vinden; maak deze aan!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp dient een geldige mapnaam te zijn"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "pretty-printing-modus wordt genegeerd in interactieve shells"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: ongeldige optie"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "kan UID niet op %d instellen; effectieve UID is %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "kan GID niet op %d instellen; effectieve GID is %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "kan debugger niet starten; debugging-modus is uitgeschakeld"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: is een map"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Ik heb geen naam!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, versie %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1738,320 +1748,320 @@ msgstr ""
 "Gebruik:  %s [opties]\n"
 "          %s [opties] scriptbestand...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Lange opties:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Korte opties:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD,  of -c OPDRACHT,  of -O SHOPT-OPTIE    (enkel bij aanroep)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s,  of -o optie    (veranderbaar via 'set')\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Typ '%s -c \"help set\"' voor meer informatie over shell-opties.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "Typ '%s -c help' voor meer informatie over ingebouwde shell-functies.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Gebruik de opdracht 'bashbug' om fouten in bash te rapporteren.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "Webpagina van 'bash': <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Algemene hulp bij gebruik van GNU-software: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask(): %d: ongeldige operatie"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Niet-bestaand signaal"
 
 # Vroeger ging dit over het afsluiten van een modemverbinding,
 # tegenwoordig over het afsluiten van een pseudoterminal.
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Opgehangen"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Onderbroken"
 
 # Verleden tijd, "Afgesloten", net als de andere actiesignaalnamen.
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Afgesloten"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Ongeldige instructie"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "Traceer/breekpunt-instructie"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "ABORT-instructie"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "EMT-instructie"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Drijvendekomma-berekeningsfout"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Geëlimineerd"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Busfout"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Segmentatiefout"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Onjuiste systeemaanroep"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Gebroken pijp"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Wekker"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Beëindigd"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Urgente in-/uitvoertoestand"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Gepauzeerd (signaal)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Doorgaan"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Dochter is geëlimineerd of gestopt"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Gepauzeerd (terminalinvoer)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Gepauzeerd (terminaluitvoer)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "I/O is mogelijk"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "CPU-limiet"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Bestandslimiet"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Alarm (virtueel)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Alarm (profiel)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Venster is veranderd"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Recordvergrendeling"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Gebruikerssignaal 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Gebruikerssignaal 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "HFT-invoergegevens staan te wachten"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "stroomstoring dreigt"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "systeemcrash dreigt"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "proces naar andere processor verplaatsen"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "programmeerfout"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "HFT-monitormodus is gegeven"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "HFT-monitormodus is herroepen"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "HFT-geluidssequentie is afgespeeld"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Verzoek om informatie"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Onbekend signaal #%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "ongeldige vervanging: geen sluit-'%s' in %s"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: kan geen lijst toewijzen aan een array-element"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "kan geen pijp maken voor procesvervanging"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "kan geen dochterproces maken voor procesvervanging"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "kan pijp genaamd %s niet openen om te lezen"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "kan pijp genaamd %s niet openen om te schrijven"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "kan pijp genaamd %s niet dupliceren als bestandsdescriptor %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "opdrachtsubstitutie: null-byte in invoer is genegeerd"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "kan geen pijp maken voor opdrachtvervanging"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "kan geen dochterproces maken voor opdrachtvervanging"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute(): kan pijp niet dupliceren als bestandsdescriptor 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: ongeldige variabelenaam voor naamsverwijzing"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: ongeldige indirecte expansie"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: ongeldige variabelenaam"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parameter is niet ingesteld"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: lege parameter, of niet ingesteld"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: resultaat van deeltekenreeks is kleiner dan nul"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: ongeldige vervanging"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: kan niet op deze manier toewijzen"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "toekomstige versies van de shell zullen dit als een rekenkundige vervanging evalueren"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "ongeldige vervanging: geen afsluitende '`' in %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "geen overeenkomst: %s"
@@ -2074,21 +2084,21 @@ msgstr "')' werd verwacht"
 msgid "`)' expected, found %s"
 msgstr "')' werd verwacht; %s gevonden"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "tweezijdige operator werd verwacht, %s gevonden"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "eenzijdige operator werd verwacht, %s gevonden"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "ontbrekende ']'"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "syntaxfout: onverwachte '%s'"
@@ -2097,99 +2107,104 @@ msgstr "syntaxfout: onverwachte '%s'"
 msgid "invalid signal number"
 msgstr "ongeldig signaalnummer"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "trap handler: maximum 'trap-handler'-niveau is overschreden (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps(): ongeldige waarde in trap_list[%d]: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: signaalverwerker is SIG_DFL, herzenden van %d (%s) aan mezelf..."
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler(): ongeldig signaal %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "fout tijdens importeren van functiedefinitie voor '%s'"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "shell-niveau is te hoog (%d); teruggezet op 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable(): er is geen functiecontext in huidige geldigheidsbereik"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: aan variabele mag geen waarde toegewezen worden"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: kan geen waarde overerven van incompatibel type"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: toekenning van geheel getal aan naamsverwijzing"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables(): er is geen functiecontext in huidige geldigheidsbereik"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "*** %s heeft lege export-tekenreeks"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "*** ongeldig teken '%d' in export-tekenreeks voor %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "*** geen '=' in export-tekenreeks voor %s"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context(): top van 'shell_variables' is geen functiecontext"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context(): er is geen 'global_variables'-context"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope(): top van 'shell_variables' is geen tijdelijk geldigheidsbereik"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: Kan %s niet openen als BESTAND"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: ongeldige waarde %s voor 'trace'-bestandsdescriptor"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: compatibiliteitswaarde valt buiten bereik"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2276,12 +2291,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] OPDRACHT [ARGUMENT...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [NAAM[=WAARDE] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [NAAM[=WAARDE] ...] of declare -p [-aAfFilnrtux] [NAAM ...]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] NAAM[=WAARDE]..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] NAAM[=WAARDE] ... of typeset -p [-aAfFilnrtux] [NAAM ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2375,8 +2390,8 @@ msgid "return [n]"
 msgstr "return [N]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o OPTIENAAM] [--] [ARGUMENT...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o OPTIENAAM] [--] [-] [ARGUMENT...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2423,8 +2438,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] NAAM..."
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [GRENSWAARDE]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [GRENSWAARDE]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2463,12 +2478,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if OPDRACHTEN; then OPDRACHTEN; [elif OPDRACHTEN; then OPDRACHTEN;]... [else OPDRACHTEN;] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while OPDRACHTEN; do OPDRACHTEN; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while OPDRACHTEN; do OPDRACHTEN2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until OPDRACHTEN; do OPDRACHTEN; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until OPDRACHTEN; do OPDRACHTEN2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3747,7 +3762,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3789,8 +3805,11 @@ msgstr ""
 "    als optie '-u' gegeven is) en wijst het eerste woord aan de eerste NAAM toe,\n"
 "    het tweede woord aan de tweede NAAM, en zo verder; de resterende woorden\n"
 "    worden toegewezen aan de laatste NAAM.  Alleen de tekens in de variabele\n"
-"    IFS worden herkend als woordscheidingstekens.  Als er geen namen gegeven\n"
-"    zijn, dan wordt de gelezen regel opgeslagen in de variabele REPLY.\n"
+"    IFS worden herkend als woordscheidingstekens.  Standaard ontdoet een\n"
+"    backslash scheidingstekens en het nieuweregelteken van hun betekenis.\n"
+"\n"
+"    Als er geen namen gegeven zijn, dan wordt de gelezen regel opgeslagen in\n"
+"    de variabele REPLY.\n"
 "\n"
 "    Opties:\n"
 "      -a ARRAY   de gelezen woorden toekennen aan de opeenvolgende posities\n"
@@ -3819,7 +3838,7 @@ msgstr ""
 "    de tijdslimiet overschreden werd, er een toekenningsfout optrad, of een\n"
 "    ongeldige bestandsdescriptor als argument van '-u' gegeven werd."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3840,7 +3859,7 @@ msgstr ""
 "    uitvoeren is."
 
 # Voor de duidelijkheid is de tekstvolgorde veranderd.
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4000,7 +4019,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4037,7 +4056,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of een\n"
 "    NAAM alleen-lezen is."
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4069,7 +4088,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is 0, tenzij een ongeldige optie of NAAM gegeven werd."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4106,7 +4125,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is 0, tenzij een ongeldige optie of NAAM gegeven werd."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4123,7 +4142,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is 0 tenzij N negatief is of groter dan $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4146,7 +4165,7 @@ msgstr ""
 "    De afsluitwaarde is die van de laatst uitgevoerde opdracht in het gegeven\n"
 "    bestand, of 1 als dit bestand niet gelezen kan worden."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4171,7 +4190,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij taakbeheer uitgeschakeld is of er een fout\n"
 "    optreedt."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4313,7 +4332,7 @@ msgstr ""
 "    De afsluitwaarde is 0 als EXPRESSIE waar is, 1 als EXPRESSIE onwaar is,\n"
 "    en 2 als een ongeldig argument gegeven werd."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4325,7 +4344,7 @@ msgstr ""
 "    Dit is een synoniem voor de ingebouwde functie 'test', behalve dat\n"
 "    het laatste argument een ']' moet zijn, horend bij de begin-'['."
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4343,7 +4362,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is altijd 0."
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4412,7 +4431,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldige optie of SIGNAALAANDUIDING\n"
 "    gegeven werd."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4463,7 +4482,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is 0 als elke NAAM gevonden werd, anders 1."
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4557,7 +4576,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er een\n"
 "    fout optrad."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4589,7 +4608,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij MODUS ongeldig is of een ongeldige optie\n"
 "    gegeven werd."
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4640,7 +4659,7 @@ msgstr ""
 "    of als een ongeldige optie gegeven werd, of als '-n' gegeven werd maar de\n"
 "    shell geen dochters heeft waarop gewacht wordt."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4662,7 +4681,7 @@ msgstr ""
 "    De afsluitwaarde is die van de laatste PID, 1 als PID ongeldig is,\n"
 "    of 2 als een ongeldige optie gegeven werd."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4683,7 +4702,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is die van de laatst uitgevoerde opdracht."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4710,7 +4729,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is die van de laatst uitgevoerde opdracht."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4747,7 +4766,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is die van de laatst uitgevoerde opdracht."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4772,9 +4791,10 @@ msgstr ""
 "    De uitvoer kan via de omgevingsvariabele TIMEFORMAT aangepast worden.\n"
 "    Optie '-p' negeert deze omgevingsvariabele en toont de tijden in een\n"
 "    overdraagbare standaardopmaak.\n"
+"\n"
 "    De afsluitwaarde is die van de PIJPLIJN."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4792,7 +4812,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is die van de laatst uitgevoerde opdracht."
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4820,41 +4840,41 @@ msgstr ""
 "    De afsluitwaarde van de gehele opdracht is die van de laatst uitgevoerde\n"
 "    deelopdracht, of nul als geen enkele 'if' of 'elif' nul opleverde."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Opdrachten uitvoeren zolang een test slaagt.\n"
 "\n"
-"    Voert de gegeven opdrachten uit zolang de laatste opdracht achter\n"
-"    'while' een afsluitwaarde van 0 heeft.\n"
+"    Voert de tweede reeks opdrachten uit zolang de laatste opdracht van\n"
+"    de eerste reeks een afsluitwaarde van 0 heeft.\n"
 "\n"
 "    De afsluitwaarde is die van de laatst uitgevoerde opdracht."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Opdrachten uitvoeren zolang een test niet slaagt.\n"
 "\n"
-"    Voert de gegeven opdrachten uit zolang de laatste opdracht achter\n"
-"    'until' een afsluitwaarde ongelijk aan 0 heeft.\n"
+"    Voert de tweede reeks opdrachten uit zolang de laatste opdracht van\n"
+"    de eerste reeks een afsluitwaarde ongelijk aan 0 heeft.\n"
 "\n"
 "    De afsluitwaarde is die van de laatst uitgevoerde opdracht."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4875,7 +4895,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde van coproc is 0."
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4896,7 +4916,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is 0, tenzij NAAM onveranderbaar is."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4913,7 +4933,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is die van de laatst uitgevoerde opdracht."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4937,7 +4957,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is die van de hervatte taak."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4954,7 +4974,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is 1 als de EXPRESSIE tot 0 evalueert; anders 0."
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5000,7 +5020,7 @@ msgstr ""
 "\n"
 "    De afsluitwaarde is 0 of 1, afhankelijk van EXPRESSIE."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5098,7 +5118,7 @@ msgstr ""
 "                    vervangingsteken, gewoonlijk '^'; het derde teken is het\n"
 "                    geschiedeniscommentaarteken, gewoonlijk '#'\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5151,7 +5171,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldig argument gegeven werd of de\n"
 "    mapwijziging mislukte."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5200,7 +5220,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldig argument gegeven werd of de\n"
 "    mapwijziging mislukte."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5249,7 +5269,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er een\n"
 "    fout optrad."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5288,7 +5308,7 @@ msgstr ""
 "    een ongeldige optienaam gegeven werd, en de afsluitwaarde is 2 als een\n"
 "    ongeldige optie gegeven werd."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5307,6 +5327,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5336,8 +5358,10 @@ msgstr ""
 "    betekent %b dat de backslash-stuurtekens in het betreffende argument\n"
 "    omgezet moeten worden, en betekent %q dat het argument op zo'n manier\n"
 "    aangehaald moet worden dat het als invoer voor de shell hergebruikt\n"
-"    kan worden.  Verder betekent %(OPMAAK)T dat datum-plus-tijd getoond\n"
-"    moet worden door deze opmaak aan strftime(3) mee te geven.\n"
+"    kan worden.  %Q is als %q, maar een precisie wordt toegepast op het\n"
+"    onaangehaalde argument vóór het aanhalen.  Verder betekent %(OPMAAK)T\n"
+"    dat datum-plus-tijd getoond moet worden door deze opmaak aan strftime(3)\n"
+"    mee te geven.\n"
 "\n"
 "    De gegeven opmaak wordt zo vaak hergebruikt als nodig is om alle argumenten\n"
 "    te consumeren.  Als er minder argumenten zijn dan de opmaak verwacht, dan\n"
@@ -5347,7 +5371,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er een\n"
 "    schrijf- of toekenningsfout optrad."
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5397,7 +5421,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er\n"
 "    een fout optrad."
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5417,7 +5441,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er een\n"
 "    fout optrad."
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5469,7 +5493,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of voor\n"
 "    NAAM geen completeringsvoorschrift gedefinieerd is."
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5532,7 +5556,7 @@ msgstr ""
 "    De afsluitwaarde is 0, tenzij ARRAY alleen-lezen is of geen array is, of\n"
 "    een ongeldige optie gegeven werd."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5542,6 +5566,9 @@ msgstr ""
 "\n"
 "    Een synoniem voor 'mapfile'."
 
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: ongeldige sleutel voor associatief array"
+
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
index 29d20db9600c765423b39eaa129d50855941c91d..4adbed0289469416870a1442fdf18d55adce0216 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index 338b8bcf572e88a739722b852c77db60e6f881f0..b8bd94a576803ef7f6723b975e5518b899b4e0f0 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,15 +1,15 @@
 # Polish translation of bash
-# Copyright (C) 2007, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2022 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 # Andrzej M. Krzysztofowicz <ankry@mif.pg.gda.pl> 2006,2007.
-# Jakub Bogusz <qboosh@pld-linux.org> 2010-2020.
+# Jakub Bogusz <qboosh@pld-linux.org> 2010-2022.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2020-12-07 21:15+0100\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-19 22:15+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -23,58 +23,53 @@ msgstr ""
 msgid "bad array subscript"
 msgstr "nieprawidłowy indeks tablicy"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: usuwanie atrybutu nameref"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: nie można przekształcić tablicy indeksowanej na asocjacyjną"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: błędny klucz tablicy asocjacyjnej"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: nie można przypisać do nienumerycznego indeksu"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: przy przypisaniu do tablicy asocjacyjnej należy użyć nawiasów"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: nie można utworzyć: %s"
 
 # ???
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: nie można znaleźć mapy klawiszy dla polecenia"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: pierwszym drukowalnym znakiem nie jest `\"'"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "brak zamykającego `%c' w %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: brak separującego dwukropka"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "`%s': nie można usunąć dowiązania w mapie poleceń"
@@ -94,7 +89,7 @@ msgstr "rozwijanie nawiasów: nie udało się przydzielić pamięci dla element
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "rozwijanie nawiasów: nie udało się przydzielić pamięci dla `%s'"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "`%s': błędna nazwa aliasu"
@@ -167,7 +162,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "Nie ustawiono HOME"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "za dużo argumentów"
 
@@ -194,7 +189,7 @@ msgstr "uwaga: "
 msgid "%s: usage: "
 msgstr "%s: składnia: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: opcja wymaga argumentu"
@@ -209,7 +204,7 @@ msgstr "%s: wymagany argument numeryczny"
 msgid "%s: not found"
 msgstr "%s: nie znaleziono"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: nieprawidłowa opcja"
@@ -219,7 +214,7 @@ msgstr "%s: nieprawidłowa opcja"
 msgid "%s: invalid option name"
 msgstr "%s: nieprawidłowa nazwa opcji"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "`%s': nieprawidłowy identyfikator"
@@ -232,7 +227,7 @@ msgstr "błędna liczba ósemkowa"
 msgid "invalid hex number"
 msgstr "błędna liczba szesnastkowa"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "nieprawidłowa liczba"
 
@@ -246,88 +241,93 @@ msgstr "%s: nieprawidłowo określony sygnał"
 msgid "`%s': not a pid or valid job spec"
 msgstr "`%s': nie jest to nr PID ani prawidłowe określenie zadania"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: zmienna tylko do odczytu"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: nie można przypisać"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s poza zakresem"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s poza zakresem"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: brak takiego zadania"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: brak kontroli zadań"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "brak kontroli zadań"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: ograniczony"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "ograniczony"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: nie jest to polecenie powłoki"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "błąd zapisu: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "błąd podczas ustawiania atrybutów terminala: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "błąd podczas pobierania atrybutów terminala: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: błąd przy określaniu katalogu bieżącego: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: niejednoznaczne określenie zadania"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "pomoc nie jest dostępna w tej wersji"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: nie można anulować definicji: %s jest tylko do odczytu"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: nie można anulować definicji"
@@ -337,108 +337,108 @@ msgstr "%s: nie można anulować definicji"
 msgid "%s: invalid action name"
 msgstr "%s: nieprawidłowa nazwa akcji"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: brak definicji dla uzupełnienia"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "uwaga: opcja -F może działać inaczej niż oczekiwano"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "uwaga: opcja -C może działać inaczej niż oczekiwano"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "aktualnie nie jest wykonywana funkcja dopełniania"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "można używać tylko w funkcji"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "nie można używać `-f' do tworzenia funkcji"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: funkcja tylko do odczytu"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: zmienna referencyjna nie może być tablicą"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: zmienna referencyjna nie może wskazywać na siebie"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: cykliczne odwołanie do nazwy"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "`%s': błędna nazwa zmiennej przy odwołaniu do nazwy"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "nie można używać `-f' do tworzenia funkcji"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: funkcja tylko do odczytu"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: przypisanie złożonej tablicy z cytowaniem jest przestarzałe"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: nie można w ten sposób unicestwić zmiennej tablicowej"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: nie można przekształcić tablicy asocjacyjnej na indeksowaną"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: przypisanie złożonej tablicy z cytowaniem jest przestarzałe"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "ładowanie dynamiczne nie jest dostępne"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "nie można otworzyć obiektu współdzielonego %s: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "nie można znaleźć %s w obiekcie współdzielonym %s: %s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: dynamiczne polecenie wbudowane już załadowane"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "funkcja ładująca dla %s zwraca niepowodzenie (%d): nie załadowano"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: nie jest ładowany dynamicznie"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: nie można usunąć: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: jest katalogiem"
@@ -453,7 +453,7 @@ msgstr "%s: nie jest zwykłym plikiem"
 msgid "%s: file is too large"
 msgstr "%s: plik jest za duży"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: nie można uruchomić pliku binarnego"
@@ -551,12 +551,12 @@ msgstr ""
 "żaden temat pomocy nie pasuje do `%s'. Spróbuj `help help', `man -k %s'\n"
 "lub `info %s'."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: nie można otworzyć: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -577,21 +577,21 @@ msgstr ""
 "Gwiazdka (*) po nazwie oznacza, że dane polecenie jest wyłączone.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "nie można używać więcej niż jednego spośród -anrw"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "pozycja historii"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: nieprawidłowy znacznik czasu"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: rozwinięcie wg historii nie powiodło się"
@@ -614,78 +614,78 @@ msgstr "%s: argumentami muszą być numery procesów lub zadań"
 msgid "Unknown error"
 msgstr "Nieznany błąd"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "spodziewano się wyrażenia"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: nie jest tablicą indeksowaną"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: nieprawidłowo określony deskryptor pliku"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: nieprawidłowy deskryptor pliku: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: błędna liczba linii"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: błędny początek tablicy"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: błędna liczba linii między wywołaniami"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "pusta nazwa zmiennej tablicowej"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "wymagana obsługa zmiennych tablicowych"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "`%s': brak znaku formatującego"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "`%c': błędne określenie formatu czasu"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "`%c': nieprawidłowy znak formatujący"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "uwaga: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "problem z analizą formatu: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "brak cyfry szesnastkowej dla \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "brak cyfry unikodowej dla \\%c"
@@ -834,12 +834,12 @@ msgstr ""
 "    \n"
 "    Zawartość stosu katalogów można zobaczyć za pomocą polecenia `dirs'."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: nieprawidłowo określony limit czasu"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "błąd odczytu: %d: %s"
@@ -852,7 +852,7 @@ msgstr "wyjście przez `return' możliwe tylko z funkcji lub skryptu"
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "nie można jednocześnie anulować definicji funkcji i zmiennej"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: nie jest zmienną tablicową"
@@ -871,11 +871,11 @@ msgstr "%s: nie można wyeksportować"
 msgid "shift count"
 msgstr "licznik przesunięcia"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "nie można opcji powłoki jednocześnie ustawić i unieważnić"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: nieprawidłowa nazwa opcji powłoki"
@@ -942,16 +942,16 @@ msgstr "%s: nieprawidłowy argument stanowiący ograniczenie"
 msgid "`%c': bad command"
 msgstr "`%c': złe polecenie"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: nie można odczytać ograniczenia: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "ograniczenie"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: nie można zmienić ograniczenia: %s"
@@ -970,7 +970,7 @@ msgstr "`%c': nieprawidłowy operator trybu symbolicznego"
 msgid "`%c': invalid symbolic mode character"
 msgstr "`%c': nieprawidłowy znak trybu symbolicznego"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " linia "
 
@@ -990,96 +990,106 @@ msgstr "Przerywanie..."
 msgid "INFORM: "
 msgstr "INFORM: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "DIAGNOSTYCZNE ostrzeżenie: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "nieznany błąd polecenia"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "zły rodzaj polecenia"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "zły łącznik"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "zły skok"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: nieustawiona zmienna"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\aprzekroczony czas oczekiwania na dane wejściowe: auto-wylogowanie\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "nie można przekierować standardowego wejścia z /dev/null: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: `%c': nieprawidłowy znak formatujący"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: koproces [%d:%s] nadal istnieje"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "błąd potoku"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: przekroczono maksymalny poziom zagnieżdżenia polecenia eval (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: przekroczono maksymalny poziom zagnieżdżenia polecenia source (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: przekroczono maksymalny poziom zagnieżdżenia funkcji (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: ograniczony: nie można podawać `/' w nazwach poleceń"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: nie znaleziono polecenia"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: nie można uruchomić: nie znaleziono wymaganego pliku"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: zły interpreter"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: nie można uruchomić pliku binarnego: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "`%s' jest specjalnym poleceniem wewnętrznym"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "nie można skopiować deskryptora pliku %d do %d"
@@ -1092,69 +1102,69 @@ msgstr "przekroczone ograniczenie poziomu rekursji dla wyrażenia"
 msgid "recursion stack underflow"
 msgstr "niedomiar stosu rekursji"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "błąd składniowy w wyrażeniu"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "próba przypisania do nie-zmiennej"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "błąd składniowy w przypisaniu zmiennej"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "dzielenie przez 0"
 
 # ???
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "błąd: zły prefiks operatora przypisującego"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "spodziewano się `:' w wyrażeniu warunkowym"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "wykładnik mniejszy niż 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "spodziewany identyfikator po operatorze preinkrementacji lub predekrementacji"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "brakujący `)'"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "błąd składni: spodziewany argument"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "błąd składni: nieprawidłowy operator arytmetyczny"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (błędny znacznik to \"%s\")"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "nieprawidłowa podstawa arytmetyczna"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "błędna stała całkowita"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "wartość za duża na podstawę"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: błąd w wyrażeniu\n"
@@ -1163,7 +1173,7 @@ msgstr "%s: błąd w wyrażeniu\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: niemożliwy dostęp do katalogów nadrzędnych"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "nie można wyłączyć trybu nieblokującego dla deskryptora %d"
@@ -1182,168 +1192,168 @@ msgstr "save_bash_input: bufor dla nowego deskryptora %d już istnieje"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp pipe"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: PĘTLA: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: PĘTLA: psi (%d) == storage[psi].bucket_next"
 
 # ???
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "proces o PID %d występuje w działającym zadaniu %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "usuwanie zatrzymanego zadania %d z grupą procesów %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: pid %5ld (%s) oznaczony jako nadal żywy"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: brak takiego PID-u"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Sygnał %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Zakończono"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Zatrzymano"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Zatrzymano(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Działa"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Zakończono(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Kod wyjścia %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Stan nieznany"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(zrzut pamięci) "
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (katalog: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "setpgid potomka (%ld na %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: PID %ld nie jest potomkiem tej powłoki"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: Brak rekordu dla procesu %ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: zadanie %d jest zatrzymane"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: brak bieżących zadań"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: zadanie zostało przerwane"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: zadanie %d już pracuje w tle"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: wyłączanie WNOHANG w celu uniknięcia nieskończonego oczekiwania"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: linia %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (zrzut pamięci)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(katalog: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp nie powiodło się"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: brak kontroli zadań w tle"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: dyscyplina linii"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "nie można ustawić grupy procesów terminala (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "w tej powłoce nie ma kontroli zadań"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: założenie, że %s nie jest spełnione\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1352,48 +1362,48 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: spartaczone założenie\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "nieznany"
 
 # ???
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: nieprawidłowy blok na liście wolnych bloków"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: wywołane dla bloku, który już został zwolniony"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: wywołane dla bloku, który nie został przydzielony"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: wykryto niedomiar; mh_nbytes poza zakresem"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: wykryto niedomiar; uszkodzenie magic8"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: rozmiar początkowy i końcowy fragmentu są różne"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: wywołane dla bloku, który nie został przydzielony"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: wykryto niedomiar; mh_nbytes poza zakresem"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: wykryto niedomiar; uszkodzenie magic8"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: rozmiar początkowy i końcowy fragmentu są różne"
 
@@ -1435,22 +1445,22 @@ msgstr "%s: źle określona ścieżka sieciowa"
 msgid "network operations not supported"
 msgstr "operacje sieciowe nie są wspierane"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: nie można zmienić lokalizacji (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: nie można zmienić lokalizacji (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: nie można zmienić lokalizacji (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: nie można zmienić lokalizacji (%s): %s"
@@ -1468,136 +1478,136 @@ msgstr "Masz nową pocztę w $_"
 msgid "The mail in %s has been read\n"
 msgstr "Poczta w %s jest przeczytana\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "błąd składni: oczekiwano wyrażenia arytmetycznego"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "błąd składni: oczekiwany `;'"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "błąd składni: `((%s))'"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: zły rodzaj instrukcji %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "dokument miejscowy w linii %d ograniczony końcem pliku (oczekiwano `%s')"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: instrukcja przekierowania `%d' poza zakresem"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) przekracza SIZE_MAX (%lu): linia skrócona"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "przekroczono maksymalną liczbę dokumentów w miejscu"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "nieoczekiwany EOF podczas poszukiwania pasującego `%c'"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "nieoczekiwany EOF podczas poszukiwania `]]'"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "błąd składni w wyrażeniu warunkowym: nieoczekiwany znacznik `%s'"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "błąd składni w wyrażeniu warunkowym"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "nieoczekiwany znacznik `%s', oczekiwano `)'"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "oczekiwano `)'"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "nieoczekiwany argument `%s' jednoargumentowego operatora warunkowego"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "nieoczekiwany argument jednoargumentowego operatora warunkowego"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "nieoczekiwany argument `%s', oczekiwano dwuarg. operatora warunkowego"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "oczekiwano dwuargumentowego operatora warunkowego"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "nieoczekiwany argument `%s' dwuargumentowego operatora warunkowego"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "nieoczekiwany argument dwuargumentowego operatora warunkowego"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "nieoczekiwany znacznik `%c' w poleceniu warunkowym"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "nieoczekiwany znacznik `%s' w poleceniu warunkowym"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "nieoczekiwany znacznik %d w poleceniu warunkowym"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "błąd składni przy nieoczekiwanym znaczniku `%s'"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "błąd składni przy `%s'"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "błąd składni: nieoczekiwany koniec pliku"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "błąd składni"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Użyj \"%s\", aby opuścić tę powłokę.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "nieoczekiwany EOF podczas poszukiwania pasującego `)'"
 
@@ -1635,94 +1645,94 @@ msgstr "xtrace_set: pusty wskaźnik pliku"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: `%c': nieprawidłowy znak formatujący"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "deskryptor pliku poza zakresem"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: niejednoznaczne przekierowanie"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: nie można nadpisać istniejącego pliku"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: ograniczony: nie można przekierować wyjścia"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "nie można utworzyć pliku tymczasowego dla dokumentu miejscowego: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: nie można przypisać deskryptora pliku do zmiennej"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port nie są wspierane bez sieci"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "błąd przekierowania: nie można powielić deskryptora pliku"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "nie można znaleźć /tmp, proszę o utworzenie!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp musi być prawidłową nazwą katalogu"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "tryb ładnego wypisywania jest ignorowany w powłokach interaktywnych"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: nieprawidłowa opcja"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "nie można ustawić uid-a na %d: efektywny uid %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "nie można ustawić gid-a na %d: efektywny gid %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "nie można uruchomić debuggera; tryb diagnostyczny wyłączony"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: jest katalogiem"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Nie mam nazwy!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, wersja %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1731,319 +1741,319 @@ msgstr ""
 "Użycie:\t%s [długa opcja GNU] [opcja] ...\n"
 "\t%s [długa opcja GNU] [opcja] plik-skryptu ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Długie opcje GNU:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Opcje powłoki:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD lub -c polecenie lub -O shopt_option\t\t(tylko wywołanie)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s lub -o opcja\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Aby uzyskać więcej informacji o opcjach powłoki, napisz `%s -c \"help set\"'.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr ""
 "Aby uzyskać więcej informacji o poleceniach wewnętrznych powłoki,\n"
 "napisz `%s -c help'.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Do zgłaszania błędów należy używać polecenia `bashbug'.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "strona domowa basha: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Ogólna pomoc przy użytkowaniu oprogramowania GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: nieprawidłowa operacja"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Błędny sygnał"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Rozłączenie"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Przerwanie"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Wyjście"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Niedozwolona instrukcja"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "Pułapka debuggera/breakpoint"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "Instrukcja ABORT"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "Pułapka EMT"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Błąd w obliczeniach zmiennoprzecinkowych"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Unicestwiony"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Błąd szyny"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Naruszenie ochrony pamięci"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Błędne wywołanie systemowe"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Przerwany potok"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Budzik"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Zakończony"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Nagłe żądanie we/wy"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Zatrzymany (sygnał)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Kontynuacja"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Śmierć lub zatrzymanie potomka"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Zatrzymany (wejście z tty)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Zatrzymany (wyjście na tty)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "We/wy gotowe"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "Przekroczony limit procesora"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Przekroczony limit pliku"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Alarm (wirtualny)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Alarm (profiler)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Okno zmienione"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Zasoby utracone"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Sygnał użytkownika 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Sygnał użytkownika 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "Dane wejściowe HFT"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "Bliska awaria zasilania"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "Bliska awaria systemu"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "Przeniesienie procesu na inny procesor"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "Błąd programowania"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "Nadany tryb monitora HFT"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "Wycofany tryb monitora HFT"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "Sekwencja dźwiękowa HFT zakończona"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Żądanie informacji"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Nieznany sygnał #%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "złe podstawienie: brak zamykającego `%s' w %s"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: nie można przypisać listy do elementu tablicy"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "nie można utworzyć potoku dla podstawienia procesu"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "nie można utworzyć procesu potomnego dla podstawienia procesu"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "nie można otworzyć nazwanego potoku %s do odczytu"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "nie można otworzyć nazwanego potoku %s do zapisu"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "nie można powielić nazwanego potoku %s jako deskryptor %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "podstawienie polecenia: zignorowano zerowy bajt na wejściu"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "nie można utworzyć potoku dla podstawienia polecenia"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "nie można utworzyć procesu potomnego dla podstawienia polecenia"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: nie można powielić potoku jako deskryptora 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: nieprawidłowa nazwa zmiennej przy odwołaniu do nazwy"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: błędne rozwinięcie niebezpośrednie"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "`%s': błędna nazwa zmiennej"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parametr nieustawiony"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parametr pusty lub nieustawiony"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: wyrażenie dla podłańcucha < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: złe podstawienie"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: nie można przypisywać w ten sposób"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "przyszłe wersje powłoki będą wymuszać obliczenie jako podstawienie arytmetyczne"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "złe podstawienie: brak zamykającego \"`\" w %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "brak pasującego: %s"
@@ -2066,21 +2076,21 @@ msgstr "oczekiwano `)'"
 msgid "`)' expected, found %s"
 msgstr "oczekiwano `)', znaleziono %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: oczekiwano operatora dwuargumentowego"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: oczekiwano operatora jednoargumentowego"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "brakujący `]'"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "błąd składni: oczekiwano `%s'"
@@ -2089,99 +2099,104 @@ msgstr "błąd składni: oczekiwano `%s'"
 msgid "invalid signal number"
 msgstr "nieprawidłowy numer sygnału"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "obsługa pułapki: przekroczono maksymalny poziom obsługi pułapek (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: zła wartość trap_list[%d]: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: obsługa sygnału jest ustawiona na SIG_DFL, wysyłając %d (%s) do siebie"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: zły sygnał %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "błąd importu definicji funkcji dla `%s'"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "poziom powłoki (%d) jest za duży, ustawiono na 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: brak kontekstu funkcji w bieżącym zakresie"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: nie można przypisać wartości do zmiennej"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: nie można odziedziczyć wartości z niezgodnego typu"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: przypisanie wartości całkowitej przy odwołaniu do nazwy"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: brak kontekstu funkcji w bieżącym zakresie"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s ma pusty exportstr"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "nieprawidłowy znak %d w exportstr dla %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "brak `=' w exportstr dla %s"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: nagłówek shell_variables poza kontekstem funkcji"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: brak kontekstu global_variables"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: nagłówek shell_variables poza zakresem tymczasowego środowiska"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: nie można otworzyć jako PLIK"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: nieprawidłowa wartość dla deskryptora pliku do śledzenia"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: wartość zgodności poza zakresem"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2261,12 +2276,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] polecenie [arg ...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [nazwa[=wartość] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [nazwa[=wartość] ...] lub declare -p [-aAfFilnrtux] [nazwa ...]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] nazwa[=wartość] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] nazwa[=wartość] ... lub typeset -p [-aAfFilnrtux] [nazwa ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2353,8 +2368,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o nazwa-opcji] [--] [arg ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o nazwa-opcji] [--] [-] [arg ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2401,8 +2416,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] nazwa [nazwa ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [ograniczenie]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [ograniczenie]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2441,12 +2456,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if POLECENIA; then POLECENIA; [ elif POLECENIA; then POLECENIA; ]... [ else POLECENIA; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while POLECENIA; do POLECENIA; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while POLECENIA; do POLECENIA-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until POLECENIA; do POLECENIA; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until POLECENIA; do POLECENIA-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3771,7 +3786,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3813,7 +3829,8 @@ msgstr ""
 "    podano opcję -u). Wiersz jest dzielony na pola wg reguł podziału na słowa,\n"
 "    pierwsze słowo jest przypisywane pierwszej NAZWIE, drugie - drugiej NAZWIE\n"
 "    itd.; wszystkie pozostałe słowa są przypisywane ostatniej NAZWIE. Jako\n"
-"    ograniczniki słów są rozpoznawane tylko znaki ze zmiennej $IFS.\n"
+"    ograniczniki słów są rozpoznawane tylko znaki ze zmiennej $IFS. Domyślnie\n"
+"    znak odwrotnego ukośnika chroni znaki ograniczników i nowej linii.\n"
 "    \n"
 "    Jeśli nie podano NAZW, odczytany wiersz jest zapisywany w zmiennej REPLY.\n"
 "    \n"
@@ -3849,7 +3866,7 @@ msgstr ""
 "    błąd przypisania zmiennej albo podano nieprawidłowy deskryptor dla\n"
 "    argumentu -u."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3870,7 +3887,7 @@ msgstr ""
 "    Zwracane jest N lub niepowodzenie, jeśli powłoka nie wykonuje żadnej\n"
 "    funkcji ani skryptu."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4041,7 +4058,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano nieprawidłową opcję."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4080,7 +4097,7 @@ msgstr ""
 "    Zwracana jest prawda, chyba że podano błędną opcję lub NAZWA jest tylko do\n"
 "    odczytu."
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4113,7 +4130,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano nieprawidłową opcję lub NAZWĘ."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4151,7 +4168,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano nieprawidłową opcję lub NAZWĘ."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4169,7 +4186,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że N jest ujemne lub większe niż $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4193,7 +4210,7 @@ msgstr ""
 "    Zwracany jest stan ostatnio wykonanego polecenia z PLIKU lub błąd, jeśli\n"
 "    PLIKU nie udało się odczytać."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4219,7 +4236,7 @@ msgstr ""
 "    Zwracana jest prawda, chyba że kontrola zadań jest wyłączona lub wystąpi\n"
 "    błąd."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4384,7 +4401,7 @@ msgstr ""
 "    Zwracana jest prawda, jeśli wartością WYRAŻENIA jest prawda; fałsz, gdy\n"
 "    wartością WYRAŻENIA jest fałsz lub podano błędny argument."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4396,7 +4413,7 @@ msgstr ""
 "    Jest to synonim dla wbudowanego polecenia \"test\", ale wymagający, by\n"
 "    ostatnim argumentem był `]' pasujący do początkowego `['."
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4414,7 +4431,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zawsze prawda."
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4483,7 +4500,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano błędny SYGNAŁ lub błędną opcję."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4538,7 +4555,7 @@ msgstr ""
 "    Zwracana jest prawda, jeśli każda NAZWA zostanie znaleziona; fałsz, jeśli\n"
 "    którakolwiek nie zostanie znaleziona."
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4631,7 +4648,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano błędną opcję lub wystąpi błąd."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4665,7 +4682,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano błędne uprawnienia lub błędną opcję."
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4715,7 +4732,7 @@ msgstr ""
 "    Zwracany jest stan zakończenia ID; niepowodzenie, jeśli ID jest\n"
 "    nieprawidłowe lub podano błędną opcję."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4738,7 +4755,7 @@ msgstr ""
 "    Zwracany jest status ID lub niepowodzenie, jeśli ID jest błędny lub podano\n"
 "    nieprawidłową opcję."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4759,7 +4776,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracany jest status zakończenia ostatniego wykonanego polecenia."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4788,7 +4805,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracany jest status zakończenia ostatniego wykonanego polecenia."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4822,7 +4839,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracany jest status zakończenia ostatniego wykonanego polecenia."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4851,7 +4868,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Polecenie zwraca status zakończenia POTOKU poleceń."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4869,7 +4886,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracany jest status zakończenia ostatniego wykonanego polecenia."
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4899,43 +4916,43 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracany jest status zakończenia ostatniego wykonanego polecenia."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Wykonywanie poleceń dopóki test kończy się powodzeniem.\n"
 "    \n"
-"    Rozwijanie i uruchamianie POLECEŃ dopóki ostatnie polecenie\n"
-"    w POLECENIACH `while' kończy się z kodem zero.\n"
+"    Rozwijanie i uruchamianie POLECEŃ-2 dopóki ostatnie polecenie\n"
+"    w POLECENIACH kończy się z kodem zerowym.\n"
 "    \n"
 "    Stan wyjściowy:\n"
 "    Zwracany jest status zakończenia ostatniego wykonanego polecenia."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Wykonywanie poleceń dopóki test nie kończy się powodzeniem.\n"
 "    \n"
-"    Rozwijanie i uruchamianie POLECEŃ dopóki ostatnie polecenie\n"
-"    w POLECENIACH `until' kończy się z kodem niezerowym.\n"
+"    Rozwijanie i uruchamianie POLECEŃ-2 dopóki ostatnie polecenie\n"
+"    w POLECENIACH kończy się z kodem niezerowym.\n"
 "    \n"
 "    Stan wyjściowy:\n"
 "    Zwracany jest status zakończenia ostatniego wykonanego polecenia."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4956,7 +4973,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Polecenie coproc zwraca status wyjścia 0."
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4978,7 +4995,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracany jest sukces, chyba że NAZWA jest tylko do odczytu."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4996,7 +5013,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracany jest status zakończenia ostatniego wykonanego polecenia."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5019,7 +5036,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracany jest stan wznowionego zadania."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5037,7 +5054,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracane jest 1, jeśli wartością WYRAŻENIA jest 0; 0 w przeciwnym wypadku."
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5086,7 +5103,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    0 lub 1 w zależności od wartości WYRAŻENIA."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5193,7 +5210,7 @@ msgstr ""
 "    \t\tdecydowaniu, które polecenia powinny być zapisywane na liście\n"
 "    \t\thistorii.\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5249,7 +5266,7 @@ msgstr ""
 "    Zwracana jest prawda, chyba że podano błędny argument lub zmiana katalogu\n"
 "    się nie powiedzie."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5300,7 +5317,7 @@ msgstr ""
 "    Zwracana jest prawda, chyba że podano błędny argument lub zmiana katalogu\n"
 "    się nie powiedzie."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5353,7 +5370,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano błędną opcję lub wystąpi błąd."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5389,7 +5406,7 @@ msgstr ""
 "    Zwracana jest prawda jeśli NAZWA-OPCJI jest włączona; niepowodzenie, jeśli\n"
 "    podano błędną opcję lub NAZWA-OPCJI jest wyłączona."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5408,6 +5425,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5439,6 +5458,7 @@ msgstr ""
 "    \t\targumencie\n"
 "      %q\tcytowanie argumentu w sposób umożliwiający użycie na wejściu\n"
 "    \t\tpowłoki\n"
+"      %Q\tjak %q, ale zastosowanie precyzji na wejściu przed cytowaniem\n"
 "      %(fmt)T\twypisanie łańcucha daty-czasu otrzymanego z użycia FMT jako\n"
 "    \t        łańcucha formatującego dla strftime(3)\n"
 "    \n"
@@ -5451,7 +5471,7 @@ msgstr ""
 "    Zwracana jest prawda, chyba że podano błędną opcję lub zapis albo\n"
 "    przypisanie zakończy się niepowodzeniem."
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5501,7 +5521,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano błędną opcję lub wystąpi błąd."
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5521,7 +5541,7 @@ msgstr ""
 "    Stan wyjściowy:\n"
 "    Zwracana jest prawda, chyba że podano błędną opcję lub wystąpi błąd."
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5575,7 +5595,7 @@ msgstr ""
 "    Zwracana jest prawda, chyba że podano błędną opcję lub NAZWA nie ma\n"
 "    zdefiniowanej specyfikacji dopełniania."
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5641,7 +5661,7 @@ msgstr ""
 "    Zwracana jest prawda, chyba że podano błędną opcję lub TABLICA jest tylko\n"
 "    do odczytu, lub nie jest tablicą indeksowaną."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
index 44e32512092483fb8e9b12fa520466d4b9fb6919..f1036a704829574c7a05f337115b134e5ddcbeb7 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index 9765d8d97bcaa1085cd1ab1d695a78da2bf60d0d..9c79e28ce2c8f9f4f50e00150cc4a053c3e31810 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -1,5 +1,5 @@
 # Mesajele în limba română pentru pachetul bash.
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003 - 2022 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 #
 # Eugen Hoanca <eugenh@urban-grafx.ro>, 2003.
 # Actualizare a traducerii pentru versiunea 4.0, făcută de EH (24% - tradus).
 # Actualizare a traducerii pentru versiunea 5.0, făcută de DȘ (29% - tradus).
 # Actualizare a traducerii pentru versiunea 5.1, făcută de R-GC (100% - tradus).
+# Actualizare a traducerii pentru versiunea 5.2-rc1, făcută de R-GC.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2022-05-30 00:19+0200\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-18 01:02+0200\n"
 "Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
 "Language: ro\n"
@@ -26,64 +27,59 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || ((n%100) > 0 && (n%100) < 20)) ? 1 : 2);\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 2.3.1\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 #: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "indice de matrice greșit"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: se elimină atributul nameref"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: nu se poate converti matricea indexată în asociativă"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: cheie de matrice asociativă nevalidă"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: nu se poate atribui la index ne-numeric"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: trebuie să fie folosit un indice atunci când se atribuie unei matrice asociative"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: nu s-a putut crea: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: nu se poate găsi combinația de taste pentru comandă"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: primul caracter care nu este spațiu în alb nu este «\"» (ghilimele duble)"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "nu se închide „%c” în %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: lipsește separatorul două puncte (:)"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "„%s”: nu se poate înlătura combinația de taste atribuită la comandă"
@@ -105,7 +101,7 @@ msgstr "expansiunea de acolade: a eșuat alocarea memoriei pentru %u elemente"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "expansiunea de acolade: a eșuat alocarea memoriei pentru „%s”"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "„%s”: nume alias nevalid"
@@ -176,7 +172,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "variabila $HOME nu este definită"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "prea mulți parametri"
 
@@ -203,7 +199,7 @@ msgstr "avertizare: "
 msgid "%s: usage: "
 msgstr "%s: utilizare: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: opțiunea necesită un argument"
@@ -218,7 +214,7 @@ msgstr "%s: argument numeric necesar"
 msgid "%s: not found"
 msgstr "%s: nu s-a găsit"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: opțiune nevalidă"
@@ -228,7 +224,7 @@ msgstr "%s: opțiune nevalidă"
 msgid "%s: invalid option name"
 msgstr "%s: nume de opțiune nevalid"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "„%s” nu este un identificator valid"
@@ -241,7 +237,7 @@ msgstr "număr octal nevalid"
 msgid "invalid hex number"
 msgstr "număr hexazecimal nevalid"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "număr nevalid"
 
@@ -277,21 +273,26 @@ msgstr "%s: specificație de semnal nevalidă"
 msgid "`%s': not a pid or valid job spec"
 msgstr "„%s”: nu este un pid sau o specificație validă de lucru"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: variabilă protejată la scriere"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: nu se poate atribui"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s în afara intervalului"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s în afara intervalului"
@@ -306,26 +307,26 @@ msgstr "%s în afara intervalului"
 # adesea sunt o pleiadă de procese, grupate
 # (cel mai adesea un proces părinte cu fii săi),
 # alteori un grup de procese interacționate.
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: nu există această lucrare"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: nu există un control de lucrări"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "nu există un control de lucrări"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: restricționat"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "restricționat"
 
@@ -344,22 +345,22 @@ msgstr "restricționat"
 # ambalaj; cu toate că unele dintre ele, au
 # avut oarecare succes, niciuna n-a rezistat
 # cu trecerea timpului.
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: nu este o comandă internă"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "eroare de scriere: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "eroare la configurarea atributelor terminalului: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "eroare la obținerea atributelor terminalului: %s"
@@ -369,17 +370,17 @@ msgstr "eroare la obținerea atributelor terminalului: %s"
 # - Eroare la recuperarea...
 # Am ales prima variantă, dar este cea mai bună,
 # în contextul dat?
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: eroare la preluarea directorului curent: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: specificație de lucrare, ambiguă"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "ajutorul nu este disponibil în această versiune"
 
@@ -389,18 +390,18 @@ msgstr "ajutorul nu este disponibil în această versiune"
 # ===
 # nu cred c-ar fi o problemă asta, odată ce face
 # ca mesajul să fie mai clar, mai sugestiv; dar
-# cred că introduce o întrebare: 
+# cred că introduce o întrebare:
 # de cine/contra cui este protejat?
 # ***
 # cel puțin de moment, dacă nu definitiv, voi
 # aplica sugestia făcută, asupra acestui mesaj
 # și aaltora asemănătoare...
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: nu se poate deconfigura: %s este protejat la scriere"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: nu se poate deconfigura"
@@ -414,17 +415,17 @@ msgstr "%s: nume de acțiune nevalid"
 # nicio...
 #      sau
 # nu există (o)...
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: nicio specificație de completare"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "avertisment: este posibil ca opțiunea „-F” să nu funcționeze așa cum vă așteptați"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "avertisment: este posibil ca opțiunea „-C” să nu funcționeze așa cum vă așteptați"
 
@@ -433,26 +434,35 @@ msgstr "avertisment: este posibil ca opțiunea „-C” să nu funcționeze așa
 # - În acest moment ...
 # - În momentul actual ...
 # este formula adecvată contextului?
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "în prezent funcția de completare nu rulează"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "poate fi folosit doar într-o funcție"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "nu se poate utiliza „-f” pentru a face funcții"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: funcție protejată la scriere"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: variabila de referință nu poate fi o matrice"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: nu sunt permise auto-referințele la variabile nameref"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: referință de nume circulară"
@@ -462,80 +472,71 @@ msgstr "%s: referință de nume circulară"
 # „→ cred că s-ar putea pune ghilimele românești”
 # ===
 # corecție aplicată
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "„%s”: nume de variabilă nevalid pentru referință la nume"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "nu se poate utiliza „-f” pentru a face funcții"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: funcție protejată la scriere"
-
-# Întrebare:
-# - se poate formula mai bine, de exp.:
-# alocarea matricei compuse, între ghilimele; este perimată-învechită
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: alocarea de matrice compusă între ghilimele este perimată"
-
 # Problemă:
 #  in this way = în acest fel
 #  in this way = în acest mod
 #  in this way = de această formă
 # Mă refer la această intrare, care dintre cele
 # 3 opțiuni, este cea mai bună?
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: nu se pot distruge variabilele matrice în acest fel"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: nu se poate converti o matrice asociativă într-o matrice indexată"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+# Întrebare:
+# - se poate formula mai bine, de exp.:
+# alocarea matricei compuse, între ghilimele; este perimată-învechită
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: alocarea de matrice compusă între ghilimele este perimată"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "încărcarea dinamică nu este disponibilă"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "nu poate deschide obiectul partajat %s: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "nu se poate găsi %s în obiectul partajat %s: %s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: comanda internă dinamică a «bash», este deja încărcată"
 
 # De revizat...
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "funcția de încărcare pentru %s returnează eroarea (%d): încărcarea a eșuat"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: nu este încărcat dinamic"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: nu se poate șterge: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: este un director"
@@ -550,7 +551,7 @@ msgstr "%s: nu este un fișier normal"
 msgid "%s: file is too large"
 msgstr "%s: fișierul este prea mare"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: nu se poate executa fișierul binar"
@@ -653,12 +654,12 @@ msgstr ""
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr "niciun subiect de ajutor nu se potrivește cu „%s”.  Încercați «help help» sau «man -k %s» sau «info %s»."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: nu se poate deschide: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -683,21 +684,21 @@ msgstr ""
 # Mă gîndesc dacă n-ar suna mai bine fraza, dacă
 # înlocuiesc „unul” cu „un argument”, așa:
 # nu se poate folosi mai mult de un argument dintre -anrw
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "nu se poate folosi mai mult de o opțiune dintre „-a, -n, -r sau -w”"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "poziție în registrul istoric al comenzilor"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: marcaj de timp nevalid"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: a eșuat expansiunea istoriei"
@@ -720,78 +721,78 @@ msgstr "%s: argumentele trebuie să fie ID-uri de proces sau de lucrări"
 msgid "Unknown error"
 msgstr "Eroare necunoscută"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "se așteaptă expresie"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: nu este o matrice indexată"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: specificație de descriptor de fișier nevalidă"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: descriptor de fișier nevalid: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: contorizare de linii nevalidă"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: origine matrice nevalid"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: cuantum de apel invers nevalid"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "nume de variabilă matrice gol"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "este necesar suport pentru variabilă matrice"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "„%s”: lipsește caracterul de format"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "„%c”: specificație a formatului de timp nevalidă"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "„%c”: caracter de format nevalid"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "avertizare: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "problemă cu analizarea formatului: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "lipsește o cifră hexazecimală pentru \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "lipsește o cifră unicode pentru \\%c"
@@ -952,12 +953,12 @@ msgstr ""
 "    \n"
 "    Comanda internă «dirs» arată stiva curentă de directoare."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: specificație a timpului de expirare nevalidă"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "eroare de citire: %d: %s"
@@ -987,7 +988,7 @@ msgstr "„return”, se poate utiliza doar de la o funcție sau script executat
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "nu se pot anula simultan o funcție și o variabilă"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: nu este o variabilă matrice"
@@ -1011,11 +1012,11 @@ msgstr "contor deplasare(shift)"
 # «→ similar și aici: „nu se pot activa ... ”»
 # ===
 # Ok, corecție aplicată
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "nu se pot activa și dezactiva simultan opțiunile de shell"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: nume nevalid al opțiunii shell"
@@ -1083,16 +1084,16 @@ msgstr "%s: limită de argument nevalidă"
 msgid "`%c': bad command"
 msgstr "„%c”: comandă incorectă"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: nu se poate obține limita: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "limită"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: nu se poate modifica limita: %s"
@@ -1111,7 +1112,7 @@ msgstr "„%c”: operator de mod simbolic nevalid"
 msgid "`%c': invalid symbolic mode character"
 msgstr "„%c”: caracter de mod simbolic nevalid"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " linie "
 
@@ -1131,47 +1132,52 @@ msgstr "Se abandonează..."
 msgid "INFORM: "
 msgstr "RAPORT: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "Avertisment de DEPANARE: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "eroare de comandă necunoscută"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "tip de comandă greșit"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "conector greșit"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "salt eronat"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: variabilă neasociată"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\atimed expirat așteptând introducerea datelor: auto-logout\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "nu se poate redirecționa intrarea standard de la /dev/null: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: „%c”: caracter de format nevalid"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: coproc [%d:%s] încă există"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "eroare de linie de conectare"
 
@@ -1181,52 +1187,57 @@ msgstr "eroare de linie de conectare"
 # nesting = imbricare
 # pentru că consider că este vorba de efectul procesului (evaluările, ce vin una după alta,suprapunîndu-se) și nu de-a numi procesul în sine
 # În plus, mi se pare că sună mult mai normal la ureche
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: s-a depășit nivelul maxim de suprapunere de «eval» (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: s-a depășit nivelul maxim de suprapunere de citiri cu «source» (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: s-a depășit nivelul maxim de suprapunere de funcții (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: limitat: nu se poate specifica „/” în numele comenzilor"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: comandă negăsită"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: nu se poate executa: fișierul necesar nu a fost găsit"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: interpret greșit"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: nu se poate executa fișierul binar: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "„%s”: este o comandă internă specială"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "nu se poate duplica descriptorul de fișier %d în descriptorul de fișier %d"
@@ -1239,56 +1250,56 @@ msgstr "nivel de recursivitate al expresiei depășit"
 msgid "recursion stack underflow"
 msgstr "stivă recursivă sub nivelul de depășire"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "eroare de sintaxă în expresie"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "s-a încercat asignare către non-variabilă"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "eroare de sintaxă în atribuirea variabilei"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "împărțire la 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "eroare: simbol de atribuire al expresiei greșit"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "se aștepta „:” după expresia condițională"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "exponent mai mic de 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "se aștepta un identificator după pre-increment sau pre-decrement"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "„)” lipsește"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "eroare de sintaxă: se aștepta un operand"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "eroare de sintaxă: operator aritmetic nevalid"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (identificatorul erorii este „%s”)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "bază aritmetică nevalidă"
 
@@ -1301,15 +1312,15 @@ msgstr "bază aritmetică nevalidă"
 # «→ un mic typo la „întreg”»
 # ===
 # Ok, corecție aplicată; graba... e de vină
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "constantă de număr întreg nevalidă"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "valoare prea mare pentru bază"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: eroare în expresie\n"
@@ -1318,7 +1329,7 @@ msgstr "%s: eroare în expresie\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: nu s-au putut accesa directoarele părinte"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "nu se poate redefini modul „nodelay” pentru descriptorul de fișier %d"
@@ -1337,73 +1348,73 @@ msgstr "save_bash_input: memorie tampon deja existentă pentru noul descriptor d
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: linie de conectare pgrp"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: BUCLĂ: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: BUCLĂ: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "pid-ul bifurcat %d apare în lucrarea în execuție %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "se șterge lucrarea oprită %d cu grupul de procese %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: pid %5ld (%s) marcat ca încă în viață"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: nu există un asemenea pid"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Semnal %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Finalizat"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Oprit"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Oprit(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "În rulare"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Finalizat(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Ieșire %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Stare necunoscută"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(core dumped) "
@@ -1415,12 +1426,12 @@ msgstr "(core dumped) "
 # pe viitor „istețule” uită-te în fișierul de traducere,
 # deschis ca text, și vei avea mari șanse să afli
 # răspunsul; fără a «gonglear» ca bezmeticul în Internet
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (dir.lucru: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "setpgid proces-copil (de la %ld la %ld)"
@@ -1429,86 +1440,86 @@ msgstr "setpgid proces-copil (de la %ld la %ld)"
 # «wait», nu se traduce; aici, și în mesajele următoare,
 # face parte din categoria cuvintelor ce nu se traduc.
 # Datorită contextului în care se află.
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld nu este un proces-copil al acestui shell"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: Nu există nicio înregistrare a procesului %ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: lucrarea %d este oprită"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: nu există lucrări actuale"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: lucrarea a fost terminată"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: lucrarea %d se află deja în fundal"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: se activează WNOHANG pentru a evita blocarea pe termen nedefinit"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: linie %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (core dumped)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(dir.lucru actual: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp a eșuat"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: nu există control de lucrări în fundal"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: disciplină linie"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "nu se poate configura grupul de procese din terminal (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "nu există niciun control de lucrări în acest shell"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: a eșuat aserțiunea: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1517,7 +1528,7 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: aserțiune greșită\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "necunoscut"
 
@@ -1526,46 +1537,46 @@ msgstr "necunoscut"
 # Notă, pentru a decide care dintre aceste traduceri,
 # rămîne, e nevoie de colaborarea(opinii, sugestii,
 # comentarii, etc) ale utilizatorilor de «bash»...
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: bloc suprascris pe lista liberă"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: apelat cu un argument bloc deja eliberat"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: apelat cu un argument de bloc nealocat"
 
 # Am tradus inițial mesajul, ca:
 # „free: depășire insuficientă detectată; mh_nbytes în afara intervalului”
 # formulă actuală mi se pare mai adecvată. contextului, precum și a mesajului din engleză
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: s-a detectat o depășire insuficientă; mh_nbytes în afara intervalului"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: s-a detectat o depășire insuficientă; magic8 corupt"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: dimensiunile bucăților de început și de sfârșit sunt diferite"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: apelat cu un argument de bloc nealocat"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: s-a detectat o depășire insuficientă; mh_nbytes țn afara intervalului"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: s-a detectat o depășire insuficientă; magic8 corupt"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: dimensiunile bucăților de început și de sfârșit, diferă"
 
@@ -1607,22 +1618,22 @@ msgstr "%s: specificație incorectă pentru ruta rețelei"
 msgid "network operations not supported"
 msgstr "operațiunile de rețea nu sunt acceptate"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: nu se poate schimba parametrul de limbă (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: nu se poate schimba parametrul de limbă (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: nu se poate schimba parametrul de limbă (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: nu se poate schimba parametrul de limbă (%s): %s"
@@ -1640,136 +1651,136 @@ msgstr "Aveți mail nou în $_"
 msgid "The mail in %s has been read\n"
 msgstr "Mailul din %s a fost citit\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "eroare de sintaxă: expresie aritmetică necesară"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "eroare de sintaxă: „;” neașteptat"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "eroare de sintaxă: „((%s))”"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: tip de instrucțiune greșit %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "«here-document» la linia %d delimitat de sfârșitul fișierului (se aștepta „%s”)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: instrucțiunea de redirecționare „%d” este în afara intervalului"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) depășește SIZE_MAX (%lu): linie trunchiată"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "numărul maxim de «here-document» a fost depășit"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "sfârșit neașteptat al fișierului(EOF) în timp ce se căuta coincidența pentru „%c”"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "sfârșit neașteptat al fișierului(EOF) în timp ce se căuta „]]”"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "eroare de sintaxă în expresia condițională: simbol neașteptat „%s”"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "eroare de sintaxă în expresia condițională"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "simbol neașteptat „%s”, așteptat „)”"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "se aștepta „)”"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "argument neașteptat „%s” pentru operatorul unar condițional"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "argument neașteptat pentru operatorul unar condițional"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "identificator neașteptat „%s”, se aștepta operator binar condițional"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "se aștepta operator binar condițional"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "argument neașteptat „%s” pentru operatorul binar condițional"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "argument neașteptat pentru operatorul binar condițional"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "identificator neașteptat „%c” în comanda condițională"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "identificator neașteptat „%s” în comanda condițională"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "identificator neașteptat %d în comanda condițională"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "eroare de sintaxă neașteptată lângă „%s”"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "eroare de sintaxă neașteptată lângă „%s”"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "eroare de sintaxă: sfârșit de fișier neașteptat"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "eroare de sintaxă"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Utilizați „%s” pentru a părăsi shell-ul.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "sfârșit neașteptat al fișierului în timp ce se căuta după perechea lui „)”"
 
@@ -1807,36 +1818,36 @@ msgstr "xtrace_set: indicatorul pentru fișier este NULL"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != nrfișier xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: „%c”: caracter de format nevalid"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "descriptor de fișier în afara intervalului"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: redirectare ambiguă"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: nu se poate suprascrie fișierul existent"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: restricționat: nu se poate redirecționa ieșirea"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "nu se poate crea un fișier temporar pentru «here-document»: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: nu se poate atribui descriptorul de fișier variabilei"
@@ -1850,55 +1861,55 @@ msgstr "%s: nu se poate atribui descriptorul de fișier variabilei"
 # «→conexiunea trebuie să fie LA rețea în ambele cazuri, „conexiune de rețea” este doar un tip de conexiune (fizică sau virtuală), iar „conexiunea la rețea” reprezintă accesul calculatorului la o rețea anume. (aici se subînțelege o rețea de alte calulatoare fie ea LAN sau WAN)»
 # ===
 # Ok, corecție aplicată
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "nu se admite «/dev/(tcp|udp)/host/port» fără a avea o conexiune la rețea"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "eroare de redirectare: nu se poate duplica descriptorul de fișier"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "nu s-a putut găsi «/tmp», vă rugăm să-l creați!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "«/tmp» trebuie să fie un nume de director valid"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "modul de imprimare „drăguț” este ignorat în shell-urile interactive"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: opțiune nevalidă"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "nu se poate stabili uid la %d: uid efectiv %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "nu se poate stabili gid la %d: gid efectiv %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "nu se poate porni depanatorul; modul de depanare a fost dezactivat"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: Este un director"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Nu am nici un nume!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, versiunea %s-(%s)\n"
@@ -1907,7 +1918,7 @@ msgstr "GNU bash, versiunea %s-(%s)\n"
 # acest mesaj, și următoarele, pot să fie
 # vizualizate, rulînd comanda:
 # «bash --help».
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1916,163 +1927,163 @@ msgstr ""
 "Utilizare:\t%s [GNU opțiune lungă] [opțiune] ...\n"
 "\t%s [GNU opțiune lungă] [opțiune] fișier-script ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Opțiuni lungi GNU:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Opțiuni ale shell-ului:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD sau -c comandă sau -O shopt_option\t\t(doar invocare)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s sau -o opțiune\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Tastați «%s -c \"help set\"» pentru mai multe informații despre opțiunile shell-ului.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "Tastați «%s -c help» pentru mai multe informații despre comenzile interne ale shell-ului.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Utilizați comanda «bashbug» pentru a raporta erori.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "Pagina principală a lui „bash”: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Ajutor general pentru utilizarea software-ului GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: operație nevalidă"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Semnal fals"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Deconectare/Terminare anormală(Hangup)"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Întrerupere"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Părăsire"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Instrucțiune ilegală"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "Punct de întrerupere de urmărire/capturare"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "Instrucțiune ABORT"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "Instrucțiune EMT"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Excepție de virgulă mobilă"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Omorât"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Eroare de magistrală de date(bus)"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Eroare de segmentare"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Apel de sistem incorect"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Linie de conectare întreruptă"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Ceas cu alarmă"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Terminat"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Condiție In/Ieș urgentă"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Oprit (semnal)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Continuare"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Proces-copil mort sau oprit"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Oprit (tty input)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Oprit (tty output)"
 
 # Se referă la: dispozitiv(de intrare/de ieșire)
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "In/Ieș pregătită"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "Limită CPU"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Limită fișier"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Alarmă (virtual)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Alarmă (profil)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Fereastră schimbată"
 
@@ -2082,158 +2093,158 @@ msgstr "Fereastră schimbată"
 # Blocare înregistrare, este formula corectă...
 # ***
 # l-am modificat la revizare
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Blocare înregistrare"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Semnal utilizator 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Semnal utilizator 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "Date de intrare HFT în curs de rezolvare"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "probleme electrice iminente"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "cădere iminentă a sistemului"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "migrare proces spre alt CPU"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "eroare de programare"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "Modul de monitor HFT a fost acordat"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "Modul de monitor HFT a fost retras"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "Secvența de sunet HFT a fost completată"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Solicitare de informație"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Semnal necunoscut #%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "înlocuire greșită: nu se închide „%s” în %s"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: nu se poate atribui o listă unui membru al matricei"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "nu se poate crea linia de conectare pentru substituția procesului"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "nu se poate crea un proces-copil pentru substituirea procesului: %s"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "nu se poate deschide linia de conectare numită %s pentru citire"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "nu se poate deschide linia de conectare numită %s pentru scriere"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "nu se poate duplica linia de conectare numită %s ca fd %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "substituție de comandă: octetul null din intrare este ignorat"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "nu se poate crea linia de conectare pentru substituția de comandă"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "nu se poate crea un proces-copil pentru substituția de comandă"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: nu se poate duplica linia de conectare ca descriptor de fișier 1(fd 1)"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: nume de variabilă nevalid pentru referința numelui"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: extindere indirectă nevalidă"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: nume de variabilă nevalid"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parametru nedefinit"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parametru nul sau nedefinit"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: expresie subșir < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: substituție nevalidă"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: nu se poate asigna în acest mod"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "versiunile viitoare ale shell-ului vor forța evaluarea ca o substituție aritmetică"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "înlocuire greșită: fără „`” de închidere în %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "nicio potrivire: %s"
@@ -2256,21 +2267,21 @@ msgstr "se aștepta „)'”"
 msgid "`)' expected, found %s"
 msgstr "se aștepta „)”, s-a găsit %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: se așteaptă operator binar"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: se așteaptă operator unar"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "lipsește „]”"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "eroare de sintaxă: „%s” neașteptat"
@@ -2279,99 +2290,104 @@ msgstr "eroare de sintaxă: „%s” neașteptat"
 msgid "invalid signal number"
 msgstr "număr de semnal nevalid"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "gestionarul de capturare: nivelul maxim de gestionări de capturare a fost depășit (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: valoare greșită în trap_list[%d]: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: gestionarul de semnal este SIG_DFL, se retrimite %d (%s) către mine"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: semnal nevalid %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "eroare în importarea definiției funcției pentru „%s”"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "nivelul shell-ului (%d) prea mare, se reinițializează la 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: nu există context de funcție în domeniul actual"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: nu este posibil ca variabilei să i se atribuie o valoare"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: nu se poate moșteni valoarea de la un tip incompatibil"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: se atribuie un număr întreg referinței de nume"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: nu există context de funcție în domeniul actual"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s are exportstr nul"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "caracter nevalid %d în exportstr pentru %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "nu există „=” în exportstr pentru %s"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: partea de sus din shell_variables nu este un context de funcție"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: nu există un context global_variables"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: partea de sus din shell_variables nu este un domeniu de mediu temporar"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: nu se poate deschide ca FIȘIER"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: valoare nevalidă pentru descriptorul fișierului de urmărire"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: valoarea de compatibilitate în afara intervalului"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Drepturi de autor © 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Drepturi de autor © 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2456,12 +2472,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] comandă [arg ...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [nume[=valoare] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [nume[=valoare] ...] sau declare -p [-aAfFilnrtux] [nume ...]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] nume[=valoare] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] nume[=valoare] ... sau typeset -p [-aAfFilnrtux] [nume ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2548,8 +2564,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o nume-opțiune] [--] [arg ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o nume-opțiune] [--] [-] [arg ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2596,8 +2612,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] nume [nume ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [limită]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limită]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2636,12 +2652,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if COMENZI; then COMENZI; [elif COMENZI; then COMENZI; ]... [ else COMENZI; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while COMENZI; do COMENZI; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while COMENZI; do COMENZI-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until COMENZI; do COMENZI; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until COMENZI; do COMENZI-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -4175,7 +4191,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -4218,7 +4235,8 @@ msgstr ""
 "    cazul împărțirii cuvintelor, iar primul cuvânt este atribuit primului NUME, \n"
 "    al doilea cuvânt celui de-al doilea NUME și așa mai departe, ultimul NUME\n"
 "    preluând lista cuvintelor rămase.  Doar caracterele găsite în $IFS sunt\n"
-"    recunoscute ca delimitatori de cuvinte.\n"
+"    recunoscute ca delimitatori de cuvinte. În mod implicit, caracterul bară oblică\n"
+"    inversă eludează caracterele delimitatoare și linia nouă.\n"
 "    \n"
 "    Dacă nu sunt furnizate NUME, linia citită este stocată în variabila REPLY.\n"
 "    \n"
@@ -4230,10 +4248,10 @@ msgstr ""
 "    \t\tde linia nouă\n"
 "      -e\tutilizează Readline pentru a obține linia\n"
 "      -i text\tutilizează TEXT ca text inițial pentru Readline\n"
-"      -n ncarac\treturnează după citirea caracterelor NCARAC în loc să aștepte\n"
+"      -n ncarac\treturnează după citirea a NCARAC caractere în loc să aștepte\n"
 "    \t\to nouă linie, dar respectă delimitatorul dacă sunt citite mai\n"
 "    \t\tpuțin de NCARAC caractere înainte de delimitator\n"
-"      -N ncarac\treturnează numai după citirea exactă a caracterelor NCARS, cu\n"
+"      -N ncarac\treturnează numai după citirea exactă a NCARAC caractere, cu\n"
 "    \t\texcepția cazului în care se întâlnește sfârșitul fișierului sau \n"
 "    \t\tdacă timpul de citire expiră, eliminând orice delimitatori\n"
 "      -p prompt\tafișează șirul PROMPT fără un caracter de linie nouă la final,\n"
@@ -4263,7 +4281,7 @@ msgstr ""
 # «help return», din «bash»;
 # «bash -c "help return"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -4296,7 +4314,7 @@ msgstr ""
 # «help set», din «bash»;
 # «bash -c "help set"», din «bash», sau dintr-un
 # shell, diferit de «bash».
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4472,7 +4490,7 @@ msgstr ""
 # «help unset», din «bash»;
 # «bash -c "help unset"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4517,7 +4535,7 @@ msgstr ""
 # «help export», din «bash»;
 # «bash -c "help export"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4557,7 +4575,7 @@ msgstr ""
 # «help readonly», din «bash»;
 # «bash -c "help readonly"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4602,7 +4620,7 @@ msgstr ""
 # «help shift», din «bash»;
 # «bash -c "help shift"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4627,7 +4645,7 @@ msgstr ""
 # «help source», din «bash»;
 # «bash -c "help source"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4657,7 +4675,7 @@ msgstr ""
 # «help suspend», din «bash»;
 # «bash -c "help suspend"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4690,7 +4708,7 @@ msgstr ""
 # «help test», din «bash»;
 # «bash -c "help test"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4848,7 +4866,7 @@ msgstr ""
 # «help [», din «bash»;
 # «bash -c "help ["», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4866,7 +4884,7 @@ msgstr ""
 # «help times», din «bash»;
 # «bash -c "help times"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4890,7 +4908,7 @@ msgstr ""
 # «help trap», din «bash»;
 # «bash -c "help trap"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4966,7 +4984,7 @@ msgstr ""
 # «help type», din «bash»;
 # «bash -c "help type"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -5026,7 +5044,7 @@ msgstr ""
 # «help ulimit», din «bash»;
 # «bash -c "help ulimit"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -5128,7 +5146,7 @@ msgstr ""
 # «help umask», din «bash»;
 # «bash -c "help umask"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -5169,7 +5187,7 @@ msgstr ""
 # «help wait», din «bash»;
 # «bash -c "help wait"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -5224,7 +5242,7 @@ msgstr ""
 "    dată o opțiune nevalidă sau dacă „-n” este furnizată și shell-ul nu are\n"
 "    niciun copil pe care să-l aștepte."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -5252,7 +5270,7 @@ msgstr ""
 # «help for», din «bash»;
 # «bash -c "help for"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -5280,7 +5298,7 @@ msgstr ""
 # «help 'for (('», din «bash»;
 # «bash -c "help 'for (('"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -5316,7 +5334,7 @@ msgstr ""
 # «help select», din «bash»;
 # «bash -c "help select"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -5359,7 +5377,7 @@ msgstr ""
 # «help time», din «bash»;
 # «bash -c "help time"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -5394,7 +5412,7 @@ msgstr ""
 # «help case», din «bash»;
 # «bash -c "help case"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -5418,7 +5436,7 @@ msgstr ""
 # «help if», din «bash»;
 # «bash -c "help if"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -5453,20 +5471,20 @@ msgstr ""
 # «help while», din «bash»;
 # «bash -c "help while"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Execută comenzi atâta timp cât un test reușește.\n"
 "    \n"
-"    Expandează și execută COMENZI atâta timp cât comanda finală din\n"
-"    COMENZI „while” are o stare de ieșire zero.\n"
+"    Expandează și execută COMENZI-2 atâta timp cât comanda finală din\n"
+"    COMENZI are o stare de ieșire zero.\n"
 "    \n"
 "    Starea de ieșire:\n"
 "    Returnează starea ultimei comenzi executate."
@@ -5477,20 +5495,20 @@ msgstr ""
 # «help until», din «bash»;
 # «bash -c "help until"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Execută comenzi atâta timp cât un test nu reușește.\n"
 "    \n"
-"    Expandează și execută COMENZI atâta timp cât comanda finală din\n"
-"    „until” COMENZI are o stare de ieșire diferită de zero.\n"
+"    Expandează și execută COMENZI-2 atâta timp cât comanda finală din\n"
+"    COMENZI are o stare de ieșire diferită de zero.\n"
 "    \n"
 "    Starea de ieșire:\n"
 "    Returnează starea ultimei comenzi executate."
@@ -5501,7 +5519,7 @@ msgstr ""
 # «help coproc», din «bash»;
 # «bash -c "help coproc"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -5529,7 +5547,7 @@ msgstr ""
 # «help function», din «bash»;
 # «bash -c "help function"», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -5557,7 +5575,7 @@ msgstr ""
 # «help -m {», din «bash»;
 # «bash -c "help -m {», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -5575,7 +5593,7 @@ msgstr ""
 "    Starea de ieșire:\n"
 "    Returnează starea ultimei comenzi executate."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5605,7 +5623,7 @@ msgstr ""
 # «help '(('», din «bash»;
 # «bash -c "help '(('», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5629,7 +5647,7 @@ msgstr ""
 # «help '[['», din «bash»;
 # «bash -c "help '[['», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5683,7 +5701,7 @@ msgstr ""
 # «help variables», din «bash»;
 # «bash -c "help variables», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5796,7 +5814,7 @@ msgstr ""
 # «help pushd», din «bash»;
 # «bash -c "help pushd», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5860,7 +5878,7 @@ msgstr ""
 # «help popd», din «bash»;
 # «bash -c "help popd», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5916,7 +5934,7 @@ msgstr ""
 # «help dirs», din «bash»;
 # «bash -c "help dirs», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5977,7 +5995,7 @@ msgstr ""
 # «help shopt», din «bash»;
 # «bash -c "help shopt», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -6021,7 +6039,7 @@ msgstr ""
 # «help printf», din «bash»;
 # «bash -c "help printf», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -6040,6 +6058,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -6056,7 +6076,7 @@ msgstr ""
 "    \n"
 "    Opțiuni:\n"
 "      -v var\tasignează ieșirea variabilei shell VAR, în loc să o\n"
-"    \t\tafișeze pe ieșirea standard\n"
+"    \t\tafișeze la ieșirea standard\n"
 "    \n"
 "    FORMAT este un șir de caractere care conține trei tipuri de obiecte: \n"
 "    caractere simple, care sunt pur și simplu copiate la ieșirea standard; \n"
@@ -6071,6 +6091,8 @@ msgstr ""
 "          \tîn argumentul corespunzător\n"
 "      %q\tcitează argumentul într-un mod care poate fi reutilizat\n"
 "          \tca intrare shell\n"
+"      %Q\tprecum %q, dar aplică orice precizie argumentului necitat\n"
+"    \t\tînainte de al cita\n"
 "      %(fmt)T\tafișează șirul dată-oră rezultat din utilizarea FMT,\n"
 "          \tca șir de format pentru strftime(3)\n"
 "    \n"
@@ -6089,7 +6111,7 @@ msgstr ""
 # «help complete», din «bash»;
 # «bash -c "help complete», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -6148,7 +6170,7 @@ msgstr ""
 # «help compgen», din «bash»;
 # «bash -c "help compgen», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -6175,7 +6197,7 @@ msgstr ""
 # «help compopt», din «bash»;
 # «bash -c "help compopt», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -6237,7 +6259,7 @@ msgstr ""
 # «help mapfile», din «bash»;
 # «bash -c "help mapfile», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -6314,7 +6336,7 @@ msgstr ""
 # «help readarray», din «bash»;
 # «bash -c "help array», din «bash», sau
 # dintr-un shell, diferit de «bash».
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -6323,3 +6345,6 @@ msgstr ""
 "Citește linii dintr-un fișier într-o variabilă de tip matrice.\n"
 "    \n"
 "    Un sinonim pentru «mapfile»."
+
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: cheie de matrice asociativă nevalidă"
index 9f406df3f59fb9bd4d8ab732ac90a00649a3cdbb..804ca8fe0275155582e4efa4edda921183f88f67 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index f76bd168b3069872894d74d56fcb478025629d13..7a12ea0bea42af5ce9947f674b78d368748f896a 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,16 +1,16 @@
 # Swedish translation of bash
-# Copyright © 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Free Software Foundation, Inc.
+# Copyright © 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2022 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 #
-# Göran Uddeborg <goeran@uddeborg.se>, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020.
+# Göran Uddeborg <goeran@uddeborg.se>, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2022.
 #
-# $Revision: 1.30 $
+# $Revision: 1.31 $
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2020-12-09 21:35+0100\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-17 22:31+0200\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -24,57 +24,52 @@ msgstr ""
 msgid "bad array subscript"
 msgstr "felaktigt vektorindex"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: tar bort attributet namnreferens"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: det går inte att konvertera en indexerad vektor till associativ"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: ogiltig nyckel till associativ vektor"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: det går inte att tilldela till ickenumeriska index"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: måste använda index vid tilldelning av associativ vektor"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: det går inte att skapa: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: det går inte att hitta en tangentbindning för kommandot"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: första ickeblanka tecknet är inte '\"'"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "ingen avslutande ”%c” i %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: kolonseparator saknas"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "”%s”: det går inte att avbinda i kommandotangentbindning"
@@ -82,7 +77,7 @@ msgstr "”%s”: det går inte att avbinda i kommandotangentbindning"
 #: braces.c:327
 #, c-format
 msgid "brace expansion: cannot allocate memory for %s"
-msgstr "klammerexpansion: kan inte allokera minne för %s"
+msgstr "klammerexpansion: det går inte att allokera minne för %s"
 
 #: braces.c:406
 #, c-format
@@ -94,7 +89,7 @@ msgstr "klammerexpansion: misslyckades att allokera minne för %u element"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "klammerexpansion: misslyckades att allokera minne för ”%s”"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "”%s”: ogiltigt aliasnamn"
@@ -165,7 +160,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "HOME är inte satt"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "för många argument"
 
@@ -192,7 +187,7 @@ msgstr "varning: "
 msgid "%s: usage: "
 msgstr "%s: användning: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: flaggan kräver ett argument"
@@ -207,7 +202,7 @@ msgstr "%s: numeriskt argument krävs"
 msgid "%s: not found"
 msgstr "%s: finns inte"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: ogiltig flagga"
@@ -217,7 +212,7 @@ msgstr "%s: ogiltig flagga"
 msgid "%s: invalid option name"
 msgstr "%s: ogiltigt flaggnamn"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "”%s”: inte en giltig identifierare"
@@ -230,7 +225,7 @@ msgstr "ogiltigt oktalt tal"
 msgid "invalid hex number"
 msgstr "ogiltigt hexadecimalt tal"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "ogiltigt tal"
 
@@ -244,88 +239,93 @@ msgstr "%s: ogiltig signalspecifikation"
 msgid "`%s': not a pid or valid job spec"
 msgstr "”%s”: inte en pid eller giltig jobbspecifikation"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: endast läsbar variabel"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: det går inte att tilldela"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s utanför giltigt intervall"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "argument"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s utanför giltigt intervall"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: inget sådant jobb"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: ingen jobbstyrning"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "ingen jobbstyrning"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: begränsat"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "begränsat"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: inte inbyggt i skalet"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "skrivfel: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "fel när terminalattribut ställdes in: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "fel när terminalattribut hämtades: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: fel när aktuell katalog hämtades: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: tvetydig jobbspecifikation"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "hjälp är inte tillgängligt i denna version"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: det går inte att ta bort tilldelning: endast läsbar %s"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: det går inte att ta bort tilldelning"
@@ -335,108 +335,108 @@ msgstr "%s: det går inte att ta bort tilldelning"
 msgid "%s: invalid action name"
 msgstr "%s: ogiltigt åtgärdsnamn"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: ingen kompletteringsspecifikation"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "varning: flaggan -F fungerar kanske inte som du väntar dig"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "varning: flaggan -C fungerar kanske inte som du väntar dig"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "kör inte en kompletteringsfunktion"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "kan endast användas i en funktion"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "det går inte att använda ”-f” för att göra funktioner"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: endast läsbar funktion"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: en referensvariabel kan inte vara en vektor"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: att en namnreferensvariabel självrefererar är inte tillåtet"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: cirkulär namnreferens"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "”%s”: ogiltigt variabelnamn för referens"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "det går inte att använda ”-f” för att göra funktioner"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: endast läsbar funktion"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: citerad sammansatt tilldelning av vektorer undanbedes"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: det går inte att förstöra vektorvariabler på detta sätt"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: det går inte att konvertera en associativ vektor till indexerad"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: citerad sammansatt tilldelning av vektorer undanbedes"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "dynamisk laddning är inte tillgängligt"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "det går inte att öppna delat objekt %s: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
-msgstr "kan inte hitta %s i det delade objektet %s: %s"
+msgstr "det går inte att hitta %s i det delade objektet %s: %s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: den dynamiska inbyggda är redan inläst"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "inläsningsfunktionen för %s returnerar misslyckande (%d): inte inläst"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: inte dynamiskt laddad"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: kan inte ta bort: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: är en katalog"
@@ -451,7 +451,7 @@ msgstr "%s: inte en normal fil"
 msgid "%s: file is too large"
 msgstr "%s: filen är för stor"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: det går inte att köra binär fil"
@@ -546,12 +546,12 @@ msgstr ""
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr "inget hjälpämne matchar ”%s”.  Prova ”help help” eller ”man -k %s” eller ”info %s”."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: det går inte att öppna: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -571,21 +571,21 @@ msgstr ""
 "En stjärna (*) bredvid ett namn betyder att det kommandot är avstängt.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "det går inte att använda mer än en av -anrw"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "historieposition"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: ogiltig tidsstämpel"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: historieexpansionen misslyckades"
@@ -608,78 +608,78 @@ msgstr "%s: argument måste vara processer eller jobb-id:n"
 msgid "Unknown error"
 msgstr "Okänt fel"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "uttryck förväntades"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: inte en indexerad vektor"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: ogiltig filbeskrivarspecifikation"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: ogiltig filbeskrivare: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: ogiltigt radantal"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: ogiltig vektorstart"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: ogiltigt kvantum för återanrop"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "tomt vektorvariabelnamn"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "stöd för vektorvariabler krävs"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "”%s”: formateringstecken saknas"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "”%c”: ogiltig specifikation av tidsformat"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "”%c”: ogiltigt formateringstecken"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "varning: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "formattolkningsproblem: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "hexadecimal siffra saknas för \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "unicode-siffra saknas för \\%c"
@@ -829,12 +829,12 @@ msgstr ""
 "    \n"
 "    Den inbyggda ”dirs” visar katalogstacken."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: ogiltig tidsgränsspecifikation"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "läsfel: %d: %s"
@@ -847,7 +847,7 @@ msgstr "det går bara att göra ”return” från en funktion eller källinläs
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "det går inte att samtidigt ta bort en funktion och en variabel"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: inte en vektorvariabel"
@@ -866,11 +866,11 @@ msgstr "%s: det går inte att exportera"
 msgid "shift count"
 msgstr "skiftantal"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "det går inte att sätta och ta bort skalflaggor samtidigt"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: ogiltigt skalflaggsnamn"
@@ -937,16 +937,16 @@ msgstr "%s: ogiltigt gränsargument"
 msgid "`%c': bad command"
 msgstr "”%c”: felaktigt kommando"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: kan inte avgöra gränsen: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "gräns"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: kan inte ändra gränsen: %s"
@@ -965,7 +965,7 @@ msgstr "”%c”: ogiltig operator för symboliskt läge"
 msgid "`%c': invalid symbolic mode character"
 msgstr "”%c”: ogiltigt tecken för symboliskt läge"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " rad "
 
@@ -985,96 +985,106 @@ msgstr "Avbryter..."
 msgid "INFORM: "
 msgstr "INFORMATION: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "FELSÖKNINGS-varning: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "okänt kommandofel"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "felaktig kommandotyp"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "felaktig anslutning"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "felaktigt hopp"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: obunden variabel"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\atiden gick ut i väntan på indata: automatisk utloggning\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "det går inte att omdirigera standard in från /dev/null: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: ”%c”: ogiltigt formateringstecken"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: coproc [%d:%s] finns fortfarande"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "rörfel"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: maximal nästning av eval överskriden (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: maximal nästning av source överskriden (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: maximal nästning av funktioner överskriden (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: begränsat: det går inte att ange ”/” i kommandonamn"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: kommandot finns inte"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: det går inte att köra: en nödvändig fil finns inte"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: felaktig tolk"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: det går inte att köra binär fil: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "”%s”: är en speciell inbyggd"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "det går inte att duplicera fb %d till fb %d"
@@ -1087,68 +1097,68 @@ msgstr "rekursionsnivå i uttryck överskriden"
 msgid "recursion stack underflow"
 msgstr "underspill i rekursionsstacken"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "syntaxfel i uttrycket"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "försök att tilldela till en icke-variabel"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "syntaxfel i variabeltilldelning"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "division med 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "fel: felaktig expassign-symbol"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "”:” förväntades i villkorligt uttryck"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "exponenten är mindre än 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "en identifierare förväntades efter pre-ökning eller pre-minskning"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "”)” saknas"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "syntaxfel: en operand förväntades"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "syntaxfel: ogiltig aritmetisk operator"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (felsymbol är ”%s”)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "ogiltig aritmetisk bas"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "felaktig heltalskonstant"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "värdet är för stort för basen"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: uttrycksfel\n"
@@ -1157,7 +1167,7 @@ msgstr "%s: uttrycksfel\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: det går inte att komma åt föräldrakatalogen"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "det går inte att återställa fördröjningsfritt läge för fb %d"
@@ -1176,167 +1186,167 @@ msgstr "save_bash_input: buffert finns redan för ny fb %d"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp rör"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "avgrenad pid %d finns i körande jobb %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "tar bort stoppat jobb %d med processgrupp %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: pid %5ld (%s) markerad som fortfarande vid liv"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: ingen sådan pid"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Signal %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Klart"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Stoppad"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Stoppad(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Kör"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Klart(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Avslut %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Okänd status"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(minnesutskrift skapad) "
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (ak: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "barns setpgid (%ld till %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld är inte ett barn till detta skal"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: Ingen uppgift om process %ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: jobb %d är stoppat"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: inga aktuella jobb"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: jobbet har avslutat"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: jobb %d är redan i bakgrunden"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: slår på WNOHANG för att undvika oändlig blockering"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: rad %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (minnesutskrift skapad)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(ak nu: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp misslyckades"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: ingen jobbstyrning i bakgrunden"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: linjedisciplin"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "det går inte att sätta terminalprocessgrupp (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "ingen jobbstyrning i detta skal"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: försäkran misslyckades: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1345,47 +1355,47 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: försäkran gick fel\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "okänd"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: block på frilista överskrivet"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: anropad med redan frigjort block som argument"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: anropad med oallokerat block som argument"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: underspill upptäckt: mh_nbytes utanför giltigt intervall"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: underspill upptäckt: magic8 är trasig"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: start- och slutstyckesstorlekar skiljer"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: anropat med oallokerat block som argument"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: underspill upptäckt: mh_nbytes utanför giltigt intervall"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: underspill upptäckt: magic8 är trasig"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: start- och slutstyckesstorlekar skiljer"
 
@@ -1427,22 +1437,22 @@ msgstr "%s: felaktig specifikation av nätverkssökväg"
 msgid "network operations not supported"
 msgstr "nätverksoperationer stöds inte"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: det går inte att ändra lokal (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: det går inte att ändra lokal (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: det går inte att ändra lokal (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: det går inte att ändra lokal (%s): %s"
@@ -1460,136 +1470,136 @@ msgstr "Du har ny post i $_"
 msgid "The mail in %s has been read\n"
 msgstr "Posten i %s har lästs\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "syntaxfel: aritmetiskt uttryck krävs"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "syntaxfel: oväntat ”;”"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "syntaxfel: ”((%s))”"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: felaktig instruktionstyp %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "här-dokument på rad %d avgränsas av filslut (ville ha ”%s”)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: omdirigeringsinstruktion ”%d” utanför giltigt intervall"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) överstiger SIZE_MAX (%lu): raden avhuggen"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "maximalt antal av här-dokument överskridet"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "oväntat filslut vid sökning efter matchande ”%c”"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "oväntat filslut vid sökning efter ”]]”"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "syntaxfel i villkorligt uttryck: oväntad symbol ”%s”"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "syntaxfel i villkorligt uttryck"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "oväntad symbol ”%s”, ”)” förväntades"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "”)” förväntades"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "oväntat argument ”%s” till villkorlig unär operator"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "oväntat argument till villkorlig unär operator"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "oväntad symbol ”%s”, villkorlig binär operator förväntades"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "villkorlig binär operator förväntades"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "oväntat argument ”%s” till villkorlig binär operator"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "oväntat argument till villkorlig binär operator"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "oväntad symbol ”%c” i villkorligt kommando"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "oväntad symbol ”%s” i villkorligt kommando"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "oväntad symbol %d i villkorligt kommando"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "syntaxfel nära den oväntade symbolen ”%s”"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "syntaxfel nära ”%s”"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "syntaxfel: oväntat filslut"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "syntaxfel"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Använd ”%s” för att lämna skalet.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "oväntat filslut när matchande ”)” söktes"
 
@@ -1627,94 +1637,94 @@ msgstr "xtrace_set: NULL-filpekare"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: ”%c”: ogiltigt formateringstecken"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "filbeskrivare utanför giltigt intervall"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: tvetydig omdirigering"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: det går inte att skriva över en existerande fil"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: begränsat: det går inte att omdirigera utdata"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "det går inte att skapa temporärfil för här-dokument: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: det går inte att tilldela fb till variabel"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port stöds inte utan nätverksfunktion"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "omdirigeringsfel: det går inte att duplicera fb"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "hittade inte /tmp, var god skapa!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp måste vara ett giltigt katalognamn"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "läget för snygg utskrift ignoreras i interaktiva skal"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: ogiltig flagga"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "det går sätta uid till %d: effektiv uid %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "det går inte att sätta gid till %d: effektiv gid %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "kan inte starta felsökaren, felsökningsläge avaktiverat"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: är en katalog"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "Jag har inget namn!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, version %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1723,319 +1733,319 @@ msgstr ""
 "Användning:\t%s [GNU lång flagga] [flagga] ...\n"
 "\t\t%s [GNU lång flagga] [flagga] skriptfil ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "GNU långa flaggor:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Skalflaggor:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD eller -c kommando eller -O shopt_flagga\t\t(bara uppstart)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s eller -o flagga\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Skriv ”%s -c 'help set'” för mer information om skalflaggor.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "Skriv ”%s -c help” för mer information om inbyggda skalkommandon.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr ""
 "Använd kommandot ”bashbug” för att rapportera fel.\n"
 "Skicka synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "bash hemsida: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Allmän hjälp i att använda GNU-program: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: ogiltig operation"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Felaktig signal"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Avringd"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Avbruten"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Lämnad"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Otillåten instruktion"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "Brytpunkt/spårningsfälla"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "ABORT-instruktion"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "Emulatorfälla"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Flyttalsfel"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Dödad"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Bussfel"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Segmenteringsfel"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Felaktigt systemanrop"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Brutet rör"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Alarmklocka"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Avslutat"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Viktigt I/O-tillstånd"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Stoppad (signal)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Återupptagen"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Barn dött eller stoppat"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Stoppad (terminalläsning)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Stoppad (terminalskrivning)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "I/O möjligt"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "CPU-gräns"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Filgräns"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Alarm (virtuell tid)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Alarm (profilering)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Ändrat fönster"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Postlås"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Användarsignal 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Användarsignal 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "HFT-indata väntar"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "strömavbrott omedelbart förestående"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "systemkrasch omedelbart förestående"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "migrera process till en annan CPU"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "programmeringsfel"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "HFT-övervakningsläge givet"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "HFT-övervakare borttagen"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "HFT-ljudsekvens har avslutat"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Informationsbegäran"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Okänd signal nr %d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "felaktig substitution: ingen avslutande ”%s” i %s"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: det går inte att tilldela listor till vektormedlemmar"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "det går inte att skapa rör för processubstitution"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "det går inte att skapa barn för processubstitution"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "det går inte att öppna namngivet rör %s för läsning"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "det går inte att öppna namngivet rör %s för skrivning"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "det går inte att duplicera namngivet rör %s som fb %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "kommandoersättning: ignorerade nollbyte i indata"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "det går inte att skapa rör för kommandosubstitution"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "det går inte att skapa barn för kommandosubstitution"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: det går inte att duplicera rör som fb 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: ogiltigt variabelnamn för referens"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: felaktig indirekt expansion"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: felaktigt variabelnamn"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: parametern är inte satt"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: parametern tom eller inte satt"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: delstränguttryck < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: felaktig substitution"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: det går inte att tilldela på detta sätt"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "framtida versioner av skalet kommer att framtvinga evaluering som en aritmetisk substitution"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "felaktig ersättning: ingen avslutande ”`” i %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "ingen matchning: %s"
@@ -2058,21 +2068,21 @@ msgstr "”)” förväntades"
 msgid "`)' expected, found %s"
 msgstr "”)” förväntades, fann %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: binär operator förväntades"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: unär operator förväntades"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "”]” saknas"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "syntaxfel: oväntat ”%s”"
@@ -2081,99 +2091,104 @@ msgstr "syntaxfel: oväntat ”%s”"
 msgid "invalid signal number"
 msgstr "ogiltigt signalnummer"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "fällhanterare: maximal nivå av fällhanterare överskriden (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: felaktigt värde i trap_list[%d]: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: signalhanterare är SIG_DFL, skickar om %d (%s) till mig själv"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: felaktig signal %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "fel vid import av funktionsdefinition för ”%s”"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "skalnivå (%d) för hög, återställer till 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: ingen funktionskontext i aktuellt sammanhang"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: variabeln får inte tilldelas ett värde"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: det går inte att ärva ett värde från en inkompatibel typ"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: tilldelar ett heltal till en namnreferens"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: ingen funktionskontext i aktuellt sammanhang"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s har tom exportstr"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "ogiltigt tecken %d i exportstr för %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "inget ”=” i exportstr för %s"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: huvudet på shell_variables är inte en funktionskontext"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: ingen kontext global_variables"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: huvudet på shell_variables är inte en temporär omgivningsräckvidd"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: går inte att öppna som FILE"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: ogiltigt värde för spårningsfilbeskrivare"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: kompatibilitetsvärde utanför giltigt intervall"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright © 2020 Free Software Foundation, Inc."
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright © 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2253,12 +2268,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] kommando [arg ...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [namn[=värde] …]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [namn[=värde] …] eller declare -p [-aAfFilnrtux] [namn …]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] namn[=värde] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] namn[=värde] … eller typeset -p [-aAfFilnrtux] [namn …]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2345,8 +2360,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o flaggnamn] [--] [arg ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o flaggnamn] [--] [-] [arg …]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2393,8 +2408,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] namn [namn ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [gräns]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [gräns]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2433,12 +2448,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if KOMMANDON; then KOMMANDON; [ elif KOMMANDON; then KOMMANDON; ]... [ else KOMMANDON; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while KOMMANDON; do KOMMANDON; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while KOMMANDON; do KOMMANDON-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until KOMMANDON; do KOMMANDON; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until KOMMANDON; do KOMMANDON-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3748,7 +3763,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3790,7 +3806,9 @@ msgstr ""
 "    flaggan -u ges.  Raden delas upp i fält som vid orduppdelning, och första\n"
 "    ordet tilldelas det första NAMNet, andra ordet till det andra NAMNet, och\n"
 "    så vidare, med eventuella återstående ord tilldelade till det sista\n"
-"    NAMNet.  Endast tecknen som finns i $IFS används som ordavgränsare.\n"
+"    NAMNet.  Endast tecknen som finns i $IFS används som ordavgränsare. Som\n"
+"    standard skyddar tecknet omvänt snedstreck avgränsningstecken och\n"
+"    nyrad.\n"
 "    \n"
 "    Om inga NAMN anges, lagras den inlästa raden i variabeln REPLY.\n"
 "    \n"
@@ -3825,7 +3843,7 @@ msgstr ""
 "    (då den är större än 128), ett fel vid variabeltilldelning inträffar eller\n"
 "    en ogiltig filbeskrivare ges som argument till -u."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3846,7 +3864,7 @@ msgstr ""
 "    Returnerar N, eller misslyckande om skalet inte kör en funktion eller\n"
 "    skript."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4012,7 +4030,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte en ogiltig flagga ges."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4051,7 +4069,7 @@ msgstr ""
 "    Returnerar framgång om inte en ogiltig flagga ges eller NAMN endast är\n"
 "    läsbart."
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4083,7 +4101,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte en ogiltig flagga ges eller NAMN är ogiltigt."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4121,7 +4139,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte en ogiltig flagga ges eller NAMN är ogiltigt."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4139,7 +4157,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte N är negativt eller större än $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4162,7 +4180,7 @@ msgstr ""
 "    Returnerar status på det sista kommandot som körs i FILNAMN, misslyckas\n"
 "    om FILNAMN inte kan läsas."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4187,7 +4205,7 @@ msgstr ""
 "    Returnerar framgång om inte jobbstyrning inte är aktiverat eller ett fel\n"
 "    inträffar."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4344,7 +4362,7 @@ msgstr ""
 "    Returnerar framgång om UTTR beräknas till sant.  Misslyckas ifall UTTR\n"
 "    beräknas till falskt eller ett ogiltigt argument ges."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4356,7 +4374,7 @@ msgstr ""
 "    Detta är en synonym till det inbyggda ”test”, men det sista argumentet\n"
 "    måste vara en bokstavlig ”]”, för att matcha den inledande ”[”."
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4374,7 +4392,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Lyckas alltid."
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4441,7 +4459,7 @@ msgstr ""
 "    Returnerar framgång om inte en SIGSPEC är ogiltig eller en ogiltig flagga\n"
 "    ges."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4495,7 +4513,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om alla NAMNen finns, misslyckas om något inte finns."
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4590,7 +4608,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte en ogiltig flagga anges eller ett fel inträffar."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4624,7 +4642,7 @@ msgstr ""
 "    Returnerar framgång om inte RÄTTIGHETER är ogiltig eller en ogiltig flagga\n"
 "    ges."
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4674,7 +4692,7 @@ msgstr ""
 "    Returnerar status på den sista ID, misslyckas ifall ID är ogiltig\n"
 "    eller en ogiltig flagga ges."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4696,7 +4714,7 @@ msgstr ""
 "    Returnerar status på den sista PID, misslyckas ifall PID är ogiltig\n"
 "    eller en ogiltig flagga ges."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4718,7 +4736,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar status för det sist exekverade kommandot."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4748,7 +4766,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar statusen från det sist exekverade kommandot."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4783,7 +4801,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar statusen från det sist exekverade kommandot."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4812,7 +4830,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returstatusen är returstatusen från RÖR."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4830,7 +4848,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar statusen från det sist exekverade kommandot."
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4858,43 +4876,43 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar status från det sist exekverade kommandot."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Exekvera kommandon så länge ett test lyckas.\n"
 "    \n"
-"    Expandera och exekvera KOMMANDON så länge det sista kommandot i\n"
-"    ”while”-KOMMANDONa har en slutstatus på noll.\n"
+"    Expandera och exekvera KOMMANDON-2 så länge det sista kommandot i\n"
+"    KOMMANDON har en slutstatus på noll.\n"
 "    \n"
 "    Slutstatus:\n"
 "    Returnerar statusen från det sist exekverade kommandot."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Exekvera kommandon så länge ett test inte lyckas.\n"
 "    \n"
-"    Expandera och exekvera KOMMANDON så länge det sista kommandot i\n"
-"    ”until”-KOMMANDONa har en slutstatus som inte är noll.\n"
+"    Expandera och exekvera KOMMANDON-2 så länge det sista kommandot i\n"
+"    KOMMANDON har en slutstatus som inte är noll.\n"
 "    \n"
 "    Slutstatus:\n"
 "    Returnerar statusen från det sist exekverade kommandot."
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4916,7 +4934,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Kommandot coproc returnerar slutstatusen 0."
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4938,7 +4956,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte NAMN endast är läsbart."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4956,7 +4974,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar statusen från det sist exekverade kommandot."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4980,7 +4998,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar statusen på det återupptagna jobbet."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4998,7 +5016,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar 1 om UTTRYCK beräknas till 0, returnerar 0 annars."
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5045,7 +5063,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    0 eller 1 beroende på värdet av UTTRYCK."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5150,7 +5168,7 @@ msgstr ""
 "    HISTIGNORE\tEn kolonseparerad lista av mönster som används för att\n"
 "    \t\tbestämma vilka kommandon som skall sparas i historielistan.\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5208,7 +5226,7 @@ msgstr ""
 "    Returnerar framgång om inte ett ogiltigt argument ges eller bytet av\n"
 "    katalog misslyckas."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5258,7 +5276,7 @@ msgstr ""
 "    Returnerar framgång om inte ett ogiltigt argument ges eller bytet av\n"
 "    katalog misslyckas."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5310,7 +5328,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte en ogiltig flagga ges eller ett fel inträffar."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5346,7 +5364,7 @@ msgstr ""
 "    Returnerar framgång om FLGNAMN är aktiverat, misslyckas om en ogiltig\n"
 "    flagga ges eller FLGNAMN är avaktiverat."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5365,6 +5383,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5394,6 +5414,8 @@ msgstr ""
 "      %b\texpandera bakstrecksstyrsekvenser i motsvarande argument\n"
 "      %q\tcitera argumentet på ett sätt som kan återanvändas som\n"
 "    \t\tindata till ett skal\n"
+"      %Q\tsom %q, men tillämpa eventuell precision på det ociterade\n"
+"    \t\tciterande\n"
 "      %(fmt)T   skriv ut datum-/tidsträngen som blir resultatet av att\n"
 "                använda FMT som en formatsträng till strftime(3)\n"
 "    \n"
@@ -5406,7 +5428,7 @@ msgstr ""
 "    Returnerar framgång om inte en ogiltig flagga ges eller ett skriv-\n"
 "    eller tilldelningsfel inträffar."
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5455,7 +5477,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte en ogiltig flagga ges eller ett fel inträffar."
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5475,7 +5497,7 @@ msgstr ""
 "    Slutstatus:\n"
 "    Returnerar framgång om inte en ogiltig flagga ges eller ett fel inträffar."
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5530,7 +5552,7 @@ msgstr ""
 "    Returnerar framgång om inte en ogiltig flagga ges eller NAMN inte har\n"
 "    någon kompletteringsspecifikation definierad."
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5596,7 +5618,7 @@ msgstr ""
 "    Returnerar framgång om inte en ogiltig flagga ges eller VEKTOR är\n"
 "    oföränderlig eller inte en indexerad vektor."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
index e7db7cc74e4330de9d75c5f1b2240f5d14655c0f..eda38affa5962775d49e625d931a7c143defe39b 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 318d7cd4da5cb4a02fcac08f122c898a7546f83f..0c3568d0784974697bf03a70fdd16455ae85c25d 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -4,13 +4,13 @@
 #
 # Myhailo Danylenko <isbear@ukrpost.net>, 2009.
 # Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2010.
-# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2022.
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2020-12-07 21:17+0200\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-17 19:34+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
 "Language: uk\n"
@@ -19,64 +19,59 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Lokalize 20.11.70\n"
+"X-Generator: Lokalize 20.12.0\n"
 
 #: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "неправильний індекс масиву"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: вилучаємо атрибут nameref"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: неможливо перетворити індексований масив на асоціативний"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: неправильний ключ асоціативного масиву"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: означення нечислових елементів неможливе"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: при означенні асоціативних масивів слід вказувати ключ"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: не вдалося створити: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: не вдалося знайти відповідне призначення для команди"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: перший непробільний символ не є «\"»"
 
 # c-format
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "нема заключної «%c» у %s"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: пропущено двокрапку-роздільник"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "«%s»: не вдалося зняти призначення у мапі ключів команди"
@@ -96,7 +91,7 @@ msgstr "розкриття дужок: не вдалося отримати об
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "розкриття дужок: не вдалося отримати об’єм пам’яті для «%s»"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "«%s»: некоректна назва замінника"
@@ -167,7 +162,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "змінну HOME не встановлено"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "забагато аргументів"
 
@@ -194,7 +189,7 @@ msgstr "попередження: "
 msgid "%s: usage: "
 msgstr "%s: використовуйте: "
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: параметр потребує аргументу"
@@ -209,7 +204,7 @@ msgstr "%s: потрібен числовий аргумент"
 msgid "%s: not found"
 msgstr "%s: не знайдено"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: неправильний параметр"
@@ -219,7 +214,7 @@ msgstr "%s: неправильний параметр"
 msgid "%s: invalid option name"
 msgstr "%s: некоректна назва параметра"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "«%s»: неправильний ідентифікатор"
@@ -232,7 +227,7 @@ msgstr "неправильне вісімкове число"
 msgid "invalid hex number"
 msgstr "неправильне шістнадцяткове число"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "неправильне число"
 
@@ -246,88 +241,93 @@ msgstr "%s: сигнал вказано з помилками"
 msgid "`%s': not a pid or valid job spec"
 msgstr "«%s»: не є ідентифікатором процесу чи завдання"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: змінна призначена лише для читання"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: не вдалося встановити значення"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s виходить за встановлені межі"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "аргумент"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s виходить за встановлені межі"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: нема такого завдання"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: керування завданнями не ввімкнене"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "керування завданнями не ввімкнене"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: заборонено обмеженнями"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "заборонено обмеженнями"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: не є вбудованою командою оболонки"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "помилка запису: %s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "помилка встановлення параметрів термінала: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "помилка отримання параметрів термінала: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: помилка отримання поточного каталогу: %s: %s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: завдання вказано неоднозначно"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "у цій версії не можна скористатися довідкою"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: не вдалося знищити: %s лише для читання"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: не вдалося знищити"
@@ -337,108 +337,108 @@ msgstr "%s: не вдалося знищити"
 msgid "%s: invalid action name"
 msgstr "%s: неправильна назва дії"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: не вказано специфікація завершення"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "попередження: можливо параметр -F працює не так, як ви очікуєте"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "попередження: можливо параметр -C працює не так, як ви очікуєте"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "наразі функція завершення рядку не виконується"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "може використовуватися лише усередині функції"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "`-f' не використовується для створення функцій"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: незмінна функція"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: еталонна змінна не може бути масивом"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: не можна використовувати циклічне посилання у змінній посилання"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: циклічне посилання за назвою"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "«%s»: некоректна назва змінної для посилання за назвою"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "`-f' не використовується для створення функцій"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: незмінна функція"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: встановлення значень для складеного масиву у лапках вважається застарілим"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: неможливо знищити масив таким чином"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: неможливо перетворити асоціативний масив на індексований"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: встановлення значень для складеного масиву у лапках вважається застарілим"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "динамічне завантаження недоступне"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "не вдалося відкрити колективний об’єкт %s: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "не вдалося знайти %s у колективному об’єкті %s: %s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: динамічне вбудовування вже завантажено"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "функцією завантаження для %s повернуто повідомлення щодо помилки (%d): не завантажено"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: завантажений не динамічно"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: не вдалося вилучити: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: це каталог"
@@ -453,7 +453,7 @@ msgstr "%s: не є звичайним файлом"
 msgid "%s: file is too large"
 msgstr "%s: файл завеликий"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: не вдалося виконати бінарний файл"
@@ -549,12 +549,12 @@ msgstr ""
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr "«%s» не відповідає жодний розділ довідки. Спробуйте `help help' чи `man -k %s' або `info %s'."
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: не вдалося відкрити: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -574,21 +574,21 @@ msgstr ""
 "Зірочка (*) поряд з назвою команди означає, що команда заборонена.\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "-anrw можуть зустрічатися лише один раз"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "позиція у журналу команд"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: некоректна часова позначка"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: невдалий пошук по журналу команд"
@@ -611,78 +611,78 @@ msgstr "%s: аргументи мають бути ідентифікатора
 msgid "Unknown error"
 msgstr "Невідома помилка"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "очікувався вираз"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: не є індексованим масивом"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: неправильно вказаний дескриптор файла"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: неправильний дескриптор файла: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: неправильна кількість рядків"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: неправильний початковий індекс"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: неправильний крок виклику функції"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "порожня назва змінної-масиву"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "змінні-масиви не підтримуються"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "«%s»: пропущено символ у шаблоні"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "«%c»: помилкове визначення формату часу"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "«%c»: помилковий символ у шаблоні"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "попередження: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "проблема з обробкою форматування: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "пропущено шістнадцяткову цифру у \\x"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "пропущено цифру Unicode у \\%c"
@@ -833,12 +833,12 @@ msgstr ""
 "    \n"
 "    Вбудована команда `dirs' показує стек каталогів."
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: некоректне визначення часу очікування"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "помилка читання: %d: %s"
@@ -851,7 +851,7 @@ msgstr "`return' працює лише у функції чи скрипті, з
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "не можна одночасно знищити і функцію і змінну"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: не є масивом"
@@ -870,11 +870,11 @@ msgstr "%s: не вдалося експортувати"
 msgid "shift count"
 msgstr "кількість зсувів"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "не можна одночасно встановлювати й скасовувати параметри оболонки"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: неправильна назва параметра оболонки"
@@ -943,16 +943,16 @@ msgstr "%s: помилковий аргумент обмеження"
 msgid "`%c': bad command"
 msgstr "«%c»: неправильна команда"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: не вдалося отримати значення обмеження: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "значення обмеження"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: не вдалося змінити обмеження: %s"
@@ -971,7 +971,7 @@ msgstr "«%c»: помилковий оператор у символьному
 msgid "`%c': invalid symbolic mode character"
 msgstr "«%c»: помилковий символ у символьному режимі"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " рядок "
 
@@ -991,96 +991,106 @@ msgstr "Припинення..."
 msgid "INFORM: "
 msgstr "ІНФОРМАЦІЯ: "
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "Діагностичне попередження: "
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "невідома помилка команди"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "неправильний тип команди"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "неправильний з’єднувальний оператор"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "неправильний перехід"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: неозначена змінна"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\aчас очікування вводу вичерпано: автоматичний вихід\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "не вдалося переспрямувати /dev/null на стандартний ввід: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: «%c»: помилковий символ шаблону"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: coproc [%d:%s] все ще існує"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "помилка каналу"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: перевищено максимальний рівень вкладеності eval (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: перевищено максимальний рівень вкладеності джерела (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: перевищено максимальний рівень вкладеності функцій (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: обмеження: не можна вказувати `/' у назві команди"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: команду не знайдено"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: не вдалося виконати: не знайдено потрібного файла"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: неправильний інтерпретатор"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: не вдалося виконати бінарний файл: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "%s є спеціальною вбудованою командою оболонки"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "не вдалося створити копію файлового дескриптору %d у %d"
@@ -1093,68 +1103,68 @@ msgstr "рівень вкладення виразів перевищено"
 msgid "recursion stack underflow"
 msgstr "нестача стеку рекурсії"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "синтаксична помилка у виразі"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "спроба призначення не-змінної"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "синтаксична помилка при спробі надати змінній значення"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "ділення на 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "вада: неправильна лексема у виразі"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "очікувалася `:' умовного виразу"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "експонента менша за 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "пре-інкремент чи пре-декремент потребують ідентифікатор"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "відсутня `)'"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "синтаксична помилка: очікувався операнд"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "синтаксична помилка: помилковий арифметичний оператор"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (позначка помилки \"%s\")"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "некоректна арифметична основа"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "некоректна ціла стала"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "завелике значення основи"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: помилка у виразі\n"
@@ -1163,7 +1173,7 @@ msgstr "%s: помилка у виразі\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: не вдалося отримати доступ до каталогів вищого рівня"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "не вдалося перевстановити режим без затримки файлового дескриптору %d"
@@ -1182,167 +1192,167 @@ msgstr "save_bash_input: для нового файлового дескрипт
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp pipe"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "ідентифікатор відгалуженого процесу %d знайдено у поточному завданні %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "вилучення зупиненого завдання %d, що має групу процесів %ld"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: ідентифікатор процесу %5ld (%s) вказує на його працездатність"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: ідентифікатор процесу не існує"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "Сигнал %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "Завершено"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "Зупинено"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "Зупинено(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "Працює"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "Зроблено(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "Вихід %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "Невідомий стан"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(збережено знімок оперативної пам’яті)"
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (РД: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "зміна групи дочірнього процесу (%ld на %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: процес %ld не є відгалуженим від цієї оболонки"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: Нема запису для процесу %ld"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: завдання %d зупинене"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: немає поточних завдань"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: завдання завершилося"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: завдання %d вже працює в фоні"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: увімкнути WNOHANG, щоб уникнути нескінченного блокування"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: рядок %d: "
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (збережено знімок оперативної пам’яті)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(тепер РД: %s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: помилка getpgrp"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: немає керування завданнями у тлі"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: алгоритм реалізації рядків"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "не вдалося встановити групу процесу для термінала (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "ця оболонка не може керувати завданнями"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: умова не виконується: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1351,47 +1361,47 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: потрібна умова не виконується\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "невідомий"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: зайнятий блок у списку вільних"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: аргумент є вже звільненим блоком"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: блок ще не виділено"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: виявлено перехід за нижню границю блоку; mh_nbytes не вкладається у рамки"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: виявлено перехід за нижню границю блоку; magic8 пошкоджено"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: розмір у записах на початку та в кінці блоку відрізняється"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: блок ще не виділено"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: виявлено перехід за нижню границю блоку; mh_nbytes не вкладається у рамки"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: виявлено перехід за нижню границю блоку; magic8 пошкоджено"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: розмір у записах на початку та в кінці блоку відрізняється"
 
@@ -1433,22 +1443,22 @@ msgstr "%s: неправильно вказаний мережевий шлях"
 msgid "network operations not supported"
 msgstr "мережеві операції не підтримуються"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: не вдалося змінити локаль (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: не вдалося змінити локаль (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: не вдалося змінити локаль (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: не вдалося змінити локаль (%s): %s"
@@ -1466,136 +1476,136 @@ msgstr "Нова пошта у $_"
 msgid "The mail in %s has been read\n"
 msgstr "Пошту у %s прочитано\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "синтаксична помилка: потрібен арифметичний вираз"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "синтаксична помилка: неочікувана `;'"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "синтаксична помилка: `((%s))'"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: неправильний тип інструкції %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "here-document з рядка %d закінчено кінцем файла (очікувалося «%s»)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: інструкція переспрямування `%d' поза межами"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) перевищує обмеження SIZE_MAX (%lu): рядок обрізано"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "перевищено максимальну можливу кількість here-document"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "файл скінчився раніше, ніж було знайдено відповідний «%c»"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "файл скінчився раніше, ніж було знайдено `]]'"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "синтаксична помилка в умовному виразі: неочікувана лексема «%s»"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "синтаксична помилка в умовному виразі"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "неочікувана лексема «%s», очікувалася `)'"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "очікувалася `)'"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "неочікуваний аргумент унарного умовного оператора «%s»"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "неочікуваний аргумент унарного умовного оператора"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "неочікувана лексема «%s», очікувався бінарний умовний оператор"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "очікувався бінарний умовний оператор"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "неочікуваний аргумент бінарного умовного оператора «%s»"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "неочікуваний аргумент бінарного умовного оператора"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "неочікувана лексема «%c» в умовній команді"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "неочікувана лексема «%s» в умовній команді"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "неочікувана лексема %d в умовній команді"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "синтаксична помилка коло неочікуваної лексеми «%s»"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "синтаксична помилка коло «%s»"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "синтаксична помилка: раптово скінчився файл"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "синтаксична помилка"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "Використовуйте \"%s\", щоб вийти з оболонки.\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "файл скінчився, перш ніж було знайдено відповідну `)'"
 
@@ -1633,94 +1643,94 @@ msgstr "xtrace_set: нульовий вказівник на файл"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "дескриптор файла xtrace (%d) не дорівнює номеру файла у вказівнику xtrace (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: «%c»: неправильний символ шаблону"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "дескриптор файла поза можливими межами"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: неоднозначне переспрямування"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: заборонено перезаписувати наявні файли"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: обмеження: переспрямування виводу заборонене"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "не вдалося створити тимчасовий файл для here-document: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: не вдалося надати змінній значення дескриптора файла"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "/dev/(tcp|udp)/host/port не підтримується"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "помилка переспрямування: не вдалося створити копію дескриптора файла"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "не вдалося знайти /tmp, будь ласка створіть його!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp має бути чинною назвою каталогу"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "режим форматованого виведення даних у інтерактивних оболонках буде проігноровано"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: помилковий параметр"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "не вдалося встановити uid %d: ефективним є uid %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "не вдалося встановити gid %d: ефективним є gid %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "не вдалося запустити засіб діагностики: режим діагностування вимкнено"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: це каталог"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "У мене нема назви!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, версія %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1729,317 +1739,317 @@ msgstr ""
 "Використовуйте:\t%s [довгий параметр GNU] [параметр] ...\n"
 "\t%s [довгий параметр GNU] [параметр] файл_сценарію ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "Довгі параметри GNU:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Параметри оболонки:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD чи -c команда чи -O параметр_shopt\t\t(тільки на початку)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s чи -o параметр\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "Введіть `%s -c \"help set\"', щоб отримати більше інформації про параметри оболонки.\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "Введіть `%s -c help', щоб отримати більше інформації про вбудовані команди оболонки.\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "Щоб повідомити про помилку в програмі, використовуйте команду `bashbug'.\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "Домашня сторінка bash: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "Загальна довідкова інформація щодо використання програмного забезпечення GNU: <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: некоректна операція"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "Ненаявний сигнал"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "Зависання"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "Переривання"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "Вихід"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "Помилкова інструкція"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "Точка зупину trace/trap"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "Інструкція ABORT"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "Інструкція EMT"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "Помилка обчислень з рухомою комою"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "Вбитий"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "Помилка шини"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "Помилка адресування"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "Помилковий системний виклик"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "Зламаний канал"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "Таймер"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "Припинено"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "Невідкладні події В/В"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "Зупинено (сигнал)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "Продовження"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "Зупинка чи припинення дочірнього процесу"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "Зупинено (ввід з термінала)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "Зупинено (вивід на термінал)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "В/В готовий"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "Обмеження часу CPU"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "Обмеження розміру файла"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "Таймер (віртуальний)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "Таймер (профілювання)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "Зміна вікна"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "Блокування втрачено"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "Сигнал користувача 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "Сигнал користувача 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "Вхідні дані HFT очікують"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "наближається втрата живлення"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "наближається аварійна ситуація"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "перенесення процесу на інший CPU"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "помилка програмування"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "Режим монітору HFT надано"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "Режим монітору HFT відкликано"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "Завершено звукову послідовність HFT"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "Інформаційний запит"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "Невідомий сигнал №%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "неправильна заміна: немає заключної «%s» у %s"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: неможливо означити елемент масиву списком"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "не вдалося створити канал для підставляння процесу"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "не вдалося створити дочірній процес для підставляння процесу"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "не вдалося відкрити іменований канал %s для читання"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "не вдалося відкрити іменований канал %s для запису"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "не вдалося здублювати іменований канал %s як fd %d"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "заміна команди: проігноровано порожній байт у вхідних даних"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "не вдалося створити канал для підставляння команди"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "не вдалося створити дочірній процес для підставляння команди"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: не вдалося створити копію каналу із файловим дескриптором 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: некоректна назва змінної для посилання за назвою"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: некоректне непряме розгортання"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: некоректна назва змінної"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: параметр не встановлено"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: параметр нульової довжини чи не вказаний"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: підрядок коротший за 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: неправильна заміна"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: не можна призначити таким чином"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "у наступних версіях оболонки буде виконуватися обчислення для заміни арифметичних виразів"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "неправильна заміна: немає заключної \"`\" у %s"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "нема відповідника: %s"
@@ -2062,21 +2072,21 @@ msgstr "очікувалася `)'"
 msgid "`)' expected, found %s"
 msgstr "очікувалася `)', отримано %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: очікувався бінарний оператор"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: очікувався унарний оператор"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "відсутня `]'"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "синтаксична помилка: неочікуване `%s'"
@@ -2085,99 +2095,104 @@ msgstr "синтаксична помилка: неочікуване `%s'"
 msgid "invalid signal number"
 msgstr "неправильний номер сигналу"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "обробник пасток: досягнуто максимального рівня для обробника пасток (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: неправильне значення у trap_list[%d]: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: обробник сигналу є SIG_DFL, %d (%s) повторно надсилається собі"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: неправильний сигнал %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "помилка імпортування означення функції «%s»"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "рівень оболонки (%d) занадто високий, перевстановлено у 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: немає контексту функції у поточній області"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: змінною не може бути значення, яке приймають інші змінні"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: неможливо успадкувати значення несумісного типу"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: присвоєння цілого числа посиланню з назвою"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: немає контексту функції у поточній області"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s має нульове значення рядка експортування"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "Помилковий символ %d у рядку експорту для %s"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "немає `=' у рядку експорту для %s"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: перший елемент shell_variables не є контекстом функції"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: немає контексту global_variables"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: перший елемент shell_variables не є тимчасовим оточенням виконання"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: не вдалося відкрити ФАЙЛ"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: некоректне значення дескриптора файла трасування"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: значення сумісності не належить припустимому діапазону значень"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "© Free Software Foundation, Inc., 2020"
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "© Free Software Foundation, Inc., 2022"
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2257,12 +2272,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] команда [аргумент ...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [назва[=значення] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [назва[=значення] ...] або declare -p [-aAfFilnrtux] [назва ...]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] назва[=значення] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] назва[=значення] ... або typeset -p [-aAfFilnrtux] [назва ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2349,8 +2364,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o назва-параметра] [--] [аргумент ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o назва-параметра] [--] [-] [аргумент ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2397,8 +2412,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] назва [назва ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [обмеження]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [обмеження]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2437,12 +2452,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if КОМАНДИ; then КОМАНДИ; [ elif КОМАНДИ; then КОМАНДИ; ]... [ else КОМАНДИ; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while КОМАНДИ; do КОМАНДИ; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while КОМАНДИ; do КОМАНДИ-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until КОМАНДИ; do КОМАНДИ; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until КОМАНДИ; do КОМАНДИ-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3764,7 +3779,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3807,6 +3823,8 @@ msgstr ""
 "    призначується першій НАЗВІ, друге слово — другій НАЗВІ тощо, якщо\n"
 "    залишаться непризначені слова, їх буде призначено останній НАЗВІ. Як\n"
 "    роздільники полів розпізнаються символи, вказані у змінній $IFS.\n"
+"    Типово, символ зворотної похилої риски екранує символи роздільника\n"
+"    та розриву рядка.\n"
 "    \n"
 "    Якщо НАЗВ не вказано, рядок цілком буде збережено у змінній REPLY.\n"
 "    \n"
@@ -3841,7 +3859,7 @@ msgstr ""
 "    очікування (значення, більше за 128), якщо сталася помилка під час\n"
 "    встановлення значення змінної, або якщо із -u вказано неправильний файловий дескриптор."
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3861,7 +3879,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда повертає N, або помилку, якщо викликана не у функції чи сценарії."
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -4028,7 +4046,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується успішно, якщо вказані правильні параметри."
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -4066,7 +4084,7 @@ msgstr ""
 "    Команда завершується невдало, якщо вказано неправильний параметр чи НАЗВА\n"
 "    доступна лише для читання."
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4098,7 +4116,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується успішно, якщо вказано правильні параметри та НАЗВИ."
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4136,7 +4154,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується успішно, якщо вказано правильні параметри та НАЗВИ."
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4154,7 +4172,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується невдало, якщо N менше за нуль чи більше за $#."
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4177,7 +4195,7 @@ msgstr ""
 "    Команда повертає код завершення останньої команди, виконаної у ФАЙЛІ, або\n"
 "    помилку, якщо ФАЙЛ не вдалося прочитати."
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4202,7 +4220,7 @@ msgstr ""
 "    Команда завершується невдало, якщо не ввімкнене керування завданнями чи\n"
 "    якщо трапиться помилка."
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4358,7 +4376,7 @@ msgstr ""
 "    Команда завершується успішно, якщо ВИРАЗ істинний; невдало, якщо вказано\n"
 "    помилковий аргумент чи ВИРАЗ хибний."
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4370,7 +4388,7 @@ msgstr ""
 "    Це синонім до вбудованої команди \"test\", але на відміну від неї останнім\n"
 "    аргументом має бути `]'."
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4388,7 +4406,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завжди успішна."
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4451,7 +4469,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується успішно, якщо вказані правильні параметри та СИГНАЛИ."
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4501,7 +4519,7 @@ msgstr ""
 "    Команда завершується успішно, якщо буде знайдено усі НАЗВИ; невдало, якщо\n"
 "    хоч одне з них не вдасться знайти."
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4597,7 +4615,7 @@ msgstr ""
 "    Команда завершується невдало, якщо вказано неправильний параметр чи\n"
 "    трапилася помилка під час виконання."
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4630,7 +4648,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується успішно, якщо вказано правильну МАСКУ та параметри."
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4683,7 +4701,7 @@ msgstr ""
 "    неправильні параметри чи ІДЕНТИФІКАТОР або якщо вказано -n і оболонка не\n"
 "    має неочікуваних дочірніх процесів."
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4706,7 +4724,7 @@ msgstr ""
 "    Команда повертає код завершення процесу з останнім вказаним ідентифікатором.\n"
 "    Повертає код помилки, якщо вказано неправильний ІДЕНТИФІКАТОР чи параметр."
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4727,7 +4745,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда повертає код завершення останньої виконаної команди."
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4757,7 +4775,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда повертає код завершення останньої виконаної команди."
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4792,7 +4810,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда повертає код завершення останньої виконаної команди."
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4820,7 +4838,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда повертає код завершення ЛАНЦЮЖКА-КОМАНД."
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4838,7 +4856,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда повертає код завершення останньої виконаної команди."
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4865,44 +4883,44 @@ msgstr ""
 "    Команда повертає код завершення останньої виконаної команди або нуль,\n"
 "    якщо жодна з перевірених умов не була істинною."
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Циклічно виконує команди поки виконується умова.\n"
 "    \n"
-"    Виконуватиме КОМАНДИ, поки остання команда з КОМАНД у `while'\n"
+"    Виконуватиме КОМАНДИ-2, поки остання команда з КОМАНД\n"
 "    не завершиться невдало.\n"
 "    \n"
 "    Код завершення:\n"
 "    Команда повертає код завершення останньої виконаної команди."
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "Виконує команди доки умову не буде виконано.\n"
 "    \n"
-"    Виконуватиме КОМАНДИ, поки остання команда з КОМАНД у `until'\n"
+"    Виконуватиме КОМАНДИ-2, поки остання команда з КОМАНД\n"
 "    не завершиться успішно.\n"
 "    \n"
 "    Код завершення:\n"
 "    Команда повертає код завершення останньої виконаної команди."
 
 # WTF? How can it return exit code of _asynchronous_ process...
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4924,7 +4942,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда coproc повертає стан виходу 0."
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4946,7 +4964,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується невдало, якщо НАЗВА є незмінною."
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4964,7 +4982,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Конструкція повертає код завершення останньої виконаної команди."
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4987,7 +5005,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда повертає статус продовженого завдання."
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5005,7 +5023,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується успішно, якщо результат обчислення ненульовий."
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -5051,7 +5069,7 @@ msgstr ""
 "    Код завершення:\n"
 "    Команда завершується успішно, якщо ВИРАЗ істинний."
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5153,7 +5171,7 @@ msgstr ""
 "    HISTIGNORE\tРозділений двокрапкою список шаблонів, що використовуються\n"
 "    \t\tпри визначенні, чи зберігати команду у списку журналу.\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5211,7 +5229,7 @@ msgstr ""
 "    Команда завершується невдало, якщо вказаний неправильний аргумент чи\n"
 "    якщо не вдалося змінити поточну каталог."
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5262,7 +5280,7 @@ msgstr ""
 "    Команда завершується невдало, якщо вказано помилковий аргумент чи якщо\n"
 "    не вдалося змінити поточний каталог."
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5314,7 +5332,7 @@ msgstr ""
 "    Команда завершується невдало, якщо вказано неправильний параметр чи якщо\n"
 "    трапиться помилка."
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5350,7 +5368,7 @@ msgstr ""
 "    Команда завершується успішно, якщо ПАРАМЕТР ввімкнено; невдало, якщо\n"
 "    вказано неправильні параметри чи ПАРАМЕТР вимкнено."
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5369,6 +5387,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5400,18 +5420,21 @@ msgstr ""
 "    \t\tзворотної похилої риски) у відповідному аргументі.\n"
 "      %q\tВзяти аргумент в лапки так, щоб його можна було використати як\n"
 "    \t\tввід оболонки\n"
+"      %Q\tподібна до %q, але буде застосовано довільну точність до аргументу\n"
+"    \t\tбез лапок до застосування лапок\n"
 "       %(формат)T – вивести рядок дати і часу з використанням ФОРМАТУ\n"
 "            для форматування даних strftime(3)\n"
 "    \n"
 "    Визначене форматування використовується так, щоб було оброблено усі аргументи.\n"
 "    Якщо аргументів виявиться менше за кількість визначених форматів, для зайвих\n"
-"    специфікаторів форматів буде використано нульові значення або порожні рядки,     залежно від типу форматування.\n"
+"    специфікаторів форматів буде використано нульові значення або порожні рядки,\n"
+"    залежно від типу форматування.\n"
 "    \n"
 "    Код завершення:\n"
 "    Команда завершується невдало лише якщо вказано неправильний параметр або\n"
 "    якщо трапиться помилка запису чи присвоєння."
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5463,7 +5486,7 @@ msgstr ""
 "    Команда завершується успішно, якщо вказано правильні параметри та не\n"
 "    трапиться помилки під час виконання."
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5484,7 +5507,7 @@ msgstr ""
 "    Команда завершується успішно, якщо вказано правильні параметри і не\n"
 "    трапиться помилки під час виконання."
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5539,7 +5562,7 @@ msgstr ""
 "    Команда завершується успішно, якщо вказано правильні параметри та\n"
 "    вказівки завершень для НАЗВ існують."
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5610,7 +5633,7 @@ msgstr ""
 "    Команда завершується невдало лише якщо вказано неправильний параметр або\n"
 "    якщо МАСИВ є незмінним."
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5620,6 +5643,9 @@ msgstr ""
 "    \n"
 "    Синонім до `mapfile'."
 
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: неправильний ключ асоціативного масиву"
+
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
index 35e1320acabf2dd4abce47baa6c40a64d70c459b..e3171aefc5079f3bf9c1c4030a40f2366f195a21 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index d3b9634ccc37d7a4866e3c53bd5eb330f22ffc74..1869a358df0c33857b300eebab72aff7fb888055 100644 (file)
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2022-03-22 16:23+0800\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-18 14:25+0800\n"
 "Last-Translator: Wenbin Lv <wenbin816@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -35,65 +35,60 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.1\n"
 
 #: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "数组下标不正确"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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: 正在移除名称引用属性"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: 无法将索引数组转换为关联数组"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: 无效的关联数组键"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: 无法为非数值的索引赋值"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: 为关联数组赋值时必须使用下标"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: 无法创建:%s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: 无法找到命令的键映射"
 
 # 为了可读性,不改动外层引号
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: 第一个非空白字符不是 `\"'"
 
 # %c == ' 或 ",为了可读性,不改动外层引号
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "%2$s 中没有右 `%1$c'"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: 缺少冒号分隔符"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "\"%s\": 无法解除绑定命令键映射"
@@ -113,7 +108,7 @@ msgstr "大括号展开:为 %u 个元素分配内存失败"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "大括号展开:为 \"%s\"分配内存失败"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "\"%s\": 无效的别名"
@@ -184,7 +179,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "HOME 未设定"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "参数太多"
 
@@ -211,7 +206,7 @@ msgstr "警告:"
 msgid "%s: usage: "
 msgstr "%s: 用法:"
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: 选项需要一个参数"
@@ -226,7 +221,7 @@ msgstr "%s: 需要数值参数"
 msgid "%s: not found"
 msgstr "%s: 未找到"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: 无效的选项"
@@ -236,7 +231,7 @@ msgstr "%s: 无效的选项"
 msgid "%s: invalid option name"
 msgstr "%s: 无效的选项名"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "\"%s\": 不是有效的标识符"
@@ -249,7 +244,7 @@ msgstr "无效的八进制数"
 msgid "invalid hex number"
 msgstr "无效的十六进制数"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "无效的数字"
 
@@ -263,88 +258,93 @@ msgstr "%s: 无效的信号说明符"
 msgid "`%s': not a pid or valid job spec"
 msgstr "\"%s\": 不是一个 pid 或有效的任务说明符"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: 只读变量"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s: 无法赋值"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s超出范围"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "参数"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s超出范围"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: 无此任务"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: 无任务控制"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "无任务控制"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: 受限"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "受限"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: 不是 shell 内建"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "写入错误:%s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "设定终端属性时出错:%s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "获取终端属性时出错:%s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: 获取当前目录时出错:%s:%s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: 有歧义的任务说明符"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "帮助在当前版本中不可用"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: 无法取消设定:只读%s"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: 无法取消设定"
@@ -354,108 +354,108 @@ msgstr "%s: 无法取消设定"
 msgid "%s: invalid action name"
 msgstr "%s: 无效的动作名"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: 没有补全规约"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "警告:-F 选项可能不像您预期的那样工作"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "警告:-C 选项可能不像您预期的那样工作"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "当前未在执行补全函数"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "只能在函数中使用"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "无法用 \"-f\" 生成函数"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: 只读函数"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: 引用变量不能为数组"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: 不允许名称引用变量引用自身"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: 循环的名称引用"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "\"%s\": 名称引用变量引用的变量名无效"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "无法用 \"-f\" 生成函数"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: 只读函数"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s: 带引号的复合数组赋值已被弃用"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: 无法以这种方式销毁数组变量"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: 无法将关联数组转换为索引数组"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s: 带引号的复合数组赋值已被弃用"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "动态加载不可用"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "无法打开共享目标 %s:%s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "无法在共享目标 %2$s 中找到 %1$s:%3$s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: 动态内建已经加载"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "%s 的加载函数返回失败 (%d):未加载"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: 未动态加载"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: 无法删除:%s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: 是一个目录"
@@ -470,7 +470,7 @@ msgstr "%s: 不是普通文件"
 msgid "%s: file is too large"
 msgstr "%s: 文件太大"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: 无法执行二进制文件"
@@ -564,12 +564,12 @@ msgstr ""
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr "没有与 \"%s\" 匹配的帮助主题。尝试使用 \"help help\" 或 \"man -k %s\" 或 \"info %s\"。"
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: 无法打开:%s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -588,21 +588,21 @@ msgstr ""
 "名称旁边的星号 (*) 表示该命令被禁用。\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "最多只能使用 -anrw 选项中的一个"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "历史位置"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: 无效的时间戳"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: 历史展开失败"
@@ -625,78 +625,78 @@ msgstr "%s: 参数必须是进程或任务 ID"
 msgid "Unknown error"
 msgstr "未知错误"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "需要表达式"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: 不是一个索引数组"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: 指定的文件描述符无效"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: 无效的文件描述符:%s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: 无效的行数"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: 无效的数组起始"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: 无效的回调间隔"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "空的数组变量名"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "需要数组变量支持"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "\"%s\": 缺少格式字符"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "\"%c\": 指定的时间格式无效"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "\"%c\": 无效的格式字符"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "警告:%s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "格式解析出现问题:%s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "使用了 \\x 但缺少十六进制数"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "使用了 \\%c 但缺少 unicode 数"
@@ -836,12 +836,12 @@ msgstr ""
 "    \n"
 "    \"dirs\" 内建可以显示目录栈。"
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: 指定的超时时间无效"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "读取错误:%d: %s"
@@ -854,7 +854,7 @@ msgstr "只能在函数或者被 source 的脚本中使用 \"return\""
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "无法同时取消设定一个函数和一个变量"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: 不是数组变量"
@@ -873,11 +873,11 @@ msgstr "%s: 无法导出"
 msgid "shift count"
 msgstr "移位次数"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "无法同时设定和取消设定 shell 选项"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: 无效的 shell 选项名"
@@ -944,16 +944,16 @@ msgstr "%s: 无效的限制参数"
 msgid "`%c': bad command"
 msgstr "\"%c\": 错误的命令"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: 无法获取限制:%s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "限制"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: 无法修改限制:%s"
@@ -972,7 +972,7 @@ msgstr "\"%c\": 无效的符号模式运算符"
 msgid "`%c': invalid symbolic mode character"
 msgstr "\"%c\": 无效的符号模式字符"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " 行 "
 
@@ -992,96 +992,106 @@ msgstr "正在中止..."
 msgid "INFORM: "
 msgstr "信息:"
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "调试警告:"
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "未知的命令错误"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "错误的命令类型"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "错误的条件连接符"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "错误的跳转"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: 未绑定的变量"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\a等待输入超时:自动注销\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "无法从 /dev/null 重定向标准输入:%s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "时间格式:\"%c\": 无效的格式字符"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc: 副进程 [%d:%s] 仍然存在"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "管道错误"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: 超出最大 eval 嵌套层数 (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: 超出最大 source 嵌套层数 (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: 超出最大函数嵌套层数 (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: 受限:无法在命令名中使用 \"/\""
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: 未找到命令"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s: 无法执行:找不到需要的文件"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: 错误的解释器"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: 无法执行二进制文件:%s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "\"%s\": 是特殊内建"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "无法复制文件描述符 %d 到文件描述符 %d"
@@ -1094,68 +1104,68 @@ msgstr "超出表达式递归层数上限"
 msgid "recursion stack underflow"
 msgstr "递归栈下溢"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "表达式中有语法错误"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "尝试给非变量赋值"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "变量赋值中有语法错误"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "除以 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "bug: 错误的表达式赋值记号"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "条件表达式需要 \":\""
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "指数小于 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "前缀自增或前缀自减运算符之后需要标识符"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "缺少 \")\""
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "语法错误:需要操作数"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "语法错误:无效的算术运算符"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s(错误记号是 \"%s\")"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "无效的算术底数"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "无效的整数常数"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "值对于底数而言过大"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: 表达式错误\n"
@@ -1164,7 +1174,7 @@ msgstr "%s: 表达式错误\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: 无法访问父目录"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "无法为文件描述符 %d 重置 nodelay 模式"
@@ -1183,167 +1193,167 @@ msgstr "save_bash_input: 新的文件描述符 %d 的缓冲区已存在"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: 进程组管道"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "进程复制 (fork) 产生的 pid %d 出现在运行中的任务 %d 中"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "删除进程组 %2$ld 中已停止的任务 %1$d"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: pid %5ld (%s) 标记为仍存活"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: 无此 pid"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "信号 %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "已完成"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "已停止"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "已停止(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "运行中"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "已完成(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "退出 %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "未知状态"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(核心已转储)"
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr " (工作目录:%s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "子进程 setpgid(%ld 到 %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld 不是当前 shell 的子进程"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: 没有进程 %ld 的记录"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: 任务 %d 已停止"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: 无当前任务"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: 任务已经终止"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: 任务 %d 已在后台"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: 打开 WNOHANG 以避免无限阻塞"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: 第 %d 行:"
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr "(核心已转储)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(当前工作目录:%s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp 失败"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control: 后台无任务控制"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: 行规则"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "无法设定终端进程组 (%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "此 shell 中无任务控制"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: 断言失败:%s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1352,47 +1362,47 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: 断言已搞砸\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "未知"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: 空闲列表中的块损坏"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: 调用时用了已经释放的块作为参数"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: 调用时用了未分配的块作为参数"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: 检测到下溢;mh_nbytes 超出范围"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: 检测到下溢;magic8 损坏"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: 起始和末尾组块大小不一致"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: 调用时用了未分配的块作为参数"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: 检测到下溢;mh_nbytes 超出范围"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: 检测到下溢;magic8 损坏"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: 起始和末尾组块大小不一致"
 
@@ -1434,22 +1444,22 @@ msgstr "%s: 指定的网络路径无效"
 msgid "network operations not supported"
 msgstr "不支持网络操作"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: 无法改变区域设置 (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: 无法改变区域设置 (%s):%s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: 无法改变区域设置 (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: 无法改变区域设置 (%s):%s"
@@ -1467,137 +1477,137 @@ msgstr "您在 $_ 中有新邮件"
 msgid "The mail in %s has been read\n"
 msgstr "%s 中的邮件已被读过\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "语法错误:需要算术表达式"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "语法错误:未预期的 \";\""
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "语法错误:\"((%s))\""
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: 错误的指令类型 %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "立即文档在第 %d 行被文件结束符分隔(需要 \"%s\")"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: 重定向指令 \"%d\" 超出范围"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) 超过 SIZE_MAX (%lu):行已被截断"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "超出最大立即文档计数"
 
 # %c 可能为引号
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "寻找匹配的 `%c' 时遇到了未预期的 EOF"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "寻找 \"]]\" 时遇到了未预期的 EOF"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "条件表达式中有语法错误:未预期的记号 \"%s\""
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "条件表达式中有语法错误"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "未预期的记号 \"%s\",需要 \")\""
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "需要 \")\""
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "一元条件运算符使用了未预期的参数 \"%s\""
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "一元条件运算符使用了未预期的参数"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "未预期的记号 \"%s\",需要二元条件运算符"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "需要二元条件运算符"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "二元条件运算符使用了未预期的参数 \"%s\""
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "二元条件运算符使用了未预期的参数"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "条件命令中有未预期的记号 \"%c\""
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "条件命令中有未预期的记号 \"%s\""
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "条件命令中有未预期的记号 %d"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "未预期的记号 \"%s\" 附近有语法错误"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "\"%s\" 附近有语法错误"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "语法错误:未预期的文件结束符"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "语法错误"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "使用 \"%s\" 退出 shell 。\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "寻找匹配的 \")\" 时遇到了未预期的 EOF"
 
@@ -1635,95 +1645,95 @@ msgstr "xtrace_set: 文件指针为 NULL"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: \"%c\": 无效的格式字符"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "文件描述符超出范围"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: 有歧义的重定向"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: 无法覆盖已存在的文件"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: 受限:无法重定向输出"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "无法为立即文档创建临时文件:%s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: 无法将文件描述符赋值给变量"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "没有网络时不支持 /dev/(tcp|udp)/host/port"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "重定向错误:无法复制文件描述符"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "无法找到 /tmp,请创建!"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp 必须为有效的目录名"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "在交互式 shell 中将忽略美化输出模式"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: 无效的选项"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "无法将 uid 设为 %d:有效 uid %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "无法将 gid 设为 %d:有效 gid %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "无法启动调试器;调试模式已禁用"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: 是一个目录"
 
 # 这个是查看用户的 /etc/passwd 信息得到的名字。既然是用户的名字,就叫做无名氏吧。(有点想写“红领巾”来着。)
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "无名氏!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash,版本 %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1732,321 +1742,321 @@ msgstr ""
 "用法:\t%s [GNU 长选项] [选项] ...\n"
 "\t%s [GNU 长选项] [选项] 脚本文件 ...\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "GNU 长选项:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Shell 选项:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD 或 -c <命令> 或 -O <shopt 选项>\t\t(仅适合调用)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s 或 -o <选项>\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "请输入 `%s -c \"help set\"' 以获得关于 shell 选项的更多信息。\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "请输入 `%s -c help' 以获得关于 shell 内建命令的更多信息。\n"
 
 # 写如何报告程序错误的地方应该提到如何报告翻译问题。
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr ""
 "请使用 \"bashbug\" 命令来报告程序错误。\n"
 "请将翻译错误报告到 <i18n-zh@googlegroups.com>。\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "bash 主页:<http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "使用 GNU 软件的通用帮助:<http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: 无效的操作"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "伪信号"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "挂断"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "中断"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "退出"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "非法指令"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "断点跟踪或陷阱"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "中止指令"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "EMT 指令"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "浮点异常"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "已杀死"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "总线错误"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "段错误"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "错误的系统调用"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "断开的管道"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "闹钟"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "已终止"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "紧急 I/O 状况"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "已停止(信号)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "继续"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "子进程已死或已停止"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "已停止(tty 输入)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "已停止(tty 输出)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "I/O 就绪"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "CPU 限制"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "文件限制"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "闹钟(虚拟)"
 
 # Personally I treat this as something coming from alarm() by a profiler.
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "闹钟(性能分析)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "窗口已改变"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "记录锁"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "用户信号 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "用户信号 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "HFT 输入数据待处理"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "即将停电"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "系统即将崩溃"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "迁移进程至另一个 CPU"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "编程错误"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "已授予 HFT 监视模式"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "已撤销 HFT 监视模式"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "已完成 HFT 声音序列"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "信息请求"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "未知信号 #%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "错误的替换:在 %2$s 中没有右 `%1$s'"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: 无法将列表赋值给数组成员"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "无法为进程替换创建管道"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "无法为进程替换创建子进程"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "无法打开命名管道 %s 进行读取"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "无法打开命名管道 %s 进行写入"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "无法将命名管道 %s 作为文件描述符 %d 复制"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "命令替换:忽略输入中的 null 字节"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "无法为命令替换创建管道"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "无法为命令替换创建子进程"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: 无法将管道复制为文件描述符 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: 名称引用变量引用的变量名无效"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: 无效的间接展开"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: 无效的变量名"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: 参数未设置"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: 参数为空或未设置"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: 子串表达式 < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: 错误的替换"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: 无法这样赋值"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "未来版本的 shell 会强制求值为算术替换"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "错误的替换:在 %s 中没有右 \"`\""
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "无匹配:%s"
@@ -2069,21 +2079,21 @@ msgstr "需要 \")\""
 msgid "`)' expected, found %s"
 msgstr "需要 \")\",却找到 %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: 需要二元运算符"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: 需要一元运算符"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "缺少 \"]\""
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "语法错误:未预期的 \"%s\""
@@ -2092,99 +2102,104 @@ msgstr "语法错误:未预期的 \"%s\""
 msgid "invalid signal number"
 msgstr "无效的信号编号"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "trap handler: 超出最大的 trap handler 层数 (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: 错误的 trap_list[%d] 值:%p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: 信号处理程序是 SIG_DFL,重新发送 %d (%s) 给自己"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: 错误的信号 %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "导入 \"%s\" 的函数定义时出错"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "shell 层数 (%d) 太高,重置为 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: 当前作用域中没有函数上下文"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: 变量不可赋值"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s: 无法从不兼容的类型继承值"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: 将整数赋值给名称引用"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: 当前作用域中没有函数上下文"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s 的 exportstr 为空"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "%2$s 的 exportstr 中有无效的字符 %1$d"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "%s 的 exportstr 中没有 \"=\""
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: shell_variables 的头部不是函数上下文"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: 没有 global_variables 上下文"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: shell_variables 的头部不是临时环境作用域"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: 无法作为 FILE 打开"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: 跟踪文件描述符的值无效"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: 兼容性的值超出范围"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2020 自由软件基金会"
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 自由软件基金会"
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2264,12 +2279,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] 命令 [参数 ...]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [名称[=值] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [名称[=值] ...] 或 declare -p [-aAfFilnrtux] [名称 ...]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] 名称[=值] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] 名称[=值] ... 或 typeset -p [-aAfFilnrtux] [名称 ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2356,8 +2371,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o 选项名] [--] [参数 ...]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o 选项名] [--] [-] [参数 ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2404,8 +2419,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] 名称 [名称 ...]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [限制]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [限制]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2444,12 +2459,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if 命令; then 命令; [ elif 命令; then 命令; ]... [ else 命令; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while 命令; do 命令; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while 命令; do 命令-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until 命令; do 命令; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until 命令; do 命令-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3697,7 +3712,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3738,7 +3754,8 @@ msgstr ""
 "    从标准输入读取单独的一行,或者如果使用了 -u 选项,从文件描述符 <FD> 中\n"
 "    读取。该行会被分割成字段,如同分割词语一样,并且第一个词被赋值给第一个\n"
 "    <名称>,第二个词被赋值给第二个 <名称>,以此类推,剩下所有的词被赋值给\n"
-"    最后一个 <名称>。只有 $IFS 中的字符会被视为词语分隔符。\n"
+"    最后一个 <名称>。只有 $IFS 中的字符会被视为词语分隔符。默认情况下,\n"
+"    反斜杠字符可以转义分隔符和换行符。\n"
 "    \n"
 "    如果没有提供 <名称>,则读取的行被存放在 REPLY 变量中。\n"
 "    \n"
@@ -3766,7 +3783,7 @@ msgstr ""
 "    返回码为零,除非遇到了文件结束符、读取超时(此时返回码大于 128)、\n"
 "    发生了变量赋值错误,或者 -u 选项的参数中的文件描述符无效。"
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3785,7 +3802,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回 N,或者如果 shell 不在执行一个函数或脚本时,返回失败。"
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -3939,7 +3956,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的参数。"
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -3977,7 +3994,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者 <名称> 为只读。"
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4009,7 +4026,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者 <名称> 无效。"
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4045,7 +4062,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者 <名称> 无效。"
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4063,7 +4080,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非 N 为负数或者大于 $#。"
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4086,7 +4103,7 @@ msgstr ""
 "    返回 <文件名> 中最后一个被执行的命令的状态;如果无法读取 <文件名>,\n"
 "    则返回失败。"
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4110,7 +4127,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非没有启用任务控制,或者有错误发生。"
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4267,7 +4284,7 @@ msgstr ""
 "    如果 <表达式> 求值结果为真则返回成功;如果 <表达式> 求值结果为假,\n"
 "    或者使用了无效的参数,则返回失败。"
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4278,7 +4295,7 @@ msgstr ""
 "    \n"
 "    同 \"test\" 内建,但是最后一个参数必须是字符 \"]\",以匹配起始的 \"[\"。"
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4297,7 +4314,7 @@ msgstr ""
 
 # EXIT and DEBUG should be as-is. Use before you translate, please.
 # The -signal is only an example; Read carefully.
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4360,7 +4377,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的 <信号说明符>,或者无效的选项。"
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4410,7 +4427,7 @@ msgstr ""
 "    退出状态:\n"
 "    如果所有的 <名称> 都被找到则返回成功;任何一个未找到则失败。"
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4502,7 +4519,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者有错误发生。"
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4533,7 +4550,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的 <模式> 或者选项。"
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4581,7 +4598,7 @@ msgstr ""
 "    返回最后一个 <ID> 的状态;如果使用了无效的 <ID> ,或者使用了无效的\n"
 "    选项,或者给定了 -n 选项但 shell 没有尚未等待的子进程,则失败。"
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4601,7 +4618,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个 <PID> 的状态;如果 <PID> 无效,或者使用了无效的选项,则失败。"
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4622,7 +4639,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后执行的命令的状态。"
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4652,7 +4669,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后执行的命令的状态。"
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4685,7 +4702,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4713,7 +4730,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回状态是 <流水线> 的返回状态。"
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4731,7 +4748,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4757,43 +4774,41 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "只要测试仍然成功,就执行命令。\n"
 "    \n"
-"    只要 \"while\" 的 <命令> 中的最后一个命令的退出状态仍然为 0,\n"
-"    就展开并执行 <命令>。\n"
+"    只要 <命令> 中的最后一个命令的退出状态仍然为 0,就展开并执行 <命令-2>。\n"
 "    \n"
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
 "只要测试仍然不成功,就执行命令。\n"
 "    \n"
-"    只要 \"until\" 的 <命令> 中的最后一个命令的退出状态仍然不为 0,\n"
-"    就展开并执行 <命令>。\n"
+"    只要 <命令> 中的最后一个命令的退出状态仍然不为 0,就展开并执行 <命令-2>。\n"
 "    \n"
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4815,7 +4830,7 @@ msgstr ""
 "    退出状态:\n"
 "    coproc 命令返回退出状态 0。"
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4836,7 +4851,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非 <名称> 为只读。"
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4853,7 +4868,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4876,7 +4891,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回被继续的任务的状态。"
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4893,7 +4908,7 @@ msgstr ""
 "    退出状态:\n"
 "    如果 <表达式> 求值结果为 0,则返回 1;否则返回 0。"
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -4938,7 +4953,7 @@ msgstr ""
 "    退出状态:\n"
 "    根据 <表达式> 的值返回 0 或 1。"
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5029,7 +5044,7 @@ msgstr ""
 "    \t\t通常是 \"^\"。第三个字符是历史注释字符,通常是 \"#\"。\n"
 "    HISTIGNORE\t用于决定哪些命令被存入历史文件的模式列表,以冒号分隔。\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5082,7 +5097,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的参数,或者改变目录失败。"
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5127,7 +5142,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的参数,或者改变目录失败。"
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5177,7 +5192,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者有错误发生。"
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5213,7 +5228,7 @@ msgstr ""
 "    如果 <选项名> 被启用则返回成功;如果使用了无效的选项,或者 <选项名>\n"
 "    被禁用,则返回失败。"
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5232,6 +5247,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5258,6 +5275,7 @@ msgstr ""
 "    \n"
 "      %b\t展开对应参数中的反斜杠转义序列\n"
 "      %q\t以可以重新用作 shell 输入的格式给参数加上引号\n"
+"      %Q\t类似 %q,但是精度要求会在加引号之前对尚未加引号的参数生效\n"
 "      %(格式)T\t将 <格式> 作为 strftime(3) 的格式字符串,并输出产生的\n"
 "    \t        日期-时间字符串\n"
 "    \n"
@@ -5267,7 +5285,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者发生了写入或赋值错误。"
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5312,7 +5330,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者有错误发生。"
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5331,7 +5349,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者有错误发生。"
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5381,7 +5399,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者 <名称> 没有定义补全规约。"
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5442,7 +5460,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者 <数组> 为只读或不是索引数组。"
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5452,6 +5470,9 @@ msgstr ""
 "    \n"
 "    同 \"mapfile\"。"
 
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: 无效的关联数组键"
+
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
index fff6dfcbb73500a2f706dae9e785cddb6d4ba958..33735de723642486097958823bc67c128f24d586 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index 5a80097f98cdfd8234b0ece6e092e2ad4e59a6e4..01e766fbd0256da6e7ef8e415455407fdbe162a0 100644 (file)
@@ -8,10 +8,10 @@
 # Yi-Jyun Pan <pan93412@gmail.com>, 2018, 2019, 2020, 2021.
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-28 12:51-0500\n"
-"PO-Revision-Date: 2022-05-10 16:30+0800\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2022-06-21 01:04+0800\n"
 "Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@lists.linux.org.tw>\n"
 "Language: zh_TW\n"
@@ -20,63 +20,58 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.1\n"
 
 #: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "陣列下標不正確"
 
-#: arrayfunc.c:421 builtins/declare.def:638 variables.c:2274 variables.c:2300
-#: variables.c:3133
+#: 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:正在移除 nameref 屬性"
 
-#: arrayfunc.c:446 builtins/declare.def:851
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: 無法將索引陣列轉化為關聯陣列"
 
-#: arrayfunc.c:700
-#, c-format
-msgid "%s: invalid associative array key"
-msgstr "%s: 無效的關聯陣列鍵值"
-
-#: arrayfunc.c:702
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: 無法指派為非數字的索引"
 
-#: arrayfunc.c:747
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: 指派為關聯陣列時必須使用下標"
 
-#: bashhist.c:452
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: 無法建立: %s"
 
-#: bashline.c:4310
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: 無法為指令找到按鍵映射"
 
-#: bashline.c:4459
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: 第一個非空字元不是「\"」"
 
-#: bashline.c:4488
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "%2$s 中沒有閉合的「%1$c」"
 
-#: bashline.c:4519
+#: bashline.c:4697
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: 缺少冒號分隔符"
 
-#: bashline.c:4555
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "「%s」: 無法在命令按鍵映射中解除綁定"
@@ -96,7 +91,7 @@ msgstr "大括號展開:為 %u 個元素分配記憶體失敗"
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "大括號展開:為「%s」分配記憶體失敗"
 
-#: builtins/alias.def:131 variables.c:1844
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "「%s」: 無效的別名"
@@ -167,7 +162,7 @@ msgstr ""
 msgid "HOME not set"
 msgstr "未設定 HOME"
 
-#: builtins/cd.def:335 builtins/common.c:161 test.c:901
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "太多參數"
 
@@ -194,7 +189,7 @@ msgstr "警告:"
 msgid "%s: usage: "
 msgstr "%s:用法:"
 
-#: builtins/common.c:193 shell.c:516 shell.c:844
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s:選項需要一個參數"
@@ -209,7 +204,7 @@ msgstr "%s:需要數字參數"
 msgid "%s: not found"
 msgstr "%s:沒有找到"
 
-#: builtins/common.c:216 shell.c:857
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s:無效選項"
@@ -219,7 +214,7 @@ msgstr "%s:無效選項"
 msgid "%s: invalid option name"
 msgstr "%s:無效選項名稱"
 
-#: builtins/common.c:230 execute_cmd.c:2373 general.c:368 general.c:373
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "「%s」:不是一個有效的識別符"
@@ -232,7 +227,7 @@ msgstr "無效的八進位數字"
 msgid "invalid hex number"
 msgstr "無效的十六進位數字"
 
-#: builtins/common.c:244 expr.c:1569
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "無效數字"
 
@@ -246,88 +241,93 @@ msgstr "%s:無效的訊號規格"
 msgid "`%s': not a pid or valid job spec"
 msgstr "「%s」:不是一個 pid 或有效的工作規格"
 
-#: builtins/common.c:266 error.c:510
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s:唯讀的變數"
 
-#: builtins/common.c:274
+#: builtins/common.c:273
+#, c-format
+msgid "%s: cannot assign"
+msgstr "%s:無法指定"
+
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s:%s 超出範圍"
 
-#: builtins/common.c:274 builtins/common.c:276
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "參數"
 
-#: builtins/common.c:276
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s 超出範圍"
 
-#: builtins/common.c:284
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s:沒有此類工作"
 
-#: builtins/common.c:292
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s:沒有工作控制"
 
-#: builtins/common.c:294
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "沒有工作控制"
 
-#: builtins/common.c:304
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s:受限的"
 
-#: builtins/common.c:306
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "受限的"
 
-#: builtins/common.c:314
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s:不是一個內建 shell"
 
-#: builtins/common.c:323
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "寫入時發生錯誤:%s"
 
-#: builtins/common.c:331
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "設定終端屬性時發生錯誤: %s"
 
-#: builtins/common.c:333
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "取得終端屬性時發生錯誤: %s"
 
-#: builtins/common.c:635
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s:檢索目前目錄時發生錯誤:%s:%s\n"
 
-#: builtins/common.c:701 builtins/common.c:703
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s:模稜兩可的工作規格"
 
-#: builtins/common.c:964
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "這個版本沒有可用的說明"
 
-#: builtins/common.c:1008 builtins/set.def:953 variables.c:3839
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: 無法取消設定: 唯讀 %s"
 
-#: builtins/common.c:1013 builtins/set.def:932 variables.c:3844
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: 無法取消設定"
@@ -337,108 +337,108 @@ msgstr "%s: 無法取消設定"
 msgid "%s: invalid action name"
 msgstr "%s:無效的功能名稱"
 
-#: builtins/complete.def:486 builtins/complete.def:634
-#: builtins/complete.def:865
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s:沒有完成的規格"
 
-#: builtins/complete.def:688
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "警告:-F 選項可能無法按預期工作"
 
-#: builtins/complete.def:690
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "警告:-C 選項可能無法按預期工作"
 
-#: builtins/complete.def:838
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "目前未執行自動完成功能"
 
-#: builtins/declare.def:134
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "只能用在函數中"
 
-#: builtins/declare.def:363 builtins/declare.def:756
+#: builtins/declare.def:437
+msgid "cannot use `-f' to make functions"
+msgstr "無法用「-f」產生函數"
+
+#: builtins/declare.def:464 execute_cmd.c:6132
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s:唯讀函數"
+
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: 引用變數不能為陣列"
 
-#: builtins/declare.def:374 variables.c:3385
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: 不允許名稱引用變數引用自身"
 
-#: builtins/declare.def:379 variables.c:2104 variables.c:3304 variables.c:3312
-#: variables.c:3382
+#: 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: 迴圈變數名引用"
 
-#: builtins/declare.def:384 builtins/declare.def:762 builtins/declare.def:773
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "「%s」:無效的引用變數名"
 
-#: builtins/declare.def:514
-msgid "cannot use `-f' to make functions"
-msgstr "無法用「-f」產生函數"
-
-#: builtins/declare.def:526 execute_cmd.c:5986
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s:唯讀函數"
-
-#: builtins/declare.def:824
-#, c-format
-msgid "%s: quoted compound array assignment deprecated"
-msgstr "%s:不建議使用引用的複合陣列指定"
-
-#: builtins/declare.def:838
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: 無法以這種方式銷毀陣列變數"
 
-#: builtins/declare.def:845 builtins/read.def:815
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: 無法將關聯陣列轉化為索引陣列"
 
-#: builtins/enable.def:143 builtins/enable.def:151
+#: builtins/declare.def:891
+#, c-format
+msgid "%s: quoted compound array assignment deprecated"
+msgstr "%s:不建議使用引用的複合陣列指定"
+
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "動態載入不可用"
 
-#: builtins/enable.def:343
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "無法開啟共享物件 %s: %s"
 
-#: builtins/enable.def:371
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "無法在共享物件 %2$s 中找到 %1$s: %3$s"
 
-#: builtins/enable.def:388
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: 已經載入動態內建指令"
 
-#: builtins/enable.def:392
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "為 %s 載入函式時回傳錯誤 (%d):尚未載入"
 
-#: builtins/enable.def:517
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: 未以動態方式載入"
 
-#: builtins/enable.def:543
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: 無法刪除: %s"
 
-#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5818
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: 是一個目錄"
@@ -453,7 +453,7 @@ msgstr "%s: 不是一般檔案"
 msgid "%s: file is too large"
 msgstr "%s: 檔案太大"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1647
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: 無法執行二進位檔案"
@@ -547,12 +547,12 @@ msgstr ""
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr "沒有與「%s」符合的說明主題。嘗試「help help」或「man -k %s」或「info %s」。"
 
-#: builtins/help.def:224
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: 無法開啟: %s"
 
-#: builtins/help.def:524
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -571,21 +571,21 @@ msgstr ""
 "名稱旁邊的星號(*)表示該指令被停用。\n"
 "\n"
 
-#: builtins/history.def:155
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "最多能使用 -anrw 選項之一"
 
-#: builtins/history.def:188 builtins/history.def:198 builtins/history.def:213
-#: builtins/history.def:230 builtins/history.def:242 builtins/history.def:249
+#: 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 "歷史記錄位置"
 
-#: builtins/history.def:340
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s:無效時間戳"
 
-#: builtins/history.def:451
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: 歷史記錄擴充套件失敗"
@@ -608,78 +608,78 @@ msgstr "%s: 參數必須是行程或工作 ID"
 msgid "Unknown error"
 msgstr "未知錯誤"
 
-#: builtins/let.def:97 builtins/let.def:122 expr.c:639 expr.c:657
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "需要表示式"
 
-#: builtins/mapfile.def:178
+#: builtins/mapfile.def:180
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: 不是一個索引陣列"
 
-#: builtins/mapfile.def:271 builtins/read.def:308
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: 無效的檔案描述符規格"
 
-#: builtins/mapfile.def:279 builtins/read.def:315
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: 無效的檔案描述符: %s"
 
-#: builtins/mapfile.def:288 builtins/mapfile.def:326
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: 無效的列數"
 
-#: builtins/mapfile.def:299
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: 無效的陣列原點"
 
-#: builtins/mapfile.def:316
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: 無效的回呼定量"
 
-#: builtins/mapfile.def:349
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "空陣列變數名"
 
-#: builtins/mapfile.def:370
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "需要陣列變數支援"
 
-#: builtins/printf.def:419
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "「%s」: 缺少格式字元"
 
-#: builtins/printf.def:474
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "「%c」: 無效的時間格式規格"
 
-#: builtins/printf.def:676
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "「%c」: 無效格式字元"
 
-#: builtins/printf.def:702
+#: builtins/printf.def:734
 #, c-format
 msgid "warning: %s: %s"
 msgstr "警告: %s: %s"
 
-#: builtins/printf.def:788
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "格式解析問題: %s"
 
-#: builtins/printf.def:885
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "使用了 \\x 但缺少十六進位數字"
 
-#: builtins/printf.def:900
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "使用了 \\%c 但缺少萬國碼數字"
@@ -829,12 +829,12 @@ msgstr ""
 "    \n"
 "   「dirs」內建變數顯示目錄堆疊。"
 
-#: builtins/read.def:280
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: 無效的逾時規格"
 
-#: builtins/read.def:755
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "讀取錯誤: %d: %s"
@@ -847,7 +847,7 @@ msgstr "只能從函數或者原始指令稿「return」"
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "無法同時取消設定一個函數和一個變數"
 
-#: builtins/set.def:966
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: 不是陣列變數"
@@ -866,11 +866,11 @@ msgstr "%s:無法匯出"
 msgid "shift count"
 msgstr "位移計數"
 
-#: builtins/shopt.def:310
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "無法同時設定和取消設定 shell 選項"
 
-#: builtins/shopt.def:428
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: 無效的 shell 選項名稱"
@@ -937,16 +937,16 @@ msgstr "%s: 無效的 limit 參數"
 msgid "`%c': bad command"
 msgstr "「%c」:不當的指令"
 
-#: builtins/ulimit.def:455
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s:不能得到 limit: %s"
 
-#: builtins/ulimit.def:481
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "limit"
 
-#: builtins/ulimit.def:493 builtins/ulimit.def:793
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s:不能修改 limit: %s"
@@ -965,7 +965,7 @@ msgstr "「%c」: 無效的符號狀態運算子"
 msgid "`%c': invalid symbolic mode character"
 msgstr "「%c」: 無效的符號狀態字元"
 
-#: error.c:89 error.c:347 error.c:349 error.c:351
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " 列 "
 
@@ -985,96 +985,106 @@ msgstr "中止…"
 msgid "INFORM: "
 msgstr "通知:"
 
-#: error.c:462
+#: error.c:310
+#, c-format
+msgid "DEBUG warning: "
+msgstr "除錯警告:"
+
+#: error.c:488
 msgid "unknown command error"
 msgstr "不明指令錯誤"
 
-#: error.c:463
+#: error.c:489
 msgid "bad command type"
 msgstr "不當的指令類型"
 
-#: error.c:464
+#: error.c:490
 msgid "bad connector"
 msgstr "不當的連接器"
 
-#: error.c:465
+#: error.c:491
 msgid "bad jump"
 msgstr "錯誤的跳轉"
 
-#: error.c:503
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: 未綁定的變數"
 
-#: eval.c:242
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\a 等待輸入逾時:自動登出\n"
 
-#: execute_cmd.c:537
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "無法從 /dev/null 重定向標準輸入: %s"
 
-#: execute_cmd.c:1297
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "時間格式:「%c」: 無效的格式字元"
 
-#: execute_cmd.c:2362
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
 msgstr "execute_coproc:coproc [%d:%s] 仍然存在"
 
-#: execute_cmd.c:2486
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "管道錯誤"
 
-#: execute_cmd.c:4793
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval:超出最大 eval 巢狀層數 (%d)"
 
-#: execute_cmd.c:4805
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: 超出最大來源巢狀層數 (%d)"
 
-#: execute_cmd.c:4913
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: 超出最大函數巢狀層數 (%d)"
 
-#: execute_cmd.c:5467
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: 受限的: 無法在指令名稱中使用「/」"
 
-#: execute_cmd.c:5574
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s:指令找不到"
 
-#: execute_cmd.c:5816
+#: execute_cmd.c:5957
 #, c-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: execute_cmd.c:5854
+#: execute_cmd.c:5975
+#, c-format
+msgid "%s: cannot execute: required file not found"
+msgstr "%s:無法執行:找不到必須檔案"
+
+#: execute_cmd.c:6000
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: 不當的直譯器"
 
-#: execute_cmd.c:5891
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: 無法執行二進位檔案: %s"
 
-#: execute_cmd.c:5977
+#: execute_cmd.c:6123
 #, c-format
 msgid "`%s': is a special builtin"
 msgstr "「%s」: 特殊內建"
 
-#: execute_cmd.c:6029
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "無法複製檔案描述符 %d 到檔案描述符 %d"
@@ -1087,68 +1097,68 @@ msgstr "表示式遞迴層次超出範圍"
 msgid "recursion stack underflow"
 msgstr "遞迴堆疊下限溢位"
 
-#: expr.c:477
+#: expr.c:478
 msgid "syntax error in expression"
 msgstr "表示式語法錯誤"
 
-#: expr.c:521
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "嘗試指派給非變數"
 
-#: expr.c:530
+#: expr.c:531
 msgid "syntax error in variable assignment"
 msgstr "變數定義語法錯誤"
 
-#: expr.c:544 expr.c:911
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "除 0"
 
-#: expr.c:592
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "錯誤:不當的表示式字組"
 
-#: expr.c:646
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "條件表示式需要「:」"
 
-#: expr.c:972
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "指數小於 0"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "預增符或預減符後應跟有識別符"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "缺少「)」"
 
-#: expr.c:1107 expr.c:1487
+#: expr.c:1108 expr.c:1492
 msgid "syntax error: operand expected"
 msgstr "語法錯誤: 需要運算元"
 
-#: expr.c:1489
+#: expr.c:1494
 msgid "syntax error: invalid arithmetic operator"
 msgstr "語法錯誤: 無效的算術運算子"
 
-#: expr.c:1513
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (錯誤字組是「%s」)"
 
-#: expr.c:1573
+#: expr.c:1578
 msgid "invalid arithmetic base"
 msgstr "無效的算術進位"
 
-#: expr.c:1582
+#: expr.c:1587
 msgid "invalid integer constant"
 msgstr "無效的整數常數"
 
-#: expr.c:1598
+#: expr.c:1603
 msgid "value too great for base"
 msgstr "數值太大不可為算術進位的基底"
 
-#: expr.c:1647
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: 表示式錯誤\n"
@@ -1157,7 +1167,7 @@ msgstr "%s: 表示式錯誤\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: 無法存取上層目錄"
 
-#: input.c:99 subst.c:6069
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "無法為檔案描述符 %d 重設無延遲模式"
@@ -1176,167 +1186,167 @@ msgstr "save_bash_input: 已經存在提供給新 fd %d 的緩衝區"
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: 行程群組管道"
 
-#: jobs.c:906
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:959
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1283
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "產生的行程識別碼 %d 顯示為執行中的工作 %d"
 
-#: jobs.c:1402
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "刪除行程群組 %2$ld 中已停止的工作 %1$d"
 
-#: jobs.c:1511
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: 行程識別碼 %5ld(%s) 標註為仍活著"
 
-#: jobs.c:1850
+#: jobs.c:1839
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: 無此行程識別碼"
 
-#: jobs.c:1865
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "訊號 %d"
 
-#: jobs.c:1879 jobs.c:1905
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "已完成"
 
-#: jobs.c:1884 siglist.c:122
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "停止"
 
-#: jobs.c:1888
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "已停止(%s)"
 
-#: jobs.c:1892
+#: jobs.c:1881
 msgid "Running"
 msgstr "執行中"
 
-#: jobs.c:1909
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "已完成(%d)"
 
-#: jobs.c:1911
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "結束 %d"
 
-#: jobs.c:1914
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "不明狀態"
 
-#: jobs.c:2001
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(核心已傾印)"
 
-#: jobs.c:2020
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (工作目錄: %s)"
 
-#: jobs.c:2259
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "子行程 setpgid (%ld 到 %ld)"
 
-#: jobs.c:2617 nojobs.c:664
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: 行程識別碼 %ld 不是目前 shell 的子行程"
 
-#: jobs.c:2893
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wiat_for: 沒有行程 %ld 的紀錄"
 
-#: jobs.c:3236
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: 工作 %d 已停止"
 
-#: jobs.c:3564
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s:目前沒有工作"
 
-#: jobs.c:3571
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: 工作已經終止"
 
-#: jobs.c:3580
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: 工作 %d 已在背景執行"
 
-#: jobs.c:3806
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: 開啟 WNOHANG 以避免無限阻塞"
 
-#: jobs.c:4320
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: 第 %d 列:"
 
-#: jobs.c:4334 nojobs.c:919
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (核心已傾印)"
 
-#: jobs.c:4346 jobs.c:4359
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(目前工作目錄:%s)\n"
 
-#: jobs.c:4391
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp 失敗"
 
-#: jobs.c:4447
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
 msgstr "initialize_job_control:背景中沒有工作控制"
 
-#: jobs.c:4463
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: 列規律"
 
-#: jobs.c:4473
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4494 jobs.c:4503
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "無法設定終端行程群組(%d)"
 
-#: jobs.c:4508
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "此 shell 中無工作控制"
 
-#: lib/malloc/malloc.c:353
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: 主張失敗: %s\n"
 
-#: lib/malloc/malloc.c:369
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1345,47 +1355,47 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: 主張已修補\r\n"
 
-#: lib/malloc/malloc.c:370 lib/malloc/malloc.c:933
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "不明"
 
-#: lib/malloc/malloc.c:882
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: 空閒串列中的區塊損壞"
 
-#: lib/malloc/malloc.c:972
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: 用已經釋放的區塊做為呼叫參數"
 
-#: lib/malloc/malloc.c:975
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: 用未分配的區塊做為呼叫參數"
 
-#: lib/malloc/malloc.c:994
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: 檢測到下限溢位;mh_nbytes 超出範圍"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: 偵測到下限溢位;magic8 損壞"
 
-#: lib/malloc/malloc.c:1009
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: 啟始和末尾區塊大小不一致"
 
-#: lib/malloc/malloc.c:1119
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: 用未分配的區塊做為呼叫參數"
 
-#: lib/malloc/malloc.c:1134
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: 檢測到下限溢位;mh_nbytes 超出範圍"
 
-#: lib/malloc/malloc.c:1141
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: 偵測到下限溢位;magic8 損壞"
 
-#: lib/malloc/malloc.c:1150
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: 啟始和末尾區塊大小不一致"
 
@@ -1427,22 +1437,22 @@ msgstr "%s:不當的網路路徑規格"
 msgid "network operations not supported"
 msgstr "不支援網路操作"
 
-#: locale.c:217
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: 無法變更語區選項 (%s)"
 
-#: locale.c:219
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: 無法變更語區選項 (%s): %s"
 
-#: locale.c:292
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: 無法變更語區選項 (%s)"
 
-#: locale.c:294
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: 無法變更語區選項 (%s): %s"
@@ -1460,136 +1470,136 @@ msgstr "您有新郵件在 $_"
 msgid "The mail in %s has been read\n"
 msgstr "郵件在 %s 已閱讀\n"
 
-#: make_cmd.c:317
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "語法錯誤:需要算式"
 
-#: make_cmd.c:319
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "語法錯誤:「;」意外"
 
-#: make_cmd.c:320
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "語法錯誤:「((%s))」"
 
-#: make_cmd.c:572
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document:不當的指示類型 %d"
 
-#: make_cmd.c:657
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "立即檔案在第 %d 列被檔案結束符分隔 (需要「%s」)"
 
-#: make_cmd.c:756
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection:重新導向指示「%d」超出範圍"
 
-#: parse.y:2393
+#: parse.y:2428
 #, c-format
 msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc: shell_input_line_size (%zu) 超過 SIZE_MAX (%lu):列被截斷"
 
-#: parse.y:2826
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "超過此處檔案上限最大值"
 
-#: parse.y:3581 parse.y:3957 parse.y:4556
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "尋找符合的「%c」時遇到了未預期的檔案結束符"
 
-#: parse.y:4696
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
 msgstr "尋找「]]」時遇到了未預期的檔案結束符"
 
-#: parse.y:4701
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "條件表示式中有語法錯誤: 未預期的字組「%s」"
 
-#: parse.y:4705
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "語法錯誤,在有條件的表示式"
 
-#: parse.y:4783
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "未預期的字組「%s」,需要「)」"
 
-#: parse.y:4787
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "預期「)」"
 
-#: parse.y:4815
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "一元條件運算子使用了未預期的參數「%s」"
 
-#: parse.y:4819
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
 msgstr "一元條件運算子使用了未預期的參數"
 
-#: parse.y:4865
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "未預期的字組「%s」,需要二元條件運算子"
 
-#: parse.y:4869
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "需要二元條件運算子"
 
-#: parse.y:4891
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "二元條件運算子使用了未預期的參數「%s」"
 
-#: parse.y:4895
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
 msgstr "二元條件運算子使用了未預期的參數"
 
-#: parse.y:4906
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "條件指令中有未預期的字組「%c」"
 
-#: parse.y:4909
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "條件指令中有未預期的字組「%s」"
 
-#: parse.y:4913
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "條件指令中有未預期的字組 %d"
 
-#: parse.y:6336
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "未預期的字組「%s」附近有語法錯誤"
 
-#: parse.y:6355
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "「%s」附近有語法錯誤"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "語法錯誤: 未預期的檔案結尾"
 
-#: parse.y:6365
+#: parse.y:6151
 msgid "syntax error"
 msgstr "語法錯誤"
 
-#: parse.y:6428
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "使用「%s」結束 shell。\n"
 
-#: parse.y:6602
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "尋找符合的「)」時遇到了未預期的檔案結束符"
 
@@ -1627,94 +1637,94 @@ msgstr "xtrace_set: 空的檔案指標"
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1540
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf:「%c」: 無效的格式字元"
 
-#: redir.c:149 redir.c:197
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "檔案描述符超出範圍"
 
-#: redir.c:204
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: 模稜兩可的重定向"
 
-#: redir.c:208
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: 無法覆寫已存在的檔案"
 
-#: redir.c:213
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: 受限的: 無法重定向輸出"
 
-#: redir.c:218
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "無法為立即檔案建立暫存檔案: %s"
 
-#: redir.c:222
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: 無法將檔案描述符指派給變數"
 
-#: redir.c:649
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "沒有網路時不支援 /dev/(tcp|udp)/host/port"
 
-#: redir.c:938 redir.c:1053 redir.c:1114 redir.c:1284
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "重定向錯誤: 無法複製檔案描述符"
 
-#: shell.c:347
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "無法找到 /tmp,請建立"
 
-#: shell.c:351
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp 必須為有效的目錄名稱"
 
-#: shell.c:804
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "已在互動式 shell 中忽略美化輸出模式"
 
-#: shell.c:948
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c:無效選項"
 
-#: shell.c:1319
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "無法設定 UID 至 %d:有效的 UID %d"
 
-#: shell.c:1330
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "無法設定 GID 至 %d:有效的 GID %d"
 
-#: shell.c:1518
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "無法開啟偵錯器;偵錯模式已停用"
 
-#: shell.c:1632
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: 是一個目錄"
 
-#: shell.c:1881
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "我沒有名字!"
 
-#: shell.c:2035
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash,版本 %s-(%s)\n"
 
-#: shell.c:2036
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1723,317 +1733,317 @@ msgstr ""
 "用法:\t%s [GNU 長選項] [選項] …\n"
 "\t%s [GNU 長選項] [選項] 指令稿檔案 …\n"
 
-#: shell.c:2038
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "GNU 長選項:\n"
 
-#: shell.c:2042
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "Shell 選項:\n"
 
-#: shell.c:2043
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-irsD 或 -c <指令> 或 -O <shopt 選項>\t\t(僅適合呼叫)\n"
 
-#: shell.c:2062
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s or -o 選項\n"
 
-#: shell.c:2068
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "輸入「%s -c \"help set\"」更多關於 shell 選項的訊息。\n"
 
-#: shell.c:2069
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "輸入「%s -c help」更多關於內建 shell 指令的訊息。\n"
 
-#: shell.c:2070
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "使用「bashbug」指令通報程式錯誤。\n"
 
-#: shell.c:2072
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "bash 官網:<http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2073
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
 msgstr "GNU 軟體的常見使用說明:<http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:757
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask:%d:無效操作"
 
-#: siglist.c:47
+#: siglist.c:48
 msgid "Bogus signal"
 msgstr "偽訊號"
 
-#: siglist.c:50
+#: siglist.c:51
 msgid "Hangup"
 msgstr "掛斷"
 
-#: siglist.c:54
+#: siglist.c:55
 msgid "Interrupt"
 msgstr "中止"
 
-#: siglist.c:58
+#: siglist.c:59
 msgid "Quit"
 msgstr "結束"
 
-#: siglist.c:62
+#: siglist.c:63
 msgid "Illegal instruction"
 msgstr "無效指令"
 
-#: siglist.c:66
+#: siglist.c:67
 msgid "BPT trace/trap"
 msgstr "斷點追蹤/陷阱"
 
-#: siglist.c:74
+#: siglist.c:75
 msgid "ABORT instruction"
 msgstr "放棄指令"
 
-#: siglist.c:78
+#: siglist.c:79
 msgid "EMT instruction"
 msgstr "模擬器陷阱指令"
 
-#: siglist.c:82
+#: siglist.c:83
 msgid "Floating point exception"
 msgstr "期望浮點數"
 
-#: siglist.c:86
+#: siglist.c:87
 msgid "Killed"
 msgstr "強制結束"
 
-#: siglist.c:90
+#: siglist.c:91
 msgid "Bus error"
 msgstr "匯流排錯誤"
 
-#: siglist.c:94
+#: siglist.c:95
 msgid "Segmentation fault"
 msgstr "程式記憶體區段錯誤"
 
-#: siglist.c:98
+#: siglist.c:99
 msgid "Bad system call"
 msgstr "無效系統呼叫"
 
-#: siglist.c:102
+#: siglist.c:103
 msgid "Broken pipe"
 msgstr "管線損壞"
 
-#: siglist.c:106
+#: siglist.c:107
 msgid "Alarm clock"
 msgstr "鬧鐘"
 
-#: siglist.c:110
+#: siglist.c:111
 msgid "Terminated"
 msgstr "終止"
 
-#: siglist.c:114
+#: siglist.c:115
 msgid "Urgent IO condition"
 msgstr "緊急 I/O 狀況"
 
-#: siglist.c:118
+#: siglist.c:119
 msgid "Stopped (signal)"
 msgstr "停止(信號)"
 
-#: siglist.c:126
+#: siglist.c:127
 msgid "Continue"
 msgstr "繼續"
 
-#: siglist.c:134
+#: siglist.c:135
 msgid "Child death or stop"
 msgstr "子行程已死或者停止"
 
-#: siglist.c:138
+#: siglist.c:139
 msgid "Stopped (tty input)"
 msgstr "停止(tty 輸入)"
 
-#: siglist.c:142
+#: siglist.c:143
 msgid "Stopped (tty output)"
 msgstr "停止(tty 輸出)"
 
-#: siglist.c:146
+#: siglist.c:147
 msgid "I/O ready"
 msgstr "I/O 就緒"
 
-#: siglist.c:150
+#: siglist.c:151
 msgid "CPU limit"
 msgstr "CPU 限制"
 
-#: siglist.c:154
+#: siglist.c:155
 msgid "File limit"
 msgstr "檔案限制"
 
-#: siglist.c:158
+#: siglist.c:159
 msgid "Alarm (virtual)"
 msgstr "警報(虛擬)"
 
-#: siglist.c:162
+#: siglist.c:163
 msgid "Alarm (profile)"
 msgstr "警報(側寫)"
 
-#: siglist.c:166
+#: siglist.c:167
 msgid "Window changed"
 msgstr "已變更視窗"
 
-#: siglist.c:170
+#: siglist.c:171
 msgid "Record lock"
 msgstr "記錄鎖"
 
-#: siglist.c:174
+#: siglist.c:175
 msgid "User signal 1"
 msgstr "使用者訊號 1"
 
-#: siglist.c:178
+#: siglist.c:179
 msgid "User signal 2"
 msgstr "使用者訊號 2"
 
-#: siglist.c:182
+#: siglist.c:183
 msgid "HFT input data pending"
 msgstr "HFT 待輸入資料"
 
-#: siglist.c:186
+#: siglist.c:187
 msgid "power failure imminent"
 msgstr "即將停止電源"
 
-#: siglist.c:190
+#: siglist.c:191
 msgid "system crash imminent"
 msgstr "系統即將崩潰"
 
-#: siglist.c:194
+#: siglist.c:195
 msgid "migrate process to another CPU"
 msgstr "遷移行程至另一個 CPU"
 
-#: siglist.c:198
+#: siglist.c:199
 msgid "programming error"
 msgstr "程式設計錯誤"
 
-#: siglist.c:202
+#: siglist.c:203
 msgid "HFT monitor mode granted"
 msgstr "已授予 HFT 監視模式"
 
-#: siglist.c:206
+#: siglist.c:207
 msgid "HFT monitor mode retracted"
 msgstr "已復原 HFT 監視模式"
 
-#: siglist.c:210
+#: siglist.c:211
 msgid "HFT sound sequence has completed"
 msgstr "已完成 HFT 聲音序列"
 
-#: siglist.c:214
+#: siglist.c:215
 msgid "Information request"
 msgstr "資訊請求"
 
-#: siglist.c:222 siglist.c:224
+#: siglist.c:223 siglist.c:225
 #, c-format
 msgid "Unknown Signal #%d"
 msgstr "不明訊號 #%d"
 
-#: subst.c:1476 subst.c:1666
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "錯誤的取代: 在 %2$s 中沒有閉合的「%1$s」"
 
-#: subst.c:3281
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: 無法將串列指派給陣列成員"
 
-#: subst.c:5910 subst.c:5926
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "無法為行程取代建立管道"
 
-#: subst.c:5985
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "無法為行程取代建立子行程"
 
-#: subst.c:6059
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "無法開啟命名管道 %s 進 readline-"
 
-#: subst.c:6061
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "無法開啟命名管道 %s 進行寫入"
 
-#: subst.c:6084
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "無法將命名管道 %s 做為檔案描述符 %d 複製"
 
-#: subst.c:6213
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "指令取代:在輸入中忽略了空位元組"
 
-#: subst.c:6353
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "無法為指令取代建立管道"
 
-#: subst.c:6397
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "無法為指令取代建立子行程"
 
-#: subst.c:6423
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: 無法將管道複製為檔案描述符 1"
 
-#: subst.c:6883 subst.c:9952
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: 無效的引用變數名"
 
-#: subst.c:6979 subst.c:6997 subst.c:7169
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: 無效的間接擴充"
 
-#: subst.c:7013 subst.c:7177
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s:無效的變數名稱"
 
-#: subst.c:7256
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s:參數未設定"
 
-#: subst.c:7258
+#: subst.c:7480
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: 參數為空或未設定"
 
-#: subst.c:7503 subst.c:7518
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: 子串表示式 < 0"
 
-#: subst.c:9281 subst.c:9302
+#: subst.c:9560 subst.c:9587
 #, c-format
 msgid "%s: bad substitution"
 msgstr "%s: 錯誤的取代"
 
-#: subst.c:9390
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: 無法如此指派"
 
-#: subst.c:9814
+#: subst.c:10111
 msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "未來版本的 shell 會強制以算術取代求值"
 
-#: subst.c:10367
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "錯誤的取代: 在 %s 中沒有閉合的「`」"
 
-#: subst.c:11434
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "無符合: %s"
@@ -2056,21 +2066,21 @@ msgstr "需要「)」"
 msgid "`)' expected, found %s"
 msgstr "需要「)」,得到 %s"
 
-#: test.c:466 test.c:799
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: 需要二元表示式"
 
-#: test.c:756 test.c:759
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: 需要一元表示式"
 
-#: test.c:881
+#: test.c:896
 msgid "missing `]'"
 msgstr "缺少「]」"
 
-#: test.c:899
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "語法錯誤:非預期的「%s」"
@@ -2079,99 +2089,104 @@ msgstr "語法錯誤:非預期的「%s」"
 msgid "invalid signal number"
 msgstr "無效訊號數字"
 
-#: trap.c:325
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "捕捉處理函式:達到最大捕捉處理函式等級 (%d)"
 
-#: trap.c:414
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: trap_list[%d] 中的錯誤值: %p"
 
-#: trap.c:418
+#: trap.c:416
 #, c-format
 msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps:訊號處理是 SIG_DFL,resending %d (%s) to myself"
 
-#: trap.c:487
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler:不當的訊號 %d"
 
-#: variables.c:421
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "錯誤,輸入的函數定義為「%s」"
 
-#: variables.c:833
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "shell 層次 (%d) 太高,重設為 1"
 
-#: variables.c:2674
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: 目前作用域中沒有函數語境"
 
-#: variables.c:2693
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: 變數不可指派值"
 
-#: variables.c:3475
+#: variables.c:2818 variables.c:2874
+#, c-format
+msgid "%s: cannot inherit value from incompatible type"
+msgstr "%s:無法從不相容的類型繼承數值"
+
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s:指定數字至名稱參考"
 
-#: variables.c:4404
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: 目前作用域中沒有函數語境"
 
-#: variables.c:4771
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s 有空的 exportstr"
 
-#: variables.c:4776 variables.c:4785
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "%2$s 的 exportstr 中有無效的字元 %1$d"
 
-#: variables.c:4791
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "%s 的 exportstr 中沒有「=」"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: shell_variables 的前端不是函數語境"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: 沒有 global_variables 語境"
 
-#: variables.c:5424
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: shell_variables 的前端不是臨時環境作用域"
 
-#: variables.c:6387
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: 無法做為檔案開啟"
 
-#: variables.c:6392
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: 追蹤檔案描述符的值無效"
 
-#: variables.c:6437
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: 相容版本數值超出範圍"
 
 #: version.c:46 version2.c:46
-msgid "Copyright (C) 2020 Free Software Foundation, Inc."
-msgstr "著作權所有 (C) 2020 自由軟體基金會"
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
+msgstr "著作權所有 (C) 2022 自由軟體基金會"
 
 #: version.c:47 version2.c:47
 msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
@@ -2251,12 +2266,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] 指令 [參數 …]"
 
 #: builtins.c:78
-msgid "declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [名稱[=值] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [name[=value] ...] 或 declare -p [-aAfFilnrtux] [name ...]"
 
 #: builtins.c:80
-msgid "typeset [-aAfFgiIlnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgiIlnrtux] [-p] 名稱[=值] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] name[=value] ... 或 typeset -p [-aAfFilnrtux] [name ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2343,8 +2358,8 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o 選項名] [--] [參數 …]"
+msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2391,8 +2406,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] 名稱 [名稱 …]"
 
 #: builtins.c:171
-msgid "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [limit]"
+msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2431,12 +2446,12 @@ msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else C
 msgstr "if 指令 ; then 指令 ; [ elif 指令 ; then 指令 ; ]… [ else 指令 ; ] fi"
 
 #: builtins.c:196
-msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while 指令 ; do 指令 ; done"
+msgid "while COMMANDS; do COMMANDS-2; done"
+msgstr "while COMMANDS; do COMMANDS-2; done"
 
 #: builtins.c:198
-msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until 指令 ; do 指令 ; done"
+msgid "until COMMANDS; do COMMANDS-2; done"
+msgstr "until COMMANDS; do COMMANDS-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -3694,7 +3709,8 @@ msgid ""
 "    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.\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"
 "    \n"
@@ -3730,23 +3746,23 @@ msgid ""
 "    (in which case it's greater than 128), a variable assignment error occurs,\n"
 "    or an invalid file descriptor is supplied as the argument to -u."
 msgstr ""
-"從標準輸入讀取一列並將其分為不同的區域。\n"
+"從標準輸入讀取一列並將其分為不同的區域。\n"
 "    \n"
-"    從標準輸入讀取單獨的一列,或者如果使用了 -u 選項,從檔案描述 FD 中讀取。\n"
-"    該列被分割成區域,如同字詞分割一樣,並且第一個字詞被指派給第一個 <名稱> 變數,第二\n"
-"    個字詞被指派給第二個 <名稱> 變數,如此繼續,直到剩下所有的字詞被指派給最後一個 <名稱>\n"
-"    變數。只有 $IFS 變數中的字元被認做是字詞分隔符。\n"
+"    從標準輸入讀取單獨的一列,或者如果使用了 -u 選項,從檔案描述 FD 中讀取。\n"
+"    該列會分割成區域,如同字詞分割一樣,並且第一個字詞被指派給第一個 NAME 變數,第二\n"
+"    個字詞被指派給第二個 NAME 變數,如此繼續,直到剩下所有的字詞被指派給最後一個 <名稱>\n"
+"    變數。只有 $IFS 變數中的字元被認做是字詞分隔符。預設情況下,反斜線字元會跳脫分割字元和換行。\n"
 "    \n"
-"    如果沒有提供 <名稱> 變數,則讀取的列被存放在 REPLY 變數中。\n"
+"    如果沒有提供 NAME 變數,則讀取的列會存放在 REPLY 變數中。\n"
 "    \n"
 "    選項:\n"
 "      -a array\t將字詞指派給 ARRAY 陣列變數的序列索引成員,從零開始。\n"
 "      -d delim\t持續讀取直到讀入 DELIM 變數中的第一個字元,而不是換列符\n"
 "      -e\t使用 Readline 取得列\n"
 "      -i text\t使用 TEXT 文字做為 Readline 的初始文字\n"
-"      -n nchars\t讀取 nchars 個字元之後回傳,而不是等到讀取換列符。\n"
-"    \t\t但是分隔符仍然有效,如果遇到分隔符之前讀取了不足 nchars 個字元。\n"
-"      -N nchars\t在準確讀取了 nchars 個字元之後回傳,除非遇到檔案結束符或者讀取逾時,\n"
+"      -n nchars\t讀取 NCHARS 個字元之後回傳,而不是等到讀取換列符。\n"
+"    \t\t但如果遇到分隔符之前讀取了不足 NCHARS 個字元,分隔符仍然有效。\n"
+"      -N nchars\t在準確讀取了 NCHARS 個字元之後回傳,除非遇到檔案結束符或者讀取逾時,\n"
 "    \t\t任何的分隔符都被忽略\n"
 "      -p prompt\t在嘗試讀取之前輸出 PROMPT 提示符並且不帶\n"
 "    \t\t換列符\n"
@@ -3754,16 +3770,16 @@ msgstr ""
 "      -s\t不顯示終端的任何輸入\n"
 "      -t timeout\t如果在 TIMEOUT 秒內沒有讀取一個完整的列則逾時並且回傳失敗。\n"
 "    \t\tTMOUT 變數的值是預設逾時時間。\n"
-"    \t\tTIMEOUT 可以是小數。如果 TIMEOUT 是 0,那麼僅當在指定的檔案描述符上\n"
-"    \t\t輸å\85¥æ\9c\89æ\95\88ç\9a\84æ\99\82å\80\99ï¼\8cread æ\89\8då\9b\9eå\82³æ\88\90å\8a\9fã\80\82\n"
+"    \t\tTIMEOUT 可以是小數。如果 TIMEOUT 是 0,則立即回傳而不嘗試\n"
+"    \t\tè®\80å\8f\96ä»»ä½\95è³\87æ\96\99ï¼\8cå¦\82æ\9e\9cæ\8c\87å®\9aç\9a\84æª\94æ¡\88æ\8f\8f述符æ\9c\89輸å\85¥ï¼\8cå\89\87å\9b\9eå\82³æ\88\90å\8a\9f\n"
 "    \t\t如果超過了逾時時間,則回傳狀態碼大於 128\n"
 "      -u fd\t從檔案描述符 FD 中讀取,而不是標準輸入\n"
 "    \n"
 "    結束狀態:\n"
-"    回傳碼為零,除非遇到了檔案結束符,讀取逾時,或者無效的文\n"
-"    件描述符做為參數傳遞給了 -u 選項。"
+"    回傳碼為 0,除非遇到了檔案結束符、讀取逾時,或將無效的檔案\n"
+"    描述符,作為參數傳向 -u 選項。"
 
-#: builtins.c:1041
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3783,7 +3799,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳 N,或者如果 shell 不在執行一個函數或引用指令稿時,失敗。"
 
-#: builtins.c:1054
+#: builtins.c:1055
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
 "    \n"
@@ -3942,7 +3958,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功除非使用了無效的參數。"
 
-#: builtins.c:1139
+#: builtins.c:1140
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -3978,7 +3994,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者 NAME 名稱為唯讀。"
 
-#: builtins.c:1161
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -4010,7 +4026,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者 <名稱>。"
 
-#: builtins.c:1180
+#: builtins.c:1181
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -4046,7 +4062,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者 <名稱>。"
 
-#: builtins.c:1202
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4064,7 +4080,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非 N 為負或者大於 $#。"
 
-#: builtins.c:1214 builtins.c:1229
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4086,7 +4102,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳 <檔名> 檔案中最後一個指令的狀態;如果 <檔名> 檔案不可讀則失敗。"
 
-#: builtins.c:1245
+#: builtins.c:1246
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -4110,7 +4126,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非沒有啟用工作控制或者有錯誤發生。"
 
-#: builtins.c:1261
+#: builtins.c:1262
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4262,7 +4278,7 @@ msgstr ""
 "    如果 EXPR 表示式求值為真則回傳成功;如果 EXPR 表示式求值\n"
 "    為假或者使用了無效的參數則回傳失敗。"
 
-#: builtins.c:1343
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4274,7 +4290,7 @@ msgstr ""
 "    是內建指令「test」的同義詞,但是最後一個參數必須是\n"
 "    字元「]」,以符合起始的「[」。"
 
-#: builtins.c:1352
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4292,7 +4308,7 @@ msgstr ""
 "    結束狀態:\n"
 "    一律成功。"
 
-#: builtins.c:1364
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
@@ -4353,7 +4369,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者 SIGSPEC。"
 
-#: builtins.c:1400
+#: builtins.c:1401
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4404,7 +4420,7 @@ msgstr ""
 "    結束狀態:\n"
 "    如果所有的 <名稱> 指令都找到則回傳成功;任何找不到則失敗。"
 
-#: builtins.c:1431
+#: builtins.c:1432
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4495,7 +4511,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者錯誤發生。"
 
-#: builtins.c:1482
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4527,7 +4543,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的 MODE 模式或者選項。"
 
-#: builtins.c:1502
+#: builtins.c:1503
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4576,7 +4592,7 @@ msgstr ""
 "    或有指定 -n,shell 卻沒有要不等待 (unwaited) 的子行程,\n"
 "    則回傳失敗。"
 
-#: builtins.c:1533
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
@@ -4596,7 +4612,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳行程 ID 的狀態;如果 PID 是無效的行程識別碼或者指定了無效的選項則失敗。"
 
-#: builtins.c:1548
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4617,7 +4633,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳最後執行指令的狀態。"
 
-#: builtins.c:1562
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4647,7 +4663,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳最後執行指令的狀態。"
 
-#: builtins.c:1580
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4680,7 +4696,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳最後一個執行指令的狀態。"
 
-#: builtins.c:1601
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4708,7 +4724,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳狀態即 PIPELINE 的回傳狀態。"
 
-#: builtins.c:1618
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4726,7 +4742,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳最後一個執行指令的狀態。"
 
-#: builtins.c:1630
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4752,43 +4768,43 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳最後一個執行指令的狀態。"
 
-#: builtins.c:1647
+#: builtins.c:1648
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `while' COMMANDS has an exit status of zero.\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"
 "    Returns the status of the last command executed."
 msgstr ""
 "只要測試成功即執行指令。\n"
 "    \n"
-"    只要在「while」<指令> 中的最終指令回傳結果為 0,則\n"
-"    展開並執行 <指令>。\n"
+"    只要 COMMANDS 中的最後一條命令回傳了結束狀態碼 0,\n"
+"   便會展開並執行 COMMANDS-2。\n"
 "    \n"
 "    結束狀態:\n"
 "    回傳最後一個執行指令的狀態。"
 
-#: builtins.c:1659
+#: builtins.c:1660
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS as long as the final command in the\n"
-"    `until' COMMANDS has an exit status which is not zero.\n"
+"    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"
 "    Returns the status of the last command executed."
 msgstr ""
-"當測試不同過時執行指令。\n"
+"只要測試不成功即執行指令。\n"
 "    \n"
-"   「until」<指令> 的最終指令回傳狀態不為 0 時,\n"
-"    展開並執行 <指令>。\n"
+"    只要 COMMANDS 中的最後一條命令回傳了不是 0 的結束狀態碼,\n"
+"   便會展開並執行 COMMANDS-2。\n"
 "    \n"
 "    結束狀態:\n"
 "    回傳最後一個執行指令的狀態。"
 
-#: builtins.c:1671
+#: builtins.c:1672
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4810,7 +4826,7 @@ msgstr ""
 "    結束狀態:\n"
 "    coprc 指令回傳離開代碼 0。"
 
-#: builtins.c:1685
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4832,7 +4848,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功除非 <名稱> 為唯讀。"
 
-#: builtins.c:1699
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4850,7 +4866,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳最後一個執行指令的狀態。"
 
-#: builtins.c:1711
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4874,7 +4890,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳被繼續的工作狀態。"
 
-#: builtins.c:1726
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4892,7 +4908,7 @@ msgstr ""
 "    結束狀態:\n"
 "    如果表示式求值為 0 則回傳 1;否則回傳 0。"
 
-#: builtins.c:1738
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -4936,7 +4952,7 @@ msgstr ""
 "    結束狀態:\n"
 "    根據 EXPRESSION 的值為 0 或 1。"
 
-#: builtins.c:1764
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5031,7 +5047,7 @@ msgstr ""
 "    HISTIGNORE\t用於決定哪些指令被存入歷史記錄檔案的模式\n"
 "    \t\t列表,以冒號分隔。\n"
 
-#: builtins.c:1821
+#: builtins.c:1822
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -5082,7 +5098,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的參數或者目錄變換失敗。"
 
-#: builtins.c:1855
+#: builtins.c:1856
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -5129,7 +5145,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的參數或者目錄變換失敗。"
 
-#: builtins.c:1885
+#: builtins.c:1886
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5178,7 +5194,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者發生錯誤。"
 
-#: builtins.c:1916
+#: builtins.c:1917
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5214,7 +5230,7 @@ msgstr ""
 "    如果 <選項名稱> 選項被啟用則回傳成功;如果是\n"
 "    無效的選項或 <選項名稱> 被停用則失敗。"
 
-#: builtins.c:1937
+#: builtins.c:1938
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5233,6 +5249,8 @@ msgid ""
 "    \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"
 "    \t        string for strftime(3)\n"
 "    \n"
@@ -5245,23 +5263,28 @@ msgid ""
 "    Returns success unless an invalid option is given or a write or assignment\n"
 "    error occurs."
 msgstr ""
-"在 <格式> 的控制下格式化並印出 <參數>。\n"
+"在 FORMAT 的控制下格式化並印出 ARGUMENTS。\n"
 "    \n"
 "    選項:\n"
-"      -v var\t將輸出指派給 shell 變數 VAR 而顯示在標準輸出上\n"
+"      -v var\t將輸出指派給 shell 變數 VAR 而顯示在標準輸出上\n"
 "    \n"
-"    <格式> 是包含三種物件的字串:簡單地被複製到標準輸出的普通字元;\n"
-"    è¢«è®\8aæ\8f\9bä¹\8bå¾\8cè¤\87製å\88°æ¨\99æº\96輸å\85¥ç\9a\84é\80¸å\87ºå­\97å\85\83ï¼\9b以å\8f\8aæ¯\8få\80\8bé\83½æ\9c\83å½±é\9f¿å\88°ä¸\8bå\80\8bå\8f\83æ\95¸ç\9a\84å\8d°å\87º格式化規格。\n"
+"    FORMAT 是包含三種物件的字元:簡單複製到標準輸出的純字元;\n"
+"    è®\8aæ\8f\9bå¾\8cè¤\87製å\88°æ¨\99æº\96輸å\85¥ç\9a\84è·³è\84«å­\97å\85\83ï¼\9b以å\8f\8aæ¯\8få\80\8bé\83½æ\9c\83å½±é\9f¿å\88°ä¸\8bå\80\8bå¼\95æ\95¸ç\9a\84格式化規格。\n"
 "    \n"
-"    在 printf(1) 中描述的標準控制規格之外,printf 解析:\n"
+"    除了 printf(1) 中描述的標準格式化規格,printf 還會解析:\n"
+"    \n"
+"      %b\t對應引數中的反斜線跳脫序列\n"
+"      %q\t以可做為 shell 輸入的格式對引數加上引號\n"
+"      %Q\t類似 %q,但精度要求會在加引號之前,對未括住的引數生效\n"
+"      %(fmt)T\t將 FMT 用來當作 strftime(3) 的格式,輸出日期與時間字串\n"
+"    \n"
+"    必要時會重用格式以消耗掉所有引數。如果引數少於格式所需,其他的格式規範則會\n"
+"    視為 0 值或空字串(視情況而定)套用。\n"
 "    \n"
-"      %b\t擴充套件對應參數中的反斜線逸出序列\n"
-"      %q\t以可做為 shell 輸入的格式引用參數\n"
-"      %(fmt)T\t以 FMT 為提供 strftime(3) 的格式輸出日期與時間字串    \n"
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者發生寫入或指派錯誤。"
 
-#: builtins.c:1971
+#: builtins.c:1974
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5306,7 +5329,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者錯誤發生。"
 
-#: builtins.c:2001
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5326,7 +5349,7 @@ msgstr ""
 "    結束狀態:\n"
 "    除非使用了無效選項或者錯誤發生,否則回傳成功。"
 
-#: builtins.c:2016
+#: builtins.c:2019
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -5376,7 +5399,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項或者 <名稱> 沒有定義自動完成規格。"
 
-#: builtins.c:2047
+#: builtins.c:2050
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
@@ -5436,7 +5459,7 @@ msgstr ""
 "    結束狀態:\n"
 "    回傳成功,除非使用了無效的選項,或者 ARRAY 變數唯讀或不是索引陣列。"
 
-#: builtins.c:2083
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5446,6 +5469,9 @@ msgstr ""
 "    \n"
 "    一個「mapfile」的同義詞。"
 
+#~ msgid "%s: invalid associative array key"
+#~ msgstr "%s: 無效的關聯陣列鍵值"
+
 #~ msgid ""
 #~ "Returns the context of the current subroutine call.\n"
 #~ "    \n"
index 188695bea48067b14362fe48198a92f9b4421bb2..6e84d0ce337e249860f1b6f83e23ac044684c6bb 100644 (file)
@@ -129,6 +129,7 @@ static int inside_function_def;
 static int skip_this_indent;
 static int was_heredoc;
 static int printing_connection;
+static int printing_comsub;
 static REDIRECT *deferred_heredocs;
 
 /* The depth of the group commands that we are currently printing.  This
@@ -162,6 +163,21 @@ make_command_string (command)
   return (the_printed_command);
 }
 
+/* Print a command substitution after parsing it in parse_comsub to turn it
+   back into an external representation without turning newlines into `;'.
+   Placeholder for other changes, if any are necessary. */
+char *
+print_comsub (command)
+     COMMAND *command;
+{
+  char *ret;
+
+  printing_comsub++;
+  ret = make_command_string (command);
+  printing_comsub--;
+  return ret;
+}
+
 /* The internal function.  This is the real workhorse. */
 static void
 make_command_string_internal (command)
@@ -278,25 +294,35 @@ make_command_string_internal (command)
              break;
 
            case ';':
-             if (deferred_heredocs == 0)
-               {
-                 if (was_heredoc == 0)
-                   cprintf (";");
-                 else
-                   was_heredoc = 0;
-               }
-             else
-               print_deferred_heredocs (inside_function_def ? "" : ";");
+           case '\n':                          /* special case this */
+             {
+               char c = command->value.Connection->connector;
 
-             if (inside_function_def)
-               cprintf ("\n");
-             else
-               {
-                 cprintf (" ");
-                 if (command->value.Connection->second)
-                   skip_this_indent++;
-               }
-             break;
+               s[0] = printing_comsub ? c : ';';
+               s[1] = '\0';
+
+               if (deferred_heredocs == 0)
+                 {
+                   if (was_heredoc == 0)
+                     cprintf (s);              /* inside_function_def? */
+                   else
+                     was_heredoc = 0;
+                 }
+               else
+                 /* print_deferred_heredocs special-cases `;' */
+                 print_deferred_heredocs (inside_function_def ? "" : ";");
+
+               if (inside_function_def)
+                 cprintf ("\n");
+               else
+                 {
+                   if (c == ';')
+                     cprintf (" ");
+                   if (command->value.Connection->second)
+                     skip_this_indent++;
+                 }
+               break;
+             }
 
            default:
              cprintf (_("print_command: bad connector `%d'"),
@@ -1293,6 +1319,7 @@ reset_locals ()
   indentation = 0;
   printing_connection = 0;
   deferred_heredocs = 0;
+  printing_comsub = 0;
 }
 
 static void
@@ -1364,6 +1391,7 @@ named_function_string (name, command, flags)
   old_amount = indentation_amount;
   command_string_index = was_heredoc = 0;
   deferred_heredocs = 0;
+  printing_comsub = 0;
 
   if (name && *name)
     {
diff --git a/subst.c b/subst.c
index 394b56151fe62447cc68dff87bcbd08e959c24c3..f3980166beea5035f9470cf2c630a8d77cf65a73 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -8930,37 +8930,34 @@ pat_subst (string, pat, rep, mflags)
    *       STRING and return the result.
    *   3.  A null STRING with a matching pattern means to append REP to
    *       STRING and return the result.
-   * These don't understand or process `&' in the replacement string.
+   *
+   * These process `&' in the replacement string, like `sed' does when
+   * presented with a BRE of `^' or `$'.
    */
   if ((pat == 0 || *pat == 0) && (mtype == MATCH_BEG || mtype == MATCH_END))
     {
-      replen = STRLEN (rep);
+      rstr = (mflags & MATCH_EXPREP) ? strcreplace (rep, '&', "", 2) : rep;
+      rslen = STRLEN (rstr);
       l = STRLEN (string);
-      ret = (char *)xmalloc (replen + l + 2);
-      if (replen == 0)
+      ret = (char *)xmalloc (rslen + l + 2);
+      if (rslen == 0)
        strcpy (ret, string);
       else if (mtype == MATCH_BEG)
        {
-         strcpy (ret, rep);
-         strcpy (ret + replen, string);
+         strcpy (ret, rstr);
+         strcpy (ret + rslen, string);
        }
       else
        {
          strcpy (ret, string);
-         strcpy (ret + l, rep);
+         strcpy (ret + l, rstr);
        }
+      if (rstr != rep)
+       free (rstr);
       return (ret);
     }
   else if (*string == 0 && (match_pattern (string, pat, mtype, &s, &e) != 0))
-    {
-      replen = STRLEN (rep);
-      ret = (char *)xmalloc (replen + 1);
-      if (replen == 0)
-       ret[0] = '\0';
-      else
-       strcpy (ret, rep);
-      return (ret);
-    }
+    return ((mflags & MATCH_EXPREP) ? strcreplace (rep, '&', "", 2) : savestring (rep));
 
   ret = (char *)xmalloc (rsize = 64);
   ret[0] = '\0';
@@ -11258,7 +11255,7 @@ add_string:
          {
            t_index = sindex++;
 
-           temp = string_extract (string, &sindex, "`", SX_REQMATCH);
+           temp = string_extract (string, &sindex, "`", (word->flags & W_COMPLETE) ? SX_COMPLETE : SX_REQMATCH);
            /* The test of sindex against t_index is to allow bare instances of
               ` to pass through, for backwards compatibility. */
            if (temp == &extract_string_error || temp == &extract_string_fatal)
diff --git a/test.c b/test.c
index 0b96456a124c651d094129c15f63136e5cd9cff4..9997df149ad8452087638abd34ddd96cede82877 100644 (file)
--- a/test.c
+++ b/test.c
@@ -804,6 +804,7 @@ three_arguments ()
     {
       advance (1);
       value = !two_arguments ();
+      pos = argc;
     }
   else if (argv[pos][0] == '(' && argv[pos+2][0] == ')')
     {
index 475f8b31c1295aef93dca9032458a28ad86247e9..76f32076fb5529fbaf736cc098cd0455c4acd258 100644 (file)
@@ -41,3 +41,5 @@ baz
 foo
 bar
 baz
+<áa>
+<aá>
index c270661c56d05cfe1e17bd934ab3676200cfa94d..15eac5b176b652b2564c1fd27647d81eff6ce1e8 100644 (file)
@@ -62,3 +62,4 @@ ${THIS_SH} ./alias2.sub
 ${THIS_SH} ./alias3.sub
 ${THIS_SH} ./alias4.sub
 ${THIS_SH} ./alias5.sub
+${THIS_SH} ./alias6.sub
diff --git a/tests/alias6.sub b/tests/alias6.sub
new file mode 100644 (file)
index 0000000..d2d7daf
--- /dev/null
@@ -0,0 +1,13 @@
+# make sure aliases that end in multibyte characters don't interfere with the
+# space sentinel alias expansion adds; problem through bash-5.1
+shopt -s expand_aliases
+
+LC_ALL=en_US.UTF-8
+
+alias a1='printf "<%s>\\n" áa'
+a1
+
+alias a2='printf "<%s>\\n" aá'
+a2
+
+unalias a1 a2
index 318e40faefb378a4cd381a5002e6a3f3ae5403d5..3d478713c0586b98b8ef05d544992dccbb332a91 100644 (file)
@@ -19,6 +19,7 @@ argv[1] = <sed> argv[2] = <-e> argv[3] = <s/[^I:]//g>
 argv[1] = <foo\^Jbar>
 argv[1] = <foobar>
 argv[1] = <foo\^Jbar>
+nested
 #esac
 a
 ok 1
@@ -62,5 +63,6 @@ ok 4
 ok 5
 ok 6
 ok 7
+ok 9
 ok 8
 ok 8 
index 7d6c83036c69b9a6a065bb5f0444fbab75cee9e7..2c2107f9fc326dedc27cdf447c0a0cb9173fba2e 100644 (file)
@@ -69,6 +69,13 @@ comsub_foo_1()
   echo $(while true; do case $HOME in /*) echo abs ;; esac; done)
 }
 
+echo $(
+echo $(
+echo $(echo $( echo nested )
+)
+)
+)
+
 ${THIS_SH} ./comsub1.sub
 ${THIS_SH} ./comsub2.sub
 ${THIS_SH} ./comsub3.sub
index 48bf62d4b72a8c14839b0ce530a5038a1f6091c0..cc83374c1fabeea0f6e57c60f6c80c9f6858761e 100644 (file)
@@ -36,6 +36,12 @@ echo "$( nest echo ok 7 ) )"
 
 alias short='echo ok 8 )'
 
+alias DO='{ '
+alias DONE='}'
+got=$(DO
+echo ok 9; DONE)
+echo "$got" 
+
 echo $( short
 echo "$( short "
 
index 3abfc252634400c660c7bfb20acf0dee8599a166..ddf69ed1c3ae64ff44d5550b57958e931836bc91 100644 (file)
@@ -53,16 +53,23 @@ unset before after
 # date +%s should be portable enough now
 # then try gawk, perl, python in that order
 now1=$(date +%s 2>/dev/null) D=date
-[ -z "$now1" ] && now1=$(gawk 'BEGIN { print systime(); }' 2>/dev/null) D=gawk
-[ -z "$now1" ] && now1=$(perl -e 'print time' 2>/dev/null) D=perl
-[ -z "$now1" ] && now1=$(python -c 'import time; ts = int(time.time()); print(ts)' 2>/dev/null) D=python
+[ -z "$now1" ] &&
+{
+       now1=$(gawk 'BEGIN { print systime(); }' 2>/dev/null) D=gawk
+       [ -z "$now1" ] && now1=$(perl -e 'print time' 2>/dev/null) D=perl
+       [ -z "$now1" ] && now1=$(python -c 'import time; ts = int(time.time()); print(ts)' 2>/dev/null) D=python
+}
 now2=$EPOCHSECONDS
 
-case $now1 in
-$now2) echo EPOCHSECONDS ok ;;
-'')    echo "cannot get current time using date/gawk/perl/python" >&2 ;;
-*)     echo "current time via $D and EPOCHSECONDS possible mismatch|$now1|$now2" >&2 ;;
-esac
+# use a window of +-1 second
+offset=1
+if [[ -z $now1 ]]; then
+       echo "cannot get current time using date/gawk/perl/python" >&2
+elif (( $now1 - $offset <= $now2 && $now2 <= $now1 + $offset )); then
+       echo EPOCHSECONDS ok
+else
+       echo "current time via $D and EPOCHSECONDS possible mismatch|$now1|$now2|offset=$offset" >&2
+fi
 unset now1 now2 D
 
 LC_ALL=C               # force decimal point to `.'
index 6e2ed25dd1b9299d822cd040dc11ba72ac590947..0bd88efb9a8fbbf3c56aa84e1a9abda0d22ab10b 100644 (file)
@@ -196,7 +196,13 @@ ok 4
 ok 5
 ./errors8.sub: line 14: set: notanoption: invalid option name
 ok 6
+DEBUG
+./errors9.sub: line 6: [[: ++: syntax error: operand expected (error token is "+")
+DEBUG
+./errors9.sub: line 8: ((: -- : syntax error: operand expected (error token is "- ")
+DEBUG
+./errors9.sub: line 10: ((: -- : syntax error: operand expected (error token is "- ")
 bash: line 1: return: can only `return' from a function or sourced script
 after return
 bash: line 1: return: can only `return' from a function or sourced script
-./errors.tests: line 304: `!!': not a valid identifier
+./errors.tests: line 305: `!!': not a valid identifier
index 5dccdb1e3956a4015ecc7c5504263062be64490b..0880bb556bec6b190686268791b9ab3544fb01cd 100644 (file)
@@ -292,6 +292,7 @@ ${THIS_SH} ./errors7.sub
 ${THIS_SH} -o posix ./errors7.sub
 
 ${THIS_SH} ./errors8.sub
+${THIS_SH} ./errors9.sub
 
 ${THIS_SH} -c 'return ; echo after return' bash
 ${THIS_SH} -o posix -c 'return ; echo after return' bash
diff --git a/tests/errors9.sub b/tests/errors9.sub
new file mode 100644 (file)
index 0000000..3a26704
--- /dev/null
@@ -0,0 +1,14 @@
+trap 'echo DEBUG' DEBUG
+
+# make sure that the right command name appears in the error messages and
+# that the DEBUG trap doesn't overwrite it
+
+[[ ++ -gt 3 ]]
+
+(( -- ))
+
+for (( -- ; ++; -- ))
+do
+       echo bogus
+done
+
index 33da5238a2381ffc7ae053777dd162591c08a618..cc193f66601913a941c0f9280ad9a2d3271dd0e6 100644 (file)
@@ -120,11 +120,12 @@ argv[3] = <ve>
 5: ${x#$pat}
 6: ${y#$'not'}
 7: ${y#'not'}
+./heredoc7.sub: line 17: warning: command substitution: 1 unterminated here-document
 foo bar
 ./heredoc7.sub: line 21: after: command not found
 ./heredoc7.sub: line 29: warning: here-document at line 29 delimited by end-of-file (wanted `EOF')
 ./heredoc7.sub: line 29: foobar: command not found
-./heredoc7.sub: line 29: EOF: command not found
+./heredoc7.sub: line 30: EOF: command not found
 grep: *.c: No such file or directory
 comsub here-string
 ./heredoc.tests: line 156: warning: here-document at line 154 delimited by end-of-file (wanted `EOF')
index 628e3ff8d73085d6e0ed3ae79b1d755b74c7d771..2d4d9b82ee6b252919bcae97361318bc655f951f 100644 (file)
@@ -780,6 +780,14 @@ let\&ee
 let\&ee
 let&ee
 let&ee
+twoone
+&twoone
+onetwo
+one&two
+two
+&two
+otwone
+&twone
 argv[1] = </>
 argv[1] = </>
 
index a48efb8444afa47285a0e4e81d4aafc3df780372..2ed751d34ce48e81df2037ad45eee64f0927409a 100644 (file)
@@ -101,3 +101,20 @@ echo ${var//$pat/"\&"}
 echo ${var//$pat/"$r3"}
 echo ${var//$pat/"&"}
 echo ${var//$pat/$r3}
+
+# these cases provide the same functionality as sed when given a BRE like
+# `^' or `$', or when passed a null input line
+one=one
+null=
+
+echo ${one/#/&two}
+echo ${one/#/\&two}
+
+echo ${one/%/&two}
+echo ${one/%/\&two}
+
+echo ${null/#/&two}
+echo ${null/#/\&two}
+
+echo ${one/#?/&two}
+echo ${one/#?/\&two}
index 391edbbd34902184d75fc3e77cc7d8adbb64f9bd..4be22f4bbadcba480f83865cdfdec0de98009f10 100644 (file)
@@ -220,6 +220,8 @@ t ! -z "$z"
 0
 t ! -n "$z"
 1
+t ! ! "$z"
+0
 t "$zero"
 1
 t ! "$zero"
@@ -272,7 +274,7 @@ b ( 1 = 2
 2
 ./test.tests: line 26: test: too many arguments
 2
-./test.tests: line 431: [: missing `]'
+./test.tests: line 434: [: missing `]'
 2
 ./test.tests: line 26: test: (: unary operator expected
 2
index 03e2754a5d6df36b6f0d0961152c4b1fbdac81bd..df4b850956faf001999d5a33db827a2b5cae0367 100644 (file)
@@ -358,6 +358,9 @@ t ! -z "$z"
 echo 't ! -n "$z"'
 t ! -n "$z"
 
+echo 't ! ! "$z"'
+t ! ! "$z"
+
 zero=
 echo 't "$zero"'
 t "$zero"
index 941a904f3fe6c968aac1225a4d692d5dacb3060d..1a0c2c45c053fcce715ba2fa9095c41488994e70 100644 (file)
@@ -1,6 +1,6 @@
 /* variables.c -- Functions for hacking shell variables. */
 
-/* Copyright (C) 1987-2021 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -330,6 +330,8 @@ static void push_func_var PARAMS((PTR_T));
 static void push_builtin_var PARAMS((PTR_T));
 static void push_exported_var PARAMS((PTR_T));
 
+static void delete_local_contexts PARAMS((VAR_CONTEXT *));
+
 /* This needs to be looked at again. */
 static inline void push_posix_tempvar_internal PARAMS((SHELL_VAR *, int));
 
@@ -5427,10 +5429,8 @@ pop_var_context ()
     internal_error (_("pop_var_context: no global_variables context"));
 }
 
-/* Delete the HASH_TABLEs for all variable contexts beginning at VCXT, and
-   all of the VAR_CONTEXTs except GLOBAL_VARIABLES. */
-void
-delete_all_contexts (vcxt)
+static void
+delete_local_contexts (vcxt)
      VAR_CONTEXT *vcxt;
 {
   VAR_CONTEXT *v, *t;
@@ -5439,12 +5439,30 @@ delete_all_contexts (vcxt)
     {
       t = v->down;
       dispose_var_context (v);
-    }    
+    }
+}
 
+/* Delete the HASH_TABLEs for all variable contexts beginning at VCXT, and
+   all of the VAR_CONTEXTs except GLOBAL_VARIABLES. */
+void
+delete_all_contexts (vcxt)
+     VAR_CONTEXT *vcxt;
+{
+  delete_local_contexts (vcxt);
   delete_all_variables (global_variables->table);
   shell_variables = global_variables;
 }
 
+/* Reset the context so we are not executing in a shell function. Only call
+   this if you are getting ready to exit the shell. */
+void
+reset_local_contexts ()
+{
+  delete_local_contexts (shell_variables);
+  shell_variables = global_variables;
+  variable_context = 0;
+}
+
 /* **************************************************************** */
 /*                                                                 */
 /*        Pushing and Popping temporary variable scopes            */
index d49ed0fba34be44ef71d1b2a7fc8bb4c6e49f508..55f497de062736a0d052d0706709115bed48b32b 100644 (file)
@@ -1,6 +1,6 @@
 /* variables.h -- data structures for shell variables. */
 
-/* Copyright (C) 1987-2021 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2022 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -335,8 +335,10 @@ extern int unbind_function_def PARAMS((const char *));
 extern int delete_var PARAMS((const char *, VAR_CONTEXT *));
 extern int makunbound PARAMS((const char *, VAR_CONTEXT *));
 extern int kill_local_variable PARAMS((const char *));
+
 extern void delete_all_variables PARAMS((HASH_TABLE *));
 extern void delete_all_contexts PARAMS((VAR_CONTEXT *));
+extern void reset_local_contexts PARAMS((void));
 
 extern VAR_CONTEXT *new_var_context PARAMS((char *, int));
 extern void dispose_var_context PARAMS((VAR_CONTEXT *));
diff --git a/y.tab.c b/y.tab.c
index 0d5a3e6e5c3f93ae87b1cdd1ddccb492a9d0a34d..8e4a1ecdc40837ba20470ad7f638fcfc2193f92b 100644 (file)
--- a/y.tab.c
+++ b/y.tab.c
@@ -164,6 +164,16 @@ typedef void *alias_t;
 #  define MBTEST(x)    ((x))
 #endif
 
+#define EXTEND_SHELL_INPUT_LINE_PROPERTY() \
+do { \
+    if (shell_input_line_len + 2 > shell_input_line_propsize) \
+      { \
+       shell_input_line_propsize = shell_input_line_len + 2; \
+       shell_input_line_property = (char *)xrealloc (shell_input_line_property, \
+                                   shell_input_line_propsize); \
+      } \
+} while (0)
+
 #if defined (EXTENDED_GLOB)
 extern int extended_glob;
 #endif
@@ -374,7 +384,7 @@ static REDIRECTEE redir;
 static FILE *yyoutstream;
 static FILE *yyerrstream;
 
-#line 378 "y.tab.c"
+#line 388 "y.tab.c"
 
 # ifndef YY_CAST
 #  ifdef __cplusplus
@@ -527,7 +537,7 @@ extern int yydebug;
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 union YYSTYPE
 {
-#line 328 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 338 "/usr/local/src/chet/src/bash/src/parse.y"
 
   WORD_DESC *word;             /* the word that we read. */
   int number;                  /* the number that we read. */
@@ -537,7 +547,7 @@ union YYSTYPE
   ELEMENT element;
   PATTERN_LIST *pattern;
 
-#line 541 "y.tab.c"
+#line 551 "y.tab.c"
 
 };
 typedef union YYSTYPE YYSTYPE;
@@ -1047,24 +1057,24 @@ static const yytype_int8 yytranslate[] =
 /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_int16 yyrline[] =
 {
-       0,   385,   385,   396,   404,   413,   428,   445,   455,   457,
-     461,   467,   473,   479,   485,   491,   497,   503,   509,   515,
-     521,   527,   533,   539,   545,   551,   558,   565,   572,   579,
-     586,   593,   599,   605,   611,   617,   623,   629,   635,   641,
-     647,   653,   659,   665,   671,   677,   683,   689,   695,   701,
-     707,   713,   719,   725,   733,   735,   737,   741,   745,   756,
-     758,   762,   764,   766,   782,   784,   788,   790,   792,   794,
-     796,   798,   800,   802,   804,   806,   808,   812,   817,   822,
-     827,   832,   837,   842,   847,   854,   860,   866,   872,   880,
-     885,   890,   895,   900,   905,   910,   915,   922,   927,   932,
-     939,   941,   943,   945,   949,   951,   982,   989,   993,   999,
-    1004,  1021,  1026,  1043,  1050,  1052,  1054,  1059,  1063,  1067,
-    1071,  1073,  1075,  1079,  1080,  1084,  1086,  1088,  1090,  1094,
-    1096,  1098,  1100,  1102,  1104,  1108,  1110,  1119,  1125,  1131,
-    1132,  1139,  1143,  1145,  1147,  1154,  1156,  1158,  1162,  1163,
-    1166,  1168,  1170,  1174,  1175,  1184,  1199,  1217,  1234,  1236,
-    1238,  1245,  1248,  1252,  1254,  1260,  1266,  1286,  1309,  1311,
-    1334,  1338,  1340,  1342,  1344
+       0,   395,   395,   406,   414,   423,   438,   455,   465,   467,
+     471,   477,   483,   489,   495,   501,   507,   513,   519,   525,
+     531,   537,   543,   549,   555,   561,   568,   575,   582,   589,
+     596,   603,   609,   615,   621,   627,   633,   639,   645,   651,
+     657,   663,   669,   675,   681,   687,   693,   699,   705,   711,
+     717,   723,   729,   735,   743,   745,   747,   751,   755,   766,
+     768,   772,   774,   776,   792,   794,   798,   800,   802,   804,
+     806,   808,   810,   812,   814,   816,   818,   822,   827,   832,
+     837,   842,   847,   852,   857,   864,   870,   876,   882,   890,
+     895,   900,   905,   910,   915,   920,   925,   932,   937,   942,
+     949,   951,   953,   955,   959,   961,   992,   999,  1003,  1009,
+    1014,  1031,  1036,  1053,  1060,  1062,  1064,  1069,  1073,  1077,
+    1081,  1083,  1085,  1089,  1090,  1094,  1096,  1098,  1100,  1104,
+    1106,  1108,  1110,  1112,  1114,  1118,  1120,  1129,  1135,  1141,
+    1142,  1149,  1153,  1155,  1157,  1164,  1166,  1173,  1177,  1178,
+    1181,  1183,  1185,  1189,  1190,  1199,  1214,  1232,  1249,  1251,
+    1253,  1260,  1263,  1267,  1269,  1275,  1281,  1301,  1324,  1326,
+    1349,  1353,  1355,  1357,  1359
 };
 #endif
 
@@ -1929,7 +1939,7 @@ yyreduce:
   switch (yyn)
     {
   case 2: /* inputunit: simple_list simple_list_terminator  */
-#line 386 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 396 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          /* Case of regular command.  Discard the error
                             safety net,and return the command just parsed. */
@@ -1940,11 +1950,11 @@ yyreduce:
                            parser_state |= PST_EOFTOKEN;
                          YYACCEPT;
                        }
-#line 1944 "y.tab.c"
+#line 1954 "y.tab.c"
     break;
 
   case 3: /* inputunit: comsub  */
-#line 397 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 407 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          /* This is special; look at the production and how
                             parse_comsub sets token_to_read */
@@ -1952,11 +1962,11 @@ yyreduce:
                          eof_encountered = 0;
                          YYACCEPT;
                        }
-#line 1956 "y.tab.c"
+#line 1966 "y.tab.c"
     break;
 
   case 4: /* inputunit: '\n'  */
-#line 405 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 415 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          /* Case of regular command, but not a very
                             interesting one.  Return a NULL command. */
@@ -1965,11 +1975,11 @@ yyreduce:
                            parser_state |= PST_EOFTOKEN;
                          YYACCEPT;
                        }
-#line 1969 "y.tab.c"
+#line 1979 "y.tab.c"
     break;
 
   case 5: /* inputunit: error '\n'  */
-#line 414 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 424 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          /* Error during parsing.  Return NULL command. */
                          global_command = (COMMAND *)NULL;
@@ -1984,11 +1994,11 @@ yyreduce:
                              YYABORT;
                            }
                        }
-#line 1988 "y.tab.c"
+#line 1998 "y.tab.c"
     break;
 
   case 6: /* inputunit: error yacc_EOF  */
-#line 429 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 439 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          /* EOF after an error.  Do ignoreeof or not.  Really
                             only interesting in non-interactive shells */
@@ -2005,11 +2015,11 @@ yyreduce:
                              YYABORT;
                            }
                        }
-#line 2009 "y.tab.c"
+#line 2019 "y.tab.c"
     break;
 
   case 7: /* inputunit: yacc_EOF  */
-#line 446 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 456 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          /* Case of EOF seen by itself.  Do ignoreeof or
                             not. */
@@ -2017,495 +2027,495 @@ yyreduce:
                          handle_eof_input_unit ();
                          YYACCEPT;
                        }
-#line 2021 "y.tab.c"
+#line 2031 "y.tab.c"
     break;
 
   case 8: /* word_list: WORD  */
-#line 456 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 466 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.word_list) = make_word_list ((yyvsp[0].word), (WORD_LIST *)NULL); }
-#line 2027 "y.tab.c"
+#line 2037 "y.tab.c"
     break;
 
   case 9: /* word_list: word_list WORD  */
-#line 458 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 468 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.word_list) = make_word_list ((yyvsp[0].word), (yyvsp[-1].word_list)); }
-#line 2033 "y.tab.c"
+#line 2043 "y.tab.c"
     break;
 
   case 10: /* redirection: '>' WORD  */
-#line 462 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 472 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 1;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_output_direction, redir, 0);
                        }
-#line 2043 "y.tab.c"
+#line 2053 "y.tab.c"
     break;
 
   case 11: /* redirection: '<' WORD  */
-#line 468 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 478 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 0;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_input_direction, redir, 0);
                        }
-#line 2053 "y.tab.c"
+#line 2063 "y.tab.c"
     break;
 
   case 12: /* redirection: NUMBER '>' WORD  */
-#line 474 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 484 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_output_direction, redir, 0);
                        }
-#line 2063 "y.tab.c"
+#line 2073 "y.tab.c"
     break;
 
   case 13: /* redirection: NUMBER '<' WORD  */
-#line 480 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 490 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_input_direction, redir, 0);
                        }
-#line 2073 "y.tab.c"
+#line 2083 "y.tab.c"
     break;
 
   case 14: /* redirection: REDIR_WORD '>' WORD  */
-#line 486 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 496 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_output_direction, redir, REDIR_VARASSIGN);
                        }
-#line 2083 "y.tab.c"
+#line 2093 "y.tab.c"
     break;
 
   case 15: /* redirection: REDIR_WORD '<' WORD  */
-#line 492 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 502 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_input_direction, redir, REDIR_VARASSIGN);
                        }
-#line 2093 "y.tab.c"
+#line 2103 "y.tab.c"
     break;
 
   case 16: /* redirection: GREATER_GREATER WORD  */
-#line 498 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 508 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 1;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_appending_to, redir, 0);
                        }
-#line 2103 "y.tab.c"
+#line 2113 "y.tab.c"
     break;
 
   case 17: /* redirection: NUMBER GREATER_GREATER WORD  */
-#line 504 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 514 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_appending_to, redir, 0);
                        }
-#line 2113 "y.tab.c"
+#line 2123 "y.tab.c"
     break;
 
   case 18: /* redirection: REDIR_WORD GREATER_GREATER WORD  */
-#line 510 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 520 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_appending_to, redir, REDIR_VARASSIGN);
                        }
-#line 2123 "y.tab.c"
+#line 2133 "y.tab.c"
     break;
 
   case 19: /* redirection: GREATER_BAR WORD  */
-#line 516 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 526 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 1;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_output_force, redir, 0);
                        }
-#line 2133 "y.tab.c"
+#line 2143 "y.tab.c"
     break;
 
   case 20: /* redirection: NUMBER GREATER_BAR WORD  */
-#line 522 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 532 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_output_force, redir, 0);
                        }
-#line 2143 "y.tab.c"
+#line 2153 "y.tab.c"
     break;
 
   case 21: /* redirection: REDIR_WORD GREATER_BAR WORD  */
-#line 528 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 538 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_output_force, redir, REDIR_VARASSIGN);
                        }
-#line 2153 "y.tab.c"
+#line 2163 "y.tab.c"
     break;
 
   case 22: /* redirection: LESS_GREATER WORD  */
-#line 534 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 544 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 0;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_input_output, redir, 0);
                        }
-#line 2163 "y.tab.c"
+#line 2173 "y.tab.c"
     break;
 
   case 23: /* redirection: NUMBER LESS_GREATER WORD  */
-#line 540 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 550 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_input_output, redir, 0);
                        }
-#line 2173 "y.tab.c"
+#line 2183 "y.tab.c"
     break;
 
   case 24: /* redirection: REDIR_WORD LESS_GREATER WORD  */
-#line 546 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 556 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_input_output, redir, REDIR_VARASSIGN);
                        }
-#line 2183 "y.tab.c"
+#line 2193 "y.tab.c"
     break;
 
   case 25: /* redirection: LESS_LESS WORD  */
-#line 552 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 562 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 0;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
                          push_heredoc ((yyval.redirect));
                        }
-#line 2194 "y.tab.c"
+#line 2204 "y.tab.c"
     break;
 
   case 26: /* redirection: NUMBER LESS_LESS WORD  */
-#line 559 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 569 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
                          push_heredoc ((yyval.redirect));
                        }
-#line 2205 "y.tab.c"
+#line 2215 "y.tab.c"
     break;
 
   case 27: /* redirection: REDIR_WORD LESS_LESS WORD  */
-#line 566 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 576 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
                          push_heredoc ((yyval.redirect));
                        }
-#line 2216 "y.tab.c"
+#line 2226 "y.tab.c"
     break;
 
   case 28: /* redirection: LESS_LESS_MINUS WORD  */
-#line 573 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 583 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 0;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
                          push_heredoc ((yyval.redirect));
                        }
-#line 2227 "y.tab.c"
+#line 2237 "y.tab.c"
     break;
 
   case 29: /* redirection: NUMBER LESS_LESS_MINUS WORD  */
-#line 580 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 590 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
                          push_heredoc ((yyval.redirect));
                        }
-#line 2238 "y.tab.c"
+#line 2248 "y.tab.c"
     break;
 
   case 30: /* redirection: REDIR_WORD LESS_LESS_MINUS WORD  */
-#line 587 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 597 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
                          push_heredoc ((yyval.redirect));
                        }
-#line 2249 "y.tab.c"
+#line 2259 "y.tab.c"
     break;
 
   case 31: /* redirection: LESS_LESS_LESS WORD  */
-#line 594 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 604 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 0;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_reading_string, redir, 0);
                        }
-#line 2259 "y.tab.c"
+#line 2269 "y.tab.c"
     break;
 
   case 32: /* redirection: NUMBER LESS_LESS_LESS WORD  */
-#line 600 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 610 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_reading_string, redir, 0);
                        }
-#line 2269 "y.tab.c"
+#line 2279 "y.tab.c"
     break;
 
   case 33: /* redirection: REDIR_WORD LESS_LESS_LESS WORD  */
-#line 606 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 616 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_reading_string, redir, REDIR_VARASSIGN);
                        }
-#line 2279 "y.tab.c"
+#line 2289 "y.tab.c"
     break;
 
   case 34: /* redirection: LESS_AND NUMBER  */
-#line 612 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 622 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 0;
                          redir.dest = (yyvsp[0].number);
                          (yyval.redirect) = make_redirection (source, r_duplicating_input, redir, 0);
                        }
-#line 2289 "y.tab.c"
+#line 2299 "y.tab.c"
     break;
 
   case 35: /* redirection: NUMBER LESS_AND NUMBER  */
-#line 618 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 628 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.dest = (yyvsp[0].number);
                          (yyval.redirect) = make_redirection (source, r_duplicating_input, redir, 0);
                        }
-#line 2299 "y.tab.c"
+#line 2309 "y.tab.c"
     break;
 
   case 36: /* redirection: REDIR_WORD LESS_AND NUMBER  */
-#line 624 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 634 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.dest = (yyvsp[0].number);
                          (yyval.redirect) = make_redirection (source, r_duplicating_input, redir, REDIR_VARASSIGN);
                        }
-#line 2309 "y.tab.c"
+#line 2319 "y.tab.c"
     break;
 
   case 37: /* redirection: GREATER_AND NUMBER  */
-#line 630 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 640 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 1;
                          redir.dest = (yyvsp[0].number);
                          (yyval.redirect) = make_redirection (source, r_duplicating_output, redir, 0);
                        }
-#line 2319 "y.tab.c"
+#line 2329 "y.tab.c"
     break;
 
   case 38: /* redirection: NUMBER GREATER_AND NUMBER  */
-#line 636 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 646 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.dest = (yyvsp[0].number);
                          (yyval.redirect) = make_redirection (source, r_duplicating_output, redir, 0);
                        }
-#line 2329 "y.tab.c"
+#line 2339 "y.tab.c"
     break;
 
   case 39: /* redirection: REDIR_WORD GREATER_AND NUMBER  */
-#line 642 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 652 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.dest = (yyvsp[0].number);
                          (yyval.redirect) = make_redirection (source, r_duplicating_output, redir, REDIR_VARASSIGN);
                        }
-#line 2339 "y.tab.c"
+#line 2349 "y.tab.c"
     break;
 
   case 40: /* redirection: LESS_AND WORD  */
-#line 648 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 658 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 0;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_duplicating_input_word, redir, 0);
                        }
-#line 2349 "y.tab.c"
+#line 2359 "y.tab.c"
     break;
 
   case 41: /* redirection: NUMBER LESS_AND WORD  */
-#line 654 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 664 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_duplicating_input_word, redir, 0);
                        }
-#line 2359 "y.tab.c"
+#line 2369 "y.tab.c"
     break;
 
   case 42: /* redirection: REDIR_WORD LESS_AND WORD  */
-#line 660 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 670 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_duplicating_input_word, redir, REDIR_VARASSIGN);
                        }
-#line 2369 "y.tab.c"
+#line 2379 "y.tab.c"
     break;
 
   case 43: /* redirection: GREATER_AND WORD  */
-#line 666 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 676 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 1;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_duplicating_output_word, redir, 0);
                        }
-#line 2379 "y.tab.c"
+#line 2389 "y.tab.c"
     break;
 
   case 44: /* redirection: NUMBER GREATER_AND WORD  */
-#line 672 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 682 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_duplicating_output_word, redir, 0);
                        }
-#line 2389 "y.tab.c"
+#line 2399 "y.tab.c"
     break;
 
   case 45: /* redirection: REDIR_WORD GREATER_AND WORD  */
-#line 678 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 688 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_duplicating_output_word, redir, REDIR_VARASSIGN);
                        }
-#line 2399 "y.tab.c"
+#line 2409 "y.tab.c"
     break;
 
   case 46: /* redirection: GREATER_AND '-'  */
-#line 684 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 694 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 1;
                          redir.dest = 0;
                          (yyval.redirect) = make_redirection (source, r_close_this, redir, 0);
                        }
-#line 2409 "y.tab.c"
+#line 2419 "y.tab.c"
     break;
 
   case 47: /* redirection: NUMBER GREATER_AND '-'  */
-#line 690 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 700 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.dest = 0;
                          (yyval.redirect) = make_redirection (source, r_close_this, redir, 0);
                        }
-#line 2419 "y.tab.c"
+#line 2429 "y.tab.c"
     break;
 
   case 48: /* redirection: REDIR_WORD GREATER_AND '-'  */
-#line 696 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 706 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.dest = 0;
                          (yyval.redirect) = make_redirection (source, r_close_this, redir, REDIR_VARASSIGN);
                        }
-#line 2429 "y.tab.c"
+#line 2439 "y.tab.c"
     break;
 
   case 49: /* redirection: LESS_AND '-'  */
-#line 702 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 712 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 0;
                          redir.dest = 0;
                          (yyval.redirect) = make_redirection (source, r_close_this, redir, 0);
                        }
-#line 2439 "y.tab.c"
+#line 2449 "y.tab.c"
     break;
 
   case 50: /* redirection: NUMBER LESS_AND '-'  */
-#line 708 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 718 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = (yyvsp[-2].number);
                          redir.dest = 0;
                          (yyval.redirect) = make_redirection (source, r_close_this, redir, 0);
                        }
-#line 2449 "y.tab.c"
+#line 2459 "y.tab.c"
     break;
 
   case 51: /* redirection: REDIR_WORD LESS_AND '-'  */
-#line 714 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 724 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.filename = (yyvsp[-2].word);
                          redir.dest = 0;
                          (yyval.redirect) = make_redirection (source, r_close_this, redir, REDIR_VARASSIGN);
                        }
-#line 2459 "y.tab.c"
+#line 2469 "y.tab.c"
     break;
 
   case 52: /* redirection: AND_GREATER WORD  */
-#line 720 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 730 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 1;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_err_and_out, redir, 0);
                        }
-#line 2469 "y.tab.c"
+#line 2479 "y.tab.c"
     break;
 
   case 53: /* redirection: AND_GREATER_GREATER WORD  */
-#line 726 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 736 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          source.dest = 1;
                          redir.filename = (yyvsp[0].word);
                          (yyval.redirect) = make_redirection (source, r_append_err_and_out, redir, 0);
                        }
-#line 2479 "y.tab.c"
+#line 2489 "y.tab.c"
     break;
 
   case 54: /* simple_command_element: WORD  */
-#line 734 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 744 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.element).word = (yyvsp[0].word); (yyval.element).redirect = 0; }
-#line 2485 "y.tab.c"
+#line 2495 "y.tab.c"
     break;
 
   case 55: /* simple_command_element: ASSIGNMENT_WORD  */
-#line 736 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 746 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.element).word = (yyvsp[0].word); (yyval.element).redirect = 0; }
-#line 2491 "y.tab.c"
+#line 2501 "y.tab.c"
     break;
 
   case 56: /* simple_command_element: redirection  */
-#line 738 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 748 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.element).redirect = (yyvsp[0].redirect); (yyval.element).word = 0; }
-#line 2497 "y.tab.c"
+#line 2507 "y.tab.c"
     break;
 
   case 57: /* redirection_list: redirection  */
-#line 742 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 752 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.redirect) = (yyvsp[0].redirect);
                        }
-#line 2505 "y.tab.c"
+#line 2515 "y.tab.c"
     break;
 
   case 58: /* redirection_list: redirection_list redirection  */
-#line 746 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 756 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          register REDIRECT *t;
 
@@ -2514,35 +2524,35 @@ yyreduce:
                          t->next = (yyvsp[0].redirect);
                          (yyval.redirect) = (yyvsp[-1].redirect);
                        }
-#line 2518 "y.tab.c"
+#line 2528 "y.tab.c"
     break;
 
   case 59: /* simple_command: simple_command_element  */
-#line 757 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 767 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_simple_command ((yyvsp[0].element), (COMMAND *)NULL); }
-#line 2524 "y.tab.c"
+#line 2534 "y.tab.c"
     break;
 
   case 60: /* simple_command: simple_command simple_command_element  */
-#line 759 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 769 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_simple_command ((yyvsp[0].element), (yyvsp[-1].command)); }
-#line 2530 "y.tab.c"
+#line 2540 "y.tab.c"
     break;
 
   case 61: /* command: simple_command  */
-#line 763 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 773 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = clean_simple_command ((yyvsp[0].command)); }
-#line 2536 "y.tab.c"
+#line 2546 "y.tab.c"
     break;
 
   case 62: /* command: shell_command  */
-#line 765 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 775 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2542 "y.tab.c"
+#line 2552 "y.tab.c"
     break;
 
   case 63: /* command: shell_command redirection_list  */
-#line 767 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 777 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          COMMAND *tc;
 
@@ -2558,330 +2568,330 @@ yyreduce:
                            tc->redirects = (yyvsp[0].redirect);
                          (yyval.command) = (yyvsp[-1].command);
                        }
-#line 2562 "y.tab.c"
+#line 2572 "y.tab.c"
     break;
 
   case 64: /* command: function_def  */
-#line 783 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 793 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2568 "y.tab.c"
+#line 2578 "y.tab.c"
     break;
 
   case 65: /* command: coproc  */
-#line 785 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 795 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2574 "y.tab.c"
+#line 2584 "y.tab.c"
     break;
 
   case 66: /* shell_command: for_command  */
-#line 789 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 799 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2580 "y.tab.c"
+#line 2590 "y.tab.c"
     break;
 
   case 67: /* shell_command: case_command  */
-#line 791 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 801 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2586 "y.tab.c"
+#line 2596 "y.tab.c"
     break;
 
   case 68: /* shell_command: WHILE compound_list DO compound_list DONE  */
-#line 793 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 803 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_while_command ((yyvsp[-3].command), (yyvsp[-1].command)); }
-#line 2592 "y.tab.c"
+#line 2602 "y.tab.c"
     break;
 
   case 69: /* shell_command: UNTIL compound_list DO compound_list DONE  */
-#line 795 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 805 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_until_command ((yyvsp[-3].command), (yyvsp[-1].command)); }
-#line 2598 "y.tab.c"
+#line 2608 "y.tab.c"
     break;
 
   case 70: /* shell_command: select_command  */
-#line 797 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 807 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2604 "y.tab.c"
+#line 2614 "y.tab.c"
     break;
 
   case 71: /* shell_command: if_command  */
-#line 799 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 809 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2610 "y.tab.c"
+#line 2620 "y.tab.c"
     break;
 
   case 72: /* shell_command: subshell  */
-#line 801 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 811 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2616 "y.tab.c"
+#line 2626 "y.tab.c"
     break;
 
   case 73: /* shell_command: group_command  */
-#line 803 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 813 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2622 "y.tab.c"
+#line 2632 "y.tab.c"
     break;
 
   case 74: /* shell_command: arith_command  */
-#line 805 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 815 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2628 "y.tab.c"
+#line 2638 "y.tab.c"
     break;
 
   case 75: /* shell_command: cond_command  */
-#line 807 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 817 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2634 "y.tab.c"
+#line 2644 "y.tab.c"
     break;
 
   case 76: /* shell_command: arith_for_command  */
-#line 809 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 819 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2640 "y.tab.c"
+#line 2650 "y.tab.c"
     break;
 
   case 77: /* for_command: FOR WORD newline_list DO compound_list DONE  */
-#line 813 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 823 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_for_command ((yyvsp[-4].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2649 "y.tab.c"
+#line 2659 "y.tab.c"
     break;
 
   case 78: /* for_command: FOR WORD newline_list '{' compound_list '}'  */
-#line 818 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 828 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_for_command ((yyvsp[-4].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2658 "y.tab.c"
+#line 2668 "y.tab.c"
     break;
 
   case 79: /* for_command: FOR WORD ';' newline_list DO compound_list DONE  */
-#line 823 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 833 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_for_command ((yyvsp[-5].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2667 "y.tab.c"
+#line 2677 "y.tab.c"
     break;
 
   case 80: /* for_command: FOR WORD ';' newline_list '{' compound_list '}'  */
-#line 828 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 838 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_for_command ((yyvsp[-5].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2676 "y.tab.c"
+#line 2686 "y.tab.c"
     break;
 
   case 81: /* for_command: FOR WORD newline_list IN word_list list_terminator newline_list DO compound_list DONE  */
-#line 833 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 843 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_for_command ((yyvsp[-8].word), REVERSE_LIST ((yyvsp[-5].word_list), WORD_LIST *), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2685 "y.tab.c"
+#line 2695 "y.tab.c"
     break;
 
   case 82: /* for_command: FOR WORD newline_list IN word_list list_terminator newline_list '{' compound_list '}'  */
-#line 838 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 848 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_for_command ((yyvsp[-8].word), REVERSE_LIST ((yyvsp[-5].word_list), WORD_LIST *), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2694 "y.tab.c"
+#line 2704 "y.tab.c"
     break;
 
   case 83: /* for_command: FOR WORD newline_list IN list_terminator newline_list DO compound_list DONE  */
-#line 843 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 853 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_for_command ((yyvsp[-7].word), (WORD_LIST *)NULL, (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2703 "y.tab.c"
+#line 2713 "y.tab.c"
     break;
 
   case 84: /* for_command: FOR WORD newline_list IN list_terminator newline_list '{' compound_list '}'  */
-#line 848 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 858 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_for_command ((yyvsp[-7].word), (WORD_LIST *)NULL, (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2712 "y.tab.c"
+#line 2722 "y.tab.c"
     break;
 
   case 85: /* arith_for_command: FOR ARITH_FOR_EXPRS list_terminator newline_list DO compound_list DONE  */
-#line 855 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 865 "/usr/local/src/chet/src/bash/src/parse.y"
                                 {
                                  (yyval.command) = make_arith_for_command ((yyvsp[-5].word_list), (yyvsp[-1].command), arith_for_lineno);
                                  if ((yyval.command) == 0) YYERROR;
                                  if (word_top > 0) word_top--;
                                }
-#line 2722 "y.tab.c"
+#line 2732 "y.tab.c"
     break;
 
   case 86: /* arith_for_command: FOR ARITH_FOR_EXPRS list_terminator newline_list '{' compound_list '}'  */
-#line 861 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 871 "/usr/local/src/chet/src/bash/src/parse.y"
                                 {
                                  (yyval.command) = make_arith_for_command ((yyvsp[-5].word_list), (yyvsp[-1].command), arith_for_lineno);
                                  if ((yyval.command) == 0) YYERROR;
                                  if (word_top > 0) word_top--;
                                }
-#line 2732 "y.tab.c"
+#line 2742 "y.tab.c"
     break;
 
   case 87: /* arith_for_command: FOR ARITH_FOR_EXPRS DO compound_list DONE  */
-#line 867 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 877 "/usr/local/src/chet/src/bash/src/parse.y"
                                 {
                                  (yyval.command) = make_arith_for_command ((yyvsp[-3].word_list), (yyvsp[-1].command), arith_for_lineno);
                                  if ((yyval.command) == 0) YYERROR;
                                  if (word_top > 0) word_top--;
                                }
-#line 2742 "y.tab.c"
+#line 2752 "y.tab.c"
     break;
 
   case 88: /* arith_for_command: FOR ARITH_FOR_EXPRS '{' compound_list '}'  */
-#line 873 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 883 "/usr/local/src/chet/src/bash/src/parse.y"
                                 {
                                  (yyval.command) = make_arith_for_command ((yyvsp[-3].word_list), (yyvsp[-1].command), arith_for_lineno);
                                  if ((yyval.command) == 0) YYERROR;
                                  if (word_top > 0) word_top--;
                                }
-#line 2752 "y.tab.c"
+#line 2762 "y.tab.c"
     break;
 
   case 89: /* select_command: SELECT WORD newline_list DO compound_list DONE  */
-#line 881 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 891 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_select_command ((yyvsp[-4].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2761 "y.tab.c"
+#line 2771 "y.tab.c"
     break;
 
   case 90: /* select_command: SELECT WORD newline_list '{' compound_list '}'  */
-#line 886 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 896 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_select_command ((yyvsp[-4].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2770 "y.tab.c"
+#line 2780 "y.tab.c"
     break;
 
   case 91: /* select_command: SELECT WORD ';' newline_list DO compound_list DONE  */
-#line 891 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 901 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_select_command ((yyvsp[-5].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2779 "y.tab.c"
+#line 2789 "y.tab.c"
     break;
 
   case 92: /* select_command: SELECT WORD ';' newline_list '{' compound_list '}'  */
-#line 896 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 906 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_select_command ((yyvsp[-5].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2788 "y.tab.c"
+#line 2798 "y.tab.c"
     break;
 
   case 93: /* select_command: SELECT WORD newline_list IN word_list list_terminator newline_list DO compound_list DONE  */
-#line 901 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 911 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_select_command ((yyvsp[-8].word), REVERSE_LIST ((yyvsp[-5].word_list), WORD_LIST *), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2797 "y.tab.c"
+#line 2807 "y.tab.c"
     break;
 
   case 94: /* select_command: SELECT WORD newline_list IN word_list list_terminator newline_list '{' compound_list '}'  */
-#line 906 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 916 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_select_command ((yyvsp[-8].word), REVERSE_LIST ((yyvsp[-5].word_list), WORD_LIST *), (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2806 "y.tab.c"
+#line 2816 "y.tab.c"
     break;
 
   case 95: /* select_command: SELECT WORD newline_list IN list_terminator newline_list DO compound_list DONE  */
-#line 911 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 921 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_select_command ((yyvsp[-7].word), (WORD_LIST *)NULL, (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2815 "y.tab.c"
+#line 2825 "y.tab.c"
     break;
 
   case 96: /* select_command: SELECT WORD newline_list IN list_terminator newline_list '{' compound_list '}'  */
-#line 916 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 926 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_select_command ((yyvsp[-7].word), (WORD_LIST *)NULL, (yyvsp[-1].command), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2824 "y.tab.c"
+#line 2834 "y.tab.c"
     break;
 
   case 97: /* case_command: CASE WORD newline_list IN newline_list ESAC  */
-#line 923 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 933 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_case_command ((yyvsp[-4].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2833 "y.tab.c"
+#line 2843 "y.tab.c"
     break;
 
   case 98: /* case_command: CASE WORD newline_list IN case_clause_sequence newline_list ESAC  */
-#line 928 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 938 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_case_command ((yyvsp[-5].word), (yyvsp[-2].pattern), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2842 "y.tab.c"
+#line 2852 "y.tab.c"
     break;
 
   case 99: /* case_command: CASE WORD newline_list IN case_clause ESAC  */
-#line 933 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 943 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_case_command ((yyvsp[-4].word), (yyvsp[-1].pattern), word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
-#line 2851 "y.tab.c"
+#line 2861 "y.tab.c"
     break;
 
   case 100: /* function_def: WORD '(' ')' newline_list function_body  */
-#line 940 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 950 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_function_def ((yyvsp[-4].word), (yyvsp[0].command), function_dstart, function_bstart); }
-#line 2857 "y.tab.c"
+#line 2867 "y.tab.c"
     break;
 
   case 101: /* function_def: FUNCTION WORD '(' ')' newline_list function_body  */
-#line 942 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 952 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_function_def ((yyvsp[-4].word), (yyvsp[0].command), function_dstart, function_bstart); }
-#line 2863 "y.tab.c"
+#line 2873 "y.tab.c"
     break;
 
   case 102: /* function_def: FUNCTION WORD function_body  */
-#line 944 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 954 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_function_def ((yyvsp[-1].word), (yyvsp[0].command), function_dstart, function_bstart); }
-#line 2869 "y.tab.c"
+#line 2879 "y.tab.c"
     break;
 
   case 103: /* function_def: FUNCTION WORD '\n' newline_list function_body  */
-#line 946 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 956 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_function_def ((yyvsp[-3].word), (yyvsp[0].command), function_dstart, function_bstart); }
-#line 2875 "y.tab.c"
+#line 2885 "y.tab.c"
     break;
 
   case 104: /* function_body: shell_command  */
-#line 950 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 960 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 2881 "y.tab.c"
+#line 2891 "y.tab.c"
     break;
 
   case 105: /* function_body: shell_command redirection_list  */
-#line 952 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 962 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          COMMAND *tc;
 
@@ -2910,45 +2920,45 @@ yyreduce:
                            tc->redirects = (yyvsp[0].redirect);
                          (yyval.command) = (yyvsp[-1].command);
                        }
-#line 2914 "y.tab.c"
+#line 2924 "y.tab.c"
     break;
 
   case 106: /* subshell: '(' compound_list ')'  */
-#line 983 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 993 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_subshell_command ((yyvsp[-1].command));
                          (yyval.command)->flags |= CMD_WANT_SUBSHELL;
                        }
-#line 2923 "y.tab.c"
+#line 2933 "y.tab.c"
     break;
 
   case 107: /* comsub: DOLPAREN compound_list ')'  */
-#line 990 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1000 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = (yyvsp[-1].command);
                        }
-#line 2931 "y.tab.c"
+#line 2941 "y.tab.c"
     break;
 
   case 108: /* comsub: DOLPAREN newline_list ')'  */
-#line 994 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1004 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = (COMMAND *)NULL;
                        }
-#line 2939 "y.tab.c"
+#line 2949 "y.tab.c"
     break;
 
   case 109: /* coproc: COPROC shell_command  */
-#line 1000 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1010 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_coproc_command ("COPROC", (yyvsp[0].command));
                          (yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
                        }
-#line 2948 "y.tab.c"
+#line 2958 "y.tab.c"
     break;
 
   case 110: /* coproc: COPROC shell_command redirection_list  */
-#line 1005 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1015 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          COMMAND *tc;
 
@@ -2965,20 +2975,20 @@ yyreduce:
                          (yyval.command) = make_coproc_command ("COPROC", (yyvsp[-1].command));
                          (yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
                        }
-#line 2969 "y.tab.c"
+#line 2979 "y.tab.c"
     break;
 
   case 111: /* coproc: COPROC WORD shell_command  */
-#line 1022 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1032 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_coproc_command ((yyvsp[-1].word)->word, (yyvsp[0].command));
                          (yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
                        }
-#line 2978 "y.tab.c"
+#line 2988 "y.tab.c"
     break;
 
   case 112: /* coproc: COPROC WORD shell_command redirection_list  */
-#line 1027 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1037 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          COMMAND *tc;
 
@@ -2995,247 +3005,252 @@ yyreduce:
                          (yyval.command) = make_coproc_command ((yyvsp[-2].word)->word, (yyvsp[-1].command));
                          (yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
                        }
-#line 2999 "y.tab.c"
+#line 3009 "y.tab.c"
     break;
 
   case 113: /* coproc: COPROC simple_command  */
-#line 1044 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1054 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[0].command)));
                          (yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
                        }
-#line 3008 "y.tab.c"
+#line 3018 "y.tab.c"
     break;
 
   case 114: /* if_command: IF compound_list THEN compound_list FI  */
-#line 1051 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1061 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_if_command ((yyvsp[-3].command), (yyvsp[-1].command), (COMMAND *)NULL); }
-#line 3014 "y.tab.c"
+#line 3024 "y.tab.c"
     break;
 
   case 115: /* if_command: IF compound_list THEN compound_list ELSE compound_list FI  */
-#line 1053 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1063 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_if_command ((yyvsp[-5].command), (yyvsp[-3].command), (yyvsp[-1].command)); }
-#line 3020 "y.tab.c"
+#line 3030 "y.tab.c"
     break;
 
   case 116: /* if_command: IF compound_list THEN compound_list elif_clause FI  */
-#line 1055 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1065 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_if_command ((yyvsp[-4].command), (yyvsp[-2].command), (yyvsp[-1].command)); }
-#line 3026 "y.tab.c"
+#line 3036 "y.tab.c"
     break;
 
   case 117: /* group_command: '{' compound_list '}'  */
-#line 1060 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1070 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_group_command ((yyvsp[-1].command)); }
-#line 3032 "y.tab.c"
+#line 3042 "y.tab.c"
     break;
 
   case 118: /* arith_command: ARITH_CMD  */
-#line 1064 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1074 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_arith_command ((yyvsp[0].word_list)); }
-#line 3038 "y.tab.c"
+#line 3048 "y.tab.c"
     break;
 
   case 119: /* cond_command: COND_START COND_CMD COND_END  */
-#line 1068 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1078 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[-1].command); }
-#line 3044 "y.tab.c"
+#line 3054 "y.tab.c"
     break;
 
   case 120: /* elif_clause: ELIF compound_list THEN compound_list  */
-#line 1072 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1082 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_if_command ((yyvsp[-2].command), (yyvsp[0].command), (COMMAND *)NULL); }
-#line 3050 "y.tab.c"
+#line 3060 "y.tab.c"
     break;
 
   case 121: /* elif_clause: ELIF compound_list THEN compound_list ELSE compound_list  */
-#line 1074 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1084 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_if_command ((yyvsp[-4].command), (yyvsp[-2].command), (yyvsp[0].command)); }
-#line 3056 "y.tab.c"
+#line 3066 "y.tab.c"
     break;
 
   case 122: /* elif_clause: ELIF compound_list THEN compound_list elif_clause  */
-#line 1076 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1086 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = make_if_command ((yyvsp[-3].command), (yyvsp[-1].command), (yyvsp[0].command)); }
-#line 3062 "y.tab.c"
+#line 3072 "y.tab.c"
     break;
 
   case 124: /* case_clause: case_clause_sequence pattern_list  */
-#line 1081 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1091 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyvsp[0].pattern)->next = (yyvsp[-1].pattern); (yyval.pattern) = (yyvsp[0].pattern); }
-#line 3068 "y.tab.c"
+#line 3078 "y.tab.c"
     break;
 
   case 125: /* pattern_list: newline_list pattern ')' compound_list  */
-#line 1085 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1095 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.pattern) = make_pattern_list ((yyvsp[-2].word_list), (yyvsp[0].command)); }
-#line 3074 "y.tab.c"
+#line 3084 "y.tab.c"
     break;
 
   case 126: /* pattern_list: newline_list pattern ')' newline_list  */
-#line 1087 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1097 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.pattern) = make_pattern_list ((yyvsp[-2].word_list), (COMMAND *)NULL); }
-#line 3080 "y.tab.c"
+#line 3090 "y.tab.c"
     break;
 
   case 127: /* pattern_list: newline_list '(' pattern ')' compound_list  */
-#line 1089 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1099 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.pattern) = make_pattern_list ((yyvsp[-2].word_list), (yyvsp[0].command)); }
-#line 3086 "y.tab.c"
+#line 3096 "y.tab.c"
     break;
 
   case 128: /* pattern_list: newline_list '(' pattern ')' newline_list  */
-#line 1091 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1101 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.pattern) = make_pattern_list ((yyvsp[-2].word_list), (COMMAND *)NULL); }
-#line 3092 "y.tab.c"
+#line 3102 "y.tab.c"
     break;
 
   case 129: /* case_clause_sequence: pattern_list SEMI_SEMI  */
-#line 1095 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1105 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.pattern) = (yyvsp[-1].pattern); }
-#line 3098 "y.tab.c"
+#line 3108 "y.tab.c"
     break;
 
   case 130: /* case_clause_sequence: case_clause_sequence pattern_list SEMI_SEMI  */
-#line 1097 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1107 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyvsp[-1].pattern)->next = (yyvsp[-2].pattern); (yyval.pattern) = (yyvsp[-1].pattern); }
-#line 3104 "y.tab.c"
+#line 3114 "y.tab.c"
     break;
 
   case 131: /* case_clause_sequence: pattern_list SEMI_AND  */
-#line 1099 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1109 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyvsp[-1].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[-1].pattern); }
-#line 3110 "y.tab.c"
+#line 3120 "y.tab.c"
     break;
 
   case 132: /* case_clause_sequence: case_clause_sequence pattern_list SEMI_AND  */
-#line 1101 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1111 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyvsp[-1].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[-1].pattern)->next = (yyvsp[-2].pattern); (yyval.pattern) = (yyvsp[-1].pattern); }
-#line 3116 "y.tab.c"
+#line 3126 "y.tab.c"
     break;
 
   case 133: /* case_clause_sequence: pattern_list SEMI_SEMI_AND  */
-#line 1103 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1113 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyvsp[-1].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[-1].pattern); }
-#line 3122 "y.tab.c"
+#line 3132 "y.tab.c"
     break;
 
   case 134: /* case_clause_sequence: case_clause_sequence pattern_list SEMI_SEMI_AND  */
-#line 1105 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1115 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyvsp[-1].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[-1].pattern)->next = (yyvsp[-2].pattern); (yyval.pattern) = (yyvsp[-1].pattern); }
-#line 3128 "y.tab.c"
+#line 3138 "y.tab.c"
     break;
 
   case 135: /* pattern: WORD  */
-#line 1109 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1119 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.word_list) = make_word_list ((yyvsp[0].word), (WORD_LIST *)NULL); }
-#line 3134 "y.tab.c"
+#line 3144 "y.tab.c"
     break;
 
   case 136: /* pattern: pattern '|' WORD  */
-#line 1111 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1121 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.word_list) = make_word_list ((yyvsp[0].word), (yyvsp[-2].word_list)); }
-#line 3140 "y.tab.c"
+#line 3150 "y.tab.c"
     break;
 
   case 137: /* compound_list: newline_list list0  */
-#line 1120 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1130 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = (yyvsp[0].command);
                          if (need_here_doc && last_read_token == '\n')
                            gather_here_documents ();
                         }
-#line 3150 "y.tab.c"
+#line 3160 "y.tab.c"
     break;
 
   case 138: /* compound_list: newline_list list1  */
-#line 1126 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1136 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = (yyvsp[0].command);
                        }
-#line 3158 "y.tab.c"
+#line 3168 "y.tab.c"
     break;
 
   case 140: /* list0: list1 '&' newline_list  */
-#line 1133 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1143 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          if ((yyvsp[-2].command)->type == cm_connection)
                            (yyval.command) = connect_async_list ((yyvsp[-2].command), (COMMAND *)NULL, '&');
                          else
                            (yyval.command) = command_connect ((yyvsp[-2].command), (COMMAND *)NULL, '&');
                        }
-#line 3169 "y.tab.c"
+#line 3179 "y.tab.c"
     break;
 
   case 142: /* list1: list1 AND_AND newline_list list1  */
-#line 1144 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1154 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), AND_AND); }
-#line 3175 "y.tab.c"
+#line 3185 "y.tab.c"
     break;
 
   case 143: /* list1: list1 OR_OR newline_list list1  */
-#line 1146 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1156 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), OR_OR); }
-#line 3181 "y.tab.c"
+#line 3191 "y.tab.c"
     break;
 
   case 144: /* list1: list1 '&' newline_list list1  */
-#line 1148 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1158 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          if ((yyvsp[-3].command)->type == cm_connection)
                            (yyval.command) = connect_async_list ((yyvsp[-3].command), (yyvsp[0].command), '&');
                          else
                            (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), '&');
                        }
-#line 3192 "y.tab.c"
+#line 3202 "y.tab.c"
     break;
 
   case 145: /* list1: list1 ';' newline_list list1  */
-#line 1155 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1165 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), ';'); }
-#line 3198 "y.tab.c"
+#line 3208 "y.tab.c"
     break;
 
   case 146: /* list1: list1 '\n' newline_list list1  */
-#line 1157 "/usr/local/src/chet/src/bash/src/parse.y"
-                        { (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), ';'); }
-#line 3204 "y.tab.c"
+#line 1167 "/usr/local/src/chet/src/bash/src/parse.y"
+                        {
+                         if (parser_state & PST_CMDSUBST)
+                           (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), '\n');
+                         else
+                           (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), ';');
+                       }
+#line 3219 "y.tab.c"
     break;
 
   case 147: /* list1: pipeline_command  */
-#line 1159 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1174 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 3210 "y.tab.c"
+#line 3225 "y.tab.c"
     break;
 
   case 150: /* list_terminator: '\n'  */
-#line 1167 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1182 "/usr/local/src/chet/src/bash/src/parse.y"
                 { (yyval.number) = '\n'; }
-#line 3216 "y.tab.c"
+#line 3231 "y.tab.c"
     break;
 
   case 151: /* list_terminator: ';'  */
-#line 1169 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1184 "/usr/local/src/chet/src/bash/src/parse.y"
                 { (yyval.number) = ';'; }
-#line 3222 "y.tab.c"
+#line 3237 "y.tab.c"
     break;
 
   case 152: /* list_terminator: yacc_EOF  */
-#line 1171 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1186 "/usr/local/src/chet/src/bash/src/parse.y"
                 { (yyval.number) = yacc_EOF; }
-#line 3228 "y.tab.c"
+#line 3243 "y.tab.c"
     break;
 
   case 155: /* simple_list: simple_list1  */
-#line 1185 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1200 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = (yyvsp[0].command);
                          if (need_here_doc)
-                           gather_here_documents ();
+                           gather_here_documents ();   /* XXX */
                          if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
                            {
-itrace("LEGACY: parser: command substitution simple_list1 -> simple_list");
+INTERNAL_DEBUG (("LEGACY: parser: command substitution simple_list1 -> simple_list"));
                              global_command = (yyvsp[0].command);
                              eof_encountered = 0;
                              if (bash_input.type == st_string)
@@ -3243,21 +3258,21 @@ itrace("LEGACY: parser: command substitution simple_list1 -> simple_list");
                              YYACCEPT;
                            }
                        }
-#line 3247 "y.tab.c"
+#line 3262 "y.tab.c"
     break;
 
   case 156: /* simple_list: simple_list1 '&'  */
-#line 1200 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1215 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          if ((yyvsp[-1].command)->type == cm_connection)
                            (yyval.command) = connect_async_list ((yyvsp[-1].command), (COMMAND *)NULL, '&');
                          else
                            (yyval.command) = command_connect ((yyvsp[-1].command), (COMMAND *)NULL, '&');
                          if (need_here_doc)
-                           gather_here_documents ();
+                           gather_here_documents (); /* XXX */
                          if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
                            {
-itrace("LEGACY: parser: command substitution simple_list1 '&' -> simple_list");
+INTERNAL_DEBUG (("LEGACY: parser: command substitution simple_list1 '&' -> simple_list"));
                              global_command = (yyvsp[-1].command);
                              eof_encountered = 0;
                              if (bash_input.type == st_string)
@@ -3265,18 +3280,18 @@ itrace("LEGACY: parser: command substitution simple_list1 '&' -> simple_list");
                              YYACCEPT;
                            }
                        }
-#line 3269 "y.tab.c"
+#line 3284 "y.tab.c"
     break;
 
   case 157: /* simple_list: simple_list1 ';'  */
-#line 1218 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1233 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          (yyval.command) = (yyvsp[-1].command);
                          if (need_here_doc)
-                           gather_here_documents ();
+                           gather_here_documents ();   /* XXX */
                          if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
                            {
-itrace("LEGACY: parser: command substitution simple_list1 ';' -> simple_list");
+INTERNAL_DEBUG (("LEGACY: parser: command substitution simple_list1 ';' -> simple_list"));
                              global_command = (yyvsp[-1].command);
                              eof_encountered = 0;
                              if (bash_input.type == st_string)
@@ -3284,72 +3299,72 @@ itrace("LEGACY: parser: command substitution simple_list1 ';' -> simple_list");
                              YYACCEPT;
                            }
                        }
-#line 3288 "y.tab.c"
+#line 3303 "y.tab.c"
     break;
 
   case 158: /* simple_list1: simple_list1 AND_AND newline_list simple_list1  */
-#line 1235 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1250 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), AND_AND); }
-#line 3294 "y.tab.c"
+#line 3309 "y.tab.c"
     break;
 
   case 159: /* simple_list1: simple_list1 OR_OR newline_list simple_list1  */
-#line 1237 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1252 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), OR_OR); }
-#line 3300 "y.tab.c"
+#line 3315 "y.tab.c"
     break;
 
   case 160: /* simple_list1: simple_list1 '&' simple_list1  */
-#line 1239 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1254 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          if ((yyvsp[-2].command)->type == cm_connection)
                            (yyval.command) = connect_async_list ((yyvsp[-2].command), (yyvsp[0].command), '&');
                          else
                            (yyval.command) = command_connect ((yyvsp[-2].command), (yyvsp[0].command), '&');
                        }
-#line 3311 "y.tab.c"
+#line 3326 "y.tab.c"
     break;
 
   case 161: /* simple_list1: simple_list1 ';' simple_list1  */
-#line 1246 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1261 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = command_connect ((yyvsp[-2].command), (yyvsp[0].command), ';'); }
-#line 3317 "y.tab.c"
+#line 3332 "y.tab.c"
     break;
 
   case 162: /* simple_list1: pipeline_command  */
-#line 1249 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1264 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 3323 "y.tab.c"
+#line 3338 "y.tab.c"
     break;
 
   case 163: /* pipeline_command: pipeline  */
-#line 1253 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1268 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 3329 "y.tab.c"
+#line 3344 "y.tab.c"
     break;
 
   case 164: /* pipeline_command: BANG pipeline_command  */
-#line 1255 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1270 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          if ((yyvsp[0].command))
                            (yyvsp[0].command)->flags ^= CMD_INVERT_RETURN;     /* toggle */
                          (yyval.command) = (yyvsp[0].command);
                        }
-#line 3339 "y.tab.c"
+#line 3354 "y.tab.c"
     break;
 
   case 165: /* pipeline_command: timespec pipeline_command  */
-#line 1261 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1276 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          if ((yyvsp[0].command))
                            (yyvsp[0].command)->flags |= (yyvsp[-1].number);
                          (yyval.command) = (yyvsp[0].command);
                        }
-#line 3349 "y.tab.c"
+#line 3364 "y.tab.c"
     break;
 
   case 166: /* pipeline_command: timespec list_terminator  */
-#line 1267 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1282 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          ELEMENT x;
 
@@ -3369,11 +3384,11 @@ itrace("LEGACY: parser: command substitution simple_list1 ';' -> simple_list");
                            token_to_read = ';';
                          parser_state &= ~PST_REDIRLIST;       /* make_simple_command sets this */
                        }
-#line 3373 "y.tab.c"
+#line 3388 "y.tab.c"
     break;
 
   case 167: /* pipeline_command: BANG list_terminator  */
-#line 1287 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1302 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          ELEMENT x;
 
@@ -3394,17 +3409,17 @@ itrace("LEGACY: parser: command substitution simple_list1 ';' -> simple_list");
                            token_to_read = ';';
                          parser_state &= ~PST_REDIRLIST;       /* make_simple_command sets this */
                        }
-#line 3398 "y.tab.c"
+#line 3413 "y.tab.c"
     break;
 
   case 168: /* pipeline: pipeline '|' newline_list pipeline  */
-#line 1310 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1325 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), '|'); }
-#line 3404 "y.tab.c"
+#line 3419 "y.tab.c"
     break;
 
   case 169: /* pipeline: pipeline BAR_AND newline_list pipeline  */
-#line 1312 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1327 "/usr/local/src/chet/src/bash/src/parse.y"
                         {
                          /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
                          COMMAND *tc;
@@ -3427,41 +3442,41 @@ itrace("LEGACY: parser: command substitution simple_list1 ';' -> simple_list");
 
                          (yyval.command) = command_connect ((yyvsp[-3].command), (yyvsp[0].command), '|');
                        }
-#line 3431 "y.tab.c"
+#line 3446 "y.tab.c"
     break;
 
   case 170: /* pipeline: command  */
-#line 1335 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1350 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.command) = (yyvsp[0].command); }
-#line 3437 "y.tab.c"
+#line 3452 "y.tab.c"
     break;
 
   case 171: /* timespec: TIME  */
-#line 1339 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1354 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.number) = CMD_TIME_PIPELINE; }
-#line 3443 "y.tab.c"
+#line 3458 "y.tab.c"
     break;
 
   case 172: /* timespec: TIME TIMEOPT  */
-#line 1341 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1356 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
-#line 3449 "y.tab.c"
+#line 3464 "y.tab.c"
     break;
 
   case 173: /* timespec: TIME TIMEIGN  */
-#line 1343 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1358 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
-#line 3455 "y.tab.c"
+#line 3470 "y.tab.c"
     break;
 
   case 174: /* timespec: TIME TIMEOPT TIMEIGN  */
-#line 1345 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1360 "/usr/local/src/chet/src/bash/src/parse.y"
                         { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
-#line 3461 "y.tab.c"
+#line 3476 "y.tab.c"
     break;
 
 
-#line 3465 "y.tab.c"
+#line 3480 "y.tab.c"
 
       default: break;
     }
@@ -3654,7 +3669,7 @@ yyreturnlab:
   return yyresult;
 }
 
-#line 1347 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 1362 "/usr/local/src/chet/src/bash/src/parse.y"
 
 
 /* Initial size to allocate for tokens, and the
@@ -4861,21 +4876,12 @@ shell_getc (remove_quoted_newline)
            shell_input_line[shell_input_line_len] = '\n';
          shell_input_line[shell_input_line_len + 1] = '\0';
 
-#if 0
-         set_line_mbstate ();          /* XXX - this is wasteful */
-#else
-#  if defined (HANDLE_MULTIBYTE)
+#if defined (HANDLE_MULTIBYTE)
          /* This is kind of an abstraction violation, but there's no need to
             go through the entire shell_input_line again with a call to
             set_line_mbstate(). */
-         if (shell_input_line_len + 2 > shell_input_line_propsize)
-           {
-             shell_input_line_propsize = shell_input_line_len + 2;
-             shell_input_line_property = (char *)xrealloc (shell_input_line_property,
-                                                           shell_input_line_propsize);
-           }
+         EXTEND_SHELL_INPUT_LINE_PROPERTY();
          shell_input_line_property[shell_input_line_len] = 1;
-#  endif
 #endif
        }
     }
@@ -4928,6 +4934,21 @@ next_alias_char:
       (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
     {
       parser_state |= PST_ENDALIAS;
+      /* We need to do this to make sure last_shell_getc_is_singlebyte returns
+        true, since we are returning a single-byte space. */
+      if (shell_input_line_index == shell_input_line_len && last_shell_getc_is_singlebyte == 0)
+       {
+#if 0
+         EXTEND_SHELL_INPUT_LINE_PROPERTY();
+         shell_input_line_property[shell_input_line_len++] = 1;
+         /* extend shell_input_line to accommodate the shell_ungetc that
+            read_token_word() will perform, since we're extending the index */
+         RESIZE_MALLOCED_BUFFER (shell_input_line, shell_input_line_index, 2, shell_input_line_size, 16);
+          shell_input_line[++shell_input_line_index] = '\0';   /* XXX */
+#else
+         shell_input_line_property[shell_input_line_index - 1] = 1;
+#endif
+       }
       return ' ';      /* END_ALIAS */
     }
 #endif
@@ -6406,8 +6427,8 @@ parse_comsub (qc, open, close, lenp, flags)
 
   if (need_here_doc > 0)
     {
-      internal_debug("command substitution: %d unterminated here-document%s", need_here_doc, (need_here_doc == 1) ? "" : "s");
-      gather_here_documents ();
+      internal_warning ("command substitution: %d unterminated here-document%s", need_here_doc, (need_here_doc == 1) ? "" : "s");
+      gather_here_documents ();        /* XXX check compatibility level? */
     }
 
   parsed_command = global_command;
@@ -6437,7 +6458,7 @@ INTERNAL_DEBUG(("current_token (%d) != shell_eof_token (%c)", current_token, she
 
   restore_parser_state (&ps);
 
-  tcmd = make_command_string (parsed_command);         /* returns static memory */
+  tcmd = print_comsub (parsed_command);                /* returns static memory */
   retlen = strlen (tcmd);
   if (tcmd[0] == '(')                  /* ) need a space to prevent arithmetic expansion */
     retlen++;
@@ -6497,6 +6518,7 @@ xparse_dolparen (base, string, indp, flags)
   sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE;
   if (flags & SX_NOLONGJMP)
     sflags |= SEVAL_NOLONGJMP;
+
   save_parser_state (&ps);
   save_input_line_state (&ls);
 
@@ -6920,6 +6942,7 @@ cond_term ()
       tleft = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
 
       /* binop */
+      /* tok = cond_skip_newlines (); ? */
       tok = read_token (READ);
       if (tok == WORD && test_binop (yylval.word->word))
        {
@@ -8613,13 +8636,13 @@ parse_string_to_word_list (s, flags, whom)
   sh_parser_state_t ps;
   int ea;
 
+  orig_line_number = line_number;
+  save_parser_state (&ps);
+
 #if defined (HISTORY)
   bash_history_disable ();
 #endif
 
-  orig_line_number = line_number;
-  save_parser_state (&ps);
-
   push_stream (1);
   if (ea = expanding_alias ())
     parser_save_alias ();
diff --git a/y.tab.h b/y.tab.h
index 0797ff44adf062db35a451d39a7273197db33033..3f3010777885e8d5e4ead4e0a74592024ead2ff1 100644 (file)
--- a/y.tab.h
+++ b/y.tab.h
@@ -163,7 +163,7 @@ extern int yydebug;
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 union YYSTYPE
 {
-#line 328 "/usr/local/src/chet/src/bash/src/parse.y"
+#line 338 "/usr/local/src/chet/src/bash/src/parse.y"
 
   WORD_DESC *word;             /* the word that we read. */
   int number;                  /* the number that we read. */