1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- BASH PATCH REPORT
- =================
- Bash-Release: 4.3
- Patch-ID: bash43-042
- Bug-Reported-by: Nathan Neulinger <nneul@neulinger.org>
- Bug-Reference-ID: <558EFDF2.7060402@neulinger.org>
- Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html
- Bug-Description:
- There is a problem when parsing command substitutions containing `case'
- commands within pipelines that causes the parser to not correctly identify
- the end of the command substitution.
- Patch (apply with `patch -p0'):
- --- a/parse.y
- +++ b/parse.y
- @@ -3708,6 +3708,8 @@ eof_error:
- /*itrace("parse_comsub:%d: lex_inword -> 1 ch = `%c' (%d)", line_number, ch, __LINE__);*/
- tflags |= LEX_INWORD;
- lex_wlen = 0;
- + if (tflags & LEX_RESWDOK)
- + lex_rwlen = 0;
- }
- }
-
- --- a/y.tab.c
- +++ b/y.tab.c
- @@ -6020,6 +6020,8 @@ eof_error:
- /*itrace("parse_comsub:%d: lex_inword -> 1 ch = `%c' (%d)", line_number, ch, __LINE__);*/
- tflags |= LEX_INWORD;
- lex_wlen = 0;
- + if (tflags & LEX_RESWDOK)
- + lex_rwlen = 0;
- }
- }
-
- --- a/patchlevel.h
- +++ b/patchlevel.h
- @@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
- -#define PATCHLEVEL 41
- +#define PATCHLEVEL 42
-
- #endif /* _PATCHLEVEL_H_ */
|