summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2013-01-10 19:53:16 -0500
committerChet Ramey <chet.ramey@case.edu>2013-01-10 19:53:16 -0500
commit509a4430ae72aec10896713435e84f5b27675763 (patch)
tree84f0b9867cb4660bf61f2965259ec61d41e3eac7
parent8dea6e878b47519840d57eb215945f3e1fac7421 (diff)
downloadbash-509a4430ae72aec10896713435e84f5b27675763.tar.gz
Bash-4.2 patch 42
-rw-r--r--parse.y4
-rw-r--r--patchlevel.h2
-rw-r--r--y.tab.c387
-rw-r--r--y.tab.h4
4 files changed, 227 insertions, 170 deletions
diff --git a/parse.y b/parse.y
index dc78e7e5..db3348c3 100644
--- a/parse.y
+++ b/parse.y
@@ -2393,6 +2393,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;
@@ -2403,7 +2404,8 @@ pop_alias:
shell_input_line_index++; /* skip newline */
goto next_alias_char; /* and get next character */
}
- else
+ else
+#endif
goto restart_read;
}
diff --git a/patchlevel.h b/patchlevel.h
index d0523dc5..10e294fb 100644
--- 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_ */
diff --git a/y.tab.c b/y.tab.c
index d8280fc3..63f6e5ec 100644
--- a/y.tab.c
+++ b/y.tab.c
@@ -168,7 +168,7 @@
/* Copy the first part of user declarations. */
-#line 21 "/Users/chet/src/bash/src/parse.y"
+#line 21 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
#include "config.h"
@@ -491,7 +491,7 @@ static REDIRECTEE redir;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 323 "/Users/chet/src/bash/src/parse.y"
+#line 323 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
@@ -501,7 +501,7 @@ typedef union YYSTYPE
ELEMENT element;
PATTERN_LIST *pattern;
}
-/* Line 187 of yacc.c. */
+/* Line 193 of yacc.c. */
#line 506 "y.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -565,7 +565,7 @@ typedef short int yytype_int16;
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -1351,7 +1351,7 @@ while (YYID (0))
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
@@ -2092,7 +2092,7 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 377 "/Users/chet/src/bash/src/parse.y"
+#line 377 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
/* Case of regular command. Discard the error
safety net,and return the command just parsed. */
@@ -2106,7 +2106,7 @@ yyreduce:
break;
case 3:
-#line 388 "/Users/chet/src/bash/src/parse.y"
+#line 388 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
/* Case of regular command, but not a very
interesting one. Return a NULL command. */
@@ -2118,7 +2118,7 @@ yyreduce:
break;
case 4:
-#line 397 "/Users/chet/src/bash/src/parse.y"
+#line 397 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
/* Error during parsing. Return NULL command. */
global_command = (COMMAND *)NULL;
@@ -2136,7 +2136,7 @@ yyreduce:
break;
case 5:
-#line 412 "/Users/chet/src/bash/src/parse.y"
+#line 412 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
/* Case of EOF seen by itself. Do ignoreeof or
not. */
@@ -2147,17 +2147,17 @@ yyreduce:
break;
case 6:
-#line 422 "/Users/chet/src/bash/src/parse.y"
+#line 422 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
break;
case 7:
-#line 424 "/Users/chet/src/bash/src/parse.y"
+#line 424 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
break;
case 8:
-#line 428 "/Users/chet/src/bash/src/parse.y"
+#line 428 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2166,7 +2166,7 @@ yyreduce:
break;
case 9:
-#line 434 "/Users/chet/src/bash/src/parse.y"
+#line 434 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2175,7 +2175,7 @@ yyreduce:
break;
case 10:
-#line 440 "/Users/chet/src/bash/src/parse.y"
+#line 440 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2184,7 +2184,7 @@ yyreduce:
break;
case 11:
-#line 446 "/Users/chet/src/bash/src/parse.y"
+#line 446 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2193,7 +2193,7 @@ yyreduce:
break;
case 12:
-#line 452 "/Users/chet/src/bash/src/parse.y"
+#line 452 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2202,7 +2202,7 @@ yyreduce:
break;
case 13:
-#line 458 "/Users/chet/src/bash/src/parse.y"
+#line 458 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2211,7 +2211,7 @@ yyreduce:
break;
case 14:
-#line 464 "/Users/chet/src/bash/src/parse.y"
+#line 464 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2220,7 +2220,7 @@ yyreduce:
break;
case 15:
-#line 470 "/Users/chet/src/bash/src/parse.y"
+#line 470 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2229,7 +2229,7 @@ yyreduce:
break;
case 16:
-#line 476 "/Users/chet/src/bash/src/parse.y"
+#line 476 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2238,7 +2238,7 @@ yyreduce:
break;
case 17:
-#line 482 "/Users/chet/src/bash/src/parse.y"
+#line 482 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2247,7 +2247,7 @@ yyreduce:
break;
case 18:
-#line 488 "/Users/chet/src/bash/src/parse.y"
+#line 488 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2256,7 +2256,7 @@ yyreduce:
break;
case 19:
-#line 494 "/Users/chet/src/bash/src/parse.y"
+#line 494 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2265,7 +2265,7 @@ yyreduce:
break;
case 20:
-#line 500 "/Users/chet/src/bash/src/parse.y"
+#line 500 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2274,7 +2274,7 @@ yyreduce:
break;
case 21:
-#line 506 "/Users/chet/src/bash/src/parse.y"
+#line 506 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2283,7 +2283,7 @@ yyreduce:
break;
case 22:
-#line 512 "/Users/chet/src/bash/src/parse.y"
+#line 512 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2292,7 +2292,7 @@ yyreduce:
break;
case 23:
-#line 518 "/Users/chet/src/bash/src/parse.y"
+#line 518 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2302,7 +2302,7 @@ yyreduce:
break;
case 24:
-#line 525 "/Users/chet/src/bash/src/parse.y"
+#line 525 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2312,7 +2312,7 @@ yyreduce:
break;
case 25:
-#line 532 "/Users/chet/src/bash/src/parse.y"
+#line 532 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2322,7 +2322,7 @@ yyreduce:
break;
case 26:
-#line 539 "/Users/chet/src/bash/src/parse.y"
+#line 539 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2332,7 +2332,7 @@ yyreduce:
break;
case 27:
-#line 546 "/Users/chet/src/bash/src/parse.y"
+#line 546 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2342,7 +2342,7 @@ yyreduce:
break;
case 28:
-#line 553 "/Users/chet/src/bash/src/parse.y"
+#line 553 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2352,7 +2352,7 @@ yyreduce:
break;
case 29:
-#line 560 "/Users/chet/src/bash/src/parse.y"
+#line 560 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2361,7 +2361,7 @@ yyreduce:
break;
case 30:
-#line 566 "/Users/chet/src/bash/src/parse.y"
+#line 566 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2370,7 +2370,7 @@ yyreduce:
break;
case 31:
-#line 572 "/Users/chet/src/bash/src/parse.y"
+#line 572 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2379,7 +2379,7 @@ yyreduce:
break;
case 32:
-#line 578 "/Users/chet/src/bash/src/parse.y"
+#line 578 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 0;
redir.dest = (yyvsp[(2) - (2)].number);
@@ -2388,7 +2388,7 @@ yyreduce:
break;
case 33:
-#line 584 "/Users/chet/src/bash/src/parse.y"
+#line 584 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.dest = (yyvsp[(3) - (3)].number);
@@ -2397,7 +2397,7 @@ yyreduce:
break;
case 34:
-#line 590 "/Users/chet/src/bash/src/parse.y"
+#line 590 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.dest = (yyvsp[(3) - (3)].number);
@@ -2406,7 +2406,7 @@ yyreduce:
break;
case 35:
-#line 596 "/Users/chet/src/bash/src/parse.y"
+#line 596 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 1;
redir.dest = (yyvsp[(2) - (2)].number);
@@ -2415,7 +2415,7 @@ yyreduce:
break;
case 36:
-#line 602 "/Users/chet/src/bash/src/parse.y"
+#line 602 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.dest = (yyvsp[(3) - (3)].number);
@@ -2424,7 +2424,7 @@ yyreduce:
break;
case 37:
-#line 608 "/Users/chet/src/bash/src/parse.y"
+#line 608 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.dest = (yyvsp[(3) - (3)].number);
@@ -2433,7 +2433,7 @@ yyreduce:
break;
case 38:
-#line 614 "/Users/chet/src/bash/src/parse.y"
+#line 614 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2442,7 +2442,7 @@ yyreduce:
break;
case 39:
-#line 620 "/Users/chet/src/bash/src/parse.y"
+#line 620 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2451,7 +2451,7 @@ yyreduce:
break;
case 40:
-#line 626 "/Users/chet/src/bash/src/parse.y"
+#line 626 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2460,7 +2460,7 @@ yyreduce:
break;
case 41:
-#line 632 "/Users/chet/src/bash/src/parse.y"
+#line 632 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2469,7 +2469,7 @@ yyreduce:
break;
case 42:
-#line 638 "/Users/chet/src/bash/src/parse.y"
+#line 638 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2478,7 +2478,7 @@ yyreduce:
break;
case 43:
-#line 644 "/Users/chet/src/bash/src/parse.y"
+#line 644 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2487,7 +2487,7 @@ yyreduce:
break;
case 44:
-#line 650 "/Users/chet/src/bash/src/parse.y"
+#line 650 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 1;
redir.dest = 0;
@@ -2496,7 +2496,7 @@ yyreduce:
break;
case 45:
-#line 656 "/Users/chet/src/bash/src/parse.y"
+#line 656 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.dest = 0;
@@ -2505,7 +2505,7 @@ yyreduce:
break;
case 46:
-#line 662 "/Users/chet/src/bash/src/parse.y"
+#line 662 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.dest = 0;
@@ -2514,7 +2514,7 @@ yyreduce:
break;
case 47:
-#line 668 "/Users/chet/src/bash/src/parse.y"
+#line 668 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 0;
redir.dest = 0;
@@ -2523,7 +2523,7 @@ yyreduce:
break;
case 48:
-#line 674 "/Users/chet/src/bash/src/parse.y"
+#line 674 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.dest = 0;
@@ -2532,7 +2532,7 @@ yyreduce:
break;
case 49:
-#line 680 "/Users/chet/src/bash/src/parse.y"
+#line 680 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.dest = 0;
@@ -2541,7 +2541,7 @@ yyreduce:
break;
case 50:
-#line 686 "/Users/chet/src/bash/src/parse.y"
+#line 686 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2550,7 +2550,7 @@ yyreduce:
break;
case 51:
-#line 692 "/Users/chet/src/bash/src/parse.y"
+#line 692 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2559,29 +2559,29 @@ yyreduce:
break;
case 52:
-#line 700 "/Users/chet/src/bash/src/parse.y"
+#line 700 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
break;
case 53:
-#line 702 "/Users/chet/src/bash/src/parse.y"
+#line 702 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
break;
case 54:
-#line 704 "/Users/chet/src/bash/src/parse.y"
+#line 704 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
break;
case 55:
-#line 708 "/Users/chet/src/bash/src/parse.y"
+#line 708 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.redirect) = (yyvsp[(1) - (1)].redirect);
}
break;
case 56:
-#line 712 "/Users/chet/src/bash/src/parse.y"
+#line 712 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
register REDIRECT *t;
@@ -2593,27 +2593,27 @@ yyreduce:
break;
case 57:
-#line 723 "/Users/chet/src/bash/src/parse.y"
+#line 723 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
break;
case 58:
-#line 725 "/Users/chet/src/bash/src/parse.y"
+#line 725 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
break;
case 59:
-#line 729 "/Users/chet/src/bash/src/parse.y"
+#line 729 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
break;
case 60:
-#line 731 "/Users/chet/src/bash/src/parse.y"
+#line 731 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 61:
-#line 733 "/Users/chet/src/bash/src/parse.y"
+#line 733 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
COMMAND *tc;
@@ -2632,72 +2632,72 @@ yyreduce:
break;
case 62:
-#line 749 "/Users/chet/src/bash/src/parse.y"
+#line 749 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 63:
-#line 751 "/Users/chet/src/bash/src/parse.y"
+#line 751 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 64:
-#line 755 "/Users/chet/src/bash/src/parse.y"
+#line 755 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 65:
-#line 757 "/Users/chet/src/bash/src/parse.y"
+#line 757 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 66:
-#line 759 "/Users/chet/src/bash/src/parse.y"
+#line 759 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
break;
case 67:
-#line 761 "/Users/chet/src/bash/src/parse.y"
+#line 761 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
break;
case 68:
-#line 763 "/Users/chet/src/bash/src/parse.y"
+#line 763 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 69:
-#line 765 "/Users/chet/src/bash/src/parse.y"
+#line 765 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 70:
-#line 767 "/Users/chet/src/bash/src/parse.y"
+#line 767 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 71:
-#line 769 "/Users/chet/src/bash/src/parse.y"
+#line 769 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 72:
-#line 771 "/Users/chet/src/bash/src/parse.y"
+#line 771 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 73:
-#line 773 "/Users/chet/src/bash/src/parse.y"
+#line 773 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 74:
-#line 775 "/Users/chet/src/bash/src/parse.y"
+#line 775 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 75:
-#line 779 "/Users/chet/src/bash/src/parse.y"
+#line 779 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2705,7 +2705,7 @@ yyreduce:
break;
case 76:
-#line 784 "/Users/chet/src/bash/src/parse.y"
+#line 784 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2713,7 +2713,7 @@ yyreduce:
break;
case 77:
-#line 789 "/Users/chet/src/bash/src/parse.y"
+#line 789 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2721,7 +2721,7 @@ yyreduce:
break;
case 78:
-#line 794 "/Users/chet/src/bash/src/parse.y"
+#line 794 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2729,7 +2729,7 @@ yyreduce:
break;
case 79:
-#line 799 "/Users/chet/src/bash/src/parse.y"
+#line 799 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2737,7 +2737,7 @@ yyreduce:
break;
case 80:
-#line 804 "/Users/chet/src/bash/src/parse.y"
+#line 804 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2745,7 +2745,7 @@ yyreduce:
break;
case 81:
-#line 809 "/Users/chet/src/bash/src/parse.y"
+#line 809 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2753,7 +2753,7 @@ yyreduce:
break;
case 82:
-#line 814 "/Users/chet/src/bash/src/parse.y"
+#line 814 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2761,7 +2761,7 @@ yyreduce:
break;
case 83:
-#line 821 "/Users/chet/src/bash/src/parse.y"
+#line 821 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
if (word_top > 0) word_top--;
@@ -2769,7 +2769,7 @@ yyreduce:
break;
case 84:
-#line 826 "/Users/chet/src/bash/src/parse.y"
+#line 826 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
if (word_top > 0) word_top--;
@@ -2777,7 +2777,7 @@ yyreduce:
break;
case 85:
-#line 831 "/Users/chet/src/bash/src/parse.y"
+#line 831 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
if (word_top > 0) word_top--;
@@ -2785,7 +2785,7 @@ yyreduce:
break;
case 86:
-#line 836 "/Users/chet/src/bash/src/parse.y"
+#line 836 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
if (word_top > 0) word_top--;
@@ -2793,7 +2793,7 @@ yyreduce:
break;
case 87:
-#line 843 "/Users/chet/src/bash/src/parse.y"
+#line 843 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2801,7 +2801,7 @@ yyreduce:
break;
case 88:
-#line 848 "/Users/chet/src/bash/src/parse.y"
+#line 848 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2809,7 +2809,7 @@ yyreduce:
break;
case 89:
-#line 853 "/Users/chet/src/bash/src/parse.y"
+#line 853 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2817,7 +2817,7 @@ yyreduce:
break;
case 90:
-#line 858 "/Users/chet/src/bash/src/parse.y"
+#line 858 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2825,7 +2825,7 @@ yyreduce:
break;
case 91:
-#line 863 "/Users/chet/src/bash/src/parse.y"
+#line 863 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2833,7 +2833,7 @@ yyreduce:
break;
case 92:
-#line 868 "/Users/chet/src/bash/src/parse.y"
+#line 868 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2841,7 +2841,7 @@ yyreduce:
break;
case 93:
-#line 875 "/Users/chet/src/bash/src/parse.y"
+#line 875 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2849,7 +2849,7 @@ yyreduce:
break;
case 94:
-#line 880 "/Users/chet/src/bash/src/parse.y"
+#line 880 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2857,7 +2857,7 @@ yyreduce:
break;
case 95:
-#line 885 "/Users/chet/src/bash/src/parse.y"
+#line 885 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2865,27 +2865,27 @@ yyreduce:
break;
case 96:
-#line 892 "/Users/chet/src/bash/src/parse.y"
+#line 892 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
break;
case 97:
-#line 895 "/Users/chet/src/bash/src/parse.y"
+#line 895 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
break;
case 98:
-#line 898 "/Users/chet/src/bash/src/parse.y"
+#line 898 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
break;
case 99:
-#line 902 "/Users/chet/src/bash/src/parse.y"
+#line 902 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 100:
-#line 904 "/Users/chet/src/bash/src/parse.y"
+#line 904 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
COMMAND *tc;
@@ -2917,7 +2917,7 @@ yyreduce:
break;
case 101:
-#line 935 "/Users/chet/src/bash/src/parse.y"
+#line 935 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
(yyval.command)->flags |= CMD_WANT_SUBSHELL;
@@ -2925,7 +2925,7 @@ yyreduce:
break;
case 102:
-#line 942 "/Users/chet/src/bash/src/parse.y"
+#line 942 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
(yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
@@ -2933,7 +2933,7 @@ yyreduce:
break;
case 103:
-#line 947 "/Users/chet/src/bash/src/parse.y"
+#line 947 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
COMMAND *tc;
@@ -2953,7 +2953,7 @@ yyreduce:
break;
case 104:
-#line 964 "/Users/chet/src/bash/src/parse.y"
+#line 964 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
(yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
@@ -2961,7 +2961,7 @@ yyreduce:
break;
case 105:
-#line 969 "/Users/chet/src/bash/src/parse.y"
+#line 969 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
COMMAND *tc;
@@ -2981,7 +2981,7 @@ yyreduce:
break;
case 106:
-#line 986 "/Users/chet/src/bash/src/parse.y"
+#line 986 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
(yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
@@ -2989,117 +2989,117 @@ yyreduce:
break;
case 107:
-#line 993 "/Users/chet/src/bash/src/parse.y"
+#line 993 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
break;
case 108:
-#line 995 "/Users/chet/src/bash/src/parse.y"
+#line 995 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
break;
case 109:
-#line 997 "/Users/chet/src/bash/src/parse.y"
+#line 997 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
break;
case 110:
-#line 1002 "/Users/chet/src/bash/src/parse.y"
+#line 1002 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
break;
case 111:
-#line 1006 "/Users/chet/src/bash/src/parse.y"
+#line 1006 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
break;
case 112:
-#line 1010 "/Users/chet/src/bash/src/parse.y"
+#line 1010 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(2) - (3)].command); }
break;
case 113:
-#line 1014 "/Users/chet/src/bash/src/parse.y"
+#line 1014 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
break;
case 114:
-#line 1016 "/Users/chet/src/bash/src/parse.y"
+#line 1016 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
break;
case 115:
-#line 1018 "/Users/chet/src/bash/src/parse.y"
+#line 1018 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
break;
case 117:
-#line 1023 "/Users/chet/src/bash/src/parse.y"
+#line 1023 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
break;
case 118:
-#line 1027 "/Users/chet/src/bash/src/parse.y"
+#line 1027 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
break;
case 119:
-#line 1029 "/Users/chet/src/bash/src/parse.y"
+#line 1029 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
break;
case 120:
-#line 1031 "/Users/chet/src/bash/src/parse.y"
+#line 1031 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
break;
case 121:
-#line 1033 "/Users/chet/src/bash/src/parse.y"
+#line 1033 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
break;
case 122:
-#line 1037 "/Users/chet/src/bash/src/parse.y"
+#line 1037 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
break;
case 123:
-#line 1039 "/Users/chet/src/bash/src/parse.y"
+#line 1039 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
break;
case 124:
-#line 1041 "/Users/chet/src/bash/src/parse.y"
+#line 1041 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
break;
case 125:
-#line 1043 "/Users/chet/src/bash/src/parse.y"
+#line 1043 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
break;
case 126:
-#line 1045 "/Users/chet/src/bash/src/parse.y"
+#line 1045 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
break;
case 127:
-#line 1047 "/Users/chet/src/bash/src/parse.y"
+#line 1047 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
break;
case 128:
-#line 1051 "/Users/chet/src/bash/src/parse.y"
+#line 1051 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
break;
case 129:
-#line 1053 "/Users/chet/src/bash/src/parse.y"
+#line 1053 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
break;
case 130:
-#line 1062 "/Users/chet/src/bash/src/parse.y"
+#line 1062 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = (yyvsp[(2) - (2)].command);
if (need_here_doc)
@@ -3108,14 +3108,14 @@ yyreduce:
break;
case 132:
-#line 1071 "/Users/chet/src/bash/src/parse.y"
+#line 1071 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = (yyvsp[(2) - (2)].command);
}
break;
case 134:
-#line 1078 "/Users/chet/src/bash/src/parse.y"
+#line 1078 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
if ((yyvsp[(1) - (3)].command)->type == cm_connection)
(yyval.command) = connect_async_list ((yyvsp[(1) - (3)].command), (COMMAND *)NULL, '&');
@@ -3125,17 +3125,17 @@ yyreduce:
break;
case 136:
-#line 1089 "/Users/chet/src/bash/src/parse.y"
+#line 1089 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
break;
case 137:
-#line 1091 "/Users/chet/src/bash/src/parse.y"
+#line 1091 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
break;
case 138:
-#line 1093 "/Users/chet/src/bash/src/parse.y"
+#line 1093 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
if ((yyvsp[(1) - (4)].command)->type == cm_connection)
(yyval.command) = connect_async_list ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '&');
@@ -3145,37 +3145,37 @@ yyreduce:
break;
case 139:
-#line 1100 "/Users/chet/src/bash/src/parse.y"
+#line 1100 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
break;
case 140:
-#line 1102 "/Users/chet/src/bash/src/parse.y"
+#line 1102 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
break;
case 141:
-#line 1104 "/Users/chet/src/bash/src/parse.y"
+#line 1104 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 144:
-#line 1112 "/Users/chet/src/bash/src/parse.y"
+#line 1112 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.number) = '\n'; }
break;
case 145:
-#line 1114 "/Users/chet/src/bash/src/parse.y"
+#line 1114 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.number) = ';'; }
break;
case 146:
-#line 1116 "/Users/chet/src/bash/src/parse.y"
+#line 1116 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.number) = yacc_EOF; }
break;
case 149:
-#line 1130 "/Users/chet/src/bash/src/parse.y"
+#line 1130 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = (yyvsp[(1) - (1)].command);
if (need_here_doc)
@@ -3191,7 +3191,7 @@ yyreduce:
break;
case 150:
-#line 1143 "/Users/chet/src/bash/src/parse.y"
+#line 1143 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
if ((yyvsp[(1) - (2)].command)->type == cm_connection)
(yyval.command) = connect_async_list ((yyvsp[(1) - (2)].command), (COMMAND *)NULL, '&');
@@ -3210,7 +3210,7 @@ yyreduce:
break;
case 151:
-#line 1159 "/Users/chet/src/bash/src/parse.y"
+#line 1159 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
(yyval.command) = (yyvsp[(1) - (2)].command);
if (need_here_doc)
@@ -3226,17 +3226,17 @@ yyreduce:
break;
case 152:
-#line 1174 "/Users/chet/src/bash/src/parse.y"
+#line 1174 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
break;
case 153:
-#line 1176 "/Users/chet/src/bash/src/parse.y"
+#line 1176 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
break;
case 154:
-#line 1178 "/Users/chet/src/bash/src/parse.y"
+#line 1178 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
if ((yyvsp[(1) - (3)].command)->type == cm_connection)
(yyval.command) = connect_async_list ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), '&');
@@ -3246,22 +3246,22 @@ yyreduce:
break;
case 155:
-#line 1185 "/Users/chet/src/bash/src/parse.y"
+#line 1185 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
break;
case 156:
-#line 1188 "/Users/chet/src/bash/src/parse.y"
+#line 1188 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 157:
-#line 1192 "/Users/chet/src/bash/src/parse.y"
+#line 1192 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 158:
-#line 1194 "/Users/chet/src/bash/src/parse.y"
+#line 1194 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
if ((yyvsp[(2) - (2)].command))
(yyvsp[(2) - (2)].command)->flags ^= CMD_INVERT_RETURN; /* toggle */
@@ -3270,7 +3270,7 @@ yyreduce:
break;
case 159:
-#line 1200 "/Users/chet/src/bash/src/parse.y"
+#line 1200 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
if ((yyvsp[(2) - (2)].command))
(yyvsp[(2) - (2)].command)->flags |= (yyvsp[(1) - (2)].number);
@@ -3279,7 +3279,7 @@ yyreduce:
break;
case 160:
-#line 1206 "/Users/chet/src/bash/src/parse.y"
+#line 1206 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
ELEMENT x;
@@ -3299,7 +3299,7 @@ yyreduce:
break;
case 161:
-#line 1223 "/Users/chet/src/bash/src/parse.y"
+#line 1223 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
ELEMENT x;
@@ -3320,12 +3320,12 @@ yyreduce:
break;
case 162:
-#line 1243 "/Users/chet/src/bash/src/parse.y"
+#line 1243 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
break;
case 163:
-#line 1245 "/Users/chet/src/bash/src/parse.y"
+#line 1245 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
/* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
COMMAND *tc;
@@ -3351,22 +3351,22 @@ yyreduce:
break;
case 164:
-#line 1268 "/Users/chet/src/bash/src/parse.y"
+#line 1268 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 165:
-#line 1272 "/Users/chet/src/bash/src/parse.y"
+#line 1272 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.number) = CMD_TIME_PIPELINE; }
break;
case 166:
-#line 1274 "/Users/chet/src/bash/src/parse.y"
+#line 1274 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
break;
case 167:
-#line 1276 "/Users/chet/src/bash/src/parse.y"
+#line 1276 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{ (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
break;
@@ -3586,7 +3586,7 @@ yyreturn:
}
-#line 1278 "/Users/chet/src/bash/src/parse.y"
+#line 1278 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
/* Initial size to allocate for tokens, and the
@@ -4705,6 +4705,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;
@@ -4715,7 +4716,8 @@ pop_alias:
shell_input_line_index++; /* skip newline */
goto next_alias_char; /* and get next character */
}
- else
+ else
+#endif
goto restart_read;
}
@@ -4811,7 +4813,7 @@ yylex ()
We do this only if it is time to do so. Notice that only here
is the mail alarm reset; nothing takes place in check_mail ()
except the checking of mail. Please don't change this. */
- if (prompt_is_ps1 && time_to_check_mail ())
+ if (prompt_is_ps1 && parse_and_execute_level == 0 && time_to_check_mail ())
{
check_mail ();
reset_mail_timer ();
@@ -6154,6 +6156,7 @@ xparse_dolparen (base, string, indp, flags)
int flags;
{
sh_parser_state_t ps;
+ sh_input_line_state_t ls;
int orig_ind, nc, sflags;
char *ret, *s, *ep, *ostring;
@@ -6161,10 +6164,12 @@ xparse_dolparen (base, string, indp, flags)
orig_ind = *indp;
ostring = string;
+/*itrace("xparse_dolparen: size = %d shell_input_line = `%s'", shell_input_line_size, shell_input_line);*/
sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE;
if (flags & SX_NOLONGJMP)
sflags |= SEVAL_NOLONGJMP;
save_parser_state (&ps);
+ save_input_line_state (&ls);
/*(*/
parser_state |= PST_CMDSUBST|PST_EOFTOKEN; /* allow instant ')' */ /*(*/
@@ -6173,6 +6178,8 @@ xparse_dolparen (base, string, indp, flags)
restore_parser_state (&ps);
reset_parser ();
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
if (interactive)
token_to_read = 0;
@@ -7207,6 +7214,9 @@ history_delimiting_chars (line)
return (current_command_line_count == 2 ? "\n" : "");
}
+ if (parser_state & PST_COMPASSIGN)
+ return (" ");
+
/* First, handle some special cases. */
/*(*/
/* If we just read `()', assume it's a function definition, and don't
@@ -7447,6 +7457,9 @@ decode_prompt_string (string)
case 'A':
/* Make the current time/date into a string. */
(void) time (&the_time);
+#if defined (HAVE_TZSET)
+ sv_tz ("TZ"); /* XXX -- just make sure */
+#endif
tm = localtime (&the_time);
if (c == 'd')
@@ -8217,6 +8230,12 @@ save_parser_state (ps)
ps->expand_aliases = expand_aliases;
ps->echo_input_at_read = echo_input_at_read;
+ ps->token = token;
+ ps->token_buffer_size = token_buffer_size;
+ /* Force reallocation on next call to read_token_word */
+ token = 0;
+ token_buffer_size = 0;
+
return (ps);
}
@@ -8258,6 +8277,42 @@ restore_parser_state (ps)
expand_aliases = ps->expand_aliases;
echo_input_at_read = ps->echo_input_at_read;
+
+ FREE (token);
+ token = ps->token;
+ token_buffer_size = ps->token_buffer_size;
+}
+
+sh_input_line_state_t *
+save_input_line_state (ls)
+ sh_input_line_state_t *ls;
+{
+ if (ls == 0)
+ ls = (sh_input_line_state_t *)xmalloc (sizeof (sh_input_line_state_t));
+ if (ls == 0)
+ return ((sh_input_line_state_t *)NULL);
+
+ ls->input_line = shell_input_line;
+ ls->input_line_size = shell_input_line_size;
+ ls->input_line_len = shell_input_line_len;
+ ls->input_line_index = shell_input_line_index;
+
+ /* force reallocation */
+ shell_input_line = 0;
+ shell_input_line_size = shell_input_line_len = shell_input_line_index = 0;
+}
+
+void
+restore_input_line_state (ls)
+ sh_input_line_state_t *ls;
+{
+ FREE (shell_input_line);
+ shell_input_line = ls->input_line;
+ shell_input_line_size = ls->input_line_size;
+ shell_input_line_len = ls->input_line_len;
+ shell_input_line_index = ls->input_line_index;
+
+ set_line_mbstate ();
}
/************************************************
diff --git a/y.tab.h b/y.tab.h
index 0de3853c..b5251874 100644
--- a/y.tab.h
+++ b/y.tab.h
@@ -142,7 +142,7 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 323 "/Users/chet/src/bash/src/parse.y"
+#line 323 "/usr/src/local/chet/src/bash/bash-4.2-patched/parse.y"
{
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
@@ -152,7 +152,7 @@ typedef union YYSTYPE
ELEMENT element;
PATTERN_LIST *pattern;
}
-/* Line 1489 of yacc.c. */
+/* Line 1529 of yacc.c. */
#line 157 "y.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */