/* 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"
#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. */
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 */
#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)
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, \
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. */
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. */
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;
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. */
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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;
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;
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;
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;
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;
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;
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);
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);
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;
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;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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--;
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;
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;
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;
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;
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;
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;
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;
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)
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, '&');
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), '&');
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)
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, '&');
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)
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), '&');
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 */
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);
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;
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;
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;
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;
}
-#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
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;
shell_input_line_index++; /* skip newline */
goto next_alias_char; /* and get next character */
}
- else
+ else
+#endif
goto restart_read;
}
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 ();
int flags;
{
sh_parser_state_t ps;
+ sh_input_line_state_t ls;
int orig_ind, nc, sflags;
char *ret, *s, *ep, *ostring;
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 ')' */ /*(*/
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;
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
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')
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);
}
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 ();
}
/************************************************