sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[SM-Commit] GIT changes to master grimoire by George Sherwood (c0a7414a1d6a6f9d64d705b8e888fcb7714aaa1b)
- From: George Sherwood <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org
- Subject: [SM-Commit] GIT changes to master grimoire by George Sherwood (c0a7414a1d6a6f9d64d705b8e888fcb7714aaa1b)
- Date: Thu, 9 Apr 2009 16:23:55 -0500
GIT changes to master grimoire by George Sherwood <gsherwood AT sourcemage.org>:
shell-term-fm/bash/DETAILS | 2
shell-term-fm/bash/HISTORY | 5 +
shell-term-fm/bash/PRE_BUILD | 8 +
shell-term-fm/bash/patches/bash40-011 | 49 ++++++++++
shell-term-fm/bash/patches/bash40-012 | 47 ++++++++++
shell-term-fm/bash/patches/bash40-013 | 153
++++++++++++++++++++++++++++++++++
shell-term-fm/bash/patches/bash40-014 | 113 +++++++++++++++++++++++++
shell-term-fm/bash/patches/bash40-015 | 84 ++++++++++++++++++
shell-term-fm/bash/patches/bash40-016 | 104 +++++++++++++++++++++++
shell-term-fm/bash/patches/bash40-017 | 47 ++++++++++
10 files changed, 610 insertions(+), 2 deletions(-)
New commits:
commit c0a7414a1d6a6f9d64d705b8e888fcb7714aaa1b
Author: George Sherwood <gsherwood AT sourcemage.org>
Commit: George Sherwood <gsherwood AT sourcemage.org>
bash: Added upstream patches bash40-11 to bash40-17. PATCHLEVEL++
diff --git a/shell-term-fm/bash/DETAILS b/shell-term-fm/bash/DETAILS
index 862ef6f..a33f0c6 100755
--- a/shell-term-fm/bash/DETAILS
+++ b/shell-term-fm/bash/DETAILS
@@ -14,7 +14,7 @@ SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
SOURCE2_IGNORE=signature
SOURCE4_IGNORE=signature
WEB_SITE=http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
- PATCHLEVEL=1
+ PATCHLEVEL=2
ENTERED=20010922
LICENSE[0]=GPL2
KEYWORDS="console"
diff --git a/shell-term-fm/bash/HISTORY b/shell-term-fm/bash/HISTORY
index eec7de6..c808fec 100644
--- a/shell-term-fm/bash/HISTORY
+++ b/shell-term-fm/bash/HISTORY
@@ -1,3 +1,8 @@
+2009-04-09 George Sherwood <gsherwood AT sourcemage.org>
+ * DETAILS: PATCHLEVEL++
+ * PRE_BUILD: Added upstream patches
+ * patches/bash40-011 to 017: Added upstream patches
+
2009-03-10 George Sherwood <gsherwood AT sourcemage.org
* DETAILS: PATCHLEVEL++
* PRE_BUILD: Added upstream patches
diff --git a/shell-term-fm/bash/PRE_BUILD b/shell-term-fm/bash/PRE_BUILD
index 89b6a59..d987a6a 100755
--- a/shell-term-fm/bash/PRE_BUILD
+++ b/shell-term-fm/bash/PRE_BUILD
@@ -12,7 +12,13 @@ patch -p0 < $SPELL_DIRECTORY/patches/bash40-007 &&
patch -p0 < $SPELL_DIRECTORY/patches/bash40-008 &&
patch -p0 < $SPELL_DIRECTORY/patches/bash40-009 &&
patch -p0 < $SPELL_DIRECTORY/patches/bash40-010 &&
-
+patch -p0 < $SPELL_DIRECTORY/patches/bash40-011 &&
+patch -p0 < $SPELL_DIRECTORY/patches/bash40-012 &&
+patch -p0 < $SPELL_DIRECTORY/patches/bash40-013 &&
+patch -p0 < $SPELL_DIRECTORY/patches/bash40-014 &&
+patch -p0 < $SPELL_DIRECTORY/patches/bash40-015 &&
+patch -p0 < $SPELL_DIRECTORY/patches/bash40-016 &&
+patch -p0 < $SPELL_DIRECTORY/patches/bash40-017 &&
if [[ "$BASH_NI_LOGIN" == y ]]; then
message "${MESSAGE_COLOR}Defining
NON_INTERACTIVE_LOGIN_SHELLS.$DEFAULT_COLOR" &&
diff --git a/shell-term-fm/bash/patches/bash40-011
b/shell-term-fm/bash/patches/bash40-011
new file mode 100644
index 0000000..61d1d3a
--- /dev/null
+++ b/shell-term-fm/bash/patches/bash40-011
@@ -0,0 +1,49 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.0
+Patch-ID: bash40-011
+
+Bug-Reported-by: Matt Zyzik <Matt AT ice.filescope.com>n
+Bug-Reference-ID: <20090312015018.C00741383ED AT ice.filescope.com>
+Bug-Reference-URL:
http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00092.html
+
+Bug-Description:
+
+When using the new |& operator following a simple command with a redirection,
+the redirection of stderr through the pipe was not performed under certain
+circumstances.
+
+Patch:
+
+*** ../bash-4.0-patched/parse.y 2009-03-08 21:24:47.000000000 -0400
+--- parse.y 2009-03-12 21:36:23.000000000 -0400
+***************
+*** 1123,1127 ****
+ REDIRECT *r;
+
+! tc = $1;
+ rd.dest = 1;
+ r = make_redirection (2, r_duplicating_output, rd);
+--- 1123,1127 ----
+ REDIRECT *r;
+
+! tc = $1->type == cm_simple ? (COMMAND
*)$1->value.Simple : $1;
+ rd.dest = 1;
+ r = make_redirection (2, r_duplicating_output, rd);
+*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
+--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
+
diff --git a/shell-term-fm/bash/patches/bash40-012
b/shell-term-fm/bash/patches/bash40-012
new file mode 100644
index 0000000..014eae6
--- /dev/null
+++ b/shell-term-fm/bash/patches/bash40-012
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.0
+Patch-ID: bash40-012
+
+Bug-Reported-by: "Clark J. Wang" <dearvoid AT gmail.com>
+Bug-Reference-ID:
<a96f63770903132300v7816dfb7hb7f48d46048bf3cb AT mail.gmail.com>
+Bug-Reference-URL:
http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00129.html
+
+Bug-Description:
+
+A case statement using the ;& pattern terminator followed immediately by
+"esac" caused a core dump due to a null pointer dereference.
+
+Patch:
+
+*** ../bash-4.0-patched/execute_cmd.c 2009-02-13 16:41:41.000000000 -0500
+--- execute_cmd.c 2009-03-14 13:23:00.000000000 -0400
+***************
+*** 2931,2935 ****
+ }
+ while ((clauses->flags & CASEPAT_FALLTHROUGH) && (clauses =
clauses->next));
+! if ((clauses->flags & CASEPAT_TESTNEXT) == 0)
+ EXIT_CASE ();
+ else
+--- 2931,2935 ----
+ }
+ while ((clauses->flags & CASEPAT_FALLTHROUGH) && (clauses =
clauses->next));
+! if (clauses == 0 || (clauses->flags & CASEPAT_TESTNEXT) == 0)
+ EXIT_CASE ();
+ else
+*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
+--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/shell-term-fm/bash/patches/bash40-013
b/shell-term-fm/bash/patches/bash40-013
new file mode 100644
index 0000000..df1fc49
--- /dev/null
+++ b/shell-term-fm/bash/patches/bash40-013
@@ -0,0 +1,153 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.0
+Patch-ID: bash40-013
+
+Bug-Reported-by: jidanni AT jidanni.org
+Bug-Reference-ID:
+Bug-Reference-URL:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519165
+
+Bug-Description:
+
+Though references to $@ when there are no positional parameters will now
+cause the shell to exit if the `errexit' option has been enabled, constructs
+such as ${@:-foo} should not cause an exit.
+
+Patch:
+
+*** ../bash-4.0-patched/subst.c 2009-03-08 21:24:39.000000000 -0400
+--- subst.c 2009-03-14 19:04:10.000000000 -0400
+***************
+*** 86,89 ****
+--- 86,90 ----
+ /* Flags for the `pflags' argument to param_expand() */
+ #define PF_NOCOMSUB 0x01 /* Do not perform command substitution */
++ #define PF_IGNUNBOUND 0x02 /* ignore unbound vars even if -u set
*/
+
+ /* These defs make it easier to use the editor. */
+***************
+*** 264,268 ****
+ static int chk_arithsub __P((const char *, int));
+
+! static WORD_DESC *parameter_brace_expand_word __P((char *, int, int));
+ static WORD_DESC *parameter_brace_expand_indir __P((char *, int, int, int
*, int *));
+ static WORD_DESC *parameter_brace_expand_rhs __P((char *, char *, int,
int, int *, int *));
+--- 265,269 ----
+ static int chk_arithsub __P((const char *, int));
+
+! static WORD_DESC *parameter_brace_expand_word __P((char *, int, int, int));
+ static WORD_DESC *parameter_brace_expand_indir __P((char *, int, int, int
*, int *));
+ static WORD_DESC *parameter_brace_expand_rhs __P((char *, char *, int,
int, int *, int *));
+***************
+*** 5196,5202 ****
+ NAME was found inside of a double-quoted expression. */
+ static WORD_DESC *
+! parameter_brace_expand_word (name, var_is_special, quoted)
+ char *name;
+! int var_is_special, quoted;
+ {
+ WORD_DESC *ret;
+--- 5197,5203 ----
+ NAME was found inside of a double-quoted expression. */
+ static WORD_DESC *
+! parameter_brace_expand_word (name, var_is_special, quoted, pflags)
+ char *name;
+! int var_is_special, quoted, pflags;
+ {
+ WORD_DESC *ret;
+***************
+*** 5230,5234 ****
+
+ ret = param_expand (tt, &sindex, quoted, (int *)NULL, (int *)NULL,
+! (int *)NULL, (int *)NULL, 0);
+ free (tt);
+ }
+--- 5231,5235 ----
+
+ ret = param_expand (tt, &sindex, quoted, (int *)NULL, (int *)NULL,
+! (int *)NULL, (int *)NULL, pflags);
+ free (tt);
+ }
+***************
+*** 5291,5295 ****
+ WORD_DESC *w;
+
+! w = parameter_brace_expand_word (name, var_is_special, quoted);
+ t = w->word;
+ /* Have to dequote here if necessary */
+--- 5292,5296 ----
+ WORD_DESC *w;
+
+! w = parameter_brace_expand_word (name, var_is_special, quoted,
PF_IGNUNBOUND);
+ t = w->word;
+ /* Have to dequote here if necessary */
+***************
+*** 5308,5312 ****
+ return (WORD_DESC *)NULL;
+
+! w = parameter_brace_expand_word (t, SPECIAL_VAR(t, 0), quoted);
+ free (t);
+
+--- 5309,5313 ----
+ return (WORD_DESC *)NULL;
+
+! w = parameter_brace_expand_word (t, SPECIAL_VAR(t, 0), quoted, 0);
+ free (t);
+
+***************
+*** 6659,6663 ****
+ tdesc = parameter_brace_expand_indir (name + 1, var_is_special,
quoted, quoted_dollar_atp, contains_dollar_at);
+ else
+! tdesc = parameter_brace_expand_word (name, var_is_special, quoted);
+
+ if (tdesc)
+--- 6660,6664 ----
+ tdesc = parameter_brace_expand_indir (name + 1, var_is_special,
quoted, quoted_dollar_atp, contains_dollar_at);
+ else
+! tdesc = parameter_brace_expand_word (name, var_is_special, quoted,
PF_IGNUNBOUND);
+
+ if (tdesc)
+***************
+*** 6990,6994 ****
+ list = list_rest_of_args ();
+
+! if (list == 0 && unbound_vars_is_error)
+ {
+ uerror[0] = '$';
+--- 6991,6995 ----
+ list = list_rest_of_args ();
+
+! if (list == 0 && unbound_vars_is_error && (pflags & PF_IGNUNBOUND)
== 0)
+ {
+ uerror[0] = '$';
+***************
+*** 7052,7056 ****
+ list = list_rest_of_args ();
+
+! if (list == 0 && unbound_vars_is_error)
+ {
+ uerror[0] = '$';
+--- 7053,7057 ----
+ list = list_rest_of_args ();
+
+! if (list == 0 && unbound_vars_is_error && (pflags & PF_IGNUNBOUND)
== 0)
+ {
+ uerror[0] = '$';
+
+
+*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
+--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/shell-term-fm/bash/patches/bash40-014
b/shell-term-fm/bash/patches/bash40-014
new file mode 100644
index 0000000..eeba336
--- /dev/null
+++ b/shell-term-fm/bash/patches/bash40-014
@@ -0,0 +1,113 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.0
+Patch-ID: bash40-014
+
+Bug-Reported-by: smallnow AT gmail.com
+Bug-Reference-ID: <49C460FE.40307 AT gmail.com>
+Bug-Reference-URL:
http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00166.html
+
+Bug-Description:
+
+When the fc builtin is run in a command substitution from a shell with
history
+enabled, it does not correctly calculate the command on which to operate.
+
+Patch:
+
+*** ../bash-4.0-patched/builtins/fc.def 2009-01-04 14:32:22.000000000
-0500
+--- builtins/fc.def 2009-03-21 14:03:43.000000000 -0400
+***************
+*** 89,92 ****
+--- 89,93 ----
+ extern int literal_history;
+ extern int posixly_correct;
++ extern int subshell_environment, interactive_shell;
+
+ extern int unlink __P((const char *));
+***************
+*** 173,177 ****
+ register char *sep;
+ int numbering, reverse, listing, execute;
+! int histbeg, histend, last_hist, retval, opt;
+ FILE *stream;
+ REPL *rlist, *rl;
+--- 174,178 ----
+ register char *sep;
+ int numbering, reverse, listing, execute;
+! int histbeg, histend, last_hist, retval, opt, rh;
+ FILE *stream;
+ REPL *rlist, *rl;
+***************
+*** 276,279 ****
+--- 277,282 ----
+ fprintf (stderr, "%s\n", command);
+ fc_replhist (command); /* replace `fc -s' with command */
++ /* Posix says that the re-executed commands should be entered into
the
++ history. */
+ return (parse_and_execute (command, "fc", SEVAL_NOHIST));
+ }
+***************
+*** 294,298 ****
+ so we check hist_last_line_added. */
+
+! last_hist = i - remember_on_history - hist_last_line_added;
+
+ if (list)
+--- 297,306 ----
+ so we check hist_last_line_added. */
+
+! /* Even though command substitution through parse_and_execute turns off
+! remember_on_history, command substitution in a shell when set -o
history
+! has been enabled (interactive or not) should use it in the last_hist
+! calculation as if it were on. */
+! rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) &&
enable_history_list);
+! last_hist = i - rh - hist_last_line_added;
+
+ if (list)
+***************
+*** 457,461 ****
+ HIST_ENTRY **hlist;
+ {
+! int sign, n, clen;
+ register int i, j;
+ register char *s;
+--- 465,469 ----
+ HIST_ENTRY **hlist;
+ {
+! int sign, n, clen, rh;
+ register int i, j;
+ register char *s;
+***************
+*** 473,477 ****
+ so we check hist_last_line_added. This needs to agree with the
+ calculation of last_hist in fc_builtin above. */
+! i -= remember_on_history + hist_last_line_added;
+
+ /* No specification defaults to most recent command. */
+--- 481,490 ----
+ so we check hist_last_line_added. This needs to agree with the
+ calculation of last_hist in fc_builtin above. */
+! /* Even though command substitution through parse_and_execute turns off
+! remember_on_history, command substitution in a shell when set -o
history
+! has been enabled (interactive or not) should use it in the last_hist
+! calculation as if it were on. */
+! rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) &&
enable_history_list);
+! i -= rh + hist_last_line_added;
+
+ /* No specification defaults to most recent command. */
+*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
+--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/shell-term-fm/bash/patches/bash40-015
b/shell-term-fm/bash/patches/bash40-015
new file mode 100644
index 0000000..c3e8d33
--- /dev/null
+++ b/shell-term-fm/bash/patches/bash40-015
@@ -0,0 +1,84 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.0
+Patch-ID: bash40-015
+
+Bug-Reported-by: Lubomir Rintel <lkundrak AT v3.sk>
+Bug-Reference-ID: <1237654931.32737.13.camel AT localhost.localdomain>
+Bug-Reference-URL:
http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00174.html
+
+Bug-Description:
+
+Deferring handling of signals which should cause the shell to terminate until
+it is "safe" to run the handler functions does not work for some terminating
+signals.
+
+Patch:
+
+*** ../bash-4.0-patched/sig.c 2009-01-04 14:32:41.000000000 -0500
+--- sig.c 2009-03-22 14:47:56.000000000 -0400
+***************
+*** 449,452 ****
+--- 449,494 ----
+ int sig;
+ {
++ /* If we get called twice with the same signal before handling it,
++ terminate right away. */
++ if (
++ #ifdef SIGHUP
++ sig != SIGHUP &&
++ #endif
++ #ifdef SIGINT
++ sig != SIGINT &&
++ #endif
++ #ifdef SIGDANGER
++ sig != SIGDANGER &&
++ #endif
++ #ifdef SIGPIPE
++ sig != SIGPIPE &&
++ #endif
++ #ifdef SIGALRM
++ sig != SIGALRM &&
++ #endif
++ #ifdef SIGTERM
++ sig != SIGTERM &&
++ #endif
++ #ifdef SIGXCPU
++ sig != SIGXCPU &&
++ #endif
++ #ifdef SIGXFSZ
++ sig != SIGXFSZ &&
++ #endif
++ #ifdef SIGVTALRM
++ sig != SIGVTALRM &&
++ #endif
++ #ifdef SIGLOST
++ sig != SIGLOST &&
++ #endif
++ #ifdef SIGUSR1
++ sig != SIGUSR1 &&
++ #endif
++ #ifdef SIGUSR2
++ sig != SIGUSR2 &&
++ #endif
++ sig == terminating_signal)
++ terminate_immediately = 1;
++
+ terminating_signal = sig;
+
+*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
+--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/shell-term-fm/bash/patches/bash40-016
b/shell-term-fm/bash/patches/bash40-016
new file mode 100644
index 0000000..ace2e1e
--- /dev/null
+++ b/shell-term-fm/bash/patches/bash40-016
@@ -0,0 +1,104 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.0
+Patch-ID: bash40-016
+
+Bug-Reported-by: Brian J. Murrell" <brian AT interlinx.bc.ca>
+Bug-Reference-ID: <1237564627.7666.12.camel AT pc.interlinx.bc.ca>
+Bug-Reference-URL:http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00160.html
+
+Bug-Description:
+
+There are several problems with the handling of $LINENO in an ERR trap.
+
+Patch:
+
+*** ../bash-4.0-patched/trap.c 2009-01-16 17:07:53.000000000 -0500
+--- trap.c 2009-03-20 21:37:00.000000000 -0400
+***************
+*** 756,760 ****
+
+ flags = SEVAL_NONINT|SEVAL_NOHIST;
+! if (sig != DEBUG_TRAP && sig != RETURN_TRAP)
+ flags |= SEVAL_RESETLINE;
+ if (function_code == 0)
+--- 756,760 ----
+
+ flags = SEVAL_NONINT|SEVAL_NOHIST;
+! if (sig != DEBUG_TRAP && sig != RETURN_TRAP && sig != ERROR_TRAP)
+ flags |= SEVAL_RESETLINE;
+ if (function_code == 0)
+*** ../bash-4.0-patched/execute_cmd.c 2009-02-13 16:41:41.000000000 -0500
+--- execute_cmd.c 2009-03-21 14:16:11.000000000 -0400
+***************
+*** 569,572 ****
+--- 569,573 ----
+ /* Fork a subshell, turn off the subshell bit, turn off job
+ control and call execute_command () on the command again. */
++ line_number_for_err_trap = line_number;
+ paren_pid = make_child (savestring (make_command_string (command)),
+ asynchronous);
+***************
+*** 611,615 ****
+--- 612,619 ----
+ {
+ last_command_exit_value = exec_result;
++ save_line_number = line_number;
++ line_number = line_number_for_err_trap;
+ run_error_trap ();
++ line_number = save_line_number;
+ }
+
+***************
+*** 767,771 ****
+--- 771,777 ----
+ {
+ last_command_exit_value = exec_result;
++ line_number = line_number_for_err_trap;
+ run_error_trap ();
++ line_number = save_line_number;
+ }
+
+***************
+*** 2106,2109 ****
+--- 2112,2116 ----
+ COMMAND *tc, *second;
+ int ignore_return, exec_result, was_error_trap, invert;
++ volatile int save_line_number;
+
+ ignore_return = (command->flags & CMD_IGNORE_RETURN) != 0;
+***************
+*** 2175,2178 ****
+--- 2182,2186 ----
+ ignore_return = (command->flags & CMD_IGNORE_RETURN) != 0;
+
++ line_number_for_err_trap = line_number;
+ exec_result = execute_pipeline (command, asynchronous, pipe_in,
pipe_out, fds_to_close);
+
+***************
+*** 2180,2184 ****
+--- 2188,2195 ----
+ {
+ last_command_exit_value = exec_result;
++ save_line_number = line_number;
++ line_number = line_number_for_err_trap;
+ run_error_trap ();
++ line_number = save_line_number;
+ }
+
+*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
+--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/shell-term-fm/bash/patches/bash40-017
b/shell-term-fm/bash/patches/bash40-017
new file mode 100644
index 0000000..ff42d77
--- /dev/null
+++ b/shell-term-fm/bash/patches/bash40-017
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.0
+Patch-ID: bash40-017
+
+Bug-Reported-by: Lubomir Rintel <lkundrak AT v3.sk>
+Bug-Reference-ID: <1237654931.32737.13.camel AT localhost.localdomain>
+Bug-Reference-URL:
http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00174.html
+
+Bug-Description:
+
+Adding a null line to a here-document (e.g., by hitting EOF) causes the
+shell to dump core attempting to dereference the NULL pointer.
+
+Patch:
+
+*** ../bash-4.0-patched/parse.y 2009-03-08 21:24:47.000000000 -0400
+--- parse.y 2009-03-21 14:38:42.000000000 -0400
+***************
+*** 1880,1884 ****
+ ret = read_a_line (remove_quoted_newline);
+ #if defined (HISTORY)
+! if (remember_on_history && (parser_state & PST_HEREDOC))
+ {
+ /* To make adding the the here-document body right, we need to rely
+--- 1880,1884 ----
+ ret = read_a_line (remove_quoted_newline);
+ #if defined (HISTORY)
+! if (ret && remember_on_history && (parser_state & PST_HEREDOC))
+ {
+ /* To make adding the the here-document body right, we need to rely
+*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
+--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
- [SM-Commit] GIT changes to master grimoire by George Sherwood (c0a7414a1d6a6f9d64d705b8e888fcb7714aaa1b), George Sherwood, 04/09/2009
Archive powered by MHonArc 2.6.24.