mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-27 23:53:18 +02:00
commit bash-20060104 snapshot
This commit is contained in:
@@ -12710,3 +12710,23 @@ builtins/mkbuiltins.c
|
||||
- when cross-compiling, don't include <config.h>, since it's for the
|
||||
target rather than the host system. Instead, choose a reasonable
|
||||
set of default #defines based on a minimal POSIX system
|
||||
|
||||
jobs.c
|
||||
- change find_job to check jobs[i]->pipe as well as jobs[i] before
|
||||
trying to walk the pipeline -- should also check js.j_lastj in
|
||||
the for loop
|
||||
- change find_process to handle a NULL return value from find_pipeline
|
||||
- return immediately from delete_job if jobs[index] is already NULL or
|
||||
if it has a null pipeline associated with it
|
||||
- in delete_job, if find_last_proc returns NULL, don't try to call
|
||||
bgp_delete
|
||||
|
||||
1/7
|
||||
---
|
||||
doc/bash.1
|
||||
- patch from Tim Waugh to replace some literal single quotes with
|
||||
\(aq, the groff special character for it
|
||||
|
||||
jobs.c
|
||||
- in realloc_jobs_list, make sure to zero out slots after j_lastj
|
||||
in the new list
|
||||
|
||||
@@ -12703,3 +12703,26 @@ subst.c
|
||||
can handle non-constant array sizes using a mechanism like alloca.
|
||||
Other compilers, e.g. Sun's compiler, do not implement that
|
||||
extension
|
||||
|
||||
12/31
|
||||
-----
|
||||
builtins/mkbuiltins.c
|
||||
- when cross-compiling, don't include <config.h>, since it's for the
|
||||
target rather than the host system. Instead, choose a reasonable
|
||||
set of default #defines based on a minimal POSIX system
|
||||
|
||||
jobs.c
|
||||
- change find_job to check jobs[i]->pipe as well as jobs[i] before
|
||||
trying to walk the pipeline -- should also check js.j_lastj in
|
||||
the for loop
|
||||
- change find_process to handle a NULL return value from find_pipeline
|
||||
- return immediately from delete_job if jobs[index] is already NULL or
|
||||
if it has a null pipeline associated with it
|
||||
- in delete_job, if find_last_proc returns NULL, don't try to call
|
||||
bgp_delete
|
||||
|
||||
1/7
|
||||
---
|
||||
doc/bash.1
|
||||
- patch from Tim Waugh to replace some literal single quotes with
|
||||
\(aq, the groff special character for it
|
||||
|
||||
+17
-17
@@ -17,19 +17,19 @@
|
||||
{
|
||||
'm4_pattern_forbid' => 1,
|
||||
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||
'AC_C_VOLATILE' => 1,
|
||||
'AC_TYPE_OFF_T' => 1,
|
||||
'AC_C_VOLATILE' => 1,
|
||||
'AC_FUNC_CLOSEDIR_VOID' => 1,
|
||||
'AC_REPLACE_FNMATCH' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AC_FUNC_STAT' => 1,
|
||||
'AC_HEADER_TIME' => 1,
|
||||
'AC_FUNC_WAIT3' => 1,
|
||||
'AC_FUNC_LSTAT' => 1,
|
||||
'AC_STRUCT_TM' => 1,
|
||||
'AC_HEADER_TIME' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'AC_TYPE_MODE_T' => 1,
|
||||
'AC_STRUCT_TM' => 1,
|
||||
'AC_FUNC_LSTAT' => 1,
|
||||
'AC_FUNC_GETMNTENT' => 1,
|
||||
'AC_TYPE_MODE_T' => 1,
|
||||
'AC_FUNC_STRTOD' => 1,
|
||||
'AC_CHECK_HEADERS' => 1,
|
||||
'AC_FUNC_STRNLEN' => 1,
|
||||
@@ -48,17 +48,17 @@
|
||||
'AC_STRUCT_ST_BLOCKS' => 1,
|
||||
'AC_TYPE_SIGNAL' => 1,
|
||||
'AC_TYPE_UID_T' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'AC_PROG_MAKE_SET' => 1,
|
||||
'sinclude' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'sinclude' => 1,
|
||||
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||
'AC_FUNC_STRERROR_R' => 1,
|
||||
'AC_PROG_CC' => 1,
|
||||
'AC_FUNC_FORK' => 1,
|
||||
'AC_DECL_SYS_SIGLIST' => 1,
|
||||
'AC_FUNC_VPRINTF' => 1,
|
||||
'AC_FUNC_FORK' => 1,
|
||||
'AC_FUNC_STRCOLL' => 1,
|
||||
'AC_FUNC_VPRINTF' => 1,
|
||||
'AC_PROG_YACC' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'AC_STRUCT_TIMEZONE' => 1,
|
||||
@@ -80,33 +80,33 @@
|
||||
'AM_MAINTAINER_MODE' => 1,
|
||||
'AC_FUNC_UTIME_NULL' => 1,
|
||||
'AC_FUNC_SELECT_ARGTYPES' => 1,
|
||||
'AC_FUNC_STRFTIME' => 1,
|
||||
'AC_HEADER_STAT' => 1,
|
||||
'AC_PROG_CPP' => 1,
|
||||
'AC_FUNC_STRFTIME' => 1,
|
||||
'AC_C_INLINE' => 1,
|
||||
'AC_TYPE_PID_T' => 1,
|
||||
'AC_PROG_LEX' => 1,
|
||||
'AC_PROG_CPP' => 1,
|
||||
'AC_C_CONST' => 1,
|
||||
'AC_PROG_LEX' => 1,
|
||||
'AC_TYPE_PID_T' => 1,
|
||||
'AC_CONFIG_FILES' => 1,
|
||||
'include' => 1,
|
||||
'AC_FUNC_SETVBUF_REVERSED' => 1,
|
||||
'AC_PROG_INSTALL' => 1,
|
||||
'AM_GNU_GETTEXT' => 1,
|
||||
'AC_CHECK_LIB' => 1,
|
||||
'AC_FUNC_OBSTACK' => 1,
|
||||
'AC_CHECK_LIB' => 1,
|
||||
'AC_FUNC_MALLOC' => 1,
|
||||
'AC_FUNC_GETGROUPS' => 1,
|
||||
'AC_FUNC_GETLOADAVG' => 1,
|
||||
'AH_OUTPUT' => 1,
|
||||
'AC_FUNC_FSEEKO' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'AC_FUNC_MKTIME' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'AC_FUNC_MKTIME' => 1,
|
||||
'AC_CONFIG_HEADERS' => 1,
|
||||
'AC_HEADER_SYS_WAIT' => 1,
|
||||
'AC_FUNC_MEMCMP' => 1,
|
||||
'AC_PROG_LN_S' => 1,
|
||||
'AC_FUNC_MEMCMP' => 1,
|
||||
'm4_include' => 1,
|
||||
'AC_HEADER_DIRENT' => 1,
|
||||
'AC_CHECK_FUNCS' => 1
|
||||
|
||||
@@ -19,8 +19,7 @@ You should have received a copy of the GNU General Public License along
|
||||
with Bash; see the file COPYING. If not, write to the Free Software
|
||||
Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
|
||||
|
||||
/* #if !defined (CROSS_COMPILING) */
|
||||
#if 0
|
||||
#if !defined (CROSS_COMPILING)
|
||||
# include <config.h>
|
||||
#else /* CROSS_COMPILING */
|
||||
/* A conservative set of defines based on POSIX/SUS3/XPG6 */
|
||||
|
||||
+11
-11
@@ -977,7 +977,7 @@ quotes (see
|
||||
.B PARAMETERS
|
||||
below).
|
||||
.PP
|
||||
Words of the form \fB$\fP'\fIstring\fP' are treated specially. The
|
||||
Words of the form \fB$\fP\(aq\fIstring\fP\(aq are treated specially. The
|
||||
word expands to \fIstring\fP, with backslash-escaped characters replaced
|
||||
as specified by the ANSI C standard. Backslash escape sequences, if
|
||||
present, are decoded as follows:
|
||||
@@ -1011,7 +1011,7 @@ vertical tab
|
||||
.B \e\e
|
||||
backslash
|
||||
.TP
|
||||
.B \e'
|
||||
.B \e\(aq
|
||||
single quote
|
||||
.TP
|
||||
.B \e\fInnn\fP
|
||||
@@ -1845,7 +1845,7 @@ the current mailfile.
|
||||
Example:
|
||||
.RS
|
||||
.PP
|
||||
\fBMAILPATH\fP='/var/mail/bfox?"You have mail":~/shell\-mail?"$_ has mail!"'
|
||||
\fBMAILPATH\fP=\(aq/var/mail/bfox?"You have mail":~/shell\-mail?"$_ has mail!"\(aq
|
||||
.PP
|
||||
.B Bash
|
||||
supplies a default value for this variable, but the location of the user
|
||||
@@ -1979,7 +1979,7 @@ The value of \fIp\fP determines whether or not the fraction is
|
||||
included.
|
||||
.IP
|
||||
If this variable is not set, \fBbash\fP acts as if it had the
|
||||
value \fB$'\enreal\et%3lR\enuser\et%3lU\ensys\t%3lS'\fP.
|
||||
value \fB$\(aq\enreal\et%3lR\enuser\et%3lU\ensys\t%3lS\(aq\fP.
|
||||
If the value is null, no timing information is displayed.
|
||||
A trailing newline is added when the format string is displayed.
|
||||
.TP
|
||||
@@ -2703,7 +2703,7 @@ If the value of
|
||||
.B IFS
|
||||
is null, no word splitting occurs.
|
||||
.PP
|
||||
Explicit null arguments (\^\f3"\^"\fP or \^\f3'\^'\fP\^) are retained.
|
||||
Explicit null arguments (\^\f3"\^"\fP or \^\f3\(aq\^\(aq\fP\^) are retained.
|
||||
Unquoted implicit null arguments, resulting from the expansion of
|
||||
parameters that have no values, are removed.
|
||||
If a parameter with no value is expanded within double quotes, a
|
||||
@@ -2925,7 +2925,7 @@ Matches anything except one of the given patterns
|
||||
After the preceding expansions, all unquoted occurrences of the
|
||||
characters
|
||||
.BR \e ,
|
||||
.BR ' ,
|
||||
.BR \(aq ,
|
||||
and \^\f3"\fP\^ that did not result from one of the above
|
||||
expansions are removed.
|
||||
.SH REDIRECTION
|
||||
@@ -4490,8 +4490,8 @@ backslash
|
||||
.B \e"
|
||||
literal "
|
||||
.TP
|
||||
.B \e'
|
||||
literal '
|
||||
.B \e\(aq
|
||||
literal \(aq
|
||||
.RE
|
||||
.PD
|
||||
.PP
|
||||
@@ -4539,7 +4539,7 @@ be used to indicate a macro definition.
|
||||
Unquoted text is assumed to be a function name.
|
||||
In the macro body, the backslash escapes described above are expanded.
|
||||
Backslash will quote any other character in the macro text,
|
||||
including " and '.
|
||||
including " and \(aq.
|
||||
.PP
|
||||
.B Bash
|
||||
allows the current readline key bindings to be displayed or modified
|
||||
@@ -7315,7 +7315,7 @@ format specifications, each of which causes printing of the next successive
|
||||
In addition to the standard \fIprintf\fP(1) formats, \fB%b\fP causes
|
||||
\fBprintf\fP to expand backslash escape sequences in the corresponding
|
||||
\fIargument\fP (except that \fB\ec\fP terminates output, backslashes in
|
||||
\fB\e'\fP, \fB\e"\fP, and \fB\e?\fP are not removed, and octal escapes
|
||||
\fB\e\(aq\fP, \fB\e"\fP, and \fB\e?\fP are not removed, and octal escapes
|
||||
beginning with \fB\e0\fP may contain up to four digits),
|
||||
and \fB%q\fP causes \fBprintf\fP to output the corresponding
|
||||
\fIargument\fP in a format that can be reused as shell input.
|
||||
@@ -8032,7 +8032,7 @@ If set, the extended pattern matching features described above under
|
||||
\fBPathname Expansion\fP are enabled.
|
||||
.TP 8
|
||||
.B extquote
|
||||
If set, \fB$\fP'\fIstring\fP' and \fB$\fP"\fIstring\fP" quoting is
|
||||
If set, \fB$\fP\(aq\fIstring\fP\(aq and \fB$\fP"\fIstring\fP" quoting is
|
||||
performed within \fB${\fP\fIparameter\fP\fB}\fP expansions
|
||||
enclosed in double quotes. This option is enabled by default.
|
||||
.TP 8
|
||||
|
||||
+438
-139
File diff suppressed because it is too large
Load Diff
@@ -863,6 +863,10 @@ realloc_jobs_list ()
|
||||
js.j_lastj = (j > 0) ? j - 1: 0;
|
||||
js.j_jobslots = nsize;
|
||||
|
||||
/* Zero out remaining slots in new jobs list */
|
||||
for ( ; j < nsize; j++)
|
||||
jobs[j] = (JOB *)NULL;
|
||||
|
||||
free (jobs);
|
||||
jobs = nlist;
|
||||
|
||||
@@ -905,15 +909,17 @@ delete_job (job_index, warn_stopped)
|
||||
if (warn_stopped && subshell_environment == 0 && STOPPED (job_index))
|
||||
internal_warning (_("deleting stopped job %d with process group %ld"), job_index+1, (long)jobs[job_index]->pgrp);
|
||||
temp = jobs[job_index];
|
||||
if (temp == 0 || temp->pipe == 0)
|
||||
return;
|
||||
if (job_index == js.j_current || job_index == js.j_previous)
|
||||
reset_current ();
|
||||
|
||||
proc = find_last_proc (job_index, 0);
|
||||
/* Could do this just for J_ASYNC jobs, but we save all. */
|
||||
bgp_add (proc->pid, process_exit_status (proc->status));
|
||||
if (proc)
|
||||
bgp_add (proc->pid, process_exit_status (proc->status));
|
||||
|
||||
jobs[job_index] = (JOB *)NULL;
|
||||
|
||||
if (temp == js.j_lastmade)
|
||||
js.j_lastmade = 0;
|
||||
else if (temp == js.j_lastasync)
|
||||
@@ -1223,14 +1229,14 @@ find_job (pid, alive_only, procp)
|
||||
register int i;
|
||||
PROCESS *p;
|
||||
|
||||
/* XXX could use js.j_firstj here */
|
||||
/* XXX could use js.j_firstj here, and should check js.j_lastj */
|
||||
for (i = 0; i < js.j_jobslots; i++)
|
||||
{
|
||||
#if defined (DEBUG)
|
||||
if (i < js.j_firstj && jobs[i])
|
||||
itrace("find_job: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
|
||||
#endif
|
||||
if (jobs[i])
|
||||
if (jobs[i] && jobs[i]->pipe)
|
||||
{
|
||||
p = jobs[i]->pipe;
|
||||
|
||||
@@ -1914,7 +1920,7 @@ find_last_proc (job, block)
|
||||
BLOCK_CHILD (set, oset);
|
||||
|
||||
p = jobs[job]->pipe;
|
||||
while (p->next != jobs[job]->pipe)
|
||||
while (p && p->next != jobs[job]->pipe)
|
||||
p = p->next;
|
||||
|
||||
if (block)
|
||||
|
||||
+3952
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,4 +1,4 @@
|
||||
BUILD_DIR=/usr/local/build/bash/bash-current
|
||||
BUILD_DIR=/usr/local/build/chet/bash/bash-current
|
||||
THIS_SH=$BUILD_DIR/bash
|
||||
PATH=$PATH:$BUILD_DIR
|
||||
|
||||
|
||||
Reference in New Issue
Block a user