Merged revisions 67526 via svnmerge from
authorSteve Murphy <murf@digium.com>
Tue, 5 Jun 2007 22:04:22 +0000 (22:04 +0000)
committerSteve Murphy <murf@digium.com>
Tue, 5 Jun 2007 22:04:22 +0000 (22:04 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67526 | murf | 2007-06-05 15:30:18 -0600 (Tue, 05 Jun 2007) | 1 line

this fixes bug 9883, wherein macros were not allowing the includes construct. fixed and tested, looks OK. Now includes can serve as an adjunct to catch.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67529 65c4cc65-6c06-0410-ace0-fbb531ad65f3

pbx/Makefile
pbx/ael/ael.tab.c
pbx/ael/ael.y
pbx/pbx_ael.c
utils/Makefile

index 0f9c9d1..22eb2c7 100644 (file)
@@ -32,7 +32,7 @@ ael/ael_lex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h
 ael/ael_lex.o: ASTCFLAGS+=-I.
 
 ael/ael.tab.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h
-ael/ael.tab.o: ASTCFLAGS+=-I.
+ael/ael.tab.o: ASTCFLAGS+=-I. -DYYENABLE_NLS=0
 
 $(if $(filter pbx_ael,$(EMBEDDED_MODS)),modules.link,pbx_ael.so): ael/ael.tab.o ael/ael_lex.o
 
index f9bd6ca..c5beb7b 100644 (file)
@@ -325,7 +325,7 @@ typedef short int yytype_int16;
 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
 
 #ifndef YY_
-# ifdef YYENABLE_NLS
+# if YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -490,16 +490,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  14
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   303
+#define YYLAST   350
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  42
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  54
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  132
+#define YYNRULES  133
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  266
+#define YYNSTATES  267
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -560,8 +560,8 @@ static const yytype_uint16 yyprhs[] =
      287,   291,   297,   303,   309,   315,   316,   319,   322,   327,
      328,   334,   338,   339,   343,   347,   350,   352,   353,   355,
      356,   360,   361,   364,   369,   373,   378,   379,   382,   384,
-     390,   395,   400,   401,   405,   411,   414,   416,   420,   423,
-     427,   430,   435
+     386,   392,   397,   402,   403,   407,   413,   416,   418,   422,
+     425,   429,   432,   437
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -605,12 +605,13 @@ static const yytype_int8 yyrhs[] =
       41,    -1,    -1,    65,    -1,    -1,    85,    10,    84,    -1,
       -1,    87,    86,    -1,    34,    41,    11,    59,    -1,    36,
       11,    59,    -1,    35,    41,    11,    59,    -1,    -1,    89,
-      88,    -1,    70,    -1,    37,    41,     4,    59,     5,    -1,
-      38,     4,    92,     5,    -1,    39,     4,    92,     5,    -1,
-      -1,    41,     8,    92,    -1,    41,    14,    41,     8,    92,
-      -1,    92,     1,    -1,    46,    -1,    46,    13,    61,    -1,
-      93,     8,    -1,    94,    93,     8,    -1,    94,     1,    -1,
-      40,     4,    94,     5,    -1,    40,     4,     5,    -1
+      88,    -1,    70,    -1,    95,    -1,    37,    41,     4,    59,
+       5,    -1,    38,     4,    92,     5,    -1,    39,     4,    92,
+       5,    -1,    -1,    41,     8,    92,    -1,    41,    14,    41,
+       8,    92,    -1,    92,     1,    -1,    46,    -1,    46,    13,
+      61,    -1,    93,     8,    -1,    94,    93,     8,    -1,    94,
+       1,    -1,    40,     4,    94,     5,    -1,    40,     4,     5,
+      -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -628,8 +629,8 @@ static const yytype_uint16 yyrline[] =
      477,   480,   484,   488,   492,   498,   499,   503,   506,   512,
      512,   517,   525,   525,   536,   543,   546,   547,   550,   551,
      554,   557,   558,   561,   565,   569,   575,   576,   579,   580,
-     586,   591,   596,   597,   598,   600,   603,   604,   611,   612,
-     613,   616,   619
+     581,   587,   592,   597,   598,   599,   601,   604,   605,   612,
+     613,   614,   617,   620
 };
 #endif
 
@@ -686,8 +687,8 @@ static const yytype_uint8 yyr1[] =
       76,    76,    76,    76,    76,    77,    77,    78,    78,    80,
       79,    79,    82,    81,    83,    83,    84,    84,    85,    85,
       85,    86,    86,    87,    87,    87,    88,    88,    89,    89,
-      90,    91,    92,    92,    92,    92,    93,    93,    94,    94,
-      94,    95,    95
+      89,    90,    91,    92,    92,    92,    92,    93,    93,    94,
+      94,    94,    95,    95
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -704,9 +705,9 @@ static const yytype_uint8 yyr2[] =
        5,     2,     2,     2,     3,     1,     2,     0,     1,     3,
        3,     5,     5,     5,     5,     0,     2,     2,     4,     0,
        5,     3,     0,     3,     3,     2,     1,     0,     1,     0,
