summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2020-04-06 09:52:11 -0400
committerChet Ramey <chet.ramey@case.edu>2020-04-06 09:52:11 -0400
commite34adc2c3b6b8722d0316f3b26fe5346faf94dea (patch)
tree8e82da42e02585fde2ccf26b90db44efa07fc751
parente2e18b720ba01523e5a2f72c4bc9ba026cd69ea3 (diff)
downloadbash-e34adc2c3b6b8722d0316f3b26fe5346faf94dea.tar.gz
commit bash-20200403 snapshot
-rw-r--r--CWRU/CWRU.chlog74
-rw-r--r--builtins/fc.def24
-rw-r--r--builtins/read.def5
-rw-r--r--doc/bash.14
-rw-r--r--doc/bashref.texi1
-rw-r--r--execute_cmd.c11
-rw-r--r--jobs.c6
-rw-r--r--lib/readline/display.c221
-rw-r--r--lib/readline/rlprivate.h6
-rw-r--r--lib/readline/terminal.c24
-rw-r--r--lib/readline/text.c12
-rw-r--r--lib/sh/zread.c17
-rw-r--r--po/sr.po1044
-rwxr-xr-xtests/RUN-ONE-TEST2
-rw-r--r--trap.c7
-rw-r--r--trap.h1
-rw-r--r--variables.c31
17 files changed, 674 insertions, 816 deletions
diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog
index 39824ae..8173ffe 100644
--- a/CWRU/CWRU.chlog
+++ b/CWRU/CWRU.chlog
@@ -7788,3 +7788,77 @@ execute_cmd.c
<valentin.lab@kalysto.org>
- execute_command_internal,execute_builtin_or_function: ofifo_list is
now a void * instead of a char *
+
+ 3/30
+ ----
+lib/readline/{terminal.c,rlprivate.h}
+ - _rl_standout_{on,off}: new functions, to enter and exit terminal
+ standout mode
+
+lib/readline/rlprivate.h
+ - _rl_refresh_line: new extern declaration
+
+lib/readline/display.c
+ - visible and invisible lines: added members to deal with tracking the
+ `current face'
+ - realloc_line: broke code to manage visible_line and invisible_line
+ allocation out of init_line_structures, added code to manage arrays
+ of visible and invisible line face info per character
+ - invis_{addc,adds,nul}: new functions to add characters to the
+ invisible line and keep the invisible face data updated with whatever
+ the current face is
+ - set_active_region: keep track of the display region that should be
+ in standout mode
+ - rl_redisplay: use invis_addc/adds/nul to update the invisible line
+ buffer instead of modifying invisible_line directly
+ - _rl_refresh_line: moved body of function here from text.c
+
+lib/readline/text.c
+ - rl_refresh_line: now just calls _rl_refresh_line and marks the display
+ as fixed
+
+ 3/31
+ ----
+variables.c
+ - bind_variable_internal: dynamic variables with assignment functions
+ now honor the readonly attribute by giving an error. Fixes issue
+ reported by Rob Landley <rob@landley.net>
+ - assign_seconds: allow seconds to be assigned using an arithmetic
+ expression
+ - assign_random: allow RANDOM to be assigned using an arithmetic
+ expression
+
+doc/{bash.1,bashref.texi}
+ - HISTCMD: note that assignments to HISTCMD have no effect
+
+ 4/2
+ ---
+execute_cmd.c
+ - execute_in_subshell: make sure we note that we're not reading our
+ command input from a buffered stream any more, so we don't
+ sync the buffered stream backwards in subsequent commands this
+ subshell runs. Fixes bug reported by Ouz <oguzismailuysal@gmail.com>
+
+ 4/3
+ ---
+builtins/read.def
+ - read_builtin: if a read in posix mode is interrupted by a signal,
+ make sure to preserve the value of errno around calls to
+ check_signals and run_pending_traps so any error message isn't quite
+ as confusing. Issue reported by Stan Marsh <gazelle@xmission.com>
+
+lib/sh/zread.c
+ - zread: preserve value of errno (always EINTR) around calls to
+ check_signals or check_signals_and_traps
+
+trap.c
+ - run_debug_trap: allow suppress_debug_trap_verbose being set to
+ turn off `set -v' temporarily while executing the DEBUG trap (if
+ it's set)
+
+builtins/fc.def
+ - set suppress_debug_trap_verbose so set -v won't be in effect while
+ the DEBUG trap runs. Most recently reported by Ami Fischman
+ <ami@fischman.org>; originally raised by Boruch Baum
+ <boruch_baum@gmx.com> back in 10/2017
+
diff --git a/builtins/fc.def b/builtins/fc.def
index f7b1e0e..6951a68 100644
--- a/builtins/fc.def
+++ b/builtins/fc.def
@@ -1,7 +1,7 @@
This file is fc.def, from which is created fc.c.
It implements the builtin "fc" in Bash.
-Copyright (C) 1987-2015 Free Software Foundation, Inc.
+Copyright (C) 1987-2020 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -86,9 +86,11 @@ $END
extern int errno;
#endif /* !errno */
-extern int unlink __P((const char *));
+extern int unlink PARAMS((const char *));
-extern FILE *sh_mktmpfp __P((char *, int, char **));
+extern FILE *sh_mktmpfp PARAMS((char *, int, char **));
+
+extern int suppress_debug_trap_verbose;
/* **************************************************************** */
/* */
@@ -144,14 +146,14 @@ typedef struct repl {
} \
} while (0)
-static char *fc_dosubs __P((char *, REPL *));
-static char *fc_gethist __P((char *, HIST_ENTRY **));
-static int fc_gethnum __P((char *, HIST_ENTRY **));
-static int fc_number __P((WORD_LIST *));
-static void fc_replhist __P((char *));
+static char *fc_dosubs PARAMS((char *, REPL *));
+static char *fc_gethist PARAMS((char *, HIST_ENTRY **));
+static int fc_gethnum PARAMS((char *, HIST_ENTRY **));
+static int fc_number PARAMS((WORD_LIST *));
+static void fc_replhist PARAMS((char *));
#ifdef INCLUDE_UNUSED
-static char *fc_readline __P((FILE *));
-static void fc_addhist __P((char *));
+static char *fc_readline PARAMS((FILE *));
+static void fc_addhist PARAMS((char *));
#endif
static void
@@ -470,7 +472,9 @@ fc_builtin (list)
add_unwind_protect (xfree, fn);
add_unwind_protect (unlink, fn);
add_unwind_protect (set_verbose_flag, (char *)NULL);
+ unwind_protect_int (suppress_debug_trap_verbose);
echo_input_at_read = 1;
+ suppress_debug_trap_verbose = 1;
retval = fc_execute_file (fn);
run_unwind_frame ("fc builtin");
diff --git a/builtins/read.def b/builtins/read.def
index c74d40b..4771551 100644
--- a/builtins/read.def
+++ b/builtins/read.def
@@ -604,6 +604,7 @@ read_builtin (list)
reading = 1;
CHECK_ALRM;
+ errno = 0;
if (unbuffered_read == 2)
retval = posixly_correct ? zreadintr (fd, &c, 1) : zreadn (fd, &c, nchars - nr);
else if (unbuffered_read)
@@ -614,6 +615,9 @@ read_builtin (list)
if (retval <= 0)
{
+ int t;
+
+ t = errno;
if (retval < 0 && errno == EINTR)
{
check_signals (); /* in case we didn't call zread via zreadc */
@@ -628,6 +632,7 @@ read_builtin (list)
ttyrestore (&termsave); /* fix terminal before exiting */
CHECK_TERMSIG;
eof = 1;
+ errno = t; /* preserve it for the error message below */
break;
}
diff --git a/doc/bash.1 b/doc/bash.1
index 27d4f78..b573ffd 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -1819,6 +1819,10 @@ subsequently reset.
.B HISTCMD
The history number, or index in the history list, of the current
command.
+Assignments to
+.SM
+.B HISTCMD
+are ignored.
If
.SM
.B HISTCMD
diff --git a/doc/bashref.texi b/doc/bashref.texi
index 5db65ba..3590350 100644
--- a/doc/bashref.texi
+++ b/doc/bashref.texi
@@ -6081,6 +6081,7 @@ parser to treat the rest of the line as a comment.
@item HISTCMD
The history number, or index in the history list, of the current
command.
+Assignments to @env{HISTCMD} are ignored.
If @env{HISTCMD}
is unset, it loses its special properties,
even if it is subsequently reset.
diff --git a/execute_cmd.c b/execute_cmd.c
index 7ee0972..d7fa5c6 100644
--- a/execute_cmd.c
+++ b/execute_cmd.c
@@ -1518,6 +1518,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
QUIT;
CHECK_TERMSIG;
+ CHECK_SIGTERM; /* after RESET_SIGTERM in make_child */
reset_terminating_signals (); /* in sig.c */
/* Cancel traps, in trap.c. */
@@ -1592,6 +1593,11 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
if (should_redir_stdin && stdin_redir == 0)
async_redirect_stdin ();
+#if defined (BUFFERED_INPUT)
+ /* In any case, we are not reading our command input from stdin. */
+ default_buffered_input = -1;
+#endif
+
#if 0 /* XXX - TAG:bash-5.1 */
if (user_subshell && command->type == cm_subshell)
optimize_subshell_command (command->value.Subshell->command);
@@ -4359,7 +4365,12 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
/* In POSIX mode, assignment errors in the temporary environment cause a
non-interactive shell to exit. */
+#if 1
if (posixly_correct && builtin_is_special && interactive_shell == 0 && tempenv_assign_error)
+#else
+ /* This is for strict posix conformance. */
+ if (posixly_correct && interactive_shell == 0 && tempenv_assign_error)
+#endif
{
last_command_exit_value = EXECUTION_FAILURE;
jump_to_top_level (ERREXIT);
diff --git a/jobs.c b/jobs.c
index 8f5449a..f7a0d67 100644
--- a/jobs.c
+++ b/jobs.c
@@ -4100,9 +4100,9 @@ set_job_status_and_cleanup (job)
/* If the signal is trapped, let the trap handler get it no matter
what and simply return if the trap handler returns.
- maybe_call_trap_handler() may cause dead jobs to be removed from
- the job table because of a call to execute_command. We work
- around this by setting JOBS_LIST_FROZEN. */
+ maybe_call_trap_handler() may cause dead jobs to be removed from
+ the job table because of a call to execute_command. We work
+ around this by setting JOBS_LIST_FROZEN. */
old_frozen = jobs_list_frozen;
jobs_list_frozen = 1;
tstatus = maybe_call_trap_handler (SIGINT);
diff --git a/lib/readline/display.c b/lib/readline/display.c
index 2d5d18f..855baf6 100644
--- a/lib/readline/display.c
+++ b/lib/readline/display.c
@@ -1,6 +1,6 @@
/* display.c -- readline redisplay facility. */
-/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2020 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -70,6 +70,7 @@ static void insert_some_chars PARAMS((char *, int, int));
static void open_some_spaces PARAMS((int));
static void cr PARAMS((void));
static void redraw_prompt PARAMS((char *));
+static void _rl_move_cursor_relative PARAMS((int, const char *));
/* Values for FLAGS */
#define PMT_MULTILINE 0x01
@@ -82,6 +83,7 @@ static char *expand_prompt PARAMS((char *, int, int *, int *, int *, int *));
struct line_state
{
char *line;
+ char *lface;
int *lbreaks;
int lbsize;
#if defined (HANDLE_MULTIBYTE)
@@ -104,7 +106,9 @@ static int line_structures_initialized = 0;
#define vis_lbsize (line_state_visible->lbsize)
#define visible_line (line_state_visible->line)
+#define vis_face (line_state_visible->lface)
#define invisible_line (line_state_invisible->line)
+#define inv_face (line_state_invisible->lface)
#if defined (HANDLE_MULTIBYTE)
static int _rl_col_width PARAMS((const char *, int, int, int));
@@ -125,6 +129,10 @@ static int _rl_col_width PARAMS((const char *, int, int, int));
to use prompt_last_invisible directly. */
#define PROMPT_ENDING_INDEX \
((MB_CUR_MAX > 1 && rl_byte_oriented == 0) ? prompt_physical_chars : prompt_last_invisible+1)
+
+#define FACE_NORMAL '0'
+#define FACE_STANDOUT '1'
+#define FACE_INVALID ((char)1)
/* **************************************************************** */
/* */
@@ -223,7 +231,7 @@ static int msg_bufsiz = 0;
static int forced_display;
/* Default and initial buffer size. Can grow. */
-static int line_size = DEFAULT_LINE_BUFFER_SIZE;
+static int line_size = 0;
/* Set to a non-zero value if horizontal scrolling has been enabled
automatically because the terminal was resized to height 1. */
@@ -602,6 +610,42 @@ rl_expand_prompt (char *prompt)
}
}
+/* Allocate the various line structures, making sure they can hold MINSIZE
+ bytes. If the existing line size can accommodate MINSIZE bytes, don't do
+ anything. */
+static void
+realloc_line (int minsize)
+{
+ int minimum_size;
+ int newsize, delta;
+
+ minimum_size = DEFAULT_LINE_BUFFER_SIZE;
+ if (minsize < minimum_size)
+ minsize = minimum_size;
+ if (minsize <= _rl_screenwidth) /* XXX - for gdb */
+ minsize = _rl_screenwidth + 1;
+ if (line_size >= minsize)
+ return;
+
+ newsize = minimum_size;
+ while (newsize < minsize)
+ newsize *= 2;
+
+ visible_line = (char *)xrealloc (visible_line, newsize);
+ vis_face = (char *)xrealloc (vis_face, newsize);
+
+ invisible_line = (char *)xrealloc (invisible_line, newsize);
+ inv_face = (char *)xrealloc (inv_face, newsize);
+
+ delta = newsize - line_size;
+ memset (visible_line + line_size, 0, delta);
+ memset (vis_face + line_size, FACE_NORMAL, delta);
+ memset (invisible_line + line_size, 1, delta);
+ memset (inv_face + line_size, FACE_INVALID, delta);
+
+ line_size = newsize;
+}
+
/* Initialize the VISIBLE_LINE and INVISIBLE_LINE arrays, and their associated
arrays of line break markers. MINSIZE is the minimum size of VISIBLE_LINE
and INVISIBLE_LINE; if it is greater than LINE_SIZE, LINE_SIZE is
@@ -610,34 +654,12 @@ rl_expand_prompt (char *prompt)
static void
init_line_structures (int minsize)
{
- register int n;
- int osize;
-
- osize = minsize;
- if (minsize <= _rl_screenwidth) /* XXX - for gdb */
- minsize = _rl_screenwidth + 1;
-
if (invisible_line == 0) /* initialize it */
{
- if (line_size < minsize)
- line_size = minsize;
- visible_line = (char *)xmalloc (line_size);
- invisible_line = (char *)xmalloc (line_size);
- }
- else if (line_size < minsize) /* ensure it can hold MINSIZE chars */
- {
- line_size *= 2;
- if (line_size < minsize)
- line_size = minsize;
- visible_line = (char *)xrealloc (visible_line, line_size);
- invisible_line = (char *)xrealloc (invisible_line, line_size);
- }
-
- for (n = osize; n < line_size; n++)
- {
- visible_line[n] = 0;
- invisible_line[n] = 1;
+ if (line_size > minsize)
+ minsize = line_size;
}
+ realloc_line (minsize);
if (vis_lbreaks == 0)
{
@@ -660,6 +682,43 @@ init_line_structures (int minsize)
line_structures_initialized = 1;
}
+/* Convenience functions to add chars to the invisible line that update the
+ face information at the same time. */
+static void /* XXX - change this */
+invis_addc (int *outp, char c, char face)
+{
+ realloc_line (*outp + 1);
+ invisible_line[*outp] = c;
+ inv_face[*outp] = face;
+ *outp += 1;
+}
+
+static void
+invis_adds (int *outp, const char *str, int n, char face)
+{
+ int i;
+
+ for (i = 0; i < n; i++)
+ invis_addc (outp, str[i], face);
+}
+
+static void
+invis_nul (int *outp)
+{
+ invis_addc (outp, '\0', 0);
+ *outp -= 1;
+}
+
+static void
+set_active_region (int *beg, int *end)
+{
+ if (rl_point >= 0 && rl_point <= rl_end && rl_mark >= 0 && rl_mark <= rl_end)
+ {
+ *beg = (rl_mark < rl_point) ? rl_mark : rl_point;
+ *end = (rl_mark < rl_point) ? rl_point : rl_mark;
+ }
+}
+
/* Do whatever tests are necessary and tell update_line that it can do a
quick, dumb redisplay on the assumption that there are so many
differences between the old and new lines that it would be a waste to
@@ -678,11 +737,12 @@ _rl_optimize_redisplay (void)
void
rl_redisplay (void)
{
- register int in, out, c, linenum, cursor_linenum;
- register char *line;
+ int in, out, c, linenum, cursor_linenum;
int inv_botlin, lb_botlin, lb_linenum, o_cpos;
int newlines, lpos, temp, n0, num, prompt_lines_estimate;
char *prompt_this_line;
+ char cur_face;
+ int hl_begin, hl_end;
int mb_cur_max = MB_CUR_MAX;
#if defined (HANDLE_MULTIBYTE)
wchar_t wc;
@@ -700,6 +760,14 @@ rl_redisplay (void)
_rl_block_sigint ();
RL_SETSTATE (RL_STATE_REDISPLAYING);
+ cur_face = FACE_NORMAL;
+ /* Can turn this into an array for multiple highlighted objects in addition
+ to the region */
+ hl_begin = hl_end = -1;
+
+ if (rl_mark_active_p ())
+ set_active_region (&hl_begin, &hl_end);
+
if (!rl_display_prompt)
rl_display_prompt = "";
@@ -728,7 +796,6 @@ rl_redisplay (void)
prompt_multibyte_chars = prompt_visible_length - prompt_physical_chars;
- line = invisible_line;
out = inv_botlin = 0;
/* Mark the line as modified or not. We only do this for history
@@ -736,8 +803,8 @@ rl_redisplay (void)
modmark = 0;
if (_rl_mark_modified_lines && current_history () && rl_undo_list)
{
- line[out++] = '*';
- line[out] = '\0';
+ invis_addc (&out, '*', cur_face);
+ invis_nul (&out);
modmark = 1;
}
@@ -762,17 +829,9 @@ rl_redisplay (void)
if (local_prompt_len > 0)
{
- temp = local_prompt_len + out + 2;
- if (temp >= line_size)
- {
- line_size = (temp + 1024) - (temp % 1024);
- visible_line = (char *)xrealloc (visible_line, line_size);
- line = invisible_line = (char *)xrealloc (invisible_line, line_size);
- }
- strncpy (line + out, local_prompt, local_prompt_len);
- out += local_prompt_len;
+ invis_adds (&out, local_prompt, local_prompt_len, cur_face);
+ invis_nul (&out);
}
- line[out] = '\0';
wrap_offset = local_prompt_len - prompt_visible_length;
}
else
@@ -796,16 +855,8 @@ rl_redisplay (void)
}
prompt_physical_chars = pmtlen = strlen (prompt_this_line); /* XXX */
- temp = pmtlen + out + 2;
- if (temp >= line_size)
- {
- line_size = (temp + 1024) - (temp % 1024);
- visible_line = (char *)xrealloc (visible_line, line_size);
- line = invisible_line = (char *)xrealloc (invisible_line, line_size);
- }
- strncpy (line + out, prompt_this_line, pmtlen);
- out += pmtlen;
- line[out] = '\0';
+ invis_adds (&out, prompt_this_line, pmtlen, cur_face);
+ invis_nul (&out);
wrap_offset = prompt_invis_chars_first_line = 0;
}
@@ -967,14 +1018,6 @@ rl_redisplay (void)
}
#endif
- if (out + 8 >= line_size) /* XXX - 8 for \t */
- {
- line_size *= 2;
- visible_line = (char *)xrealloc (visible_line, line_size);
- invisible_line = (char *)xrealloc (invisible_line, line_size);
- line = invisible_line;
- }
-
if (in == rl_point)
{
cpos_buffer_position = out;
@@ -989,9 +1032,12 @@ rl_redisplay (void)
{
if (_rl_output_meta_chars == 0)
{
- sprintf (line + out, "\\%o", c);
+ char obuf[5];
+ int olen;
- if (lpos + 4 >= _rl_screenwidth)
+ olen = sprintf (obuf, "\\%o", c);
+
+ if (lpos + olen >= _rl_screenwidth)
{
temp = _rl_screenwidth - lpos;
CHECK_INV_LBREAKS ();
@@ -999,16 +1045,20 @@ rl_redisplay (void)
#if defined (HANDLE_MULTIBYTE)
line_state_invisible->wrapped_line[newlines] = _rl_wrapped_multicolumn;
#endif
- lpos = 4 - temp;
+ lpos = olen - temp;
}
else
- lpos += 4;
+ lpos += olen;
- out += 4;
+ for (temp = 0; temp < olen; temp++)
+ {
+ invis_addc (&out, obuf[temp], cur_face);
+ CHECK_LPOS ();
+ }
}
else
{
- line[out++] = c;
+ invis_addc (&out, c, cur_face);
CHECK_LPOS();
}
}
@@ -1030,19 +1080,19 @@ rl_redisplay (void)
#endif
lpos = temp - temp2;
while (out < newout)
- line[out++] = ' ';
+ invis_addc (&out, ' ', cur_face);
}
else
{
while (out < newout)
- line[out++] = ' ';
+ invis_addc (&out, ' ', cur_face);
lpos += temp;
}
}
#endif
else if (c == '\n' && _rl_horizontal_scroll_mode == 0 && _rl_term_up && *_rl_term_up)
{
- line[out++] = '\0'; /* XXX - sentinel */
+ invis_addc (&out, '\0', cur_face);
CHECK_INV_LBREAKS ();
inv_lbreaks[++newlines] = out;
#if defined (HANDLE_MULTIBYTE)
@@ -1052,9 +1102,9 @@ rl_redisplay (void)
}
else if (CTRL_CHAR (c) || c == RUBOUT)
{
- line[out++] = '^';
+ invis_addc (&out, '^', cur_face);
CHECK_LPOS();
- line[out++] = CTRL_CHAR (c) ? UNCTRL (c) : '?';
+ invis_addc (&out, CTRL_CHAR (c) ? UNCTRL (c) : '?', cur_face);
CHECK_LPOS();
}
else
@@ -1070,7 +1120,7 @@ rl_redisplay (void)
for (i = lpos; i < _rl_screenwidth; i++)
{
/* The space will be removed in update_line() */
- line[out++] = ' ';
+ invis_addc (&out, ' ', cur_face);
_rl_wrapped_multicolumn++;
CHECK_LPOS();
}
@@ -1080,17 +1130,17 @@ rl_redisplay (void)
lb_linenum = newlines;
}
for (i = in; i < in+wc_bytes; i++)
- line[out++] = rl_line_buffer[i];
+ invis_addc (&out, rl_line_buffer[i], cur_face);
for (i = 0; i < wc_width; i++)
CHECK_LPOS();
}
else
{
- line[out++] = c;
+ invis_addc (&out, c, cur_face);
CHECK_LPOS();
}
#else
- line[out++] = c;
+ invis_addc (&out, c, cur_face);
CHECK_LPOS();
#endif
}
@@ -1112,7 +1162,7 @@ rl_redisplay (void)
in++;
#endif
}
- line[out] = '\0';
+ invis_nul (&out);
line_totbytes = out;
if (cpos_buffer_position < 0)
{
@@ -1161,7 +1211,7 @@ rl_redisplay (void)
{
#if defined (HANDLE_MULTIBYTE)
if (mb_cur_max > 1 && rl_byte_oriented == 0)
- out = _rl_find_prev_mbchar (line, _rl_screenchars, MB_FIND_ANY);
+ out = _rl_find_prev_mbchar (invisible_line, _rl_screenchars, MB_FIND_ANY);
else
#endif
out = _rl_screenchars - 1;
@@ -1179,8 +1229,11 @@ rl_redisplay (void)
#define VIS_LLEN(l) ((l) > _rl_vis_botlin ? 0 : (vis_lbreaks[l+1] - vis_lbreaks[l]))
#define INV_LLEN(l) (inv_lbreaks[l+1] - inv_lbreaks[l])
#define VIS_CHARS(line) (visible_line + vis_lbreaks[line])
+#define VIS_FACE(line) (visible_face + vis_lbreaks[line]);
#define VIS_LINE(line) ((line) > _rl_vis_botlin) ? "" : VIS_CHARS(line)
+#define VIS_LINE_FACE(line) ((line) > _rl_vis_botlin) ? "" : VIS_FACE(line)
#define INV_LINE(line) (invisible_line + inv_lbreaks[line])
+#define INV_LINE_FACE(line) (invisible_face + inv_lbreaks[line])
#define OLD_CPOS_IN_PROMPT() (cpos_adjusted == 0 && \
_rl_last_c_pos != o_cpos && \
@@ -1427,7 +1480,7 @@ rl_redisplay (void)
/* If the first character on the screen isn't the first character
in the display line, indicate this with a special character. */
if (lmargin > 0)
- line[lmargin] = '<';
+ invisible_line[lmargin] = '<';
/* If SCREENWIDTH characters starting at LMARGIN do not encompass
the whole line, indicate that with a special character at the
@@ -1435,7 +1488,7 @@ rl_redisplay (void)
wrap offset into account. */
t = lmargin + M_OFFSET (lmargin, wrap_offset) + _rl_screenwidth;
if (t > 0 && t < out)
- line[t - 1] = '>';
+ invisible_line[t - 1] = '>';
if (rl_display_fixed == 0 || forced_display || lmargin != last_lmargin)
{
@@ -2524,7 +2577,7 @@ rl_redraw_prompt_last_line (void)
DATA is the contents of the screen line of interest; i.e., where
the movement is being done.
DATA is always the visible line or the invisible line */
-void
+static void
_rl_move_cursor_relative (int new, const char *data)
{
register int i;
@@ -3281,6 +3334,14 @@ _rl_current_display_line (void)
return ret;
}
+void
+_rl_refresh_line (void)
+{
+ rl_clear_visible_line ();
+ rl_redraw_prompt_last_line ();
+ rl_keep_mark_active ();
+}
+
#if defined (HANDLE_MULTIBYTE)
/* Calculate the number of screen columns occupied by STR from START to END.
In the case of multibyte characters with stateful encoding, we have to
diff --git a/lib/readline/rlprivate.h b/lib/readline/rlprivate.h
index 7a14bc1..a9fcfc6 100644
--- a/lib/readline/rlprivate.h
+++ b/lib/readline/rlprivate.h
@@ -1,7 +1,7 @@
/* rlprivate.h -- functions and variables global to the readline library,
but not intended for use by applications. */
-/* Copyright (C) 1999-2019 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2020 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -267,7 +267,6 @@ extern void _rl_free_match_list PARAMS((char **));
/* display.c */
extern char *_rl_strip_prompt PARAMS((char *));
extern void _rl_reset_prompt PARAMS((void));
-extern void _rl_move_cursor_relative PARAMS((int, const char *));
extern void _rl_move_vert PARAMS((int));
extern void _rl_save_prompt PARAMS((void));
extern void _rl_restore_prompt PARAMS((void));
@@ -281,6 +280,7 @@ extern void _rl_redisplay_after_sigwinch PARAMS((void));
extern void _rl_clean_up_for_exit PARAMS((void));
extern void _rl_erase_entire_line PARAMS((void));
extern int _rl_current_display_line PARAMS((void));
+extern void _rl_refresh_line PARAMS((void));
/* input.c */
extern int _rl_any_typein PARAMS((void));
@@ -385,6 +385,8 @@ extern void _rl_enable_meta_key PARAMS((void));
extern void _rl_disable_meta_key PARAMS((void));
extern void _rl_control_keypad PARAMS((int));
extern void _rl_set_cursor PARAMS((int, int));
+extern void _rl_standout_on PARAMS((void));
+extern void _rl_standout_off PARAMS((void));
/* text.c */
extern void _rl_fix_point PARAMS((int));
diff --git a/lib/readline/terminal.c b/lib/readline/terminal.c
index 5ba0ac1..41b6f19 100644
--- a/lib/readline/terminal.c
+++ b/lib/readline/terminal.c
@@ -741,6 +741,30 @@ rl_ding (void)
/* **************************************************************** */
/* */
+/* Entering and leaving terminal standout mode */
+/* */
+/* **************************************************************** */
+
+void
+_rl_standout_on (void)
+{
+#ifndef __MSDOS__
+ if (_rl_term_so && _rl_term_se)
+ tputs (_rl_term_so, 1, _rl_output_character_function);
+#endif
+}
+
+void
+_rl_standout_off (void)
+{
+#ifndef __MSDOS__
+ if (_rl_term_so && _rl_term_se)
+ tputs (_rl_term_se, 1, _rl_output_character_function);
+#endif
+}
+
+/* **************************************************************** */
+/* */
/* Controlling the Meta Key and Keypad */
/* */
/* **************************************************************** */
diff --git a/lib/readline/text.c b/lib/readline/text.c
index fa96259..15f5ebb 100644
--- a/lib/readline/text.c
+++ b/lib/readline/text.c
@@ -580,18 +580,8 @@ rl_backward_word (int count, int key)
int
rl_refresh_line (int ignore1, int ignore2)
{
- int curr_line;
-
- curr_line = _rl_current_display_line ();
-
- _rl_move_vert (curr_line);
- _rl_move_cursor_relative (0, rl_line_buffer); /* XXX is this right */
-
- _rl_clear_to_eol (0); /* arg of 0 means to not use spaces */
-
- rl_redraw_prompt_last_line ();
+ _rl_refresh_line ();
rl_display_fixed = 1;
-
return 0;
}
diff --git a/lib/sh/zread.c b/lib/sh/zread.c
index 8b7eced..8dd7810 100644
--- a/lib/sh/zread.c
+++ b/lib/sh/zread.c
@@ -55,12 +55,17 @@ zread (fd, buf, len)
check_signals (); /* check for signals before a blocking read */
while ((r = read (fd, buf, len)) < 0 && errno == EINTR)
- /* XXX - bash-5.0 */
- /* We check executing_builtin and run traps here for backwards compatibility */
- if (executing_builtin)
- check_signals_and_traps (); /* XXX - should it be check_signals()? */
- else
- check_signals ();
+ {
+ int t;
+ t = errno;
+ /* XXX - bash-5.0 */
+ /* We check executing_builtin and run traps here for backwards compatibility */
+ if (executing_builtin)
+ check_signals_and_traps (); /* XXX - should it be check_signals()? */
+ else
+ check_signals ();
+ errno = t;
+ }
return r;
}
diff --git a/po/sr.po b/po/sr.po
index 624010a..a13564c 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,21 +1,21 @@
# Serbian translation for bash.
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright © 2020 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2014—2016.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2014—2020.
msgid ""
msgstr ""
-"Project-Id-Version: bash-4.4\n"
+"Project-Id-Version: bash-5.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-12-19 15:52-0500\n"
-"PO-Revision-Date: 2016-10-01 19:25+0200\n"
+"PO-Revision-Date: 2020-03-31 15:52+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
+"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: sr\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Virtaal 0.7.1\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
#: arrayfunc.c:58
@@ -78,9 +78,9 @@ msgid "brace expansion: cannot allocate memory for %s"
msgstr "ширење заграде: не могу да доделим меморију за „%s“"
#: braces.c:429
-#, fuzzy, c-format
+#, c-format
msgid "brace expansion: failed to allocate memory for %u elements"
-msgstr "ширење заграде: нисам успео да доделим меморију за %d елемента"
+msgstr "ширење заграде: нисам успео да доделим меморију за %u елемента"
#: braces.c:474
#, c-format
@@ -503,11 +503,8 @@ msgstr[2] "Наредбе шкољке које одговарају кључн
#: builtins/help.def:185
#, c-format
-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“."
+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
#, c-format
@@ -682,12 +679,10 @@ msgid ""
" \twith its position in the stack\n"
" \n"
" Arguments:\n"
-" +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown by\n"
" \tdirs when invoked without options, starting with zero.\n"
" \n"
-" -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Приказује списак тренутно запамћених директоријума. Директоријуми\n"
@@ -780,8 +775,7 @@ msgstr ""
" \n"
" Опције:\n"
" -n\tПотискује нормалну замену директоријума приликом уклањања\n"
-" \t директоријума из спремника, тако да се ради само са "
-"спремником.\n"
+" \t директоријума из спремника, тако да се ради само са спремником.\n"
" \n"
" Аргументи:\n"
" +N\tУклања н-ти унос бројећи с лева на списку кога приказује\n"
@@ -1072,9 +1066,8 @@ msgid "attempted assignment to non-variable"
msgstr "покушано је додељивање у не-променљиву"
#: expr.c:530
-#, fuzzy
msgid "syntax error in variable assignment"
-msgstr "садржајна грешка у изразу"
+msgstr "садржајна грешка у додели променљиве"
#: expr.c:544 expr.c:910
msgid "division by 0"
@@ -1274,9 +1267,8 @@ msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: није успело „getpgrp“"
#: jobs.c:4247
-#, fuzzy
msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: дисциплина реда"
+msgstr "initialize_job_control: нема контроле посла у позадини"
#: jobs.c:4263
msgid "initialize_job_control: line discipline"
@@ -1446,12 +1438,8 @@ msgstr "make_redirection: упутсво преусмерења „%d“ је в
#: parse.y:2380
#, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: величина_реда_улаза_шкољке (%zu) је премашила НАЈВЕЋУ_ВЕЛИЧИНУ (%"
-"lu): ред је скраћен"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: величина_реда_улаза_шкољке (%zu) је премашила НАЈВЕЋУ_ВЕЛИЧИНУ (%lu): ред је скраћен"
#: parse.y:2786
msgid "maximum here-document count exceeded"
@@ -1639,7 +1627,7 @@ msgstr "„/tmp“ мора бити исправан назив директо
#: shell.c:798
msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
+msgstr "режим уредног исписа је занемарен у међудејственим шкољкама"
#: shell.c:940
#, c-format
@@ -1964,9 +1952,9 @@ msgid "%s: invalid variable name"
msgstr "%s: неисправан назив променљиве"
#: subst.c:7056
-#, fuzzy, c-format
+#, c-format
msgid "%s: parameter not set"
-msgstr "%s: параметар је ништаван или није подешен"
+msgstr "%s: параметар није подешен"
#: subst.c:7058
#, c-format
@@ -1989,9 +1977,7 @@ msgid "$%s: cannot assign in this way"
msgstr "$%s: не могу дадоделим на овај начин"
#: subst.c:9485
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
msgstr "будућа издања шкољке ће приморати процену као аритметичку замену"
#: subst.c:10043
@@ -2041,9 +2027,9 @@ msgid "invalid signal number"
msgstr "неисправан сигнални број"
#: trap.c:320
-#, fuzzy, c-format
+#, c-format
msgid "trap handler: maximum trap handler level exceeded (%d)"
-msgstr "процена: премашен је највећи ниво угнежђивања процене (%d)"
+msgstr "руковалац изузетком: премашен је највећи ниво руковаоца изузецима (%d)"
#: trap.c:408
#, c-format
@@ -2052,11 +2038,8 @@ msgstr "run_pending_traps: лоша вредност у „trap_list[%d]“: %p"
#: trap.c:412
#, 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:470
#, c-format
@@ -2134,17 +2117,12 @@ msgid "%s: %s: compatibility value out of range"
msgstr "%s: %s: вреднсот сагласности је ван опсега"
#: version.c:46 version2.c:46
-#, fuzzy
msgid "Copyright (C) 2018 Free Software Foundation, Inc."
-msgstr "Ауторска права (C) 2016 Задужбина слободног софтвера, Доо."
+msgstr "Ауторска права © 2018 Задужбина слободног софтвера, Доо."
#: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Дозвола ОЈЛи3+: Гнуова ОЈЛ издање 3 или касније <http://gnu.org/licenses/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Дозвола ОЈЛи3+: Гнуова ОЈЛ издање 3 или касније <http://gnu.org/licenses/gpl.html>\n"
#: version.c:86 version2.c:86
#, c-format
@@ -2153,8 +2131,7 @@ msgstr "Гну баш, издање %s (%s)\n"
#: version.c:91 version2.c:91
msgid "This is free software; you are free to change and redistribute it."
-msgstr ""
-"Ово је слободан софтвер; слободни сте да га мењате и да га расподељујете."
+msgstr "Ово је слободан софтвер; слободни сте да га мењате и да га расподељујете."
#: version.c:92 version2.c:92
msgid "There is NO WARRANTY, to the extent permitted by law."
@@ -2189,13 +2166,8 @@ msgid "unalias [-a] name [name ...]"
msgstr "unalias [-a] назив [назив ...]"
#: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpsvPSVX] [-m мапа кључа] [-f датотека] [-q назив] [-u назив] [-r низ "
-"кључа] [-x низ кључа:наредба-шкољке] [низ кључа:функција-читањареда или "
-"наредба-читањареда]"
+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]"
@@ -2290,12 +2262,8 @@ msgid "help [-dms] [pattern ...]"
msgstr "help [-dms] [шаблон ...]"
#: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-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 arg [аргумент...]"
#: builtins.c:127
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2306,24 +2274,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
msgstr "disown [-h] [-ar] [одредба_посла ... | пид ...]"
#: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s одредба-сигнала | -n бр.сигнала | -sigspec] пиб | одредба_посла ... "
-"или kill -l [одредба_посла]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s одредба-сигнала | -n бр.сигнала | -sigspec] пиб | одредба_посла ... или kill -l [одредба_посла]"
#: builtins.c:136
msgid "let arg [arg ...]"
msgstr "let 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 низ] [-d ограничи] [-i текст] [-n н-знак] [-N н-знак] [-p "
-"упит] [-t временски рок] [-u фд] [назив ...]"
+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]"
@@ -2386,9 +2346,8 @@ msgid "umask [-p] [-S] [mode]"
msgstr "umask [-p] [-S] [режим]"
#: builtins.c:177
-#, fuzzy
msgid "wait [-fn] [id ...]"
-msgstr "wait [-n] [иб ...]"
+msgstr "wait [-fn] [иб ...]"
#: builtins.c:181
msgid "wait [pid ...]"
@@ -2415,12 +2374,8 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
msgstr "case РЕЧ у [ШАБЛОН [| ШАБЛОН]...) НАРЕДБЕ ;;]... 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"
@@ -2479,46 +2434,24 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v променљива] format [аргументи]"
#: 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 опција] [-A радња] [-G општапутања] "
-"[-W списакречи] [-F функција] [-C наредба] [-X путањауслова] [-P префикс] [-"
-"S суфикс] [назив ...]"
+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
-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 "
-"суфикс] [реч]"
+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
-#, fuzzy
msgid "compopt [-o|+o option] [-DEI] [name ...]"
-msgstr "compopt [-o|+o опција] [-DE] [назив ...]"
+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 раздвој] [-n број] [-O порекло] [-s број] [-t] [-u фд] [-C "
-"опозив] [-c количина] [низ]"
+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
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n број] [-O порекло] [-s број] [-t] [-u фд] [-C опозив] [-c "
-"количина] [низ]"
+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 ""
@@ -2535,8 +2468,7 @@ msgid ""
" -p\tprint all defined aliases in a reusable format\n"
" \n"
" Exit Status:\n"
-" alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
"Одређује или приказује псеудониме.\n"
@@ -2544,8 +2476,7 @@ msgstr ""
" Без аргумената, „alias“ исписује списак псеудонима у поново\n"
" употрбљивом облику „alias НАЗИВ=ВРЕДНОСТ“ на стандардном излазу.\n"
" \n"
-" У супротном, псеудоним се одређује за сваки НАЗИВ чија ВРЕДНОСТ је "
-"дата.\n"
+" У супротном, псеудоним се одређује за сваки НАЗИВ чија ВРЕДНОСТ је дата.\n"
" Претходећи размак у ВРЕДНОСТИ доводи до тога да следећа реч бива\n"
" проверена за заменом псеудонима када је псеудоним раширен.\n"
" \n"
@@ -2584,30 +2515,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"
@@ -2621,47 +2547,31 @@ msgstr ""
" аргумент: нпр., 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"
+" -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"
+" -p Испсиује функције и свезе у облику који може бити поново\n"
" коришћен као улаз.\n"
-" -S Исписује низове тастера који призивају "
-"макрое и њихове вредности\n"
-" -s Исписује низове тастера који призивају "
-"макрое и њихове вредности\n"
-" у облику који може бити поново "
-"коришћен као улаз.\n"
-" -V Исписује називе и вредности "
-"променљивих\n"
-" -v Исписује називе и вредности "
-"променљивих у облику који може бити\n"
+" -S Исписује низове тастера који призивају макрое и њихове вредности\n"
+" -s Исписује низове тастера који призивају макрое и њихове вредности\n"
+" у облику који може бити поново коришћен као улаз.\n"
+" -V Исписује називе и вредности променљивих\n"
+" -v Исписује називе и вредности променљивих у облику који може бити\n"
" поново коришћен као улаз.\n"
-" -q назив-функције Пропитује о томе који тастери "
-"призивају именовану функцију.\n"
-" -u назив-функције Развезује све тастере који су "
-"привезани за именовану функцију.\n"
+" -q назив-функције Пропитује о томе који тастери призивају именовану функцију.\n"
+" -u назив-функције Развезује све тастере који су привезани за именовану функцију.\n"
" -r низ тастера Укалања свезу за НИЗ_ТАСТЕРА.\n"
-" -f назив датотеке Чита свезе тастера из "
-"НАЗИВА_ДАТОТЕКЕ.\n"
-" -x низ_тастера:наредба-шкољке Доводи до извршавања НАРЕДБЕ-ШКОЉКЕ "
-"приликом уноса\n"
+" -f назив датотеке Чита свезе тастера из НАЗИВА_ДАТОТЕКЕ.\n"
+" -x низ_тастера:наредба-шкољке Доводи до извршавања НАРЕДБЕ-ШКОЉКЕ приликом уноса\n"
" \t\t\t НИЗА_ТАСТЕРА.\n"
-" -X Исписује свезе низова тастера са -x и "
-"придружене наредбе у облику\n"
-" који може бити поново коришћен као "
-"улаз.\n"
+" -X Исписује свезе низова тастера са -x и придружене наредбе у облику\n"
+" који може бити поново коришћен као улаз.\n"
" \n"
" Излазно стање:\n"
-" „bind“ даје 0 осим ако није дата непозната опција или ако не дође до "
-"грешке."
+" „bind“ даје 0 осим ако није дата непозната опција или ако не дође до грешке."
#: builtins.c:330
msgid ""
@@ -2675,8 +2585,7 @@ msgid ""
msgstr ""
"Излазне петље „for“, „while“, или „until“.\n"
" \n"
-" Излази из петље FOR, WHILE или UNTIL. Ако је наведено N, слама N "
-"затварајућих\n"
+" Излази из петље FOR, WHILE или UNTIL. Ако је наведено N, слама N затварајућих\n"
" петљи.\n"
" \n"
" Излазно стање:\n"
@@ -2701,14 +2610,12 @@ msgstr ""
" Излазно стање је 0 осим ако N није веће или једнако 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"
@@ -2718,12 +2625,10 @@ msgstr ""
" \n"
" Извршава УГРАЂЕНОСТ-ШКОЉКЕ са аргументима АРГ-и без обављања тражења\n"
" наредбе. Ово је корисно када желите поново да примените уграђеност\n"
-" шкољке као функцију шкољке, али морате да извршите уграђеност у "
-"функцији.\n"
+" шкољке као функцију шкољке, али морате да извршите уграђеност у функцији.\n"
" \n"
" Излазно стање:\n"
-" Даје излазно стање УГРАЂЕНОСТИ-ШКОЉКЕ, или нетачност ако УГРАЂЕНОСТ-"
-"ШКОЉКЕ\n"
+" Даје излазно стање УГРАЂЕНОСТИ-ШКОЉКЕ, или нетачност ако УГРАЂЕНОСТ-ШКОЉКЕ\n"
" није уграђеност шкољке."
#: builtins.c:369
@@ -2758,22 +2663,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"
@@ -2789,13 +2688,11 @@ msgid ""
" \t\tattributes as a directory containing the file attributes\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
-" `..' is processed by removing the immediately previous pathname "
-"component\n"
+" `..' is processed by removing the immediately previous pathname component\n"
" back to a slash or the beginning of DIR.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+" Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
" -P is used; non-zero otherwise."
msgstr ""
"Мења радни директоријум шкољке.\n"
@@ -2803,12 +2700,9 @@ msgstr ""
" Мења текући директоријум у ДИР. Основни ДИР је вредност променљиве\n"
" шкољке „ЛИЧНО“.\n"
" \n"
-" Променљива „ЦДПУТАЊА“ одређује путању претраге за директоријум који "
-"садржи\n"
-" ДИР. Заменски називи директоријума у ЦДПУТАЊИ су раздвојени двотачком "
-"(:).\n"
-" Назив ништавног директоријума је исти као текући директоријум. Ако ДИР "
-"почиње\n"
+" Променљива „ЦДПУТАЊА“ одређује путању претраге за директоријум који садржи\n"
+" ДИР. Заменски називи директоријума у ЦДПУТАЊИ су раздвојени двотачком (:).\n"
+" Назив ништавног директоријума је исти као текући директоријум. Ако ДИР почиње\n"
" косом цртом (/), тада се ЦДПУТАЊА не користи.\n"
" \n"
" Ако се не нађе директоријум, а опција шкољке „cdable_vars“ је подешена,\n"
@@ -2819,12 +2713,10 @@ msgstr ""
" -L\tприморава праћење симболичких веза: решава симболичке везе у\n"
" ДИР-у након обраде примерака „..“\n"
" -P\tкористи физичку структуру директоријума без праћења симболичких\n"
-" веза: решава симболичке везе у ДИР-у пре обраде3 примерака "
-"„..“\n"
+" веза: решава симболичке везе у ДИР-у пре обраде3 примерака „..“\n"
" -e\tако је достављена опција „-P“, а текући радни директоријум не\n"
" може бити успешно одређен, излази са не-нултим стањем\n"
-" -@ на системима који подржавају, представља датотеку са "
-"проширеним\n"
+" -@ на системима који подржавају, представља датотеку са проширеним\n"
" особинама као директоријум који садржи особине датотеке\n"
" \n"
" Основно је да прати симболичке везе, као да је наведено „-L“.\n"
@@ -2832,8 +2724,7 @@ msgstr ""
" косу цтрицу или на почетак ДИР-а.\n"
" \n"
" Излазно стање:\n"
-" Даје 0 ако је директоријум измењен, и ако је $PWD успешно подешено када "
-"је\n"
+" Даје 0 ако је директоријум измењен, и ако је $PWD успешно подешено када је\n"
" коришћено „-P“; у супротном вредност различиту од нуле."
#: builtins.c:425
@@ -2909,8 +2800,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"
@@ -2925,8 +2815,7 @@ msgstr ""
"Извршава једноставну наредбу или приказује податке о наредбама.\n"
" \n"
" Покреће НАРЕДБУ са АРГУМЕНТИМА потискујући тражење функције шкољке, или\n"
-" приказује податке о наведеним НАРЕДБАМА. Може да се користи за "
-"позивање\n"
+" приказује податке о наведеним НАРЕДБАМА. Може да се користи за позивање\n"
" наредби на диску када постоји функција са истим називом.\n"
" \n"
" Опције:\n"
@@ -2939,7 +2828,6 @@ msgstr ""
" Даје излазно стање НАРЕДБЕ, или неуспех ако се НАРЕДБА не пронађе."
#: builtins.c:490
-#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2970,8 +2858,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"
@@ -3011,8 +2898,7 @@ msgstr ""
" „local“. Опција „-g“ потискује ово понашање.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако се не достави неисправна опција или "
-"ако\n"
+" Даје позитиван резултат осим ако се не достави неисправна опција или ако\n"
" не дође до грешке доделе променљиве."
#: builtins.c:530
@@ -3048,17 +2934,14 @@ msgstr ""
" функције у којима су одређене и уњиховим породима.\n"
" \n"
" Излазно стање:\n"
-" Резултат је позитиван осим ако се не достави неисправна опција, ако не "
-"дође\n"
+" Резултат је позитиван осим ако се не достави неисправна опција, ако не дође\n"
" до грешке додељивања променљиве, или ако шкољка не извршава функцију."
#: builtins.c:555
-#, 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"
@@ -3082,11 +2965,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"
@@ -3114,11 +2995,15 @@ msgstr ""
" \\t\tводоравни табулатор\n"
" \\v\tусправни табулатор\n"
" \\\\\tконтра коса црта\n"
-" \\0nnn\tзнак чији АСКРИ код јесте NNN (октално). NNN може бити од\n"
+" \\0nnn\tзнак чији АСКРИ код јесте „NNN“ (октално). „NNN“ може бити од\n"
" \t 0 до 3 окталне цифре\n"
-" \\xHH\tосмобитни знак чија вредност јесте HH (хексадецимално). HH\n"
+" \\xHH\tосмобитни знак чија вредност јесте „HH“ (хексадецимално). „HH“\n"
" може бити једна или две хексадецималне цифре\n"
-" \n"
+" \\uHHHH\tзнак Јуникода чија вредност јесте хексадецимална вредност „HHHH“.\n"
+" \t\t„HHHH“ може имати једну до четири хексадецималне цифре.\n"
+" \\UHHHHHHHH знак Јуникода чија вредност јесте хексадецимална вредност\n"
+" \t\t„HHHHHHHH“. „HHHHHHHH“ може бити једна од осам хексадецималних цифара.\n"
+" \n"
" Излазно стање:\n"
" Даје позитиван резултат осим ако не дође до грешке писања."
@@ -3172,8 +3057,7 @@ msgid ""
msgstr ""
"Укључује и искључује уграђености шкољке.\n"
" \n"
-" Укључује и искључује уграђене наредбе шкољке. Искључивање вам "
-"омогућава\n"
+" Укључује и искључује уграђене наредбе шкољке. Искључивање вам омогућава\n"
" да извршите наредбу диска која носи исти назив као уграђеност шкољке\n"
" без коришћења пуне путање.\n"
" \n"
@@ -3193,15 +3077,13 @@ msgstr ""
" шкољке, укуцајте „enable -n test“.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако НАЗИВ није уграђеност шкољке или ако не "
-"дође до грешке."
+" Даје позитиван резултат осим ако НАЗИВ није уграђеност шкољке или ако не дође до грешке."
#: builtins.c:638
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"
@@ -3276,27 +3158,20 @@ msgstr ""
" о грешци. У овом режиму, поруке о грешкама се не исписују. Ако је\n"
" виђена неисправна опција, поставља знак опцијепронађен у ОПЦАРГ-у. Ако\n"
" захтевани аргумент није нађен, поставља двотачку „:“ у НАЗИВ и подешава\n"
-" ОПЦАРГ на нађени знак опције. Ако „добави_опцију“ није у нечујном "
-"режиму,\n"
+" ОПЦАРГ на нађени знак опције. Ако „добави_опцију“ није у нечујном режиму,\n"
" а виђена је неисправна опција, онда поставља знак питања „?“ у НАЗИВ и\n"
-" расподешава ОПЦАРГ. Ако није пронађен захтевани аргумент, питање „?“ "
-"се\n"
-" поставља у НАЗИВУ, ОПЦАРГ се расподешава, а исписује се порука о "
-"дијагнози.\n"
-" \n"
-" Ако променљива шкољке ОПЦГРЕШКА има вредност 0, „добави_опцију“ "
-"искључује\n"
-" исписивање порука о грешкама, чак и ако први знак ОПЦНИСКЕ није "
-"двотачка.\n"
+" расподешава ОПЦАРГ. Ако није пронађен захтевани аргумент, питање „?“ се\n"
+" поставља у НАЗИВУ, ОПЦАРГ се расподешава, а исписује се порука о дијагнози.\n"
+" \n"
+" Ако променљива шкољке ОПЦГРЕШКА има вредност 0, „добави_опцију“ искључује\n"
+" исписивање порука о грешкама, чак и ако први знак ОПЦНИСКЕ није двотачка.\n"
" ОПЦГРЕШКА има вредност 1 по основи.\n"
" \n"
-" „Добави_опцију“ обично обрађује положајне параметре ($0 - $9), али ако "
-"је\n"
+" „Добави_опцију“ обично обрађује положајне параметре ($0 - $9), али ако је\n"
" дато више аргумената, онда се они обрађују.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат ако је пронађена опција; неуспех ако се наиђе "
-"на\n"
+" Даје позитиван резултат ако је пронађена опција; неуспех ако се наиђе на\n"
" крај опције или ако не дође до грешке."
#: builtins.c:692
@@ -3304,8 +3179,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"
@@ -3313,19 +3187,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 ""
"Замењује шкољку датом наредбом.\n"
" \n"
" Извршава НАРЕДБУ, замењујући ову шкољку наведеним програмом. АРГУМЕНТИ\n"
-" постају аргументи НАРЕДБЕ. Ако није наведена НАРЕДБА, свако "
-"преусмеравање\n"
+" постају аргументи НАРЕДБЕ. Ако није наведена НАРЕДБА, свако преусмеравање\n"
" има дејства у текућој шкољци.\n"
" \n"
" Опције:\n"
@@ -3333,13 +3204,11 @@ msgstr ""
" -c\t\tизвршава НАРЕДБУ са празним окружењем\n"
" -l\t\tпоставља цртицу у нултом аргументу НАРЕДБЕ\n"
" \n"
-" Ако наредба не може бити извршена, постоји не-међудејствена шкољка, "
-"осим\n"
+" Ако наредба не може бити извршена, постоји не-међудејствена шкољка, осим\n"
" ако није подешена опција шкољке „execfail“.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако НАРЕДБА није нађена или ако не дође до "
-"грешке преусмеравања."
+" Даје позитиван резултат осим ако НАРЕДБА није нађена или ако не дође до грешке преусмеравања."
#: builtins.c:713
msgid ""
@@ -3357,29 +3226,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 ""
"Напушта шкољку пријављивања.\n"
" \n"
-" Напушта шкољку пријављивања са излазним стањем N. Даје грешку ако није "
-"извршено\n"
+" Напушта шкољку пријављивања са излазним стањем N. Даје грешку ако није извршено\n"
" у шкољци пријављивања."
#: builtins.c:732
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"
@@ -3393,21 +3258,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 ""
"Приказује или извршава наредбе са списка историјата.\n"
" \n"
-" „fc“ се користи за исписивање или уређивање и за поновно извршавање "
-"наредби\n"
-" са списка историјата. ПРВИ и ПОСЛЕДЊИ могу бити бројеви који наводе "
-"опсег,\n"
-" или ПРВИ може бити ниска, што значи да најсвежија наредба почиње том "
-"ниском.\n"
+" „fc“ се користи за исписивање или уређивање и за поновно извршавање наредби\n"
+" са списка историјата. ПРВИ и ПОСЛЕДЊИ могу бити бројеви који наводе опсег,\n"
+" или ПРВИ може бити ниска, што значи да најсвежија наредба почиње том ниском.\n"
" \n"
" Опције:\n"
-" -e ЕНАЗИВ\t бира уређивача за коришћење. Основно је „FCEDIT“, затим "
-"„EDITOR“,\n"
+" -e ЕНАЗИВ\t бира уређивача за коришћење. Основно је „FCEDIT“, затим „EDITOR“,\n"
" \t\t затим „vi“\n"
" -l \t прави списак редова уместо да уређује\n"
" -n\t изоставља бројеве редова приликом стварања списка\n"
@@ -3421,8 +3281,7 @@ msgstr ""
" последњу наредбу.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат или стање извршене наредбе; не-нулу ако дође до "
-"грешке."
+" Даје позитиван резултат или стање извршене наредбе; не-нулу ако дође до грешке."
#: builtins.c:762
msgid ""
@@ -3448,10 +3307,8 @@ msgstr ""
msgid ""
"Move jobs to the background.\n"
" \n"
-" Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-" had been started with `&'. If JOB_SPEC is not present, the shell's "
-"notion\n"
+" Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n"
" of the current job is used.\n"
" \n"
" Exit Status:\n"
@@ -3459,22 +3316,19 @@ msgid ""
msgstr ""
"Премешта посао у позадину.\n"
" \n"
-" Поставља посао одређен сваком „JOB_SPEC“ у позадину, као да су "
-"покренути\n"
+" Поставља посао одређен сваком „JOB_SPEC“ у позадину, као да су покренути\n"
" са &. Ако „JOB_SPEC“ није присутно, користи се шкољкино поимање\n"
" текућег посла.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није укључено управљање послом или ако "
-"не дође до грешке."
+" Даје позитиван резултат осим ако није укључено управљање послом или ако не дође до грешке."
#: builtins.c:791
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"
@@ -3509,11 +3363,9 @@ msgstr ""
" \t\tзапамћених наредби.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако се НАЗИВ не нађе или ако је дата "
-"неисправна опција."
+" Даје позитиван резултат осим ако се НАЗИВ не нађе или ако је дата неисправна опција."
#: builtins.c:816
-#, fuzzy
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3531,8 +3383,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 ""
"Приказује податке о уграђеним наредбама.\n"
" \n"
@@ -3550,11 +3401,9 @@ msgstr ""
" ШАБЛОН\tШаблон који наводи тему помоћи\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако ШАБЛОН није пронађен или ако је дата "
-"неисправна опција."
+" Даје позитиван резултат осим ако ШАБЛОН није пронађен или ако је дата неисправна опција."
#: builtins.c:840
-#, fuzzy
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3582,8 +3431,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."
@@ -3598,8 +3446,7 @@ msgstr ""
" -d померај брише унос историјата на померају ПОМЕРАЈ.\n"
" \n"
" -a\t додаје редове историјата из ове сесије у датотеку историјата\n"
-" -n\t чита све редове историјата који нису прочитани из датотеке "
-"историјата\n"
+" -n\t чита све редове историјата који нису прочитани из датотеке историјата\n"
" \t\tи додаје их на списак историјата\n"
" -r\t чита датотеку историјата и додаје садржај на списак историјата\n"
" -w\t пише текући историјат у датотеку историјата\n"
@@ -3608,20 +3455,15 @@ msgstr ""
" \t без смештања на списак историјата\n"
" -s\t додаје АРГ-те на списак историјата као један унос\n"
" \n"
-" Ако је дата ДАТОТЕКА, користи се као датотека историјата. Усупротном,\n"
-" ако ДАТОТЕКА_ИСТОРИЈАТА има вредност, она се користи, другачије „~/."
-"bash_history“.\n"
+" Ако је дата ДАТОТЕКА, користи се као датотека историјата. У супротном,\n"
+" ако ДАТОТЕКА_ИСТОРИЈАТА има вредност, она се користи, другачије „~/.bash_history“.\n"
" \n"
-" Ако је променљива ЗАПИСВРЕМЕНАИСТОРИЈАТА подешена и није ништавна, "
-"користи се\n"
-" њена вредност као ниска записа за „strftime(3)“ да исписше временску "
-"ознаку придружену\n"
-" сваком приказаном уносу историјата. У супротном временске ознаке се не "
-"исписују.\n"
+" Ако је променљива ЗАПИСВРЕМЕНАИСТОРИЈАТА подешена и није ништавна, користи се\n"
+" њена вредност као ниска записа за „strftime(3)“ да исписше временску ознаку придружену\n"
+" сваком приказаном уносу историјата. У супротном временске ознаке се не исписују.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није дата неисправна опција или ако не "
-"дође до грешке."
+" Даје позитиван резултат осим ако није дата неисправна опција или ако не дође до грешке."
#: builtins.c:877
msgid ""
@@ -3659,14 +3501,11 @@ msgstr ""
" -r\tограничава излаз на покренуте послове\n"
" -s\tограничава излаз на заустављене послове\n"
" \n"
-" Ако је достављено „-x“, НАРЕДБА се покреће након што се све одредбе "
-"посла које\n"
-" се јављају у АРГУМЕНТИМА замене ИБ-ом процеса тог вође групе процеса "
-"посла.\n"
+" Ако је достављено „-x“, НАРЕДБА се покреће након што се све одредбе посла које\n"
+" се јављају у АРГУМЕНТИМА замене ИБ-ом процеса тог вође групе процеса посла.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није дата неисправна опција или ако не "
-"дође до грешке.\n"
+" Даје позитиван резултат осим ако није дата неисправна опција или ако не дође до грешке.\n"
" Ако се користи „-x“, даје излазно стање НАРЕДБЕ."
#: builtins.c:904
@@ -3692,14 +3531,12 @@ msgstr ""
" \n"
" Опције:\n"
" -a\tуклања све послове ако није достављена ОДРЕДБАПОСЛА\n"
-" -h\tозначава сваку ОДРЕДБУПОСЛА тако да СИГНАЛГОРЕ није послат послу "
-"ако\n"
+" -h\tозначава сваку ОДРЕДБУПОСЛА тако да СИГНАЛГОРЕ није послат послу ако\n"
" \t шкољка прими СИГНАЛГОРЕ\n"
" -r\tуклања само покренуте послове\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није дата неисправна опција или "
-"ОДРЕДБАПОСЛА."
+" Даје позитиван резултат осим ако није дата неисправна опција или ОДРЕДБАПОСЛА."
#: builtins.c:923
msgid ""
@@ -3726,8 +3563,7 @@ msgstr ""
"Шаље сигнал послу.\n"
" \n"
" Шаље процесима препознатих ПИБ-ом или ОДРЕДБОМПОСЛА сигнал именован\n"
-" ОДРЕДБОМСИГНАЛА или БРОЈЕМСИГНАЛА. Ако није присутно ни "
-"ОДРЕДБА_СИГНАЛА\n"
+" ОДРЕДБОМСИГНАЛА или БРОЈЕМСИГНАЛА. Ако није присутно ни ОДРЕДБА_СИГНАЛА\n"
" ни БРОЈ_СИГНАЛА, подразумева се ТЕРМ_СИГНАЛА.\n"
" \n"
" Опције:\n"
@@ -3737,15 +3573,12 @@ msgstr ""
" \t се да су бројеви сигнала за које називи требају бити исписани\n"
" -L\tсиноним за „-l“\n"
" \n"
-" „Kill“ је уграђеност шкољке из два разлога: омогућава да ИБ-ови послова "
-"буду\n"
-" коришћени уместо ИБ-ова процеса, и омогућава убијање процеса ако је "
-"достигнуто\n"
+" „Kill“ је уграђеност шкољке из два разлога: омогућава да ИБ-ови послова буду\n"
+" коришћени уместо ИБ-ова процеса, и омогућава убијање процеса ако је достигнуто\n"
" ограничење процеса које можете да направите.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није дата неисправна опција или ако не "
-"дође до грешке."
+" Даје позитиван резултат осим ако није дата неисправна опција или ако не дође до грешке."
#: builtins.c:947
msgid ""
@@ -3754,8 +3587,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"
@@ -3832,21 +3664,17 @@ msgstr ""
" Ако се последњи АРГ процени на 0, исписује 1; у супротном даје 0."
#: builtins.c:992
-#, 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"
+" the last NAME. Only the characters found in $IFS are recognized as word\n"
" delimiters.\n"
" \n"
-" If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
" \n"
" Options:\n"
" -a array\tassign the words read to sequential indices of the array\n"
@@ -3858,8 +3686,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"
@@ -3877,10 +3704,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 ""
"Чита ред са стандардног улаза и дели га на поља.\n"
@@ -3891,8 +3716,7 @@ msgstr ""
" и тако редом, са сваком наредном речју додељеном последњем НАЗИВУ.\n"
" Само знаци пронађени у „$IFS“ се признају за граничнике речи.\n"
" \n"
-" Ако нису достављени НАЗИВИ, читани ред је смештен у променљивој "
-"ОДГОВОР.\n"
+" Ако нису достављени НАЗИВИ, читани ред је смештен у променљивој ОДГОВОР.\n"
" \n"
" Опције:\n"
" -a низ\t додељује читање речи секвенцијалним индексима променљиве\n"
@@ -3901,23 +3725,18 @@ msgstr ""
" \t\t радије него нови ред\n"
" -e\t користи читање реда да добије ред у међудејственој шкољци\n"
" -i текст\t користи ТЕКСТ као почетни текст за читање реда\n"
-" -n n-знака даје резултат након читања знакова N-ЗНАКОВА радије него "
-"да\n"
+" -n n-знака даје резултат након читања знакова N-ЗНАКОВА радије него да\n"
" \t\t чека на нови ред, али поштује граничника ако је прочитано\n"
" \t\t мање знакова од N-ЗНАКОВА пре граничника\n"
-" -N n-знака даје резултат само након читања тачно знакова N-ЗНАКОВА, "
-"осим\n"
+" -N n-знака даје резултат само након читања тачно знакова N-ЗНАКОВА, осим\n"
" \t\t ако не наиђе на крај датотеке или ако не истекне време читања,\n"
" занемарујући све граничнике\n"
-" -p упит\t исписује ниску УПИТ без пратећег новог реда пре покушаја "
-"читања\n"
+" -p упит\t исписује ниску УПИТ без пратећег новог реда пре покушаја читања\n"
" -r\t не дозвољава контра косим цртама да преломе ниједан од знакова\n"
" -s\t не оглашава улаз који долази са терминала\n"
-" -t истек\t неуспех временског рока и давања резултата ако читав ред "
-"улаза\n"
+" -t истек\t неуспех временског рока и давања резултата ако читав ред улаза\n"
" \t\t није прочитан за време од ВРЕМЕ_РОК секунде. Вредност променљиве\n"
-" \t\t ВИСТЕКА је основни временски рок. ВРЕМЕНСКИ_РОК може бити "
-"разломак.\n"
+" \t\t ВИСТЕКА је основни временски рок. ВРЕМЕНСКИ_РОК може бити разломак.\n"
" \t\t Ако је ВРЕМЕНСКИ_РОК 0, читање даје резултат одмах, без покушаја\n"
" \t\t читања некох података, дајући позитиван резултат само ако је улаз\n"
" \t\t доступан на наведеном описнику датотеке. Излазно стање је веће\n"
@@ -3925,12 +3744,9 @@ msgstr ""
" -u фд\t чита из описника датотеке ФД уместо са стандардног улаза\n"
" \n"
" Излазно стање:\n"
-" Резултат је нула, осим ако се не наиђе на крај датотеке, не истекне "
-"време\n"
-" читања (у том случају је већи од 128), ако не дође до грешке доделе "
-"променљиве,\n"
-" или ако се не достави неисправан описник датотеке као аргумент опције „-"
-"u“."
+" Резултат је нула, осим ако се не наиђе на крај датотеке, не истекне време\n"
+" читања (у том случају је већи од 128), ако не дође до грешке доделе променљиве,\n"
+" или ако се не достави неисправан описник датотеке као аргумент опције „-u“."
#: builtins.c:1039
msgid ""
@@ -3995,8 +3811,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"
@@ -4020,8 +3835,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"
@@ -4076,24 +3890,18 @@ msgstr ""
" nounset исто као -u\n"
" onecmd исто као -t\n"
" physical исто као -P\n"
-" pipefail вредност резултата спојнице јесте стање последње "
-"наредбе\n"
-" за прекид са не-нултим стањем, или са нулом ако "
-"ниједна\n"
+" pipefail вредност резултата спојнице јесте стање последње наредбе\n"
+" за прекид са не-нултим стањем, или са нулом ако ниједна\n"
" наредба није завршила са не-нултим стањем\n"
-" posix мења понашање баша где се основна радња "
-"разликује\n"
+" posix мења понашање баша где се основна радња разликује\n"
" од стандарда Посикса да би одговарала стандарду\n"
" privileged исто као -p\n"
" verbose исто као -v\n"
" vi користи сучеље уређивања реда у стилу вија\n"
" xtrace исто као -x\n"
-" -p Укључено кад год се ибови стварног и ефективног корисника не "
-"подударају.\n"
-" Искључује обраду датотеке „$ENV“ и увоз функција шкољке. "
-"Искључивање ове\n"
-" опције доводи до тога да ефективни јиб и гиб буду подешени на "
-"стварни\n"
+" -p Укључено кад год се ибови стварног и ефективног корисника не подударају.\n"
+" Искључује обраду датотеке „$ENV“ и увоз функција шкољке. Искључивање ове\n"
+" опције доводи до тога да ефективни јиб и гиб буду подешени на стварни\n"
" јиб и гиб.\n"
" -t Излази након читања и извршавања једне наредбе.\n"
" -u Сматра променљиве расподешавања за грешку приликом замењивања.\n"
@@ -4107,8 +3915,7 @@ msgstr ""
" по основи када је шкољка међудејствена.\n"
" -P Ако је подешено, не решава симболичке везе приликом извршавања\n"
" наредби као што је „cd“ која мења текући директоријум.\n"
-" -T Ако је подешено, хватања ПРОЧИШЋАВАЊА и РЕЗУЛТАТА се наслеђују "
-"функцијама шкољке.\n"
+" -T Ако је подешено, хватања ПРОЧИШЋАВАЊА и РЕЗУЛТАТА се наслеђују функцијама шкољке.\n"
" -- Додељује све преостале аргументе положајним параметрима.\n"
" Ако нема преосталих аргумената, положајни параметри се\n"
" расподешавају.\n"
@@ -4136,8 +3943,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"
@@ -4155,23 +3961,20 @@ msgstr ""
" -n\tсматра сваки НАЗИВ као упуту назива и расподешава\n"
" \t саму променљиву радије него упуте променљиве\n"
" \n"
-" Без опција, „unset“ прво покушава да расподеси променљиву, а ако то не "
-"успе,\n"
+" Без опција, „unset“ прво покушава да расподеси променљиву, а ако то не успе,\n"
" покушава да расподеси функцију.\n"
" \n"
" Неке променљиве не могу бити расподешене; видите такође „readonly“.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није дата неисправна опција или ако је "
-"НАЗИВ само за читање."
+" Даје позитиван резултат осим ако није дата неисправна опција или ако је НАЗИВ само за читање."
#: builtins.c:1159
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"
@@ -4196,8 +3999,7 @@ msgstr ""
" Аргумент „--“ искључује даљу обраду опције.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако је дата неисправна опција или је НАЗИВ "
-"неисправан."
+" Даје позитиван резултат осим ако је дата неисправна опција или је НАЗИВ неисправан."
#: builtins.c:1178
msgid ""
@@ -4221,25 +4023,21 @@ msgid ""
msgstr ""
"Означава променљиве шкољке непроменљивим.\n"
" \n"
-" Означава сваки НАЗИВ као само за читање; вредности тих НАЗИВА не могу "
-"бити\n"
-" измењене подсеквенционалним додељивањем. Ако је достављена ВРЕДНОСТ, "
-"додељује\n"
+" Означава сваки НАЗИВ као само за читање; вредности тих НАЗИВА не могу бити\n"
+" измењене подсеквенционалним додељивањем. Ако је достављена ВРЕДНОСТ, додељује\n"
" ВРЕДНОСТ пре него ли јеозначи само за читање.\n"
" \n"
" Опције:\n"
" -a\tупућује на променљиве пописивог низа\n"
" -A\tупућује на променљиве придруживог низа\n"
" -f\tупућује на функције шкољке\n"
-" -p\tприказује списак свих променљивих и функција само за читање, "
-"зависно\n"
+" -p\tприказује списак свих променљивих и функција само за читање, зависно\n"
" од тога да ли је опција „-f“ дата или није\n"
" \n"
" Аргумент „--“ искључује даље обрађивање опције.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није дата неисправна опција или ако је "
-"НАЗИВ неисправан."
+" Даје позитиван резултат осим ако није дата неисправна опција или ако је НАЗИВ неисправан."
#: builtins.c:1200
msgid ""
@@ -4305,8 +4103,7 @@ msgstr ""
" -f\tприморава обустављање, чак и ако је шкољка пријављивања\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није укључено управљање послом или ако "
-"не дође до грешке."
+" Даје позитиван резултат осим ако није укључено управљање послом или ако не дође до грешке."
#: builtins.c:1259
msgid ""
@@ -4342,8 +4139,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"
@@ -4364,8 +4160,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"
@@ -4407,8 +4202,7 @@ msgstr ""
" -c ДАТОТЕКА Тачно ако је датотека посебног знака.\n"
" -d ДАТОТЕКА Тачно ако је датотека директоријум.\n"
" -e ДАТОТЕКА Тачно ако датотека постоји.\n"
-" -f ДАТОТЕКА Тачно ако датотека постоји и ако је обична "
-"датотека.\n"
+" -f ДАТОТЕКА Тачно ако датотека постоји и ако је обична датотека.\n"
" -g ДАТОТЕКА Тачно ако је датотека подеси-иб-групе.\n"
" -h ДАТОТЕКА Тачно ако је датотека симболичка веза.\n"
" -L ДАТОТЕКА Тачно ако је датотека симболичка веза.\n"
@@ -4422,18 +4216,14 @@ msgstr ""
" -w ДАТОТЕКА Тачно ако у датотеку можете ви да пишете.\n"
" -x ДАТОТЕКА Тачно ако датотеку можете ви да извршите.\n"
" -O ДАТОТЕКА Тачно ако је датотека заправо у вашем власништву.\n"
-" -G ДАТОТЕКА Тачно ако је датотека заправо у власништву ваше "
-"групе.\n"
-" -N ДАТОТЕКА Тачно ако је датотека измењена након последњег "
-"читања.\n"
+" -G ДАТОТЕКА Тачно ако је датотека заправо у власништву ваше групе.\n"
+" -N ДАТОТЕКА Тачно ако је датотека измењена након последњег читања.\n"
" \n"
-" ДАТОТЕКА1 -nt ДАТОТЕКА2 Тачно ако је датотека1 новија од датотеке2 "
-"(према датуму измене).\n"
+" ДАТОТЕКА1 -nt ДАТОТЕКА2 Тачно ако је датотека1 новија од датотеке2 (према датуму измене).\n"
" \n"
" ДАТОТЕКА1 -ot ДАТОТЕКА2 Тачно ако је датотека1 старија од датотеке2.\n"
" \n"
-" ДАТОТЕКА1 -ef ДАТОТЕКА2 Тачно ако је датотека1 чврста веза до "
-"датотеке2.\n"
+" ДАТОТЕКА1 -ef ДАТОТЕКА2 Тачно ако је датотека1 чврста веза до датотеке2.\n"
" \n"
" Оператори ниске:\n"
" \n"
@@ -4444,32 +4234,26 @@ msgstr ""
" \n"
" НИСКА1 = НИСКА2 Тачно ако су ниске једнаке.\n"
" НИСКА1 != НИСКА2 Тачно ако ниске нису једнаке.\n"
-" НИСКА1 < НИСКА2 Тачно ако НИСКА1 долази пре НИСКЕ2 "
-"лексикографски.\n"
-" НИСКА1 > НИСКА2 Тачно ако НИСКА1 долази после НИСКЕ2 "
-"лексикографски.\n"
+" НИСКА1 < НИСКА2 Тачно ако НИСКА1 долази пре НИСКЕ2 лексикографски.\n"
+" НИСКА1 > НИСКА2 Тачно ако НИСКА1 долази после НИСКЕ2 лексикографски.\n"
" \n"
" Остали оператори:\n"
" \n"
" -o ОПЦИЈА Тачно ако је опција шкољке ОПЦИЈА укључена.\n"
" -v ПРОМ Тачно ако је променљива шкољке ПРОМ подешена\n"
-" -R ПРОМ Тачно ако је променљива шкољке ПРОМ подешена и ако "
-"је упута назива.\n"
+" -R ПРОМ Тачно ако је променљива шкољке ПРОМ подешена и ако је упута назива.\n"
" ! ИЗРАЗ Тачно ако је израз нетачан.\n"
" ИЗРАЗ1 -a ИЗРАЗ2 Тачно ако је тачан и израз1 И израз2.\n"
" ИЗРАЗ1 -o ИЗРАЗ2 Тачно ако је тачан или израз1 ИЛИ израз2.\n"
" \n"
-" арг1 ОП арг2 Аритметичка проба. ОП је једно од следећег: -eq, -"
-"ne,\n"
+" арг1 ОП арг2 Аритметичка проба. ОП је једно од следећег: -eq, -ne,\n"
" -lt, -le, -gt, or -ge.\n"
" \n"
-" Аритметички двочлани оператори дају тачно ако је АРГ1 једнак, није-"
-"једнак,\n"
+" Аритметички двочлани оператори дају тачно ако је АРГ1 једнак, није-једнак,\n"
" мањи-од, мањи-од-или-једнак, већи-од, или већи-од-или-једнак са АРГ2.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат ако се ИЗРАЗ процени на тачно; неуспех ако се "
-"ИЗРАЗ процени\n"
+" Даје позитиван резултат ако се ИЗРАЗ процени на тачно; неуспех ако се ИЗРАЗ процени\n"
" на нетачно или ако је дат неисправан аргумент."
#: builtins.c:1341
@@ -4488,8 +4272,7 @@ msgstr ""
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"
@@ -4507,8 +4290,7 @@ msgstr ""
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"
@@ -4517,34 +4299,26 @@ msgid ""
" value. If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
" shell and by the commands it invokes.\n"
" \n"
-" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. "
-"If\n"
-" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
-"If\n"
-" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
-"a\n"
-" script run by the . or source builtins finishes executing. A "
-"SIGNAL_SPEC\n"
-" of ERR means to execute ARG each time a command's failure would cause "
-"the\n"
+" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. If\n"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n"
+" script run by the . or source builtins finishes executing. A SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause the\n"
" shell to exit when the -e option is enabled.\n"
" \n"
-" If no arguments are supplied, trap prints the list of commands "
-"associated\n"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
"Хвата сигнале и друге догађаје.\n"
" \n"
@@ -4554,37 +4328,29 @@ msgstr ""
" АРГ је наредба за читање и извршавање када шкољка прими ОДРЕДБУ_СИГНАЛА\n"
" сигнала. Ако АРГ недостаје (а достављена је једна ОДРЕДБА_СИГНАЛА) или\n"
" „-“, сваки наведени сигнал се враћа на првобитну вредност. Ако је АРГ\n"
-" ништавна ниска свака ОДРЕДБА_СИГНАЛА се занемарује од стране шкољке и "
-"од\n"
+" ништавна ниска свака ОДРЕДБА_СИГНАЛА се занемарује од стране шкољке и од\n"
" наредби које призива.\n"
" \n"
" Ако је ОДРЕДБА_СИГНАЛА ИЗАЂИ (0) АРГ се извршава при изласку из шкољке.\n"
" Ако је ОДРЕДБА_СИГНАЛА ПРОЧИСТИ, АРГ се извршава пре сваке једноставне\n"
-" наредбе. Ако је ОДРЕДБА_СИГНАЛА ВРАТИ, АРГ се извршава сваки пут када "
-"се\n"
-" заврши извршавање функције шкољке или списа покренутих . или "
-"уграђености\n"
-" извора. ОДРЕДБА_СИГНАЛА или ГРЕШКА значи извршавање АРГ-а сваки пут "
-"када\n"
-" би неуспех наредбе довео до изласка шкољке када је укључена опција „-"
-"e“.\n"
-" \n"
-" Ако нису достављени аргументи, „trap“ исписује списак наредби "
-"придружених\n"
+" наредбе. Ако је ОДРЕДБА_СИГНАЛА ВРАТИ, АРГ се извршава сваки пут када се\n"
+" заврши извршавање функције шкољке или списа покренутих . или уграђености\n"
+" извора. ОДРЕДБА_СИГНАЛА или ГРЕШКА значи извршавање АРГ-а сваки пут када\n"
+" би неуспех наредбе довео до изласка шкољке када је укључена опција „-e“.\n"
+" \n"
+" Ако нису достављени аргументи, „trap“ исписује списак наредби придружених\n"
" сваком сигналу.\n"
" \n"
" Опције:\n"
" -l\tисписује списак назива сигнала и њихових одговарајућих бројева\n"
" -p\tприказује наредбе хватања придружене свакој ОДРЕДБИ_СИГНАЛА\n"
" \n"
-" Свака ОДРЕДБА_СИГНАЛА је или назив сигнала у <signal.h> или број "
-"сигнала.\n"
+" Свака ОДРЕДБА_СИГНАЛА је или назив сигнала у <signal.h> или број сигнала.\n"
" Називи сигнала нису осетљиви на величину слова а префикс СИГ је опција.\n"
" Сигнал може бити послат шкољци помоћу „kill -signal $$“.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим за неисправну ОДРЕДБА_СИГНАЛА или за "
-"неисправну опцију."
+" Даје позитиван резултат осим за неисправну ОДРЕДБА_СИГНАЛА или за неисправну опцију."
#: builtins.c:1398
msgid ""
@@ -4612,8 +4378,7 @@ msgid ""
" NAME\tCommand name to be interpreted.\n"
" \n"
" Exit Status:\n"
-" Returns success if all of the NAMEs are found; fails if any are not "
-"found."
+" Returns success if all of the NAMEs are found; fails if any are not found."
msgstr ""
"Приказује податке о врсти наредбе.\n"
" \n"
@@ -4625,33 +4390,27 @@ msgstr ""
" \t укључује псеудониме, уграђености, и функције, ако и само ако\n"
" \t опција „-p“ није такође коришћена\n"
" -f\tпотискује тражење функције шкољке\n"
-" -P\tприморава претрагу ПУТАЊЕ за сваким НАЗИВОМ, чак и ако је "
-"псеудоним,\n"
-" \t уграђеност, или функција, и враћа назив датотеке диска која ће "
-"бити\n"
+" -P\tприморава претрагу ПУТАЊЕ за сваким НАЗИВОМ, чак и ако је псеудоним,\n"
+" \t уграђеност, или функција, и враћа назив датотеке диска која ће бити\n"
" \t извршена\n"
" -p\tдаје или назив датотеке диска која ће бити извршена, или ништа\n"
" \t ако „type -t НАЗИВ“ неће дати „датотеку“.\n"
" -t\tисписује једну реч која је једна од следећих: „alias“, „keyword“,\n"
-" \t „function“, „builtin“, „file“ или „“, ако је НАЗИВ псеудоним, "
-"реч\n"
-" \t резервисана шкољком, функција шкољке, уграђеност шкољке, "
-"датотека диска,\n"
+" \t „function“, „builtin“, „file“ или „“, ако је НАЗИВ псеудоним, реч\n"
+" \t резервисана шкољком, функција шкољке, уграђеност шкољке, датотека диска,\n"
" или ако није пронађена\n"
" \n"
" Аргументи:\n"
" НАЗИВ\tНазив наредбе за тумачење.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат ако су пронађени сви НАЗИВИ; неуспех ако ниједан "
-"није пронађен."
+" Даје позитиван резултат ако су пронађени сви НАЗИВИ; неуспех ако ниједан није пронађен."
#: builtins.c:1429
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"
@@ -4732,14 +4491,12 @@ msgstr ""
" У супротном, тренутна вредност наведеног изворишта се исписује. Ако\n"
" није дата ниједна опција, онда се подразумева „-f“.\n"
" \n"
-" Вредности су у 1024-битном повећавању, изузев за „-t“ која је у "
-"секундама,\n"
+" Вредности су у 1024-битном повећавању, изузев за „-t“ која је у секундама,\n"
" „-p“ која се повећава за 512 бајта, и „-u“ која је произвољан број\n"
" процеса.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако се не достави неисправна опција или ако "
-"не дође до грешке."
+" Даје позитиван резултат осим ако се не достави неисправна опција или ако не дође до грешке."
#: builtins.c:1479
msgid ""
@@ -4767,21 +4524,17 @@ msgstr ""
" симболичка ниска режима као она коју прихвата „chmod(1)“.\n"
" \n"
" Опције:\n"
-" -p\tако је РЕЖИМ изостављен, исписује у облику који може бити поново "
-"коришћен као улаз\n"
+" -p\tако је РЕЖИМ изостављен, исписује у облику који може бити поново коришћен као улаз\n"
" -S\tчини излаз симболичким; у супротном излаз је октални број\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако је РЕЖИМ неисправан или ако је дата "
-"неисправна опција."
+" Даје позитиван резултат осим ако је РЕЖИМ неисправан или ако је дата неисправна опција."
#: builtins.c:1499
-#, fuzzy
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"
@@ -4807,6 +4560,9 @@ msgstr ""
" Ако је достављена опција „-n“, чека на следећи посао да заврши и\n"
" исписује његово излазно стање.\n"
" \n"
+" Ако је достављена опција „-f“, а контрола посла је укључена, чека на\n"
+" наведени ИБ да оконча, уместо да чека на њега да промени статус.\n"
+" \n"
" Излазно стање:\n"
" Исписује стање последњег ИБ-а; неуспех ако је ИБ неисправан или ако је\n"
" дата неисправна опција."
@@ -4815,27 +4571,22 @@ msgstr ""
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
-" Waits for each process specified by a PID and reports its termination "
-"status.\n"
+" Waits for each process specified by a PID and reports its termination status.\n"
" If PID is not given, waits for all currently active child processes,\n"
" and the return status is zero. PID must be a process ID.\n"
" \n"
" Exit Status:\n"
-" Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+" Returns the status of the last PID; fails if PID is invalid or an invalid\n"
" option is given."
msgstr ""
"Чека на довршавање процеса и даје излазно стање.\n"
" \n"
-" Чека на сваки процес наведен ПИБ-ом и извештава о његовом излазном "
-"стању.\n"
-" Ако ПИБ ниије дат, чека на све тренутно радне потпроцесе, а враћено "
-"стање\n"
+" Чека на сваки процес наведен ПИБ-ом и извештава о његовом излазном стању.\n"
+" Ако ПИБ ниије дат, чека на све тренутно радне потпроцесе, а враћено стање\n"
" је нула. ПИБ мора бити ИБ процеса.\n"
" \n"
" Излазно стање:\n"
-" Исписује стање последњег ПИБ-а; неуспех ако је ПИБ неисправан или ако је "
-"дата\n"
+" Исписује стање последњег ПИБ-а; неуспех ако је ПИБ неисправан или ако је дата\n"
" неисправна опција."
#: builtins.c:1538
@@ -4884,8 +4635,7 @@ msgstr ""
" \t\tНАРЕДБЕ\n"
" \t\t(( ИЗРАЗ3 ))\n"
" \tdone\n"
-" ИЗРАЗ1, ИЗРАЗ2, и ИЗРАЗ3 јесу аритметички изрази. Ако је изостављен "
-"неки израз,\n"
+" ИЗРАЗ1, ИЗРАЗ2, и ИЗРАЗ3 јесу аритметички изрази. Ако је изостављен неки израз,\n"
" понаша се као да се процењује на 1.\n"
" \n"
" Излазно стање:\n"
@@ -4978,17 +4728,12 @@ msgstr ""
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"
@@ -4996,18 +4741,12 @@ msgid ""
msgstr ""
"Извршава наредбе на основу условности.\n"
" \n"
-" Извршава се списак „if НАРЕДБЕ“. Ако је његово излазно стање нула, тада "
-"се\n"
-" извршава списак „then НАРЕДБЕ“. У супротном, сваки списак „elif "
-"НАРЕДБЕ“\n"
-" се извршава на смену, и ако је његово излазно стање нула, одговарајући "
-"списак\n"
-" „then НАРЕДБЕ“ се извршава и наредба „if“ се завршава. У супротном, "
-"извршава\n"
-" се списак „else НАРЕДБЕ“, ако постоји. Излазно стање читаве "
-"конструкције је\n"
-" излазно стање последње извршене наредбе, или нула ако нема испробаног "
-"услова.\n"
+" Извршава се списак „if НАРЕДБЕ“. Ако је његово излазно стање нула, тада се\n"
+" извршава списак „then НАРЕДБЕ“. У супротном, сваки списак „elif НАРЕДБЕ“\n"
+" се извршава на смену, и ако је његово излазно стање нула, одговарајући списак\n"
+" „then НАРЕДБЕ“ се извршава и наредба „if“ се завршава. У супротном, извршава\n"
+" се списак „else НАРЕДБЕ“, ако постоји. Излазно стање читаве конструкције је\n"
+" излазно стање последње извршене наредбе, или нула ако нема испробаног услова.\n"
" \n"
" Излазно стање:\n"
" Исписује стање последње извршене наредбе."
@@ -5075,8 +4814,7 @@ 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"
@@ -5085,12 +4823,9 @@ msgid ""
msgstr ""
"Одређује функцију шкољке.\n"
" \n"
-" Ствара функцију шкољке под називом НАЗИВ. Када се призове као једна "
-"наредба,\n"
-" НАЗИВ покреће НАРЕДБЕ у контексту шкољке позивања. Када се призове "
-"НАЗИВ,\n"
-" аргументи се прослеђују функцији као $1...$n, а назив функције се налази "
-"у\n"
+" Ствара функцију шкољке под називом НАЗИВ. Када се призове као једна наредба,\n"
+" НАЗИВ покреће НАРЕДБЕ у контексту шкољке позивања. Када се призове НАЗИВ,\n"
+" аргументи се прослеђују функцији као $1...$n, а назив функције се налази у\n"
" $НАЗИВУ_ФУНКЦИЈЕ.\n"
" \n"
" Излазно стање:\n"
@@ -5130,8 +4865,7 @@ msgstr ""
"Наставља посао у првом плану.\n"
" \n"
" Исто као и аргумент ОДРЕДБА_ПОСЛА у наредби „fg“. Наставља заустављени\n"
-" или посао у позадини. ОДРЕДБА_ПОСЛА може да наведе назив посла или "
-"број\n"
+" или посао у позадини. ОДРЕДБА_ПОСЛА може да наведе назив посла или број\n"
" посла. Пропративши ОДРЕДБУ_ПОСЛА са & поставља посао у позадину, као\n"
" да је одредба посла достављена као аргумент уз „bg“.\n"
" \n"
@@ -5160,12 +4894,9 @@ msgstr ""
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"
@@ -5191,19 +4922,15 @@ msgstr ""
" \n"
" ( ИЗРАЗ )\t Даје вредност ИЗРАЗА\n"
" ! ИЗРАЗ\t\tТачно ако је ИЗРАЗ нетачан; у супротном нетачно\n"
-" ИЗРАЗ1 && ИЗРАЗ2\tТачно ако су и ИЗРАЗ1 и ИЗРАЗ2 тачни; у супротном "
-"нетачно\n"
-" ИЗРАЗ1 || ИЗРАЗ2\tТачно ако је или ИЗРАЗ1 или ИЗРАЗ2 тачан; у "
-"супротном нетачно\n"
+" ИЗРАЗ1 && ИЗРАЗ2\tТачно ако су и ИЗРАЗ1 и ИЗРАЗ2 тачни; у супротном нетачно\n"
+" ИЗРАЗ1 || ИЗРАЗ2\tТачно ако је или ИЗРАЗ1 или ИЗРАЗ2 тачан; у супротном нетачно\n"
" \n"
" КАда се користе оператори „==“ и „!=“, ниска са десне стране оператора\n"
-" се користи као шаблон а поређење са шаблоном се обавља. Када се "
-"користи\n"
+" се користи као шаблон а поређење са шаблоном се обавља. Када се користи\n"
" оператор „=~“, ниска са десне стране оператора се поклапа као регуларни\n"
" израз.\n"
" \n"
-" Оператори && и || не процењују ИЗРАЗ2 ако је ИЗРАЗ1 довољан за "
-"одређивање\n"
+" Оператори && и || не процењују ИЗРАЗ2 ако је ИЗРАЗ1 довољан за одређивање\n"
" вредности израза.\n"
" \n"
" Излазно стање:\n"
@@ -5267,39 +4994,26 @@ msgstr ""
" ИЗДАЊЕ_БАША Подаци о издању за овај Баш.\n"
" ЦДПУТАЊА Списак директоријума раздвојен двотачком за тражење\n"
" директоријума који су дати као аргументи за „cd“.\n"
-" ОПШТЕЗАНЕМАРИ Списак шаблона раздвојен двотачком који описује "
-"називе\n"
-" датотека који ће бити занемарени ширењем назива "
-"путање.\n"
-" ИСТОРИОТЕКА Назив датотеке у којој је смештен историјат "
-"наредби.\n"
-" ВЕЛИЧИНАИСТОРИОТЕКЕ Највећи број редова које може да садржи ова "
-"датотека.\n"
+" ОПШТЕЗАНЕМАРИ Списак шаблона раздвојен двотачком који описује називе\n"
+" датотека који ће бити занемарени ширењем назива путање.\n"
+" ИСТОРИОТЕКА Назив датотеке у којој је смештен историјат наредби.\n"
+" ВЕЛИЧИНАИСТОРИОТЕКЕ Највећи број редова које може да садржи ова датотека.\n"
" ВЕЛИЧИНАИСТОРИЈАТА Највећи број редова историјата којима покренута\n"
" шкољка може да приступи.\n"
" ЛИЧНО Потпуна путања до вашег директоријума пријављивања.\n"
" НАЗИВДОМАЋИНА Назив текућег домаћина.\n"
" ВРСТАДОМАЋИНА Врста процесора под којим ради ово издање Баша.\n"
-" ЗАНЕМАРИКРД Управља радњом шкољке при пријему знака за крај "
-"датотеке\n"
-" само као улаза. Ако је подешено, онда је његова "
-"вредност\n"
-" број знакова КРД-а који могу бити виђени у реду "
-"празног\n"
-" реда пре него ли шкољка изађе (основно је 10). "
-"Када\n"
+" ЗАНЕМАРИКРД Управља радњом шкољке при пријему знака за крај датотеке\n"
+" само као улаза. Ако је подешено, онда је његова вредност\n"
+" број знакова КРД-а који могу бити виђени у реду празног\n"
+" реда пре него ли шкољка изађе (основно је 10). Када\n"
" није подешено, КРД значи крај улаза.\n"
-" ВРСТАМАШИНЕ Ниска која описује текући систем на коме је Баш "
-"покренут.\n"
-" ПРОВЕРАПОШТЕ Колико често, у секундама, Баш првоерава нову "
-"пошту.\n"
-" ПУТАЊАПОШТЕ Списак датотека раздвојен двотачком које Баш "
-"проверава\n"
+" ВРСТАМАШИНЕ Ниска која описује текући систем на коме је Баш покренут.\n"
+" ПРОВЕРАПОШТЕ Колико често, у секундама, Баш првоерава нову пошту.\n"
+" ПУТАЊАПОШТЕ Списак датотека раздвојен двотачком које Баш проверава\n"
" за новом поштом.\n"
-" ВРСТАОСА Издање Јуникса на коме је покренуто ово издање "
-"Баша.\n"
-" ПУТАЊА Списак директоријума раздвојен двотачком за "
-"претрагу\n"
+" ВРСТАОСА Издање Јуникса на коме је покренуто ово издање Баша.\n"
+" ПУТАЊА Списак директоријума раздвојен двотачком за претрагу\n"
" приликом тражења наредби.\n"
" НАРЕДБА_УПИТА Наредба која ће бити извршена пре исписивања сваког\n"
" главног упита.\n"
@@ -5310,32 +5024,20 @@ msgstr ""
" ТЕРМИНАЛ Назив врсте текућег терминала.\n"
" ЗАПИСВРЕМЕНА Излазни запис за статистике времена које приказује\n"
" резервисана реч „time“.\n"
-" сам_настави Не-ништа значи да је реч наредбе која се појављује "
-"на реду\n"
-" сама по себи прва тражена на списку тренутно "
-"заустављених\n"
-" послова. Ако се ту пронађе, тај посао се поставља у "
-"први\n"
-" план. Вредност „exact“ значи да реч наредбе мора "
-"тачно да\n"
-" одговара наредби на списку заустављених послова. "
-"Вредност\n"
-" „substring“ значи да реч наредбе мора да одговара "
-"поднисци\n"
-" посла. Свака друга вредност значи да наредба мора "
-"бити\n"
+" сам_настави Не-ништа значи да је реч наредбе која се појављује на реду\n"
+" сама по себи прва тражена на списку тренутно заустављених\n"
+" послова. Ако се ту пронађе, тај посао се поставља у први\n"
+" план. Вредност „exact“ значи да реч наредбе мора тачно да\n"
+" одговара наредби на списку заустављених послова. Вредност\n"
+" „substring“ значи да реч наредбе мора да одговара поднисци\n"
+" посла. Свака друга вредност значи да наредба мора бити\n"
" префикс заустављеног посла.\n"
-" знакисторијата Знаци који управљају ширењем историјата и брзом "
-"заменом.\n"
-" Први знак јесте знак замене историјата, обично је то "
-"„!“.\n"
-" Други јесте знак „брзе замене“, обично је то „^“. "
-"Трећи\n"
+" знакисторијата Знаци који управљају ширењем историјата и брзом заменом.\n"
+" Први знак јесте знак замене историјата, обично је то „!“.\n"
+" Други јесте знак „брзе замене“, обично је то „^“. Трећи\n"
" јесте знак „напомене историјата“, обично је то „#“.\n"
-" ЗАНЕМАРИИСТОРИЈАТ Списак шаблона раздвојен двотачком коришћених за "
-"одлучивање\n"
-" о наредбама које требају бити сачуване на списку "
-"историјата.\n"
+" ЗАНЕМАРИИСТОРИЈАТ Списак шаблона раздвојен двотачком коришћених за одлучивање\n"
+" о наредбама које требају бити сачуване на списку историјата.\n"
#: builtins.c:1811
msgid ""
@@ -5379,12 +5081,10 @@ msgstr ""
" \n"
" Аргументи:\n"
" +N\tОкреће спремник тако да је N-ти директоријум на врху (бројећи\n"
-" са леве стране списка кога приказује „dirs“, почевши од "
-"нуле).\n"
+" са леве стране списка кога приказује „dirs“, почевши од нуле).\n"
" \n"
" -N\tОкреће спремник тако да је N-ти директоријум на врху (бројећи\n"
-" са десне стране списка кога приказује „dirs“, почевши од "
-"нуле).\n"
+" са десне стране списка кога приказује „dirs“, почевши од нуле).\n"
" \n"
" dir\tДодајеs ДИР у спремник директоријума на врху, учинивши га новим\n"
" \t текућим радним директоријумом.\n"
@@ -5392,8 +5092,7 @@ msgstr ""
" Уграђеност „dirs“ приказује спремник директоријума.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није достављен неисправан аргумент или "
-"замена\n"
+" Даје позитиван резултат осим ако није достављен неисправан аргумент или замена\n"
" директоријума не успе."
#: builtins.c:1845
@@ -5429,8 +5128,7 @@ msgstr ""
" \n"
" Опције:\n"
" -n\tПотискује уобичајену замену директоријума приликом уклањања\n"
-" \t директоријума из спремника, тако да се ради само са "
-"спремником.\n"
+" \t директоријума из спремника, тако да се ради само са спремником.\n"
" \n"
" Аргументи:\n"
" +N\tУклања N-ти унос почевши са леве стране списка кога приказује\n"
@@ -5438,15 +5136,13 @@ msgstr ""
" \t директоријум, „popd +1“ други.\n"
" \n"
" -N\tУклања N-ти унос почевши са десне стране списка кога приказује\n"
-" \t „dirs“, почевши од нуле. На пример: „popd -0“ уклања "
-"последњи\n"
+" \t „dirs“, почевши од нуле. На пример: „popd -0“ уклања последњи\n"
" \t директоријум, „popd -1“ претпоследњи.\n"
" \n"
" Уграђеност „dirs“ приказује спремник директоријума.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није достављен неисправан аргумент или "
-"измена\n"
+" Даје позитиван резултат осим ако није достављен неисправан аргумент или измена\n"
" директоријума не успе."
#: builtins.c:1875
@@ -5493,19 +5189,15 @@ msgstr ""
" \n"
" Аргументи:\n"
" +N\tПриказујеs N-ти унос бројећи са леве стране на списку кога\n"
-" приказује „dirs“ када се призове без опција, почевши од "
-"нуле.\n"
+" приказује „dirs“ када се призове без опција, почевши од нуле.\n"
" \n"
" -N\tПриказујеs N-ти унос бројећи са десне стране на списку кога\n"
-" приказује „dirs“ када се призове без опција, почевши од "
-"нуле.\n"
+" приказује „dirs“ када се призове без опција, почевши од нуле.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако се не достави неисправна опција или ако "
-"не дође до грешке."
+" Даје позитиван резултат осим ако се не достави неисправна опција или ако не дође до грешке."
#: builtins.c:1906
-#, fuzzy
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5526,10 +5218,9 @@ msgid ""
msgstr ""
"Подешава и расподешава опције шкољке.\n"
" \n"
-" Мења подешавање сваке оције шкољке НАЗИВ_ОПЦИЈЕ. Без аргумената "
-"опција,\n"
-" исписује све опције шкољке са назнаком да ли је свака подешена или "
-"није.\n"
+" Мења подешавање сваке оције шкољке НАЗИВ_ОПЦИЈЕ. Без аргумената опција,\n"
+" исписује сваки достављени НАЗИВ_ОПЦИЈЕ, или све опције шкољке ако није\n"
+" дат ниједан НАЗИВ_ОПЦИЈЕ, са назнаком да ли је свака подешена или није.\n"
" \n"
" Опције:\n"
" -o\tограничава НАЗИВЕ_ОПЦИЈА на оне одређене за коришћење са „set -o“\n"
@@ -5539,8 +5230,7 @@ msgstr ""
" -u\tискључује (расподешава) сваки НАЗИВ_ОПЦИЈЕ\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат ако је НАЗИВ_ОПЦИЈЕ укључен; неуспех ако је "
-"дата\n"
+" Даје позитиван резултат ако је НАЗИВ_ОПЦИЈЕ укључен; неуспех ако је дата\n"
" неисправна опција или ако је НАЗИВ_ОПЦИЈЕ искључен."
#: builtins.c:1927
@@ -5551,34 +5241,27 @@ msgid ""
" -v var\tassign the output to shell variable VAR rather than\n"
" \t\tdisplay it on the standard output\n"
" \n"
-" FORMAT is a character string which contains three types of objects: "
-"plain\n"
-" characters, which are simply copied to standard output; character "
-"escape\n"
+" FORMAT is a character string which contains three types of objects: plain\n"
+" characters, which are simply copied to standard output; character escape\n"
" sequences, which are converted and copied to the standard output; and\n"
-" format specifications, each of which causes printing of the next "
-"successive\n"
+" format specifications, each of which causes printing of the next successive\n"
" argument.\n"
" \n"
-" In addition to the standard format specifications described in printf"
-"(1),\n"
+" In addition to the standard format specifications described in printf(1),\n"
" printf interprets:\n"
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
-" %(fmt)T\toutput the date-time string resulting from using FMT as a "
-"format\n"
+" %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
" \t string for strftime(3)\n"
" \n"
" The format is re-used as necessary to consume all of the arguments. If\n"
" there are fewer arguments than the format requires, extra format\n"
-" specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+" specifications behave as if a zero value or null string, as appropriate,\n"
" had been supplied.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or a write or "
-"assignment\n"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
"Обликује и исписује АРГУМЕНТЕ под управом ЗАПИСА.\n"
@@ -5590,16 +5273,14 @@ msgstr ""
" ЗАПИС јесте ниска знака која садржи три врсте објекта: обични знаци,\n"
" који се једноставно умножавају на стандардни излаз; низови прекида\n"
" знака, који се претварају и умножавају на стандардни излаз; и одредбе\n"
-" записа, од којих свака доводи до исписивања следећег наредног "
-"аргумента.\n"
+" записа, од којих свака доводи до исписивања следећег наредног аргумента.\n"
" \n"
" Као додатак одредбама стандардног записа описаних у „printf(1)“,\n"
" „printf“ тумачи:\n"
" \n"
" %b\tшири низове прекида контра косе црте у одговарајући аргумент\n"
" %q\tцитира аргумент на начин како би био коришћен као улаз шкољке\n"
-" %(fmt)T исписује ниску датум-време резултирајући коришћењем ФМТ-а "
-"као\n"
+" %(fmt)T исписује ниску датум-време резултирајући коришћењем ФМТ-а као\n"
" ниске записа за „strftime(3)“\n"
" \n"
" Запис се поново користи јер је потребно утрошити све аргументе. Ако\n"
@@ -5611,14 +5292,11 @@ msgstr ""
" дође до грешке писања или доделе."
#: builtins.c:1961
-#, fuzzy
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"
@@ -5633,10 +5311,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."
@@ -5648,29 +5324,27 @@ msgstr ""
" који омогућава да буду поново коришћене као улаз.\n"
" \n"
" Опције:\n"
-" -p\tисписује постојеће одредбе довршавања у поново употребљивом "
-"запису\n"
+" -p\tисписује постојеће одредбе довршавања у поново употребљивом запису\n"
" -r\tуклања одредбу довршавања за сваки НАЗИВ, или, ако НАЗИВИ нису\n"
" \t достављени, све одредбе довршавања\n"
" -D\tпримењује довршавања и радње као основне за радње\n"
" \t без одређеног посебног довршавања\n"
" -E\tпримењује довршавања и радње на „празне“ наредбе --\n"
" \t довршавање покушано на празном реду\n"
+" -I\tпримењује довршавања и радње на почетну (обично наредбу) реч\n"
" \n"
" Када се покуша са довршавањем, радње се примењују по редоследу опција\n"
-" великих слова наведених горе. Опција „-D“ има првенство над „-E“.\n"
+" великих слова наведених горе. Опција „-D“ има првенство над „-E“, и обе имају предност у односу на „-I“.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако се не достави неисправна опција или ако "
-"не дође до грешке."
+" Даје позитиван резултат осим ако се не достави неисправна опција или ако не дође до грешке."
#: builtins.c:1991
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"
@@ -5682,20 +5356,15 @@ msgstr ""
" Ако је достављен изборни аргумент РЕЧ, стварају се поређења са РЕЧЈУ.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако се не достави неисправна опција или ако "
-"не дође до грешке."
+" Даје позитиван резултат осим ако се не достави неисправна опција или ако не дође до грешке."
#: builtins.c:2006
-#, fuzzy
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"
@@ -5727,42 +5396,36 @@ msgstr ""
" \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"
-" Сваки НАЗИВ упућује на наредбу за коју одредба довршавања мора "
-"претходно\n"
+" Сваки НАЗИВ упућује на наредбу за коју одредба довршавања мора претходно\n"
" бити одређена употребом уграђености „complete“. Ако НАЗИВИ нису дати,\n"
" „compopt“ мора бити позвано функцијом која тренутно ствара довршавања,\n"
" а опције ствараоца који тренутно извршава довршавање су измењене.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако се не достави неисправна опција или "
-"НАЗИВ\n"
+" Даје позитиван резултат осим ако се не достави неисправна опција или НАЗИВ\n"
" нема одређену одредбу довршавања."
#: builtins.c:2037
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"
@@ -5775,38 +5438,28 @@ msgid ""
" element to be assigned and the line to be assigned to that element\n"
" as additional arguments.\n"
" \n"
-" If not supplied with an explicit origin, mapfile will clear ARRAY "
-"before\n"
+" If not supplied with an explicit origin, mapfile will clear ARRAY before\n"
" assigning to it.\n"
" \n"
" Exit Status:\n"
-" Returns success unless an invalid option is given or ARRAY is readonly "
-"or\n"
+" Returns success unless an invalid option is given or ARRAY is readonly or\n"
" not an indexed array."
msgstr ""
"Чита редове са стандардног улаза у променљивој индексираног низа.\n"
" \n"
-" Чита редове са стандардног улаза у променљивој индексираног низа НИЗ, "
-"или\n"
-" из описника датотеке ОД ако је достављена опција „-u“. Променљива "
-"МАПОТЕКА\n"
+" Чита редове са стандардног улаза у променљивој индексираног низа НИЗ, или\n"
+" из описника датотеке ОД ако је достављена опција „-u“. Променљива МАПОТЕКА\n"
" јесте основни НИЗ.\n"
" \n"
" Опције:\n"
" -d гранич Користи ГРАНИЧНИК да оконча редове, уместо новог реда\n"
-" -n број Умножава највише БРОЈ редова. Ако је БРОЈ 0, умножавају "
-"се сви редови\n"
-" -O порекло Почиње додељивање НИЗУ при индексу ПОРЕКЛО. Основни "
-"индекс је 0\n"
+" -n број Умножава највише БРОЈ редова. Ако је БРОЈ 0, умножавају се сви редови\n"
+" -O порекло Почиње додељивање НИЗУ при индексу ПОРЕКЛО. Основни индекс је 0\n"
" -s број Одбацује првих БРОЈ прочитаних редова\n"
-" -t Уклања пратећи ГРАНИЧНИК из сваког прочитаног реда "
-"(основни нови ред)\n"
-" -u од Чита редове из описника датотеке ОД уместо са стандардног "
-"улаза\n"
-" -C опозив Процењује ОПОЗИВ сваког пута када се прочита КОЛИЧИНА "
-"редова\n"
-" -c количина Наводи број прочитаних редова између сваког позива за "
-"ОПОЗИВ\n"
+" -t Уклања пратећи ГРАНИЧНИК из сваког прочитаног реда (основни нови ред)\n"
+" -u од Чита редове из описника датотеке ОД уместо са стандардног улаза\n"
+" -C опозив Процењује ОПОЗИВ сваког пута када се прочита КОЛИЧИНА редова\n"
+" -c количина Наводи број прочитаних редова између сваког позива за ОПОЗИВ\n"
" \n"
" Аргументи:\n"
" НИЗ Назив променљиве низа за податке датотеке\n"
@@ -5820,8 +5473,7 @@ msgstr ""
" него што му додели.\n"
" \n"
" Излазно стање:\n"
-" Даје позитиван резултат осим ако није дата неисправна опција или ако је "
-"НИЗ само\n"
+" Даје позитиван резултат осим ако није дата неисправна опција или ако је НИЗ само\n"
" за читање или није индексирани низ."
#: builtins.c:2073
diff --git a/tests/RUN-ONE-TEST b/tests/RUN-ONE-TEST
index 0b06381..c8bef8d 100755
--- a/tests/RUN-ONE-TEST
+++ b/tests/RUN-ONE-TEST
@@ -1,4 +1,4 @@
-BUILD_DIR=/usr/local/build/chet/bash/bash-current
+BUILD_DIR=/usr/local/build/bash/bash-current
THIS_SH=$BUILD_DIR/bash
PATH=$PATH:$BUILD_DIR
diff --git a/trap.c b/trap.c
index 8d605b0..6db920a 100644
--- a/trap.c
+++ b/trap.c
@@ -121,6 +121,9 @@ int wait_signal_received;
int trapped_signal_received;
+/* Set to 1 to suppress the effect of `set v' in the DEBUG trap. */
+int suppress_debug_trap_verbose = 0;
+
#define GETORIGSIG(sig) \
do { \
original_signals[sig] = (SigHandler *)set_signal_handler (sig, SIG_DFL); \
@@ -1137,9 +1140,7 @@ run_debug_trap ()
#endif
old_verbose = echo_input_at_read;
-#if 0 /* not yet */
- echo_input_at_read = 0;
-#endif
+ echo_input_at_read = suppress_debug_trap_verbose ? 0 : echo_input_at_read;
trap_exit_value = _run_trap_internal (DEBUG_TRAP, "debug trap");
diff --git a/trap.h b/trap.h
index 49a9122..bf2c9a1 100644
--- a/trap.h
+++ b/trap.h
@@ -64,6 +64,7 @@ extern int trapped_signal_received;
extern int wait_signal_received;
extern int running_trap;
extern int trap_saved_exit_value;
+extern int suppress_debug_trap_verbose;
/* Externally-visible functions declared in trap.c. */
extern void initialize_traps PARAMS((void));
diff --git a/variables.c b/variables.c
index e75b8cc..0f2a24c 100644
--- a/variables.c
+++ b/variables.c
@@ -1,6 +1,6 @@
/* variables.c -- Functions for hacking shell variables. */
-/* Copyright (C) 1987-2019 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2020 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -94,6 +94,7 @@
#define FV_FORCETEMPENV 0x01
#define FV_SKIPINVISIBLE 0x02
+#define FV_NODYNAMIC 0x04
extern char **environ;
@@ -1297,8 +1298,14 @@ assign_seconds (self, value, unused, key)
char *key;
{
struct timeval tv;
- if (legal_number (value, &seconds_value_assigned) == 0)
- seconds_value_assigned = 0;
+ intmax_t nval;
+ int expok;
+
+ if (integer_p (self))
+ nval = evalexp (value, 0, &expok);
+ else
+ expok = legal_number (value, &nval);
+ seconds_value_assigned = expok ? nval : 0;
gettimeofday (&tv, NULL);
shell_start_time = tv.tv_sec;
return (self);
@@ -1503,7 +1510,16 @@ assign_random (self, value, unused, key)
arrayind_t unused;
char *key;
{
- sbrand (strtoul (value, (char **)NULL, 10));
+ intmax_t seedval;
+ int expok;
+
+ if (integer_p (self))
+ seedval = evalexp (value, 0, &expok);
+ else
+ expok = legal_number (value, &seedval);
+ if (expok == 0)
+ return (self);
+ sbrand (seedval);
if (subshell_environment)
seeded_subshell = getpid ();
return (self);
@@ -3280,6 +3296,13 @@ bind_variable_internal (name, value, table, hflags, aflags)
}
else if (entry->assign_func) /* array vars have assign functions now */
{
+ if ((readonly_p (entry) && (aflags & ASS_FORCE) == 0) || noassign_p (entry))
+ {
+ if (readonly_p (entry))
+ err_readonly (name_cell (entry));
+ return (entry);
+ }
+
INVALIDATE_EXPORTSTR (entry);
newval = (aflags & ASS_APPEND) ? make_variable_value (entry, value, aflags) : value;
if (assoc_p (entry))