commit bash-20060104 snapshot

This commit is contained in:
Chet Ramey
2011-12-03 22:43:42 -05:00
parent dc8fbaf9a1
commit 20587658e9
10 changed files with 8427 additions and 175 deletions
+20
View File
@@ -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
+23
View File
@@ -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
View File
@@ -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
+1 -2
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+11 -5
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+3953
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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