-       3,     0,     2,     4,     3,     4,     0,     2,     1,     5,
-       4,     4,     0,     3,     5,     2,     1,     3,     2,     3,
-       2,     4,     3
+       3,     0,     2,     4,     3,     4,     0,     2,     1,     1,
+       5,     4,     4,     0,     3,     5,     2,     1,     3,     2,
+       3,     2,     4,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -719,159 +720,169 @@ static const yytype_uint8 yydefact[] =
        0,    17,    11,    10,     0,    23,     0,    20,    19,    16,
        0,    26,    25,     0,     0,     0,    36,     0,     0,     0,
        0,     0,     0,     0,    34,     0,    26,    33,    29,    31,
-      32,    30,   116,    24,     0,     0,     0,     0,     0,   122,
-     122,     0,    35,     0,    28,    12,     0,    42,    85,     0,
+      32,    30,   116,    24,     0,     0,     0,     0,     0,   123,
+     123,     0,    35,     0,    28,    12,     0,    42,    85,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    66,     0,    75,   118,   109,     0,     0,
-     116,    21,     0,     0,     0,    55,     0,     0,     0,     0,
-     132,   126,     0,     0,    38,     0,    42,     0,     0,    48,
-       0,    50,     0,    51,     0,    61,    88,     0,    95,     0,
-      82,    81,    83,    70,     0,     0,   102,    78,    69,    87,
-     105,    53,   108,     0,    77,    79,    15,   117,    37,     0,
-      39,     0,     0,    56,   122,     0,   125,   120,   121,     0,
-     128,   130,   131,     0,    44,    65,     0,    99,    76,     0,
-     111,    46,     0,     0,     0,     0,     0,    62,     0,     0,
-       0,    67,     0,    97,    68,     0,    74,    42,   103,     0,
-      84,    54,   104,   107,     0,     0,     0,    57,     0,     0,
-     127,   129,   101,   109,     0,     0,     0,     0,     0,   111,
-      59,     0,    52,     0,     0,     0,    90,    63,    89,    96,
-       0,     0,     0,    86,   106,   110,     0,     0,     0,   122,
-       0,    49,     0,     0,    42,    64,   112,    60,    58,     0,
-       0,     0,     0,     0,     0,    98,    71,   119,    80,     0,
-      40,     0,   100,    42,    42,     0,     0,     0,    94,    93,
-      92,    91,     0,    41,     0,     0,     0,    45,     0,     0,
-      72,    47,     0,     0,     0,    73
+     116,   119,    21,     0,     0,     0,    55,     0,     0,     0,
+       0,   133,   127,     0,     0,    38,     0,    42,     0,     0,
+      48,     0,    50,     0,    51,     0,    61,    88,     0,    95,
+       0,    82,    81,    83,    70,     0,     0,   102,    78,    69,
+      87,   105,    53,   108,     0,    77,    79,    15,   117,    37,
+       0,    39,     0,     0,    56,   123,     0,   126,   121,   122,
+       0,   129,   131,   132,     0,    44,    65,     0,    99,    76,
+       0,   111,    46,     0,     0,     0,     0,     0,    62,     0,
+       0,     0,    67,     0,    97,    68,     0,    74,    42,   103,
+       0,    84,    54,   104,   107,     0,     0,     0,    57,     0,
+       0,   128,   130,   101,   109,     0,     0,     0,     0,     0,
+     111,    59,     0,    52,     0,     0,     0,    90,    63,    89,
+      96,     0,     0,     0,    86,   106,   110,     0,     0,     0,
+     123,     0,    49,     0,     0,    42,    64,   112,    60,    58,
+       0,     0,     0,     0,     0,     0,    98,    71,   120,    80,
+       0,    40,     0,   100,    42,    42,     0,     0,     0,    94,
+      93,    92,    91,     0,    41,     0,     0,     0,    45,     0,
+       0,    72,    47,     0,     0,     0,    73
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     5,     6,     7,   101,     8,     9,    10,    11,    20,
-      83,    35,    26,    45,    46,    47,    48,   105,   162,   163,
-     110,   159,    84,   132,    96,   164,   116,    85,   106,   175,
-     252,   262,   184,   180,   117,   173,   119,   108,   193,    87,
-     178,    88,   215,   133,   198,   199,    89,    90,    49,    50,
-      98,   102,   103,    51
+      -1,     5,     6,     7,   102,     8,     9,    10,    11,    20,
+      83,    35,    26,    45,    46,    47,    48,   106,   163,   164,
+     111,   160,    84,   133,    97,   165,   117,    85,   107,   176,
+     253,   263,   185,   181,   118,   174,   120,   109,   194,    87,
+     179,    88,   216,   134,   199,   200,    89,    90,    49,    50,
+      99,   103,   104,    51
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -197
+#define YYPACT_NINF -198
 static const yytype_int16 yypact[] =
 {
-      54,  -197,   -17,    29,  -197,    78,   129,  -197,  -197,    88,
-    -197,  -197,    99,    65,  -197,  -197,  -197,   -21,    90,   147,
-      11,    65,  -197,  -197,   151,  -197,    27,  -197,  -197,  -197,
-      79,    95,  -197,   171,   142,   144,  -197,   168,   -14,   196,
-     199,   200,   201,    12,  -197,    84,    95,  -197,  -197,  -197,
-    -197,  -197,    82,  -197,   198,   166,   202,   185,   169,   170,
-     170,     3,  -197,   145,  -197,  -197,   112,   145,  -197,   172,
-     208,   208,   209,   208,    30,   176,   210,   211,   212,   215,
-     208,   181,   173,  -197,   145,  -197,  -197,     2,    59,   218,
-      82,  -197,   216,   169,   145,  -197,    23,    68,   115,   123,
-    -197,   203,   217,     5,  -197,   138,   145,   220,   219,  -197,
-     224,  -197,   189,  -197,    86,   191,   178,   221,   158,   223,
-    -197,  -197,  -197,  -197,   145,   229,  -197,  -197,  -197,   213,
-    -197,   194,  -197,   111,  -197,  -197,  -197,  -197,  -197,    33,
-    -197,   195,   197,  -197,   170,   204,  -197,  -197,  -197,   189,
-    -197,  -197,  -197,   231,  -197,  -197,    13,   230,  -197,   205,
-     161,    20,   227,   234,   232,   176,   176,  -197,   176,   206,
-     176,  -197,   207,   228,  -197,   214,  -197,   145,  -197,   145,
-    -197,  -197,  -197,   222,   225,   226,   233,  -197,   146,   236,
-    -197,  -197,  -197,   205,   242,   235,   237,   239,   246,   161,
-     238,   240,  -197,   240,   188,   127,   190,  -197,   135,  -197,
-     -21,   244,   149,  -197,  -197,  -197,   245,   241,   145,   170,
-     183,  -197,   243,   247,   145,  -197,  -197,  -197,   248,   249,
-     250,   176,   176,   176,   176,  -197,  -197,  -197,  -197,   145,
-    -197,   175,  -197,   145,   145,    18,   240,   240,   253,   253,
-     253,   253,   251,  -197,    21,    24,   255,  -197,   252,   240,
-    -197,  -197,   254,   262,   145,  -197
+      91,  -198,   -25,    14,  -198,    37,    69,  -198,  -198,    65,
+    -198,  -198,    55,    78,  -198,  -198,  -198,    26,   107,   140,
+      75,    78,  -198,  -198,    74,  -198,    23,  -198,  -198,  -198,
+      81,   138,  -198,   152,   130,   133,  -198,   159,   -14,   184,
+     187,   201,   205,    12,  -198,   116,   138,  -198,  -198,  -198,
+    -198,  -198,    83,  -198,   202,   146,   206,   191,   170,   173,
+     173,     3,  -198,   125,  -198,  -198,   126,   125,  -198,   175,
+     211,   211,   212,   211,    77,   178,   213,   214,   215,   218,
+     211,   185,   164,  -198,   125,  -198,  -198,     7,   117,   220,
+      83,  -198,  -198,   219,   170,   125,  -198,     8,    20,   129,
+     131,  -198,   207,   221,     5,  -198,   134,   125,   222,   223,
+    -198,   226,  -198,   192,  -198,    87,   194,   183,   224,   154,
+     228,  -198,  -198,  -198,  -198,   125,   230,  -198,  -198,  -198,
+     216,  -198,   198,  -198,   182,  -198,  -198,  -198,  -198,  -198,
+      33,  -198,   199,   200,  -198,   173,   203,  -198,  -198,  -198,
+     192,  -198,  -198,  -198,   234,  -198,  -198,    18,   231,  -198,
+     204,   167,     1,   233,   236,   237,   178,   178,  -198,   178,
+     208,   178,  -198,   209,   238,  -198,   210,  -198,   125,  -198,
+     125,  -198,  -198,  -198,   217,   225,   227,   229,  -198,   179,
+     239,  -198,  -198,  -198,   204,   247,   232,   235,   244,   251,
+     167,   240,   241,  -198,   241,   188,   127,   197,  -198,   193,
+    -198,    26,   249,   180,  -198,  -198,  -198,   252,   243,   125,
+     173,   190,  -198,   248,   250,   125,  -198,  -198,  -198,   242,
+     256,   253,   178,   178,   178,   178,  -198,  -198,  -198,  -198,
+     125,  -198,   181,  -198,   125,   125,    21,   241,   241,   254,
+     254,   254,   254,   245,  -198,    24,    30,   257,  -198,   255,
+     241,  -198,  -198,   246,   264,   125,  -198
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -197,  -197,  -197,   264,   -16,  -197,  -197,  -197,  -197,   256,
-      52,  -197,  -197,   257,  -197,  -197,  -197,  -102,  -197,   107,
-       8,  -197,  -197,   100,   179,  -196,   -73,  -197,   -52,  -197,
-    -197,  -197,  -197,  -197,  -197,  -197,  -197,  -197,  -197,  -197,
-    -197,  -197,  -197,    80,    72,  -197,   184,  -197,  -197,  -197,
-     -57,   177,  -197,  -197
+    -198,  -198,  -198,   266,   -16,  -198,  -198,  -198,  -198,   258,
+      58,  -198,  -198,   259,  -198,  -198,  -198,  -103,  -198,   112,
+      10,  -198,  -198,   114,   186,  -197,   -73,  -198,   -52,  -198,
+    -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,
+    -198,  -198,  -198,    84,    85,  -198,   260,  -198,  -198,  -198,
+     -57,   171,  -198,   -43
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -125
+#define YYTABLE_NINF -126
 static const yytype_int16 yytable[] =
 {
-      86,    24,   118,    99,   156,   229,   151,   230,   100,   130,
-     152,   104,    28,    62,   154,    22,    29,    56,   -43,   154,
-      23,    27,   154,  -114,    12,   154,  -113,    57,    32,  -115,
-     141,   -58,   129,    13,    33,   142,    63,    34,    86,    22,
-     185,    22,   140,   131,    23,   142,    23,   -43,   -43,   -43,
-     256,   257,  -114,  -114,  -114,  -113,  -113,  -113,  -115,  -115,
-    -115,   200,     1,   261,   143,    21,   114,   134,   135,     2,
-       3,   115,   176,    21,   143,   212,   144,     4,    14,   111,
-      28,   113,   145,    44,   -18,    64,    67,   188,   124,    65,
-      68,    17,   204,   205,    69,   206,   165,   208,    44,   166,
-      70,    71,    72,    36,    73,    18,    19,    74,    75,    76,
-      77,    78,    37,    64,    79,    80,   146,   -27,   182,    81,
-     147,   183,   245,    82,   146,    38,    39,   213,   148,    -2,
-      15,    25,   -14,    40,    41,    42,    43,     1,   169,   154,
-     232,   254,   255,   155,     2,     3,   169,   146,   234,    67,
-     154,  -123,     4,    68,   237,    31,    27,    69,   248,   249,
-     250,   251,   241,    70,    71,    72,   240,    73,   172,   169,
-      74,    75,    76,    77,    78,    52,   146,    79,    80,   126,
-    -124,   127,    27,    53,   128,    54,    82,   253,   168,   169,
-     242,   170,    55,   183,   235,   195,   196,   197,   231,   169,
-     233,   169,    58,    59,    60,    61,    91,    92,    93,    94,
-      95,    97,   265,   107,   109,   112,   149,   115,   120,   121,
-     122,   123,   125,   136,   138,   150,   157,   158,   160,   171,
-     161,   174,   167,   177,   179,   181,   186,   192,   187,   191,
-     201,   202,   210,   203,   219,   189,   131,   207,   209,   221,
-     224,   225,   236,   238,   243,   211,   190,   218,   244,   194,
-     260,   247,   246,   214,   169,   239,   216,   217,   259,   264,
-      16,   226,   139,   220,   137,     0,   222,    30,   223,   227,
-     153,   228,     0,     0,     0,     0,     0,     0,     0,   200,
-       0,     0,   258,     0,     0,   263,     0,     0,     0,     0,
-       0,     0,     0,    66
+      86,    24,   119,   100,   157,   230,   152,   231,   101,    91,
+     153,   105,   -58,    62,   131,   142,    12,    56,    13,   155,
+     143,    27,   155,   -43,    32,   155,  -114,    57,   145,  -113,
+      33,   155,   130,    34,   146,  -115,    63,    14,    86,    22,
+     186,    22,   201,   141,    23,   143,    23,    91,   132,   144,
+     257,   258,   -43,   -43,   -43,  -114,  -114,  -114,  -113,  -113,
+    -113,    18,    22,   262,  -115,  -115,  -115,    23,    17,    -2,
+      15,    21,   -14,   177,   144,   213,    28,     1,    31,    21,
+      29,   112,    28,   114,     2,     3,   -18,    67,   189,    44,
+     125,    68,     4,   205,   206,    69,   207,   166,   209,     1,
+     167,    70,    71,    72,    44,    73,     2,     3,    74,    75,
+      76,    77,    78,   115,     4,    79,    80,    64,   116,    19,
+      81,    65,   246,    42,    82,   135,   136,    64,   214,    67,
+     147,   -27,   147,    68,   148,   155,   149,    69,   170,   156,
+     233,   255,   256,    70,    71,    72,    36,    73,    25,    27,
+      74,    75,    76,    77,    78,    37,    52,    79,    80,   249,
+     250,   251,   252,   242,   173,   170,    82,   241,    38,    39,
+     127,    53,   128,    27,    54,   129,    40,    41,    42,    43,
+     147,   155,   147,    55,  -124,   238,  -125,    93,   254,   183,
+      58,    59,   184,   169,   170,   236,   171,   243,   232,   170,
+     184,   196,   197,   198,   170,    60,   235,   234,   170,    61,
+      92,    96,    94,   266,    98,    95,   108,   110,   113,   116,
+     150,   121,   122,   123,   124,   137,   126,   139,   158,   151,
+     161,   159,   172,   162,   178,   168,   175,   180,   193,   182,
+     187,   188,   192,   203,   190,   132,   202,   220,   204,   208,
+     210,   212,   211,   219,   222,   225,   226,   237,   215,   244,
+     239,   245,   191,   261,   248,   170,   217,   240,   218,   247,
+     260,   265,    16,   223,   195,   154,   224,     0,   221,    30,
+     140,   228,   229,   201,     0,   227,   259,   264,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    66,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     138
 };
 
 static const yytype_int16 yycheck[] =
 {
-      52,    17,    75,    60,   106,   201,     1,   203,     5,     7,
-       5,    63,     1,     1,     1,    36,     5,    31,     5,     1,
-      41,     9,     1,     5,    41,     1,     5,    41,     1,     5,
-       7,    11,    84,     4,     7,    12,    24,    10,    90,    36,
-       7,    36,    94,    41,    41,    12,    41,    34,    35,    36,
-     246,   247,    34,    35,    36,    34,    35,    36,    34,    35,
-      36,    41,     8,   259,    41,    13,    36,     8,     9,    15,
-      16,    41,   124,    21,    41,   177,     8,    23,     0,    71,
-       1,    73,    14,    31,     5,     1,     4,   144,    80,     5,
-       8,     3,   165,   166,    12,   168,    10,   170,    46,    13,
-      18,    19,    20,     8,    22,     6,    41,    25,    26,    27,
-      28,    29,    17,     1,    32,    33,     1,     5,     7,    37,
-       5,    10,   224,    41,     1,    30,    31,   179,     5,     0,
-       1,    41,     3,    38,    39,    40,    41,     8,    11,     1,
-      13,   243,   244,     5,    15,    16,    11,     1,    13,     4,
-       1,     5,    23,     8,     5,     4,     9,    12,   231,   232,
-     233,   234,   219,    18,    19,    20,   218,    22,    10,    11,
-      25,    26,    27,    28,    29,     4,     1,    32,    33,     6,
-       5,     8,     9,    41,    11,    41,    41,   239,    10,    11,
-       7,    13,    24,    10,   210,    34,    35,    36,    10,    11,
-      10,    11,     6,     4,     4,     4,     8,    41,     6,    24,
-      41,    41,   264,    41,     6,     6,    13,    41,     8,     8,
-       8,     6,    41,     5,     8,     8,     6,     8,     4,     8,
-      41,     8,    41,     4,    21,    41,    41,     7,    41,     8,
-      13,     7,    14,    11,     8,    41,    41,    41,    41,     7,
-      11,     5,     8,     8,    11,    41,   149,    24,    11,   159,
-       8,    11,    13,    41,    11,    24,    41,    41,    13,     7,
-       6,   199,    93,   193,    90,    -1,    41,    21,    41,    41,
-     103,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
-      -1,    -1,    41,    -1,    -1,    41,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    46
+      52,    17,    75,    60,   107,   202,     1,   204,     5,    52,
+       5,    63,    11,     1,     7,     7,    41,    31,     4,     1,
+      12,     9,     1,     5,     1,     1,     5,    41,     8,     5,
+       7,     1,    84,    10,    14,     5,    24,     0,    90,    36,
+       7,    36,    41,    95,    41,    12,    41,    90,    41,    41,
+     247,   248,    34,    35,    36,    34,    35,    36,    34,    35,
+      36,     6,    36,   260,    34,    35,    36,    41,     3,     0,
+       1,    13,     3,   125,    41,   178,     1,     8,     4,    21,
+       5,    71,     1,    73,    15,    16,     5,     4,   145,    31,
+      80,     8,    23,   166,   167,    12,   169,    10,   171,     8,
+      13,    18,    19,    20,    46,    22,    15,    16,    25,    26,
+      27,    28,    29,    36,    23,    32,    33,     1,    41,    41,
+      37,     5,   225,    40,    41,     8,     9,     1,   180,     4,
+       1,     5,     1,     8,     5,     1,     5,    12,    11,     5,
+      13,   244,   245,    18,    19,    20,     8,    22,    41,     9,
+      25,    26,    27,    28,    29,    17,     4,    32,    33,   232,
+     233,   234,   235,   220,    10,    11,    41,   219,    30,    31,
+       6,    41,     8,     9,    41,    11,    38,    39,    40,    41,
+       1,     1,     1,    24,     5,     5,     5,    41,   240,     7,
+       6,     4,    10,    10,    11,   211,    13,     7,    10,    11,
+      10,    34,    35,    36,    11,     4,    13,    10,    11,     4,
+       8,    41,     6,   265,    41,    24,    41,     6,     6,    41,
+      13,     8,     8,     8,     6,     5,    41,     8,     6,     8,
+       4,     8,     8,    41,     4,    41,     8,    21,     7,    41,
+      41,    41,     8,     7,    41,    41,    13,     8,    11,    41,
+      41,    41,    14,    24,     7,    11,     5,     8,    41,    11,
+       8,    11,   150,     8,    11,    11,    41,    24,    41,    13,
+      13,     7,     6,    41,   160,   104,    41,    -1,   194,    21,
+      94,    41,    41,    41,    -1,   200,    41,    41,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      90
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -887,24 +898,24 @@ static const yytype_uint8 yystos[] =
        4,     4,     1,    24,     1,     5,    55,     4,     8,    12,
       18,    19,    20,    22,    25,    26,    27,    28,    29,    32,
       33,    37,    41,    52,    64,    69,    70,    81,    83,    88,
-      89,     8,    41,     6,    24,    41,    66,    41,    92,    92,
-       5,    46,    93,    94,    70,    59,    70,    41,    79,     6,
-      62,    62,     6,    62,    36,    41,    68,    76,    68,    78,
-       8,     8,     8,     6,    62,    41,     6,     8,    11,    70,
-       7,    41,    65,    85,     8,     9,     5,    88,     8,    66,
-      70,     7,    12,    41,     8,    14,     1,     5,     5,    13,
-       8,     1,     5,    93,     1,     5,    59,     6,     8,    63,
-       4,    41,    60,    61,    67,    10,    13,    41,    10,    11,
-      13,     8,    10,    77,     8,    71,    70,     4,    82,    21,
-      75,    41,     7,    10,    74,     7,    41,    41,    92,    41,
-      61,     8,     7,    80,    65,    34,    35,    36,    86,    87,
-      41,    13,     7,    11,    68,    68,    68,    41,    68,    41,
-      14,    41,    59,    70,    41,    84,    41,    41,    24,     8,
-      85,     7,    41,    41,    11,     5,    86,    41,    41,    67,
-      67,    10,    13,    10,    13,    46,     8,     5,     8,    24,
-      70,    92,     7,    11,    11,    59,    13,    11,    68,    68,
-      68,    68,    72,    70,    59,    59,    67,    67,    41,    13,
-       8,    67,    73,    41,     7,    70
+      89,    95,     8,    41,     6,    24,    41,    66,    41,    92,
+      92,     5,    46,    93,    94,    70,    59,    70,    41,    79,
+       6,    62,    62,     6,    62,    36,    41,    68,    76,    68,
+      78,     8,     8,     8,     6,    62,    41,     6,     8,    11,
+      70,     7,    41,    65,    85,     8,     9,     5,    88,     8,
+      66,    70,     7,    12,    41,     8,    14,     1,     5,     5,
+      13,     8,     1,     5,    93,     1,     5,    59,     6,     8,
+      63,     4,    41,    60,    61,    67,    10,    13,    41,    10,
+      11,    13,     8,    10,    77,     8,    71,    70,     4,    82,
+      21,    75,    41,     7,    10,    74,     7,    41,    41,    92,
+      41,    61,     8,     7,    80,    65,    34,    35,    36,    86,
+      87,    41,    13,     7,    11,    68,    68,    68,    41,    68,
+      41,    14,    41,    59,    70,    41,    84,    41,    41,    24,
+       8,    85,     7,    41,    41,    11,     5,    86,    41,    41,
+      67,    67,    10,    13,    10,    13,    46,     8,     5,     8,
+      24,    70,    92,     7,    11,    11,    59,    13,    11,    68,
+      68,    68,    68,    72,    70,    59,    59,    67,    67,    41,
+      13,     8,    67,    73,    41,     7,    70
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -1429,7 +1440,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
       case 41: /* "word" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1433 "ael.tab.c"
+#line 1444 "ael.tab.c"
        break;
       case 44: /* "objects" */
 #line 164 "ael.y"
@@ -1437,7 +1448,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1441 "ael.tab.c"
+#line 1452 "ael.tab.c"
        break;
       case 45: /* "object" */
 #line 164 "ael.y"
@@ -1445,12 +1456,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1449 "ael.tab.c"
+#line 1460 "ael.tab.c"
        break;
       case 46: /* "context_name" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1454 "ael.tab.c"
+#line 1465 "ael.tab.c"
        break;
       case 47: /* "context" */
 #line 164 "ael.y"
@@ -1458,7 +1469,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1462 "ael.tab.c"
+#line 1473 "ael.tab.c"
        break;
       case 49: /* "macro" */
 #line 164 "ael.y"
@@ -1466,7 +1477,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1470 "ael.tab.c"
+#line 1481 "ael.tab.c"
        break;
       case 50: /* "globals" */
 #line 164 "ael.y"
@@ -1474,7 +1485,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1478 "ael.tab.c"
+#line 1489 "ael.tab.c"
        break;
       case 51: /* "global_statements" */
 #line 164 "ael.y"
@@ -1482,7 +1493,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1486 "ael.tab.c"
+#line 1497 "ael.tab.c"
        break;
       case 52: /* "assignment" */
 #line 164 "ael.y"
@@ -1490,7 +1501,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1494 "ael.tab.c"
+#line 1505 "ael.tab.c"
        break;
       case 54: /* "arglist" */
 #line 164 "ael.y"
@@ -1498,7 +1509,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1502 "ael.tab.c"
+#line 1513 "ael.tab.c"
        break;
       case 55: /* "elements" */
 #line 164 "ael.y"
@@ -1506,7 +1517,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1510 "ael.tab.c"
+#line 1521 "ael.tab.c"
        break;
       case 56: /* "element" */
 #line 164 "ael.y"
@@ -1514,7 +1525,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1518 "ael.tab.c"
+#line 1529 "ael.tab.c"
        break;
       case 57: /* "ignorepat" */
 #line 164 "ael.y"
@@ -1522,7 +1533,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1526 "ael.tab.c"
+#line 1537 "ael.tab.c"
        break;
       case 58: /* "extension" */
 #line 164 "ael.y"
@@ -1530,7 +1541,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1534 "ael.tab.c"
+#line 1545 "ael.tab.c"
        break;
       case 59: /* "statements" */
 #line 164 "ael.y"
@@ -1538,12 +1549,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1542 "ael.tab.c"
+#line 1553 "ael.tab.c"
        break;
       case 60: /* "timerange" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1547 "ael.tab.c"
+#line 1558 "ael.tab.c"
        break;
       case 61: /* "timespec" */
 #line 164 "ael.y"
@@ -1551,12 +1562,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1555 "ael.tab.c"
+#line 1566 "ael.tab.c"
        break;
       case 62: /* "test_expr" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1560 "ael.tab.c"
+#line 1571 "ael.tab.c"
        break;
       case 64: /* "if_like_head" */
 #line 164 "ael.y"
@@ -1564,22 +1575,22 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1568 "ael.tab.c"
+#line 1579 "ael.tab.c"
        break;
       case 65: /* "word_list" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1573 "ael.tab.c"
+#line 1584 "ael.tab.c"
        break;
       case 67: /* "word3_list" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1578 "ael.tab.c"
+#line 1589 "ael.tab.c"
        break;
       case 68: /* "goto_word" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1583 "ael.tab.c"
+#line 1594 "ael.tab.c"
        break;
       case 69: /* "switch_statement" */
 #line 164 "ael.y"
@@ -1587,7 +1598,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1591 "ael.tab.c"
+#line 1602 "ael.tab.c"
        break;
       case 70: /* "statement" */
 #line 164 "ael.y"
@@ -1595,7 +1606,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1599 "ael.tab.c"
+#line 1610 "ael.tab.c"
        break;
       case 75: /* "opt_else" */
 #line 164 "ael.y"
@@ -1603,7 +1614,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1607 "ael.tab.c"
+#line 1618 "ael.tab.c"
        break;
       case 76: /* "target" */
 #line 164 "ael.y"
@@ -1611,12 +1622,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1615 "ael.tab.c"
+#line 1626 "ael.tab.c"
        break;
       case 77: /* "opt_pri" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1620 "ael.tab.c"
+#line 1631 "ael.tab.c"
        break;
       case 78: /* "jumptarget" */
 #line 164 "ael.y"
@@ -1624,7 +1635,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1628 "ael.tab.c"
+#line 1639 "ael.tab.c"
        break;
       case 79: /* "macro_call" */
 #line 164 "ael.y"
@@ -1632,7 +1643,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1636 "ael.tab.c"
+#line 1647 "ael.tab.c"
        break;
       case 81: /* "application_call_head" */
 #line 164 "ael.y"
@@ -1640,7 +1651,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1644 "ael.tab.c"
+#line 1655 "ael.tab.c"
        break;
       case 83: /* "application_call" */
 #line 164 "ael.y"
@@ -1648,12 +1659,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1652 "ael.tab.c"
+#line 1663 "ael.tab.c"
        break;
       case 84: /* "opt_word" */
 #line 177 "ael.y"
        { free((yyvaluep->str));};
-#line 1657 "ael.tab.c"
+#line 1668 "ael.tab.c"
        break;
       case 85: /* "eval_arglist" */
 #line 164 "ael.y"
@@ -1661,7 +1672,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1665 "ael.tab.c"
+#line 1676 "ael.tab.c"
        break;
       case 86: /* "case_statements" */
 #line 164 "ael.y"
@@ -1669,7 +1680,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1673 "ael.tab.c"
+#line 1684 "ael.tab.c"
        break;
       case 87: /* "case_statement" */
 #line 164 "ael.y"
@@ -1677,7 +1688,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1681 "ael.tab.c"
+#line 1692 "ael.tab.c"
        break;
       case 88: /* "macro_statements" */
 #line 164 "ael.y"
@@ -1685,7 +1696,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1689 "ael.tab.c"
+#line 1700 "ael.tab.c"
        break;
       case 89: /* "macro_statement" */
 #line 164 "ael.y"
@@ -1693,7 +1704,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1697 "ael.tab.c"
+#line 1708 "ael.tab.c"
        break;
       case 90: /* "switches" */
 #line 164 "ael.y"
@@ -1701,7 +1712,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1705 "ael.tab.c"
+#line 1716 "ael.tab.c"
        break;
       case 91: /* "eswitches" */
 #line 164 "ael.y"
@@ -1709,7 +1720,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1713 "ael.tab.c"
+#line 1724 "ael.tab.c"
        break;
       case 92: /* "switchlist" */
 #line 164 "ael.y"
@@ -1717,7 +1728,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1721 "ael.tab.c"
+#line 1732 "ael.tab.c"
        break;
       case 93: /* "included_entry" */
 #line 164 "ael.y"
@@ -1725,7 +1736,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1729 "ael.tab.c"
+#line 1740 "ael.tab.c"
        break;
       case 94: /* "includeslist" */
 #line 164 "ael.y"
@@ -1733,7 +1744,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1737 "ael.tab.c"
+#line 1748 "ael.tab.c"
        break;
       case 95: /* "includes" */
 #line 164 "ael.y"
@@ -1741,7 +1752,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
                destroy_pval((yyvaluep->pval));
                prev_word=0;
        };
-#line 1745 "ael.tab.c"
+#line 1756 "ael.tab.c"
        break;
 
       default:
@@ -2836,91 +2847,96 @@ yyreduce:
 
   case 119:
 #line 580 "ael.y"
+    { (yyval.pval)=(yyvsp[(1) - (1)].pval);;}
+    break;
+
+  case 120:
+#line 581 "ael.y"
     {
                (yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
                (yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
                (yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;}
     break;
 
-  case 120:
-#line 586 "ael.y"
+  case 121:
+#line 587 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
                (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
     break;
 
-  case 121:
-#line 591 "ael.y"
+  case 122:
+#line 592 "ael.y"
     {
                (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
                (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
     break;
 
-  case 122:
-#line 596 "ael.y"
-    { (yyval.pval) = NULL; ;}
-    break;
-
   case 123:
 #line 597 "ael.y"
-    { (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
+    { (yyval.pval) = NULL; ;}
     break;
 
   case 124:
 #line 598 "ael.y"
-    { char *x; asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str),(yyvsp[(3) - (5)].str)); free((yyvsp[(1) - (5)].str)); free((yyvsp[(3) - (5)].str));
-                                                                         (yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));;}
+    { (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
     break;
 
   case 125:
-#line 600 "ael.y"
-    {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
+#line 599 "ael.y"
+    { char *x; asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str),(yyvsp[(3) - (5)].str)); free((yyvsp[(1) - (5)].str)); free((yyvsp[(3) - (5)].str));
+                                                                         (yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));;}
     break;
 
   case 126:
-#line 603 "ael.y"
-    { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
+#line 601 "ael.y"
+    {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
     break;
 
   case 127:
 #line 604 "ael.y"
+    { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
+    break;
+
+  case 128:
+#line 605 "ael.y"
     {
                (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
                (yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval);
                prev_word=0; /* XXX sure ? */ ;}
     break;
 
-  case 128:
-#line 611 "ael.y"
-    { (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
-    break;
-
   case 129:
 #line 612 "ael.y"
-    { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
+    { (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
     break;
 
   case 130:
 #line 613 "ael.y"
-    {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
+    { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
     break;
 
   case 131:
-#line 616 "ael.y"
+#line 614 "ael.y"
+    {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
+    break;
+
+  case 132:
+#line 617 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
                (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
     break;
 
-  case 132:
-#line 619 "ael.y"
+  case 133:
+#line 620 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;}
     break;
 
 
 /* Line 1270 of yacc.c.  */
-#line 2924 "ael.tab.c"
+#line 2940 "ael.tab.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3139,7 +3155,7 @@ yyreturn:
 }
 
 
-#line 624 "ael.y"
+#line 625 "ael.y"
 
 
 static char *token_equivs1[] =
index 9c6effe..9c332dc 100644 (file)
@@ -577,6 +577,7 @@ macro_statements: /* empty */ { $$ = NULL; }
        ;
 
 macro_statement : statement {$$=$1;}
+       | includes { $$=$1;}
        | KW_CATCH word LC statements RC {
                $$ = npval2(PV_CATCH, &@1, &@5);
                $$->u1.str = $2;
index 5d3518c..c2b12aa 100644 (file)
@@ -3891,7 +3891,29 @@ void ast_compile_ael2(struct ast_context **local_contexts, struct pval *root)
                                np2->appargs = strdup(buf);
                                linkprio(exten, np2);
                        }
-                       
+                       /* add any includes */
+                       for (p2=p->u3.macro_statements; p2; p2=p2->next) {
+                               pval *p3;
+                               
+                               switch (p2->type) {
+                               case PV_INCLUDES:
+                                       for (p3 = p2->u1.list; p3 ;p3=p3->next) {
+                                               if ( p3->u2.arglist ) {
+                                                       snprintf(buf,sizeof(buf), "%s|%s|%s|%s|%s", 
+                                                                        p3->u1.str,
+                                                                        p3->u2.arglist->u1.str,
+                                                                        p3->u2.arglist->next->u1.str,
+                                                                        p3->u2.arglist->next->next->u1.str,
+                                                                        p3->u2.arglist->next->next->next->u1.str);
+                                                       ast_context_add_include2(context, buf, registrar);
+                                               } else
+                                                       ast_context_add_include2(context, p3->u1.str, registrar);
+                                       }
+                                       break;
+                               default:
+                                       break;
+                               }
+                       }
                        /* CONTAINS APPCALLS, CATCH, just like extensions... */
                        gen_prios(exten, p->u1.str, p->u3.macro_statements, 0, context );
                        if (exten->return_needed) {  /* most likely, this will go away */
index efd3dba..fb6fb60 100644 (file)
@@ -93,7 +93,7 @@ check_expr: check_expr.o ast_expr2.o ast_expr2f.o
 aelbison.c: ../pbx/ael/ael.tab.c
        @cp $< $@
 aelbison.o: aelbison.c ../pbx/ael/ael.tab.h ../include/asterisk/ael_structs.h
-aelbison.o: ASTCFLAGS+=-I../pbx
+aelbison.o: ASTCFLAGS+=-I../pbx/ael  -DYYENABLE_NLS=0
 
 pbx_ael.c: ../pbx/pbx_ael.c
        @cp $< $@