mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-27 23:53:18 +02:00
commit bash-20120127 snapshot
This commit is contained in:
@@ -13159,3 +13159,53 @@ lib/readline/readline.c
|
||||
it if the Linux tty audit system is available and it's been enabled
|
||||
in rlconf.h Original patch from Miroslav Trmac; recent request
|
||||
from Miroslav Lichvar <mlichvar@redhat.com>
|
||||
|
||||
1/21
|
||||
----
|
||||
|
||||
lib/readline/readline.c:
|
||||
- _rl_dispatch_subseq: add an inter-character timeout for multi-char
|
||||
key sequences. Suggested by <rogerx.oss@gmail.com>. Still needs
|
||||
work to make a user-settable variable
|
||||
|
||||
parse.y
|
||||
- shell_getc: make code that uses the pop_alias dependent on ALIAS
|
||||
define
|
||||
|
||||
variables.h
|
||||
- sv_tz: extern define should only depend on HAVE_TZSET
|
||||
|
||||
expr.c
|
||||
- expr_streval: if ARRAY_VARS is not defined, set lvalue->ind to -1;
|
||||
move assignment to `ind' inside define
|
||||
- expr_bind_array_element: declaration and uses need to be #ifdef
|
||||
ARRAY_VARS
|
||||
|
||||
arrayfunc.h
|
||||
- AV_ALLOWALL, AV_QUOTED, AV_USEIND: define to 0 if ARRAY_VARS not
|
||||
defined; used in subst.c unconditionally
|
||||
|
||||
sig.h
|
||||
- make the signal blocking functions not dependent on JOB_CONTROL
|
||||
|
||||
sig.c
|
||||
- sigprocmask: make the replacement definition not dependent on
|
||||
JOB_CONTROL
|
||||
|
||||
trap.c
|
||||
- use BLOCK_SIGNAL/UNBLOCK_SIGNAL instead of code dependent on
|
||||
HAVE_POSIX_SIGNALS and BSD signals
|
||||
|
||||
1/29
|
||||
----
|
||||
lib/readline/signals.c
|
||||
- _rl_block_sigwinch,_rl_release_sigwinch: don't compile in bodies
|
||||
unless SIGWINCH is defined. Fixes bug reported by Pierre Muller
|
||||
<pierre.muller@ics-cnrs.unistra.fr>
|
||||
|
||||
doc/{bash.1,bashref.texi}
|
||||
- small modifications to the introduction to the REDIRECTION section
|
||||
to describe how redirections can modify file handles
|
||||
- small modification to the section describing base#n to make it
|
||||
clearer that n can be denoted using non-numerics. From a posting
|
||||
by Linda Walsh <bash@tlinx.org>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
CWRU.chlog
|
||||
+13205
File diff suppressed because it is too large
Load Diff
@@ -64,6 +64,12 @@ extern char *array_keys __P((char *, int));
|
||||
extern char *array_variable_name __P((char *, char **, int *));
|
||||
extern SHELL_VAR *array_variable_part __P((char *, char **, int *));
|
||||
|
||||
#else
|
||||
|
||||
#define AV_ALLOWALL 0
|
||||
#define AV_QUOTED 0
|
||||
#define AV_USEIND 0
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* !_ARRAYFUNC_H_ */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# This Makefile for building libbuiltins.a is in -*- text -*- for Emacs.
|
||||
#
|
||||
# Copyright (C) 1996-2009 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2009 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1093,7 +1093,7 @@ char *structfile_header[] = {
|
||||
"/* This file is manufactured by ./mkbuiltins, and should not be",
|
||||
" edited by hand. See the source to mkbuiltins for details. */",
|
||||
"",
|
||||
"/* Copyright (C) 1987-2009 Free Software Foundation, Inc.",
|
||||
"/* Copyright (C) 1987-2012 Free Software Foundation, Inc.",
|
||||
"",
|
||||
" This file is part of GNU Bash, the Bourne Again SHell.",
|
||||
"",
|
||||
|
||||
+11
-5
@@ -5,12 +5,12 @@
|
||||
.\" Case Western Reserve University
|
||||
.\" chet@po.cwru.edu
|
||||
.\"
|
||||
.\" Last Change: Wed Jan 11 17:19:15 EST 2012
|
||||
.\" Last Change: Sun Jan 29 21:16:46 EST 2012
|
||||
.\"
|
||||
.\" bash_builtins, strip all but Built-Ins section
|
||||
.if \n(zZ=1 .ig zZ
|
||||
.if \n(zY=1 .ig zY
|
||||
.TH BASH 1 "2012 January 11" "GNU Bash 4.2"
|
||||
.TH BASH 1 "2012 January 29" "GNU Bash 4.2"
|
||||
.\"
|
||||
.\" There's some problem with having a `@'
|
||||
.\" in a tagged paragraph with the BSD man macros.
|
||||
@@ -3386,8 +3386,13 @@ Before a command is executed, its input and output
|
||||
may be
|
||||
.I redirected
|
||||
using a special notation interpreted by the shell.
|
||||
Redirection may also be used to open and close files for the
|
||||
current shell execution environment. The following redirection
|
||||
Redirection allows commands' file handles to be
|
||||
duplicated, opened, closed,
|
||||
made to refer to different files,
|
||||
and can change the files the command reads from and writes to.
|
||||
Redirection may also be used to modify file handles in the
|
||||
current shell execution environment.
|
||||
The following redirection
|
||||
operators may precede or appear anywhere within a
|
||||
.I simple command
|
||||
or may follow a
|
||||
@@ -4029,7 +4034,8 @@ Otherwise, numbers take the form [\fIbase#\fP]n, where the optional \fIbase\fP
|
||||
is a decimal number between 2 and 64 representing the arithmetic
|
||||
base, and \fIn\fP is a number in that base.
|
||||
If \fIbase#\fP is omitted, then base 10 is used.
|
||||
The digits greater than 9 are represented by the lowercase letters,
|
||||
When specifying \fIn\fP,
|
||||
the digits greater< than 9 are represented by the lowercase letters,
|
||||
the uppercase letters, @, and _, in that order.
|
||||
If \fIbase\fP is less than or equal to 36, lowercase and uppercase
|
||||
letters may be used interchangeably to represent numbers between 10
|
||||
|
||||
+9
-4
@@ -2274,7 +2274,11 @@ result from one of the above expansions are removed.
|
||||
Before a command is executed, its input and output
|
||||
may be @var{redirected}
|
||||
using a special notation interpreted by the shell.
|
||||
Redirection may also be used to open and close files for the
|
||||
Redirection allows commands' file handles to be
|
||||
duplicated, opened, closed,
|
||||
made to refer to different files,
|
||||
and can change the files the command reads from and writes to.
|
||||
Redirection may also be used to modify file handles in the
|
||||
current shell execution environment. The following redirection
|
||||
operators may precede or appear anywhere within a
|
||||
simple command or may follow a command.
|
||||
@@ -6373,9 +6377,10 @@ Constants with a leading 0 are interpreted as octal numbers.
|
||||
A leading @samp{0x} or @samp{0X} denotes hexadecimal. Otherwise,
|
||||
numbers take the form [@var{base}@code{#}]@var{n}, where the optional @var{base}
|
||||
is a decimal number between 2 and 64 representing the arithmetic
|
||||
base, and @var{n} is a number in that base. If @var{base}@code{#} is
|
||||
omitted, then base 10 is used.
|
||||
The digits greater than 9 are represented by the lowercase letters,
|
||||
base, and @var{n} is a number in that base.
|
||||
If @var{base}@code{#} is omitted, then base 10 is used.
|
||||
When specifying @var{n},
|
||||
he digits greater than 9 are represented by the lowercase letters,
|
||||
the uppercase letters, @samp{@@}, and @samp{_}, in that order.
|
||||
If @var{base} is less than or equal to 36, lowercase and uppercase
|
||||
letters may be used interchangeably to represent numbers between 10
|
||||
|
||||
+2
-3
@@ -2,11 +2,11 @@
|
||||
Copyright (C) 1988-2012 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Wed Jan 11 17:19:37 EST 2012
|
||||
@set LASTCHANGE Sun Jan 29 21:17:00 EST 2012
|
||||
|
||||
@set EDITION 4.2
|
||||
@set VERSION 4.2
|
||||
@set UPDATED 11 January 2012
|
||||
@set UPDATED 29 January 2012
|
||||
@set UPDATED-MONTH January 2012
|
||||
|
||||
|
||||
@@ -20,4 +20,3 @@ Copyright (C) 1988-2012 Free Software Foundation, Inc.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -188,7 +188,9 @@ static void pushexp __P((void));
|
||||
static void popexp __P((void));
|
||||
static void expr_unwind __P((void));
|
||||
static void expr_bind_variable __P((char *, char *));
|
||||
#if defined (ARRAY_VARS)
|
||||
static void expr_bind_array_element __P((char *, arrayind_t, char *));
|
||||
#endif
|
||||
|
||||
static intmax_t subexpr __P((char *));
|
||||
|
||||
@@ -317,6 +319,7 @@ expr_bind_variable (lhs, rhs)
|
||||
stupidly_hack_special_variables (lhs);
|
||||
}
|
||||
|
||||
#if defined (ARRAY_VARS)
|
||||
/* Rewrite tok, which is of the form vname[expression], to vname[ind], where
|
||||
IND is the already-calculated value of expression. */
|
||||
static void
|
||||
@@ -342,6 +345,7 @@ expr_bind_array_element (tok, ind, rhs)
|
||||
free (vname);
|
||||
free (lhs);
|
||||
}
|
||||
#endif /* ARRAY_VARS */
|
||||
|
||||
/* Evaluate EXPR, and return the arithmetic result. If VALIDP is
|
||||
non-null, a zero is stored into the location to which it points
|
||||
@@ -542,9 +546,11 @@ expassign ()
|
||||
rhs = itos (value);
|
||||
if (noeval == 0)
|
||||
{
|
||||
#if defined (ARRAY_VARS)
|
||||
if (lind != -1)
|
||||
expr_bind_array_element (lhs, lind, rhs);
|
||||
else
|
||||
#endif
|
||||
expr_bind_variable (lhs, rhs);
|
||||
}
|
||||
free (rhs);
|
||||
@@ -945,9 +951,11 @@ exp0 ()
|
||||
vincdec = itos (v2);
|
||||
if (noeval == 0)
|
||||
{
|
||||
#if defined (ARRAY_VARS)
|
||||
if (curlval.ind != -1)
|
||||
expr_bind_array_element (curlval.tokstr, curlval.ind, vincdec);
|
||||
else
|
||||
#endif
|
||||
expr_bind_variable (tokstr, vincdec);
|
||||
}
|
||||
free (vincdec);
|
||||
@@ -991,9 +999,11 @@ exp0 ()
|
||||
vincdec = itos (v2);
|
||||
if (noeval == 0)
|
||||
{
|
||||
#if defined (ARRAY_VARS)
|
||||
if (curlval.ind != -1)
|
||||
expr_bind_array_element (curlval.tokstr, curlval.ind, vincdec);
|
||||
else
|
||||
#endif
|
||||
expr_bind_variable (tokstr, vincdec);
|
||||
}
|
||||
free (vincdec);
|
||||
@@ -1088,8 +1098,8 @@ expr_streval (tok, e, lvalue)
|
||||
jump_to_top_level (FORCE_EOF);
|
||||
}
|
||||
|
||||
ind = -1;
|
||||
#if defined (ARRAY_VARS)
|
||||
ind = -1;
|
||||
/* Second argument of 0 to get_array_value means that we don't allow
|
||||
references like array[@]. In this case, get_array_value is just
|
||||
like get_variable_value in that it does not return newly-allocated
|
||||
@@ -1106,7 +1116,11 @@ expr_streval (tok, e, lvalue)
|
||||
lvalue->tokstr = tok; /* XXX */
|
||||
lvalue->tokval = tval;
|
||||
lvalue->tokvar = v; /* XXX */
|
||||
#if defined (ARRAY_VARS)
|
||||
lvalue->ind = ind;
|
||||
#else
|
||||
lvalue->ind = -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
return (tval);
|
||||
|
||||
+1
-1
@@ -302,7 +302,7 @@ wextglob_skipname (pat, dname, flags)
|
||||
*pe = L')';
|
||||
return r;
|
||||
#else
|
||||
return (wchkname (pp, dname));
|
||||
return (wchkname (pat, dname));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -607,6 +607,8 @@ _rl_block_sigwinch ()
|
||||
if (sigwinch_blocked)
|
||||
return;
|
||||
|
||||
#if defined (SIGWINCH)
|
||||
|
||||
#if defined (HAVE_POSIX_SIGNALS)
|
||||
sigemptyset (&sigwinch_set);
|
||||
sigemptyset (&sigwinch_oset);
|
||||
@@ -622,6 +624,8 @@ _rl_block_sigwinch ()
|
||||
# endif /* !HAVE_BSD_SIGNALS */
|
||||
#endif /* !HAVE_POSIX_SIGNALS */
|
||||
|
||||
#endif /* SIGWINCH */
|
||||
|
||||
sigwinch_blocked = 1;
|
||||
}
|
||||
|
||||
@@ -632,6 +636,8 @@ _rl_release_sigwinch ()
|
||||
if (sigwinch_blocked == 0)
|
||||
return;
|
||||
|
||||
#if defined (SIGWINCH)
|
||||
|
||||
#if defined (HAVE_POSIX_SIGNALS)
|
||||
sigprocmask (SIG_SETMASK, &sigwinch_oset, (sigset_t *)NULL);
|
||||
#else
|
||||
@@ -644,6 +650,8 @@ _rl_release_sigwinch ()
|
||||
# endif /* !HAVE_BSD_SIGNALS */
|
||||
#endif /* !HAVE_POSIX_SIGNALS */
|
||||
|
||||
#endif /* SIGWINCH */
|
||||
|
||||
sigwinch_blocked = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -809,7 +809,7 @@ wait_for (pid)
|
||||
# define REPORTSIG(x) ((x) != SIGINT && (x) != SIGPIPE)
|
||||
#else
|
||||
# define REPORTSIG(x) ((x) != SIGINT && (x) != SIGTERM)
|
||||
#endiof
|
||||
#endif
|
||||
|
||||
if ((WIFSTOPPED (status) == 0) && WIFSIGNALED (status) && REPORTSIG(WTERMSIG (status)))
|
||||
{
|
||||
|
||||
@@ -2391,6 +2391,7 @@ pop_alias:
|
||||
is the last character). If it's not the last character, we need
|
||||
to consume the quoted newline and move to the next character in
|
||||
the expansion. */
|
||||
#if defined (ALIAS)
|
||||
if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
|
||||
{
|
||||
uc = 0;
|
||||
@@ -2401,7 +2402,8 @@ pop_alias:
|
||||
shell_input_line_index++; /* skip newline */
|
||||
goto next_alias_char; /* and get next character */
|
||||
}
|
||||
else
|
||||
else
|
||||
#endif
|
||||
goto restart_read;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Czech tranlation for bash.
|
||||
# Copyright (C) 2008 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the bash package.
|
||||
# Petr Pisar <petr.pisar@atlas.cz>, 2008, 2009, 2010, 2011.
|
||||
# Petr Pisar <petr.pisar@atlas.cz>, 2008, 2009, 2010, 2011, 2012.
|
||||
#
|
||||
# alias → alias
|
||||
# subscript → podskript
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"Project-Id-Version: bash 4.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-01-28 22:09-0500\n"
|
||||
"PO-Revision-Date: 2011-02-15 22:48+0100\n"
|
||||
"PO-Revision-Date: 2012-01-23 21:10+0100\n"
|
||||
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
|
||||
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
|
||||
"Language: cs\n"
|
||||
@@ -4408,7 +4408,7 @@ msgid ""
|
||||
" Exit Status:\n"
|
||||
" Returns the status of the last command executed."
|
||||
msgstr ""
|
||||
"Aritmetika smyček.\n"
|
||||
"Aritmetická smyčka for.\n"
|
||||
" \n"
|
||||
" Ekvivalentní k\n"
|
||||
" \t(( VÝR1 ))\n"
|
||||
|
||||
+8
-2
@@ -113,6 +113,9 @@ FILE *xtrace_fp = 0;
|
||||
|
||||
#define CHECK_XTRACE_FP xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
|
||||
|
||||
/* shell expansion characters: used in print_redirection_list */
|
||||
#define EXPCHAR(c) ((c) == '{' || (c) == '~' || (c) == '$' || (c) == '`')
|
||||
|
||||
#define PRINT_DEFERRED_HEREDOCS(x) \
|
||||
do { \
|
||||
if (deferred_heredocs) \
|
||||
@@ -996,6 +999,7 @@ print_redirection_list (redirects)
|
||||
REDIRECT *redirects;
|
||||
{
|
||||
REDIRECT *heredocs, *hdtail, *newredir;
|
||||
char *rw;
|
||||
|
||||
heredocs = (REDIRECT *)NULL;
|
||||
hdtail = heredocs;
|
||||
@@ -1017,10 +1021,12 @@ print_redirection_list (redirects)
|
||||
else
|
||||
hdtail = heredocs = newredir;
|
||||
}
|
||||
else if (redirects->instruction == r_duplicating_output_word && redirects->redirector.dest == 1)
|
||||
else if (redirects->instruction == r_duplicating_output_word && (redirects->flags & REDIR_VARASSIGN) == 0 && redirects->redirector.dest == 1)
|
||||
{
|
||||
/* Temporarily translate it as the execution code does. */
|
||||
redirects->instruction = r_err_and_out;
|
||||
rw = redirects->redirectee.filename->word;
|
||||
if (rw && *rw != '-' && DIGIT (*rw) == 0 && EXPCHAR (*rw) == 0)
|
||||
redirects->instruction = r_err_and_out;
|
||||
print_redirection (redirects);
|
||||
redirects->instruction = r_duplicating_output_word;
|
||||
}
|
||||
|
||||
@@ -622,7 +622,6 @@ unset_sigwinch_handler ()
|
||||
/* Signal functions used by the rest of the code. */
|
||||
#if !defined (HAVE_POSIX_SIGNALS)
|
||||
|
||||
#if defined (JOB_CONTROL)
|
||||
/* Perform OPERATION on NEWSET, perhaps leaving information in OLDSET. */
|
||||
sigprocmask (operation, newset, oldset)
|
||||
int operation, *newset, *oldset;
|
||||
@@ -651,7 +650,6 @@ sigprocmask (operation, newset, oldset)
|
||||
if (oldset)
|
||||
*oldset = old;
|
||||
}
|
||||
#endif /* JOB_CONTROL */
|
||||
|
||||
#else
|
||||
|
||||
|
||||
@@ -47,9 +47,6 @@ typedef RETSIGTYPE SigHandler __P((int));
|
||||
extern SigHandler *set_signal_handler __P((int, SigHandler *)); /* in sig.c */
|
||||
#endif /* _POSIX_VERSION */
|
||||
|
||||
/* Definitions used by the job control code. */
|
||||
#if defined (JOB_CONTROL)
|
||||
|
||||
#if !defined (SIGCHLD) && defined (SIGCLD)
|
||||
# define SIGCHLD SIGCLD
|
||||
#endif
|
||||
@@ -106,8 +103,6 @@ do { \
|
||||
# define UNBLOCK_CHILD(ovar) sigsetmask (ovar)
|
||||
#endif /* !HAVE_POSIX_SIGNALS */
|
||||
|
||||
#endif /* JOB_CONTROL */
|
||||
|
||||
/* Extern variables */
|
||||
extern volatile int sigwinch_received;
|
||||
|
||||
|
||||
@@ -292,19 +292,9 @@ run_pending_traps ()
|
||||
while (pending_traps[sig]--) instead of the if statement. */
|
||||
if (pending_traps[sig])
|
||||
{
|
||||
#if defined (HAVE_POSIX_SIGNALS)
|
||||
sigset_t set, oset;
|
||||
|
||||
sigemptyset (&set);
|
||||
sigemptyset (&oset);
|
||||
|
||||
sigaddset (&set, sig);
|
||||
sigprocmask (SIG_BLOCK, &set, &oset);
|
||||
#else
|
||||
# if defined (HAVE_BSD_SIGNALS)
|
||||
int oldmask = sigblock (sigmask (sig));
|
||||
# endif
|
||||
#endif /* HAVE_POSIX_SIGNALS */
|
||||
BLOCK_SIGNAL (sig, set, oset);
|
||||
|
||||
if (sig == SIGINT)
|
||||
{
|
||||
@@ -359,13 +349,7 @@ run_pending_traps ()
|
||||
|
||||
pending_traps[sig] = 0;
|
||||
|
||||
#if defined (HAVE_POSIX_SIGNALS)
|
||||
sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
|
||||
#else
|
||||
# if defined (HAVE_BSD_SIGNALS)
|
||||
sigsetmask (oldmask);
|
||||
# endif
|
||||
#endif /* POSIX_VERSION */
|
||||
UNBLOCK_SIGNAL (oset);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -384,7 +384,7 @@ extern void sv_histchars __P((char *));
|
||||
extern void sv_histtimefmt __P((char *));
|
||||
#endif /* HISTORY */
|
||||
|
||||
#if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
|
||||
#if defined (HAVE_TZSET)
|
||||
extern void sv_tz __P((char *));
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user