gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, select, updated. gawk-4.1.0-1122-ga3eb4b


From: Andrew J. Schorr
Subject: [gawk-diffs] [SCM] gawk branch, select, updated. gawk-4.1.0-1122-ga3eb4b0
Date: Sun, 01 Feb 2015 14:51:00 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, select has been updated
       via  a3eb4b0a735b4fbd60ed66154befd31c56b601db (commit)
       via  86cd3e2cb5117c5800997d3bb363b6d5470be3ce (commit)
       via  1bd1b885c7dd16b5e4ab78c040312f6f7d742784 (commit)
       via  2fc1e9855f7983fb75a7f72d3ec97eec467e4709 (commit)
       via  5153d0f04b7ad460b23ae5a011061f7b93a122ef (commit)
       via  2f80bf28898274324a07d0b0d7c0e955f591c0df (commit)
       via  62fe40d1944810a79c13bd519a5f1157c49cefb6 (commit)
       via  2b9f0aae3eab5715283e843c66e4f02b221493f1 (commit)
       via  762f30020bfa5e333345adc25d34da84918faa96 (commit)
       via  d50e21276ee34fb8044586beb6ab9e85cc169d80 (commit)
       via  547b160b254cc6501578c69ea38228ca2d829c49 (commit)
       via  e7df7131092924b2d4ef1f41bac3d03affa9485b (commit)
       via  b334ca8db1959020a9e35865c78ce81b829b48a9 (commit)
       via  2443fb7afd788395e1c6baf067299f42317df21b (commit)
       via  d8e04682a95d856c0b7c97e5c965ea50bd9ac76b (commit)
       via  00c2e96c7b391c7bc33373397006d7ba2e211113 (commit)
       via  eccbbe18b119f60bcb4e33259f43f6f3cc0d2581 (commit)
       via  48f9d87c455f0804424977e2a2185de94bc2b0a3 (commit)
       via  a2ffcdbb5896779fc28a8d7ec770b87e516bd941 (commit)
       via  65f80a8ce75f050e30a400ff5eee3c08366bb518 (commit)
       via  27522378506a1102a77a15d6db3b6682003f0c99 (commit)
       via  552f2007b31c1df1694e19e1b07fb8a62fd2d816 (commit)
       via  6f220759af1c8e37f56acd334a295daa8c4a2651 (commit)
       via  902fcb22d611b7f9e99369ecab223c00c877b82c (commit)
       via  8e0e08c84626633e1d4b7b431576d4ec7d8f10c4 (commit)
       via  1b2704c322317629cef59d247e45b3dba3c21992 (commit)
      from  6322f5a157959473624345252df752d09e711e88 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=a3eb4b0a735b4fbd60ed66154befd31c56b601db

commit a3eb4b0a735b4fbd60ed66154befd31c56b601db
Merge: 6322f5a 86cd3e2
Author: Andrew J. Schorr <address@hidden>
Date:   Sun Feb 1 09:50:44 2015 -0500

    Merge branch 'master' into select

diff --cc awkgram.c
index 770c96d,2d07115..7a184ed
--- a/awkgram.c
+++ b/awkgram.c
@@@ -202,7 -202,7 +203,7 @@@ extern double fmod(double x, double y)
  
  #define YYSTYPE INSTRUCTION *
  
--#line 206 "awkgram.c" /* yacc.c:339  */
++#line 207 "awkgram.c" /* yacc.c:339  */
  
  # ifndef YY_NULLPTR
  #  if defined __cplusplus && 201103L <= __cplusplus
@@@ -356,7 -356,7 +357,7 @@@ int yyparse (void)
  
  /* Copy the second part of user declarations.  */
  
--#line 360 "awkgram.c" /* yacc.c:358  */
++#line 361 "awkgram.c" /* yacc.c:358  */
  
  #ifdef short
  # undef short
@@@ -658,25 -658,25 +659,25 @@@ static const yytype_uint8 yytranslate[
    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
  static const yytype_uint16 yyrline[] =
  {
--       0,   205,   205,   207,   212,   213,   217,   229,   234,   245,
-      251,   256,   264,   272,   274,   279,   287,   289,   295,   303,
-      313,   343,   357,   371,   379,   390,   402,   404,   406,   412,
-      417,   418,   422,   457,   456,   490,   492,   497,   503,   531,
-      536,   537,   541,   543,   545,   552,   642,   684,   726,   839,
-      846,   853,   863,   872,   881,   890,   901,   917,   916,   940,
-      952,   952,  1050,  1050,  1083,  1113,  1119,  1120,  1126,  1127,
-     1134,  1139,  1151,  1165,  1167,  1175,  1180,  1182,  1190,  1192,
-     1201,  1202,  1210,  1215,  1215,  1226,  1230,  1238,  1239,  1242,
-     1244,  1249,  1250,  1259,  1260,  1265,  1270,  1276,  1278,  1280,
-     1287,  1288,  1294,  1295,  1300,  1302,  1307,  1309,  1317,  1322,
-     1331,  1338,  1340,  1342,  1358,  1368,  1375,  1377,  1382,  1384,
-     1386,  1394,  1396,  1401,  1403,  1408,  1410,  1412,  1462,  1464,
-     1466,  1468,  1470,  1472,  1474,  1476,  1490,  1495,  1500,  1525,
-     1531,  1533,  1535,  1537,  1539,  1541,  1546,  1550,  1582,  1584,
-     1590,  1596,  1609,  1610,  1611,  1616,  1621,  1625,  1629,  1644,
-     1657,  1662,  1698,  1716,  1717,  1723,  1724,  1729,  1731,  1738,
-     1755,  1772,  1774,  1781,  1786,  1794,  1804,  1816,  1825,  1829,
-     1833,  1837,  1841,  1845,  1848,  1850,  1854,  1858,  1862
 -     251,   257,   266,   274,   276,   281,   289,   291,   297,   305,
 -     315,   345,   359,   373,   381,   392,   404,   406,   408,   414,
 -     422,   423,   427,   462,   461,   495,   497,   502,   508,   536,
 -     541,   542,   546,   548,   550,   557,   647,   689,   731,   844,
 -     851,   858,   868,   877,   886,   895,   906,   922,   921,   945,
 -     957,   957,  1055,  1055,  1088,  1118,  1124,  1125,  1131,  1132,
 -    1139,  1144,  1156,  1170,  1172,  1180,  1185,  1187,  1195,  1197,
 -    1206,  1207,  1215,  1220,  1220,  1231,  1235,  1243,  1244,  1247,
 -    1249,  1254,  1255,  1264,  1265,  1270,  1275,  1281,  1283,  1285,
 -    1292,  1293,  1299,  1300,  1305,  1307,  1312,  1314,  1322,  1327,
 -    1336,  1343,  1345,  1347,  1363,  1373,  1380,  1382,  1387,  1389,
 -    1391,  1399,  1401,  1406,  1408,  1413,  1415,  1417,  1467,  1469,
 -    1471,  1473,  1475,  1477,  1479,  1481,  1495,  1500,  1505,  1530,
 -    1536,  1538,  1540,  1542,  1544,  1546,  1551,  1555,  1587,  1589,
 -    1595,  1601,  1614,  1615,  1616,  1621,  1626,  1630,  1634,  1649,
 -    1662,  1667,  1704,  1733,  1734,  1740,  1741,  1746,  1748,  1755,
 -    1772,  1789,  1791,  1798,  1803,  1811,  1821,  1833,  1842,  1846,
 -    1850,  1854,  1858,  1862,  1865,  1867,  1871,  1875,  1879
++       0,   206,   206,   208,   213,   214,   218,   230,   235,   246,
++     252,   258,   267,   275,   277,   282,   290,   292,   298,   306,
++     316,   346,   360,   374,   382,   393,   405,   407,   409,   415,
++     423,   424,   428,   463,   462,   496,   498,   503,   509,   537,
++     542,   543,   547,   549,   551,   558,   648,   690,   732,   845,
++     852,   859,   869,   878,   887,   896,   907,   923,   922,   946,
++     958,   958,  1056,  1056,  1089,  1119,  1125,  1126,  1132,  1133,
++    1140,  1145,  1157,  1171,  1173,  1181,  1186,  1188,  1196,  1198,
++    1207,  1208,  1216,  1221,  1221,  1232,  1236,  1244,  1245,  1248,
++    1250,  1255,  1256,  1265,  1266,  1271,  1276,  1282,  1284,  1286,
++    1293,  1294,  1300,  1301,  1306,  1308,  1313,  1315,  1323,  1328,
++    1337,  1344,  1346,  1348,  1364,  1374,  1381,  1383,  1388,  1390,
++    1392,  1400,  1402,  1407,  1409,  1414,  1416,  1418,  1468,  1470,
++    1472,  1474,  1476,  1478,  1480,  1482,  1496,  1501,  1506,  1531,
++    1537,  1539,  1541,  1543,  1545,  1547,  1552,  1556,  1588,  1590,
++    1596,  1602,  1615,  1616,  1617,  1622,  1627,  1631,  1635,  1650,
++    1663,  1668,  1705,  1734,  1735,  1741,  1742,  1747,  1749,  1756,
++    1773,  1790,  1792,  1799,  1804,  1812,  1822,  1834,  1843,  1847,
++    1851,  1855,  1859,  1863,  1866,  1868,  1872,  1876,  1880
  };
  #endif
  
@@@ -1849,24 -1849,24 +1850,24 @@@ yyreduce
    switch (yyn)
      {
          case 3:
--#line 208 "awkgram.y" /* yacc.c:1646  */
++#line 209 "awkgram.y" /* yacc.c:1646  */
      {
                rule = 0;
                yyerrok;
          }
--#line 1858 "awkgram.c" /* yacc.c:1646  */
++#line 1859 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 5:
--#line 214 "awkgram.y" /* yacc.c:1646  */
++#line 215 "awkgram.y" /* yacc.c:1646  */
      {
                next_sourcefile();
          }
--#line 1866 "awkgram.c" /* yacc.c:1646  */
++#line 1867 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 6:
--#line 218 "awkgram.y" /* yacc.c:1646  */
++#line 219 "awkgram.y" /* yacc.c:1646  */
      {
                rule = 0;
                /*
@@@ -1875,20 -1875,20 +1876,20 @@@
                 */
                /* yyerrok; */
          }
--#line 1879 "awkgram.c" /* yacc.c:1646  */
++#line 1880 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 7:
--#line 230 "awkgram.y" /* yacc.c:1646  */
++#line 231 "awkgram.y" /* yacc.c:1646  */
      {
                (void) append_rule((yyvsp[-1]), (yyvsp[0]));
                first_rule = false;
          }
--#line 1888 "awkgram.c" /* yacc.c:1646  */
++#line 1889 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 8:
--#line 235 "awkgram.y" /* yacc.c:1646  */
++#line 236 "awkgram.y" /* yacc.c:1646  */
      {
                if (rule != Rule) {
                        msg(_("%s blocks must have an action part"), 
ruletab[rule]);
@@@ -1899,39 -1899,41 +1900,41 @@@
                } else          /* pattern rule with non-empty pattern */
                        (void) append_rule((yyvsp[-1]), NULL);
          }
--#line 1903 "awkgram.c" /* yacc.c:1646  */
++#line 1904 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 9:
--#line 246 "awkgram.y" /* yacc.c:1646  */
++#line 247 "awkgram.y" /* yacc.c:1646  */
      {
                in_function = NULL;
                (void) mk_function((yyvsp[-1]), (yyvsp[0]));
                yyerrok;
          }
--#line 1913 "awkgram.c" /* yacc.c:1646  */
++#line 1914 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 10:
--#line 252 "awkgram.y" /* yacc.c:1646  */
++#line 253 "awkgram.y" /* yacc.c:1646  */
      {
                want_source = false;
+               at_seen = false;
                yyerrok;
          }
- #line 1922 "awkgram.c" /* yacc.c:1646  */
 -#line 1923 "awkgram.c" /* yacc.c:1646  */
++#line 1924 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 11:
- #line 257 "awkgram.y" /* yacc.c:1646  */
 -#line 258 "awkgram.y" /* yacc.c:1646  */
++#line 259 "awkgram.y" /* yacc.c:1646  */
      {
                want_source = false;
+               at_seen = false;
                yyerrok;
          }
- #line 1931 "awkgram.c" /* yacc.c:1646  */
 -#line 1933 "awkgram.c" /* yacc.c:1646  */
++#line 1934 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 12:
- #line 265 "awkgram.y" /* yacc.c:1646  */
 -#line 267 "awkgram.y" /* yacc.c:1646  */
++#line 268 "awkgram.y" /* yacc.c:1646  */
      {
                if (include_source((yyvsp[0])) < 0)
                        YYABORT;
@@@ -1939,23 -1941,23 +1942,23 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 1943 "awkgram.c" /* yacc.c:1646  */
 -#line 1945 "awkgram.c" /* yacc.c:1646  */
++#line 1946 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 13:
- #line 273 "awkgram.y" /* yacc.c:1646  */
 -#line 275 "awkgram.y" /* yacc.c:1646  */
++#line 276 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 1949 "awkgram.c" /* yacc.c:1646  */
 -#line 1951 "awkgram.c" /* yacc.c:1646  */
++#line 1952 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 14:
- #line 275 "awkgram.y" /* yacc.c:1646  */
 -#line 277 "awkgram.y" /* yacc.c:1646  */
++#line 278 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 1955 "awkgram.c" /* yacc.c:1646  */
 -#line 1957 "awkgram.c" /* yacc.c:1646  */
++#line 1958 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 15:
- #line 280 "awkgram.y" /* yacc.c:1646  */
 -#line 282 "awkgram.y" /* yacc.c:1646  */
++#line 283 "awkgram.y" /* yacc.c:1646  */
      {
                if (load_library((yyvsp[0])) < 0)
                        YYABORT;
@@@ -1963,23 -1965,23 +1966,23 @@@
                bcfree((yyvsp[0]));
                (yyval) = NULL;
          }
- #line 1967 "awkgram.c" /* yacc.c:1646  */
 -#line 1969 "awkgram.c" /* yacc.c:1646  */
++#line 1970 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 16:
- #line 288 "awkgram.y" /* yacc.c:1646  */
 -#line 290 "awkgram.y" /* yacc.c:1646  */
++#line 291 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 1973 "awkgram.c" /* yacc.c:1646  */
 -#line 1975 "awkgram.c" /* yacc.c:1646  */
++#line 1976 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 17:
- #line 290 "awkgram.y" /* yacc.c:1646  */
 -#line 292 "awkgram.y" /* yacc.c:1646  */
++#line 293 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 1979 "awkgram.c" /* yacc.c:1646  */
 -#line 1981 "awkgram.c" /* yacc.c:1646  */
++#line 1982 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 18:
- #line 295 "awkgram.y" /* yacc.c:1646  */
 -#line 297 "awkgram.y" /* yacc.c:1646  */
++#line 298 "awkgram.y" /* yacc.c:1646  */
      {
                rule = Rule;
                if (comment != NULL) {
@@@ -1988,11 -1990,11 +1991,11 @@@
                } else
                        (yyval) = NULL;
          }
- #line 1992 "awkgram.c" /* yacc.c:1646  */
 -#line 1994 "awkgram.c" /* yacc.c:1646  */
++#line 1995 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 19:
- #line 304 "awkgram.y" /* yacc.c:1646  */
 -#line 306 "awkgram.y" /* yacc.c:1646  */
++#line 307 "awkgram.y" /* yacc.c:1646  */
      {
                rule = Rule;
                if (comment != NULL) {
@@@ -2001,11 -2003,11 +2004,11 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 2005 "awkgram.c" /* yacc.c:1646  */
 -#line 2007 "awkgram.c" /* yacc.c:1646  */
++#line 2008 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 20:
- #line 314 "awkgram.y" /* yacc.c:1646  */
 -#line 316 "awkgram.y" /* yacc.c:1646  */
++#line 317 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *tp;
  
@@@ -2035,11 -2037,11 +2038,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-3]), 
(yyvsp[0])), tp);
                rule = Rule;
          }
- #line 2039 "awkgram.c" /* yacc.c:1646  */
 -#line 2041 "awkgram.c" /* yacc.c:1646  */
++#line 2042 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 21:
- #line 344 "awkgram.y" /* yacc.c:1646  */
 -#line 346 "awkgram.y" /* yacc.c:1646  */
++#line 347 "awkgram.y" /* yacc.c:1646  */
      {
                static int begin_seen = 0;
  
@@@ -2053,11 -2055,11 +2056,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2057 "awkgram.c" /* yacc.c:1646  */
 -#line 2059 "awkgram.c" /* yacc.c:1646  */
++#line 2060 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 22:
- #line 358 "awkgram.y" /* yacc.c:1646  */
 -#line 360 "awkgram.y" /* yacc.c:1646  */
++#line 361 "awkgram.y" /* yacc.c:1646  */
      {
                static int end_seen = 0;
  
@@@ -2071,11 -2073,11 +2074,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2075 "awkgram.c" /* yacc.c:1646  */
 -#line 2077 "awkgram.c" /* yacc.c:1646  */
++#line 2078 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 23:
- #line 372 "awkgram.y" /* yacc.c:1646  */
 -#line 374 "awkgram.y" /* yacc.c:1646  */
++#line 375 "awkgram.y" /* yacc.c:1646  */
      {
                func_first = false;
                (yyvsp[0])->in_rule = rule = BEGINFILE;
@@@ -2083,11 -2085,11 +2086,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2087 "awkgram.c" /* yacc.c:1646  */
 -#line 2089 "awkgram.c" /* yacc.c:1646  */
++#line 2090 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 24:
- #line 380 "awkgram.y" /* yacc.c:1646  */
 -#line 382 "awkgram.y" /* yacc.c:1646  */
++#line 383 "awkgram.y" /* yacc.c:1646  */
      {
                func_first = false;
                (yyvsp[0])->in_rule = rule = ENDFILE;
@@@ -2095,11 -2097,11 +2098,11 @@@
                check_comment();
                (yyval) = (yyvsp[0]);
          }
- #line 2099 "awkgram.c" /* yacc.c:1646  */
 -#line 2101 "awkgram.c" /* yacc.c:1646  */
++#line 2102 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 25:
- #line 391 "awkgram.y" /* yacc.c:1646  */
 -#line 393 "awkgram.y" /* yacc.c:1646  */
++#line 394 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip;
                if ((yyvsp[-3]) == NULL)
@@@ -2108,39 -2110,42 +2111,42 @@@
                        ip = (yyvsp[-3]);
                (yyval) = ip;
          }
- #line 2112 "awkgram.c" /* yacc.c:1646  */
 -#line 2114 "awkgram.c" /* yacc.c:1646  */
++#line 2115 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 26:
- #line 403 "awkgram.y" /* yacc.c:1646  */
 -#line 405 "awkgram.y" /* yacc.c:1646  */
++#line 406 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2118 "awkgram.c" /* yacc.c:1646  */
 -#line 2120 "awkgram.c" /* yacc.c:1646  */
++#line 2121 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 27:
- #line 405 "awkgram.y" /* yacc.c:1646  */
 -#line 407 "awkgram.y" /* yacc.c:1646  */
++#line 408 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2124 "awkgram.c" /* yacc.c:1646  */
 -#line 2126 "awkgram.c" /* yacc.c:1646  */
++#line 2127 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 28:
- #line 407 "awkgram.y" /* yacc.c:1646  */
 -#line 409 "awkgram.y" /* yacc.c:1646  */
++#line 410 "awkgram.y" /* yacc.c:1646  */
      {
                yyerror(_("`%s' is a built-in function, it cannot be 
redefined"),
                                        tokstart);
                YYABORT;
          }
- #line 2134 "awkgram.c" /* yacc.c:1646  */
 -#line 2136 "awkgram.c" /* yacc.c:1646  */
++#line 2137 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 29:
- #line 413 "awkgram.y" /* yacc.c:1646  */
-     { (yyval) = (yyvsp[0]); }
- #line 2140 "awkgram.c" /* yacc.c:1646  */
 -#line 415 "awkgram.y" /* yacc.c:1646  */
++#line 416 "awkgram.y" /* yacc.c:1646  */
+     {
+               (yyval) = (yyvsp[0]);
+               at_seen = false;
+         }
 -#line 2145 "awkgram.c" /* yacc.c:1646  */
++#line 2146 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 32:
- #line 423 "awkgram.y" /* yacc.c:1646  */
 -#line 428 "awkgram.y" /* yacc.c:1646  */
++#line 429 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *  treat any comments between BOF and the first function
@@@ -2167,17 -2172,17 +2173,17 @@@
                /* $4 already free'd in install_function */
                (yyval) = (yyvsp[-5]);
          }
- #line 2171 "awkgram.c" /* yacc.c:1646  */
 -#line 2176 "awkgram.c" /* yacc.c:1646  */
++#line 2177 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 33:
- #line 457 "awkgram.y" /* yacc.c:1646  */
 -#line 462 "awkgram.y" /* yacc.c:1646  */
++#line 463 "awkgram.y" /* yacc.c:1646  */
      { want_regexp = true; }
- #line 2177 "awkgram.c" /* yacc.c:1646  */
 -#line 2182 "awkgram.c" /* yacc.c:1646  */
++#line 2183 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 34:
- #line 459 "awkgram.y" /* yacc.c:1646  */
 -#line 464 "awkgram.y" /* yacc.c:1646  */
++#line 465 "awkgram.y" /* yacc.c:1646  */
      {
                  NODE *n, *exp;
                  char *re;
@@@ -2206,28 -2211,28 +2212,28 @@@
                  (yyval)->opcode = Op_match_rec;
                  (yyval)->memory = n;
                }
- #line 2210 "awkgram.c" /* yacc.c:1646  */
 -#line 2215 "awkgram.c" /* yacc.c:1646  */
++#line 2216 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 35:
- #line 491 "awkgram.y" /* yacc.c:1646  */
 -#line 496 "awkgram.y" /* yacc.c:1646  */
++#line 497 "awkgram.y" /* yacc.c:1646  */
      { bcfree((yyvsp[0])); }
- #line 2216 "awkgram.c" /* yacc.c:1646  */
 -#line 2221 "awkgram.c" /* yacc.c:1646  */
++#line 2222 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 37:
- #line 497 "awkgram.y" /* yacc.c:1646  */
 -#line 502 "awkgram.y" /* yacc.c:1646  */
++#line 503 "awkgram.y" /* yacc.c:1646  */
      {
                if (comment != NULL) {
                        (yyval) = list_create(comment);
                        comment = NULL;
                } else (yyval) = NULL;
          }
- #line 2227 "awkgram.c" /* yacc.c:1646  */
 -#line 2232 "awkgram.c" /* yacc.c:1646  */
++#line 2233 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 38:
- #line 504 "awkgram.y" /* yacc.c:1646  */
 -#line 509 "awkgram.y" /* yacc.c:1646  */
++#line 510 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0]) == NULL) {
                        if (comment == NULL)
@@@ -2255,40 -2260,40 +2261,40 @@@
                }
                yyerrok;
          }
- #line 2259 "awkgram.c" /* yacc.c:1646  */
 -#line 2264 "awkgram.c" /* yacc.c:1646  */
++#line 2265 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 39:
- #line 532 "awkgram.y" /* yacc.c:1646  */
 -#line 537 "awkgram.y" /* yacc.c:1646  */
++#line 538 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2265 "awkgram.c" /* yacc.c:1646  */
 -#line 2270 "awkgram.c" /* yacc.c:1646  */
++#line 2271 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 42:
- #line 542 "awkgram.y" /* yacc.c:1646  */
 -#line 547 "awkgram.y" /* yacc.c:1646  */
++#line 548 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2271 "awkgram.c" /* yacc.c:1646  */
 -#line 2276 "awkgram.c" /* yacc.c:1646  */
++#line 2277 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 43:
- #line 544 "awkgram.y" /* yacc.c:1646  */
 -#line 549 "awkgram.y" /* yacc.c:1646  */
++#line 550 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 2277 "awkgram.c" /* yacc.c:1646  */
 -#line 2282 "awkgram.c" /* yacc.c:1646  */
++#line 2283 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 44:
- #line 546 "awkgram.y" /* yacc.c:1646  */
 -#line 551 "awkgram.y" /* yacc.c:1646  */
++#line 552 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[0]);
          }
- #line 2288 "awkgram.c" /* yacc.c:1646  */
 -#line 2293 "awkgram.c" /* yacc.c:1646  */
++#line 2294 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 45:
- #line 553 "awkgram.y" /* yacc.c:1646  */
 -#line 558 "awkgram.y" /* yacc.c:1646  */
++#line 559 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
                INSTRUCTION *ip, *nextc, *tbreak;
@@@ -2378,11 -2383,11 +2384,11 @@@
                break_allowed--;                        
                fix_break_continue(ip, tbreak, NULL);
          }
- #line 2382 "awkgram.c" /* yacc.c:1646  */
 -#line 2387 "awkgram.c" /* yacc.c:1646  */
++#line 2388 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 46:
- #line 643 "awkgram.y" /* yacc.c:1646  */
 -#line 648 "awkgram.y" /* yacc.c:1646  */
++#line 649 "awkgram.y" /* yacc.c:1646  */
      { 
                /*
                 *    -----------------
@@@ -2424,11 -2429,11 +2430,11 @@@
                continue_allowed--;
                fix_break_continue(ip, tbreak, tcont);
          }
- #line 2428 "awkgram.c" /* yacc.c:1646  */
 -#line 2433 "awkgram.c" /* yacc.c:1646  */
++#line 2434 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 47:
- #line 685 "awkgram.y" /* yacc.c:1646  */
 -#line 690 "awkgram.y" /* yacc.c:1646  */
++#line 691 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 *    -----------------
@@@ -2470,11 -2475,11 +2476,11 @@@
                } /* else
                        $1 and $4 are NULLs */
          }
- #line 2474 "awkgram.c" /* yacc.c:1646  */
 -#line 2479 "awkgram.c" /* yacc.c:1646  */
++#line 2480 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 48:
- #line 727 "awkgram.y" /* yacc.c:1646  */
 -#line 732 "awkgram.y" /* yacc.c:1646  */
++#line 733 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip;
                char *var_name = (yyvsp[-5])->lextok;
@@@ -2587,44 -2592,44 +2593,44 @@@ regular_loop
                break_allowed--;
                continue_allowed--;
          }
- #line 2591 "awkgram.c" /* yacc.c:1646  */
 -#line 2596 "awkgram.c" /* yacc.c:1646  */
++#line 2597 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 49:
- #line 840 "awkgram.y" /* yacc.c:1646  */
 -#line 845 "awkgram.y" /* yacc.c:1646  */
++#line 846 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), 
(yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2602 "awkgram.c" /* yacc.c:1646  */
 -#line 2607 "awkgram.c" /* yacc.c:1646  */
++#line 2608 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 50:
- #line 847 "awkgram.y" /* yacc.c:1646  */
 -#line 852 "awkgram.y" /* yacc.c:1646  */
++#line 853 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION 
*) NULL, (yyvsp[-3]), (yyvsp[0]));
  
                break_allowed--;
                continue_allowed--;
          }
- #line 2613 "awkgram.c" /* yacc.c:1646  */
 -#line 2618 "awkgram.c" /* yacc.c:1646  */
++#line 2619 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 51:
- #line 854 "awkgram.y" /* yacc.c:1646  */
 -#line 859 "awkgram.y" /* yacc.c:1646  */
++#line 860 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_pretty_print)
                        (yyval) = list_prepend((yyvsp[0]), 
instruction(Op_exec_count));
                else
                        (yyval) = (yyvsp[0]);
          }
- #line 2624 "awkgram.c" /* yacc.c:1646  */
 -#line 2629 "awkgram.c" /* yacc.c:1646  */
++#line 2630 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 52:
- #line 864 "awkgram.y" /* yacc.c:1646  */
 -#line 869 "awkgram.y" /* yacc.c:1646  */
++#line 870 "awkgram.y" /* yacc.c:1646  */
      { 
                if (! break_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2633,11 -2638,11 +2639,11 @@@
                (yyval) = list_create((yyvsp[-1]));
  
          }
- #line 2637 "awkgram.c" /* yacc.c:1646  */
 -#line 2642 "awkgram.c" /* yacc.c:1646  */
++#line 2643 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 53:
- #line 873 "awkgram.y" /* yacc.c:1646  */
 -#line 878 "awkgram.y" /* yacc.c:1646  */
++#line 879 "awkgram.y" /* yacc.c:1646  */
      {
                if (! continue_allowed)
                        error_ln((yyvsp[-1])->source_line,
@@@ -2646,11 -2651,11 +2652,11 @@@
                (yyval) = list_create((yyvsp[-1]));
  
          }
- #line 2650 "awkgram.c" /* yacc.c:1646  */
 -#line 2655 "awkgram.c" /* yacc.c:1646  */
++#line 2656 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 54:
- #line 882 "awkgram.y" /* yacc.c:1646  */
 -#line 887 "awkgram.y" /* yacc.c:1646  */
++#line 888 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule && rule != Rule)
@@@ -2659,11 -2664,11 +2665,11 @@@
                (yyvsp[-1])->target_jmp = ip_rec;
                (yyval) = list_create((yyvsp[-1]));
          }
- #line 2663 "awkgram.c" /* yacc.c:1646  */
 -#line 2668 "awkgram.c" /* yacc.c:1646  */
++#line 2669 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 55:
- #line 891 "awkgram.y" /* yacc.c:1646  */
 -#line 896 "awkgram.y" /* yacc.c:1646  */
++#line 897 "awkgram.y" /* yacc.c:1646  */
      {
                /* if inside function (rule = 0), resolve context at run-time */
                if (rule == BEGIN || rule == END || rule == ENDFILE)
@@@ -2674,11 -2679,11 +2680,11 @@@
                (yyvsp[-1])->target_endfile = ip_endfile;
                (yyval) = list_create((yyvsp[-1]));
          }
- #line 2678 "awkgram.c" /* yacc.c:1646  */
 -#line 2683 "awkgram.c" /* yacc.c:1646  */
++#line 2684 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 56:
- #line 902 "awkgram.y" /* yacc.c:1646  */
 -#line 907 "awkgram.y" /* yacc.c:1646  */
++#line 908 "awkgram.y" /* yacc.c:1646  */
      {
                /* Initialize the two possible jump targets, the actual target
                 * is resolved at run-time. 
@@@ -2693,20 -2698,20 +2699,20 @@@
                } else
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
          }
- #line 2697 "awkgram.c" /* yacc.c:1646  */
 -#line 2702 "awkgram.c" /* yacc.c:1646  */
++#line 2703 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 57:
- #line 917 "awkgram.y" /* yacc.c:1646  */
 -#line 922 "awkgram.y" /* yacc.c:1646  */
++#line 923 "awkgram.y" /* yacc.c:1646  */
      {
                if (! in_function)
                        yyerror(_("`return' used outside function context"));
          }
- #line 2706 "awkgram.c" /* yacc.c:1646  */
 -#line 2711 "awkgram.c" /* yacc.c:1646  */
++#line 2712 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 58:
- #line 920 "awkgram.y" /* yacc.c:1646  */
 -#line 925 "awkgram.y" /* yacc.c:1646  */
++#line 926 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-1]) == NULL) {
                        (yyval) = list_create((yyvsp[-3]));
@@@ -2727,17 -2732,17 +2733,17 @@@
                        (yyval) = list_append((yyvsp[-1]), (yyvsp[-3]));
                }
          }
- #line 2731 "awkgram.c" /* yacc.c:1646  */
 -#line 2736 "awkgram.c" /* yacc.c:1646  */
++#line 2737 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 60:
- #line 952 "awkgram.y" /* yacc.c:1646  */
 -#line 957 "awkgram.y" /* yacc.c:1646  */
++#line 958 "awkgram.y" /* yacc.c:1646  */
      { in_print = true; in_parens = 0; }
- #line 2737 "awkgram.c" /* yacc.c:1646  */
 -#line 2742 "awkgram.c" /* yacc.c:1646  */
++#line 2743 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 61:
- #line 953 "awkgram.y" /* yacc.c:1646  */
 -#line 958 "awkgram.y" /* yacc.c:1646  */
++#line 959 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Optimization: plain `print' has no expression list, so $3 is 
null.
@@@ -2834,17 -2839,17 +2840,17 @@@ regular_print
                        }
                }
          }
- #line 2838 "awkgram.c" /* yacc.c:1646  */
 -#line 2843 "awkgram.c" /* yacc.c:1646  */
++#line 2844 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 62:
- #line 1050 "awkgram.y" /* yacc.c:1646  */
 -#line 1055 "awkgram.y" /* yacc.c:1646  */
++#line 1056 "awkgram.y" /* yacc.c:1646  */
      { sub_counter = 0; }
- #line 2844 "awkgram.c" /* yacc.c:1646  */
 -#line 2849 "awkgram.c" /* yacc.c:1646  */
++#line 2850 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 63:
- #line 1051 "awkgram.y" /* yacc.c:1646  */
 -#line 1056 "awkgram.y" /* yacc.c:1646  */
++#line 1057 "awkgram.y" /* yacc.c:1646  */
      {
                char *arr = (yyvsp[-2])->lextok;
  
@@@ -2877,11 -2882,11 +2883,11 @@@
                        (yyval) = list_append(list_append((yyvsp[0]), 
(yyvsp[-2])), (yyvsp[-3]));
                }
          }
- #line 2881 "awkgram.c" /* yacc.c:1646  */
 -#line 2886 "awkgram.c" /* yacc.c:1646  */
++#line 2887 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 64:
- #line 1088 "awkgram.y" /* yacc.c:1646  */
 -#line 1093 "awkgram.y" /* yacc.c:1646  */
++#line 1094 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
                char *arr = (yyvsp[-1])->lextok;
@@@ -2907,52 -2912,52 +2913,52 @@@
                                fatal(_("`delete' is not allowed with 
FUNCTAB"));
                }
          }
- #line 2911 "awkgram.c" /* yacc.c:1646  */
 -#line 2916 "awkgram.c" /* yacc.c:1646  */
++#line 2917 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 65:
- #line 1114 "awkgram.y" /* yacc.c:1646  */
 -#line 1119 "awkgram.y" /* yacc.c:1646  */
++#line 1120 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = optimize_assignment((yyvsp[0])); }
- #line 2917 "awkgram.c" /* yacc.c:1646  */
 -#line 2922 "awkgram.c" /* yacc.c:1646  */
++#line 2923 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 66:
- #line 1119 "awkgram.y" /* yacc.c:1646  */
 -#line 1124 "awkgram.y" /* yacc.c:1646  */
++#line 1125 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2923 "awkgram.c" /* yacc.c:1646  */
 -#line 2928 "awkgram.c" /* yacc.c:1646  */
++#line 2929 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 67:
- #line 1121 "awkgram.y" /* yacc.c:1646  */
 -#line 1126 "awkgram.y" /* yacc.c:1646  */
++#line 1127 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2929 "awkgram.c" /* yacc.c:1646  */
 -#line 2934 "awkgram.c" /* yacc.c:1646  */
++#line 2935 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 68:
- #line 1126 "awkgram.y" /* yacc.c:1646  */
 -#line 1131 "awkgram.y" /* yacc.c:1646  */
++#line 1132 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2935 "awkgram.c" /* yacc.c:1646  */
 -#line 2940 "awkgram.c" /* yacc.c:1646  */
++#line 2941 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 69:
- #line 1128 "awkgram.y" /* yacc.c:1646  */
 -#line 1133 "awkgram.y" /* yacc.c:1646  */
++#line 1134 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-1]) == NULL)
                        (yyval) = list_create((yyvsp[0]));
                else
                        (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
          }
- #line 2946 "awkgram.c" /* yacc.c:1646  */
 -#line 2951 "awkgram.c" /* yacc.c:1646  */
++#line 2952 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 70:
- #line 1135 "awkgram.y" /* yacc.c:1646  */
 -#line 1140 "awkgram.y" /* yacc.c:1646  */
++#line 1141 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 2952 "awkgram.c" /* yacc.c:1646  */
 -#line 2957 "awkgram.c" /* yacc.c:1646  */
++#line 2958 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 71:
- #line 1140 "awkgram.y" /* yacc.c:1646  */
 -#line 1145 "awkgram.y" /* yacc.c:1646  */
++#line 1146 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -2964,11 -2969,11 +2970,11 @@@
                bcfree((yyvsp[-2]));
                (yyval) = (yyvsp[-4]);
          }
- #line 2968 "awkgram.c" /* yacc.c:1646  */
 -#line 2973 "awkgram.c" /* yacc.c:1646  */
++#line 2974 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 72:
- #line 1152 "awkgram.y" /* yacc.c:1646  */
 -#line 1157 "awkgram.y" /* yacc.c:1646  */
++#line 1158 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *casestmt = (yyvsp[0]);
                if ((yyvsp[0]) == NULL)
@@@ -2979,17 -2984,17 +2985,17 @@@
                (yyvsp[-3])->case_stmt = casestmt;
                (yyval) = (yyvsp[-3]);
          }
- #line 2983 "awkgram.c" /* yacc.c:1646  */
 -#line 2988 "awkgram.c" /* yacc.c:1646  */
++#line 2989 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 73:
- #line 1166 "awkgram.y" /* yacc.c:1646  */
 -#line 1171 "awkgram.y" /* yacc.c:1646  */
++#line 1172 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 2989 "awkgram.c" /* yacc.c:1646  */
 -#line 2994 "awkgram.c" /* yacc.c:1646  */
++#line 2995 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 74:
- #line 1168 "awkgram.y" /* yacc.c:1646  */
 -#line 1173 "awkgram.y" /* yacc.c:1646  */
++#line 1174 "awkgram.y" /* yacc.c:1646  */
      { 
                NODE *n = (yyvsp[0])->memory;
                (void) force_number(n);
@@@ -2997,71 -3002,71 +3003,71 @@@
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3001 "awkgram.c" /* yacc.c:1646  */
 -#line 3006 "awkgram.c" /* yacc.c:1646  */
++#line 3007 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 75:
- #line 1176 "awkgram.y" /* yacc.c:1646  */
 -#line 1181 "awkgram.y" /* yacc.c:1646  */
++#line 1182 "awkgram.y" /* yacc.c:1646  */
      {
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3010 "awkgram.c" /* yacc.c:1646  */
 -#line 3015 "awkgram.c" /* yacc.c:1646  */
++#line 3016 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 76:
- #line 1181 "awkgram.y" /* yacc.c:1646  */
 -#line 1186 "awkgram.y" /* yacc.c:1646  */
++#line 1187 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3016 "awkgram.c" /* yacc.c:1646  */
 -#line 3021 "awkgram.c" /* yacc.c:1646  */
++#line 3022 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 77:
- #line 1183 "awkgram.y" /* yacc.c:1646  */
 -#line 1188 "awkgram.y" /* yacc.c:1646  */
++#line 1189 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_push_re;
                (yyval) = (yyvsp[0]);
          }
- #line 3025 "awkgram.c" /* yacc.c:1646  */
 -#line 3030 "awkgram.c" /* yacc.c:1646  */
++#line 3031 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 78:
- #line 1191 "awkgram.y" /* yacc.c:1646  */
 -#line 1196 "awkgram.y" /* yacc.c:1646  */
++#line 1197 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3031 "awkgram.c" /* yacc.c:1646  */
 -#line 3036 "awkgram.c" /* yacc.c:1646  */
++#line 3037 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 79:
- #line 1193 "awkgram.y" /* yacc.c:1646  */
 -#line 1198 "awkgram.y" /* yacc.c:1646  */
++#line 1199 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3037 "awkgram.c" /* yacc.c:1646  */
 -#line 3042 "awkgram.c" /* yacc.c:1646  */
++#line 3043 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 81:
- #line 1203 "awkgram.y" /* yacc.c:1646  */
 -#line 1208 "awkgram.y" /* yacc.c:1646  */
++#line 1209 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = (yyvsp[-1]);
          }
- #line 3045 "awkgram.c" /* yacc.c:1646  */
 -#line 3050 "awkgram.c" /* yacc.c:1646  */
++#line 3051 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 82:
- #line 1210 "awkgram.y" /* yacc.c:1646  */
 -#line 1215 "awkgram.y" /* yacc.c:1646  */
++#line 1216 "awkgram.y" /* yacc.c:1646  */
      {
                in_print = false;
                in_parens = 0;
                (yyval) = NULL;
          }
- #line 3055 "awkgram.c" /* yacc.c:1646  */
 -#line 3060 "awkgram.c" /* yacc.c:1646  */
++#line 3061 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 83:
- #line 1215 "awkgram.y" /* yacc.c:1646  */
 -#line 1220 "awkgram.y" /* yacc.c:1646  */
++#line 1221 "awkgram.y" /* yacc.c:1646  */
      { in_print = false; in_parens = 0; }
- #line 3061 "awkgram.c" /* yacc.c:1646  */
 -#line 3066 "awkgram.c" /* yacc.c:1646  */
++#line 3067 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 84:
- #line 1216 "awkgram.y" /* yacc.c:1646  */
 -#line 1221 "awkgram.y" /* yacc.c:1646  */
++#line 1222 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->redir_type == redirect_twoway
                        && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@@ -3069,136 -3074,136 +3075,136 @@@
                        yyerror(_("multistage two-way pipelines don't work"));
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
          }
- #line 3073 "awkgram.c" /* yacc.c:1646  */
 -#line 3078 "awkgram.c" /* yacc.c:1646  */
++#line 3079 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 85:
- #line 1227 "awkgram.y" /* yacc.c:1646  */
 -#line 1232 "awkgram.y" /* yacc.c:1646  */
++#line 1233 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), 
NULL, NULL);
          }
- #line 3081 "awkgram.c" /* yacc.c:1646  */
 -#line 3086 "awkgram.c" /* yacc.c:1646  */
++#line 3087 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 86:
- #line 1232 "awkgram.y" /* yacc.c:1646  */
 -#line 1237 "awkgram.y" /* yacc.c:1646  */
++#line 1238 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), 
(yyvsp[-2]), (yyvsp[0]));
          }
- #line 3089 "awkgram.c" /* yacc.c:1646  */
 -#line 3094 "awkgram.c" /* yacc.c:1646  */
++#line 3095 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 91:
- #line 1249 "awkgram.y" /* yacc.c:1646  */
 -#line 1254 "awkgram.y" /* yacc.c:1646  */
++#line 1255 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3095 "awkgram.c" /* yacc.c:1646  */
 -#line 3100 "awkgram.c" /* yacc.c:1646  */
++#line 3101 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 92:
- #line 1251 "awkgram.y" /* yacc.c:1646  */
 -#line 1256 "awkgram.y" /* yacc.c:1646  */
++#line 1257 "awkgram.y" /* yacc.c:1646  */
      {
                bcfree((yyvsp[-1]));
                (yyval) = (yyvsp[0]);
          }
- #line 3104 "awkgram.c" /* yacc.c:1646  */
 -#line 3109 "awkgram.c" /* yacc.c:1646  */
++#line 3110 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 93:
- #line 1259 "awkgram.y" /* yacc.c:1646  */
 -#line 1264 "awkgram.y" /* yacc.c:1646  */
++#line 1265 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3110 "awkgram.c" /* yacc.c:1646  */
 -#line 3115 "awkgram.c" /* yacc.c:1646  */
++#line 3116 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 94:
- #line 1261 "awkgram.y" /* yacc.c:1646  */
 -#line 1266 "awkgram.y" /* yacc.c:1646  */
++#line 1267 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3116 "awkgram.c" /* yacc.c:1646  */
 -#line 3121 "awkgram.c" /* yacc.c:1646  */
++#line 3122 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 95:
- #line 1266 "awkgram.y" /* yacc.c:1646  */
 -#line 1271 "awkgram.y" /* yacc.c:1646  */
++#line 1272 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->param_count = 0;
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3125 "awkgram.c" /* yacc.c:1646  */
 -#line 3130 "awkgram.c" /* yacc.c:1646  */
++#line 3131 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 96:
- #line 1271 "awkgram.y" /* yacc.c:1646  */
 -#line 1276 "awkgram.y" /* yacc.c:1646  */
++#line 1277 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->param_count =  (yyvsp[-2])->lasti->param_count + 1;
                (yyval) = list_append((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3135 "awkgram.c" /* yacc.c:1646  */
 -#line 3140 "awkgram.c" /* yacc.c:1646  */
++#line 3141 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 97:
- #line 1277 "awkgram.y" /* yacc.c:1646  */
 -#line 1282 "awkgram.y" /* yacc.c:1646  */
++#line 1283 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3141 "awkgram.c" /* yacc.c:1646  */
 -#line 3146 "awkgram.c" /* yacc.c:1646  */
++#line 3147 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 98:
- #line 1279 "awkgram.y" /* yacc.c:1646  */
 -#line 1284 "awkgram.y" /* yacc.c:1646  */
++#line 1285 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 3147 "awkgram.c" /* yacc.c:1646  */
 -#line 3152 "awkgram.c" /* yacc.c:1646  */
++#line 3153 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 99:
- #line 1281 "awkgram.y" /* yacc.c:1646  */
 -#line 1286 "awkgram.y" /* yacc.c:1646  */
++#line 1287 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-2]); }
- #line 3153 "awkgram.c" /* yacc.c:1646  */
 -#line 3158 "awkgram.c" /* yacc.c:1646  */
++#line 3159 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 100:
- #line 1287 "awkgram.y" /* yacc.c:1646  */
 -#line 1292 "awkgram.y" /* yacc.c:1646  */
++#line 1293 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3159 "awkgram.c" /* yacc.c:1646  */
 -#line 3164 "awkgram.c" /* yacc.c:1646  */
++#line 3165 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 101:
- #line 1289 "awkgram.y" /* yacc.c:1646  */
 -#line 1294 "awkgram.y" /* yacc.c:1646  */
++#line 1295 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3165 "awkgram.c" /* yacc.c:1646  */
 -#line 3170 "awkgram.c" /* yacc.c:1646  */
++#line 3171 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 102:
- #line 1294 "awkgram.y" /* yacc.c:1646  */
 -#line 1299 "awkgram.y" /* yacc.c:1646  */
++#line 1300 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3171 "awkgram.c" /* yacc.c:1646  */
 -#line 3176 "awkgram.c" /* yacc.c:1646  */
++#line 3177 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 103:
- #line 1296 "awkgram.y" /* yacc.c:1646  */
 -#line 1301 "awkgram.y" /* yacc.c:1646  */
++#line 1302 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3177 "awkgram.c" /* yacc.c:1646  */
 -#line 3182 "awkgram.c" /* yacc.c:1646  */
++#line 3183 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 104:
- #line 1301 "awkgram.y" /* yacc.c:1646  */
 -#line 1306 "awkgram.y" /* yacc.c:1646  */
++#line 1307 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
- #line 3183 "awkgram.c" /* yacc.c:1646  */
 -#line 3188 "awkgram.c" /* yacc.c:1646  */
++#line 3189 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 105:
- #line 1303 "awkgram.y" /* yacc.c:1646  */
 -#line 1308 "awkgram.y" /* yacc.c:1646  */
++#line 1309 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
                yyerrok;
          }
- #line 3192 "awkgram.c" /* yacc.c:1646  */
 -#line 3197 "awkgram.c" /* yacc.c:1646  */
++#line 3198 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 106:
- #line 1308 "awkgram.y" /* yacc.c:1646  */
 -#line 1313 "awkgram.y" /* yacc.c:1646  */
++#line 1314 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3198 "awkgram.c" /* yacc.c:1646  */
 -#line 3203 "awkgram.c" /* yacc.c:1646  */
++#line 3204 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 107:
- #line 1310 "awkgram.y" /* yacc.c:1646  */
 -#line 1315 "awkgram.y" /* yacc.c:1646  */
++#line 1316 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * Returning the expression list instead of NULL lets
@@@ -3206,52 -3211,52 +3212,52 @@@
                 */
                (yyval) = (yyvsp[-1]);
          }
- #line 3210 "awkgram.c" /* yacc.c:1646  */
 -#line 3215 "awkgram.c" /* yacc.c:1646  */
++#line 3216 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 108:
- #line 1318 "awkgram.y" /* yacc.c:1646  */
 -#line 1323 "awkgram.y" /* yacc.c:1646  */
++#line 1324 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
          }
- #line 3219 "awkgram.c" /* yacc.c:1646  */
 -#line 3224 "awkgram.c" /* yacc.c:1646  */
++#line 3225 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 109:
- #line 1323 "awkgram.y" /* yacc.c:1646  */
 -#line 1328 "awkgram.y" /* yacc.c:1646  */
++#line 1329 "awkgram.y" /* yacc.c:1646  */
      {
                /* Ditto */
                (yyval) = (yyvsp[-2]);
          }
- #line 3228 "awkgram.c" /* yacc.c:1646  */
 -#line 3233 "awkgram.c" /* yacc.c:1646  */
++#line 3234 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 110:
- #line 1332 "awkgram.y" /* yacc.c:1646  */
 -#line 1337 "awkgram.y" /* yacc.c:1646  */
++#line 1338 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of assignment"));
                (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
          }
- #line 3239 "awkgram.c" /* yacc.c:1646  */
 -#line 3244 "awkgram.c" /* yacc.c:1646  */
++#line 3245 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 111:
- #line 1339 "awkgram.y" /* yacc.c:1646  */
 -#line 1344 "awkgram.y" /* yacc.c:1646  */
++#line 1345 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3245 "awkgram.c" /* yacc.c:1646  */
 -#line 3250 "awkgram.c" /* yacc.c:1646  */
++#line 3251 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 112:
- #line 1341 "awkgram.y" /* yacc.c:1646  */
 -#line 1346 "awkgram.y" /* yacc.c:1646  */
++#line 1347 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3251 "awkgram.c" /* yacc.c:1646  */
 -#line 3256 "awkgram.c" /* yacc.c:1646  */
++#line 3257 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 113:
- #line 1343 "awkgram.y" /* yacc.c:1646  */
 -#line 1348 "awkgram.y" /* yacc.c:1646  */
++#line 1349 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3267,11 -3272,11 +3273,11 @@@
                        (yyval) = list_append(list_merge((yyvsp[-2]), 
(yyvsp[0])), (yyvsp[-1]));
                }
          }
- #line 3271 "awkgram.c" /* yacc.c:1646  */
 -#line 3276 "awkgram.c" /* yacc.c:1646  */
++#line 3277 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 114:
- #line 1359 "awkgram.y" /* yacc.c:1646  */
 -#line 1364 "awkgram.y" /* yacc.c:1646  */
++#line 1365 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old)
                        warning_ln((yyvsp[-1])->source_line,
@@@ -3281,91 -3286,91 +3287,91 @@@
                (yyvsp[-1])->expr_count = 1;
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3285 "awkgram.c" /* yacc.c:1646  */
 -#line 3290 "awkgram.c" /* yacc.c:1646  */
++#line 3291 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 115:
- #line 1369 "awkgram.y" /* yacc.c:1646  */
 -#line 1374 "awkgram.y" /* yacc.c:1646  */
++#line 1375 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint && (yyvsp[0])->lasti->opcode == Op_match_rec)
                        lintwarn_ln((yyvsp[-1])->source_line,
                                _("regular expression on right of comparison"));
                (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), 
(yyvsp[-1]));
          }
- #line 3296 "awkgram.c" /* yacc.c:1646  */
 -#line 3301 "awkgram.c" /* yacc.c:1646  */
++#line 3302 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 116:
- #line 1376 "awkgram.y" /* yacc.c:1646  */
 -#line 1381 "awkgram.y" /* yacc.c:1646  */
++#line 1382 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), 
(yyvsp[-1]), (yyvsp[0])); }
- #line 3302 "awkgram.c" /* yacc.c:1646  */
 -#line 3307 "awkgram.c" /* yacc.c:1646  */
++#line 3308 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 117:
- #line 1378 "awkgram.y" /* yacc.c:1646  */
 -#line 1383 "awkgram.y" /* yacc.c:1646  */
++#line 1384 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3308 "awkgram.c" /* yacc.c:1646  */
 -#line 3313 "awkgram.c" /* yacc.c:1646  */
++#line 3314 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 118:
- #line 1383 "awkgram.y" /* yacc.c:1646  */
 -#line 1388 "awkgram.y" /* yacc.c:1646  */
++#line 1389 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3314 "awkgram.c" /* yacc.c:1646  */
 -#line 3319 "awkgram.c" /* yacc.c:1646  */
++#line 3320 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 119:
- #line 1385 "awkgram.y" /* yacc.c:1646  */
 -#line 1390 "awkgram.y" /* yacc.c:1646  */
++#line 1391 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3320 "awkgram.c" /* yacc.c:1646  */
 -#line 3325 "awkgram.c" /* yacc.c:1646  */
++#line 3326 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 120:
- #line 1387 "awkgram.y" /* yacc.c:1646  */
 -#line 1392 "awkgram.y" /* yacc.c:1646  */
++#line 1393 "awkgram.y" /* yacc.c:1646  */
      { 
                (yyvsp[0])->opcode = Op_assign_quotient;
                (yyval) = (yyvsp[0]);
          }
- #line 3329 "awkgram.c" /* yacc.c:1646  */
 -#line 3334 "awkgram.c" /* yacc.c:1646  */
++#line 3335 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 121:
- #line 1395 "awkgram.y" /* yacc.c:1646  */
 -#line 1400 "awkgram.y" /* yacc.c:1646  */
++#line 1401 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3335 "awkgram.c" /* yacc.c:1646  */
 -#line 3340 "awkgram.c" /* yacc.c:1646  */
++#line 3341 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 122:
- #line 1397 "awkgram.y" /* yacc.c:1646  */
 -#line 1402 "awkgram.y" /* yacc.c:1646  */
++#line 1403 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3341 "awkgram.c" /* yacc.c:1646  */
 -#line 3346 "awkgram.c" /* yacc.c:1646  */
++#line 3347 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 123:
- #line 1402 "awkgram.y" /* yacc.c:1646  */
 -#line 1407 "awkgram.y" /* yacc.c:1646  */
++#line 1408 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3347 "awkgram.c" /* yacc.c:1646  */
 -#line 3352 "awkgram.c" /* yacc.c:1646  */
++#line 3353 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 124:
- #line 1404 "awkgram.y" /* yacc.c:1646  */
 -#line 1409 "awkgram.y" /* yacc.c:1646  */
++#line 1410 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3353 "awkgram.c" /* yacc.c:1646  */
 -#line 3358 "awkgram.c" /* yacc.c:1646  */
++#line 3359 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 125:
- #line 1409 "awkgram.y" /* yacc.c:1646  */
 -#line 1414 "awkgram.y" /* yacc.c:1646  */
++#line 1415 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3359 "awkgram.c" /* yacc.c:1646  */
 -#line 3364 "awkgram.c" /* yacc.c:1646  */
++#line 3365 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 126:
- #line 1411 "awkgram.y" /* yacc.c:1646  */
 -#line 1416 "awkgram.y" /* yacc.c:1646  */
++#line 1417 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3365 "awkgram.c" /* yacc.c:1646  */
 -#line 3370 "awkgram.c" /* yacc.c:1646  */
++#line 3371 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 127:
- #line 1413 "awkgram.y" /* yacc.c:1646  */
 -#line 1418 "awkgram.y" /* yacc.c:1646  */
++#line 1419 "awkgram.y" /* yacc.c:1646  */
      {
                int count = 2;
                bool is_simple_var = false;
@@@ -3412,47 -3417,47 +3418,47 @@@
                                max_args = count;
                }
          }
- #line 3416 "awkgram.c" /* yacc.c:1646  */
 -#line 3421 "awkgram.c" /* yacc.c:1646  */
++#line 3422 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 129:
- #line 1465 "awkgram.y" /* yacc.c:1646  */
 -#line 1470 "awkgram.y" /* yacc.c:1646  */
++#line 1471 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3422 "awkgram.c" /* yacc.c:1646  */
 -#line 3427 "awkgram.c" /* yacc.c:1646  */
++#line 3428 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 130:
- #line 1467 "awkgram.y" /* yacc.c:1646  */
 -#line 1472 "awkgram.y" /* yacc.c:1646  */
++#line 1473 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3428 "awkgram.c" /* yacc.c:1646  */
 -#line 3433 "awkgram.c" /* yacc.c:1646  */
++#line 3434 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 131:
- #line 1469 "awkgram.y" /* yacc.c:1646  */
 -#line 1474 "awkgram.y" /* yacc.c:1646  */
++#line 1475 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3434 "awkgram.c" /* yacc.c:1646  */
 -#line 3439 "awkgram.c" /* yacc.c:1646  */
++#line 3440 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 132:
- #line 1471 "awkgram.y" /* yacc.c:1646  */
 -#line 1476 "awkgram.y" /* yacc.c:1646  */
++#line 1477 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3440 "awkgram.c" /* yacc.c:1646  */
 -#line 3445 "awkgram.c" /* yacc.c:1646  */
++#line 3446 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 133:
- #line 1473 "awkgram.y" /* yacc.c:1646  */
 -#line 1478 "awkgram.y" /* yacc.c:1646  */
++#line 1479 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3446 "awkgram.c" /* yacc.c:1646  */
 -#line 3451 "awkgram.c" /* yacc.c:1646  */
++#line 3452 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 134:
- #line 1475 "awkgram.y" /* yacc.c:1646  */
 -#line 1480 "awkgram.y" /* yacc.c:1646  */
++#line 1481 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3452 "awkgram.c" /* yacc.c:1646  */
 -#line 3457 "awkgram.c" /* yacc.c:1646  */
++#line 3458 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 135:
- #line 1477 "awkgram.y" /* yacc.c:1646  */
 -#line 1482 "awkgram.y" /* yacc.c:1646  */
++#line 1483 "awkgram.y" /* yacc.c:1646  */
      {
                /*
                 * In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@@ -3466,29 -3471,29 +3472,29 @@@
                                _("non-redirected `getline' undefined inside 
END action"));
                (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), 
redirect_input);
          }
- #line 3470 "awkgram.c" /* yacc.c:1646  */
 -#line 3475 "awkgram.c" /* yacc.c:1646  */
++#line 3476 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 136:
- #line 1491 "awkgram.y" /* yacc.c:1646  */
 -#line 1496 "awkgram.y" /* yacc.c:1646  */
++#line 1497 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3479 "awkgram.c" /* yacc.c:1646  */
 -#line 3484 "awkgram.c" /* yacc.c:1646  */
++#line 3485 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 137:
- #line 1496 "awkgram.y" /* yacc.c:1646  */
 -#line 1501 "awkgram.y" /* yacc.c:1646  */
++#line 1502 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
                (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3488 "awkgram.c" /* yacc.c:1646  */
 -#line 3493 "awkgram.c" /* yacc.c:1646  */
++#line 3494 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 138:
- #line 1501 "awkgram.y" /* yacc.c:1646  */
 -#line 1506 "awkgram.y" /* yacc.c:1646  */
++#line 1507 "awkgram.y" /* yacc.c:1646  */
      {
                if (do_lint_old) {
                    warning_ln((yyvsp[-1])->source_line,
@@@ -3508,64 -3513,64 +3514,64 @@@
                        (yyval) = list_append(list_merge(t, (yyvsp[0])), 
(yyvsp[-1]));
                }
          }
- #line 3512 "awkgram.c" /* yacc.c:1646  */
 -#line 3517 "awkgram.c" /* yacc.c:1646  */
++#line 3518 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 139:
- #line 1526 "awkgram.y" /* yacc.c:1646  */
 -#line 1531 "awkgram.y" /* yacc.c:1646  */
++#line 1532 "awkgram.y" /* yacc.c:1646  */
      {
                  (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), 
(yyvsp[-2])->redir_type);
                  bcfree((yyvsp[-2]));
                }
- #line 3521 "awkgram.c" /* yacc.c:1646  */
 -#line 3526 "awkgram.c" /* yacc.c:1646  */
++#line 3527 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 140:
- #line 1532 "awkgram.y" /* yacc.c:1646  */
 -#line 1537 "awkgram.y" /* yacc.c:1646  */
++#line 1538 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3527 "awkgram.c" /* yacc.c:1646  */
 -#line 3532 "awkgram.c" /* yacc.c:1646  */
++#line 3533 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 141:
- #line 1534 "awkgram.y" /* yacc.c:1646  */
 -#line 1539 "awkgram.y" /* yacc.c:1646  */
++#line 1540 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3533 "awkgram.c" /* yacc.c:1646  */
 -#line 3538 "awkgram.c" /* yacc.c:1646  */
++#line 3539 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 142:
- #line 1536 "awkgram.y" /* yacc.c:1646  */
 -#line 1541 "awkgram.y" /* yacc.c:1646  */
++#line 1542 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3539 "awkgram.c" /* yacc.c:1646  */
 -#line 3544 "awkgram.c" /* yacc.c:1646  */
++#line 3545 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 143:
- #line 1538 "awkgram.y" /* yacc.c:1646  */
 -#line 1543 "awkgram.y" /* yacc.c:1646  */
++#line 1544 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3545 "awkgram.c" /* yacc.c:1646  */
 -#line 3550 "awkgram.c" /* yacc.c:1646  */
++#line 3551 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 144:
- #line 1540 "awkgram.y" /* yacc.c:1646  */
 -#line 1545 "awkgram.y" /* yacc.c:1646  */
++#line 1546 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3551 "awkgram.c" /* yacc.c:1646  */
 -#line 3556 "awkgram.c" /* yacc.c:1646  */
++#line 3557 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 145:
- #line 1542 "awkgram.y" /* yacc.c:1646  */
 -#line 1547 "awkgram.y" /* yacc.c:1646  */
++#line 1548 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
- #line 3557 "awkgram.c" /* yacc.c:1646  */
 -#line 3562 "awkgram.c" /* yacc.c:1646  */
++#line 3563 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 146:
- #line 1547 "awkgram.y" /* yacc.c:1646  */
 -#line 1552 "awkgram.y" /* yacc.c:1646  */
++#line 1553 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3565 "awkgram.c" /* yacc.c:1646  */
 -#line 3570 "awkgram.c" /* yacc.c:1646  */
++#line 3571 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 147:
- #line 1551 "awkgram.y" /* yacc.c:1646  */
 -#line 1556 "awkgram.y" /* yacc.c:1646  */
++#line 1557 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->opcode == Op_match_rec) {
                        (yyvsp[0])->opcode = Op_nomatch;
@@@ -3597,37 -3602,37 +3603,37 @@@
                        }
                }
           }
- #line 3601 "awkgram.c" /* yacc.c:1646  */
 -#line 3606 "awkgram.c" /* yacc.c:1646  */
++#line 3607 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 148:
- #line 1583 "awkgram.y" /* yacc.c:1646  */
 -#line 1588 "awkgram.y" /* yacc.c:1646  */
++#line 1589 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 3607 "awkgram.c" /* yacc.c:1646  */
 -#line 3612 "awkgram.c" /* yacc.c:1646  */
++#line 3613 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 149:
- #line 1585 "awkgram.y" /* yacc.c:1646  */
 -#line 1590 "awkgram.y" /* yacc.c:1646  */
++#line 1591 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3617 "awkgram.c" /* yacc.c:1646  */
 -#line 3622 "awkgram.c" /* yacc.c:1646  */
++#line 3623 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 150:
- #line 1591 "awkgram.y" /* yacc.c:1646  */
 -#line 1596 "awkgram.y" /* yacc.c:1646  */
++#line 1597 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3627 "awkgram.c" /* yacc.c:1646  */
 -#line 3632 "awkgram.c" /* yacc.c:1646  */
++#line 3633 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 151:
- #line 1597 "awkgram.y" /* yacc.c:1646  */
 -#line 1602 "awkgram.y" /* yacc.c:1646  */
++#line 1603 "awkgram.y" /* yacc.c:1646  */
      {
                static bool warned = false;
  
@@@ -3640,45 -3645,45 +3646,45 @@@
                if ((yyval) == NULL)
                        YYABORT;
          }
- #line 3644 "awkgram.c" /* yacc.c:1646  */
 -#line 3649 "awkgram.c" /* yacc.c:1646  */
++#line 3650 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 154:
- #line 1612 "awkgram.y" /* yacc.c:1646  */
 -#line 1617 "awkgram.y" /* yacc.c:1646  */
++#line 1618 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_preincrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3653 "awkgram.c" /* yacc.c:1646  */
 -#line 3658 "awkgram.c" /* yacc.c:1646  */
++#line 3659 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 155:
- #line 1617 "awkgram.y" /* yacc.c:1646  */
 -#line 1622 "awkgram.y" /* yacc.c:1646  */
++#line 1623 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[-1])->opcode = Op_predecrement;
                (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
          }
- #line 3662 "awkgram.c" /* yacc.c:1646  */
 -#line 3667 "awkgram.c" /* yacc.c:1646  */
++#line 3668 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 156:
- #line 1622 "awkgram.y" /* yacc.c:1646  */
 -#line 1627 "awkgram.y" /* yacc.c:1646  */
++#line 1628 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3670 "awkgram.c" /* yacc.c:1646  */
 -#line 3675 "awkgram.c" /* yacc.c:1646  */
++#line 3676 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 157:
- #line 1626 "awkgram.y" /* yacc.c:1646  */
 -#line 1631 "awkgram.y" /* yacc.c:1646  */
++#line 1632 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3678 "awkgram.c" /* yacc.c:1646  */
 -#line 3683 "awkgram.c" /* yacc.c:1646  */
++#line 3684 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 158:
- #line 1630 "awkgram.y" /* yacc.c:1646  */
 -#line 1635 "awkgram.y" /* yacc.c:1646  */
++#line 1636 "awkgram.y" /* yacc.c:1646  */
      {
                if ((yyvsp[0])->lasti->opcode == Op_push_i
                        && ((yyvsp[0])->lasti->memory->flags & (STRCUR|STRING)) 
== 0
@@@ -3693,11 -3698,11 +3699,11 @@@
                        (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
                }
          }
- #line 3697 "awkgram.c" /* yacc.c:1646  */
 -#line 3702 "awkgram.c" /* yacc.c:1646  */
++#line 3703 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 159:
- #line 1645 "awkgram.y" /* yacc.c:1646  */
 -#line 1650 "awkgram.y" /* yacc.c:1646  */
++#line 1651 "awkgram.y" /* yacc.c:1646  */
      {
            /*
             * was: $$ = $2
@@@ -3707,20 -3712,20 +3713,20 @@@
                (yyvsp[-1])->memory = make_number(0.0);
                (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
          }
- #line 3711 "awkgram.c" /* yacc.c:1646  */
 -#line 3716 "awkgram.c" /* yacc.c:1646  */
++#line 3717 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 160:
- #line 1658 "awkgram.y" /* yacc.c:1646  */
 -#line 1663 "awkgram.y" /* yacc.c:1646  */
++#line 1664 "awkgram.y" /* yacc.c:1646  */
      {
                func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
                (yyval) = (yyvsp[0]);
          }
- #line 3720 "awkgram.c" /* yacc.c:1646  */
 -#line 3725 "awkgram.c" /* yacc.c:1646  */
++#line 3726 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 161:
- #line 1663 "awkgram.y" /* yacc.c:1646  */
 -#line 1668 "awkgram.y" /* yacc.c:1646  */
++#line 1669 "awkgram.y" /* yacc.c:1646  */
      {
                /* indirect function call */
                INSTRUCTION *f, *t;
@@@ -3752,13 -3757,25 +3758,25 @@@
                 */
  
                (yyval) = list_prepend((yyvsp[0]), t);
+               at_seen = false;
          }
- #line 3757 "awkgram.c" /* yacc.c:1646  */
 -#line 3763 "awkgram.c" /* yacc.c:1646  */
++#line 3764 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 162:
- #line 1699 "awkgram.y" /* yacc.c:1646  */
 -#line 1705 "awkgram.y" /* yacc.c:1646  */
++#line 1706 "awkgram.y" /* yacc.c:1646  */
      {
+               NODE *n;
+ 
+               if (! at_seen) {
+                       n = lookup((yyvsp[-3])->func_name);
+                       if (n != NULL && n->type != Node_func
+                           && n->type != Node_ext_func && n->type != 
Node_old_ext_func) {
+                               error_ln((yyvsp[-3])->source_line,
+                                       _("attempt to use non-function `%s' in 
function call"),
+                                               (yyvsp[-3])->func_name);
+                       }
+               }
                param_sanity((yyvsp[-1]));
                (yyvsp[-3])->opcode = Op_func_call;
                (yyvsp[-3])->func_body = NULL;
@@@ -3771,49 -3788,49 +3789,49 @@@
                        (yyval) = list_append(t, (yyvsp[-3]));
                }
          }
- #line 3775 "awkgram.c" /* yacc.c:1646  */
 -#line 3792 "awkgram.c" /* yacc.c:1646  */
++#line 3793 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 163:
- #line 1716 "awkgram.y" /* yacc.c:1646  */
 -#line 1733 "awkgram.y" /* yacc.c:1646  */
++#line 1734 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3781 "awkgram.c" /* yacc.c:1646  */
 -#line 3798 "awkgram.c" /* yacc.c:1646  */
++#line 3799 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 164:
- #line 1718 "awkgram.y" /* yacc.c:1646  */
 -#line 1735 "awkgram.y" /* yacc.c:1646  */
++#line 1736 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3787 "awkgram.c" /* yacc.c:1646  */
 -#line 3804 "awkgram.c" /* yacc.c:1646  */
++#line 3805 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 165:
- #line 1723 "awkgram.y" /* yacc.c:1646  */
 -#line 1740 "awkgram.y" /* yacc.c:1646  */
++#line 1741 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3793 "awkgram.c" /* yacc.c:1646  */
 -#line 3810 "awkgram.c" /* yacc.c:1646  */
++#line 3811 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 166:
- #line 1725 "awkgram.y" /* yacc.c:1646  */
 -#line 1742 "awkgram.y" /* yacc.c:1646  */
++#line 1743 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 3799 "awkgram.c" /* yacc.c:1646  */
 -#line 3816 "awkgram.c" /* yacc.c:1646  */
++#line 3817 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 167:
- #line 1730 "awkgram.y" /* yacc.c:1646  */
 -#line 1747 "awkgram.y" /* yacc.c:1646  */
++#line 1748 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3805 "awkgram.c" /* yacc.c:1646  */
 -#line 3822 "awkgram.c" /* yacc.c:1646  */
++#line 3823 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 168:
- #line 1732 "awkgram.y" /* yacc.c:1646  */
 -#line 1749 "awkgram.y" /* yacc.c:1646  */
++#line 1750 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 3813 "awkgram.c" /* yacc.c:1646  */
 -#line 3830 "awkgram.c" /* yacc.c:1646  */
++#line 3831 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 169:
- #line 1739 "awkgram.y" /* yacc.c:1646  */
 -#line 1756 "awkgram.y" /* yacc.c:1646  */
++#line 1757 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->lasti; 
                int count = ip->sub_count;      /* # of SUBSEP-seperated 
expressions */
@@@ -3827,11 -3844,11 +3845,11 @@@
                sub_counter++;  /* count # of dimensions */
                (yyval) = (yyvsp[0]);
          }
- #line 3831 "awkgram.c" /* yacc.c:1646  */
 -#line 3848 "awkgram.c" /* yacc.c:1646  */
++#line 3849 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 170:
- #line 1756 "awkgram.y" /* yacc.c:1646  */
 -#line 1773 "awkgram.y" /* yacc.c:1646  */
++#line 1774 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *t = (yyvsp[-1]);
                if ((yyvsp[-1]) == NULL) {
@@@ -3845,31 -3862,31 +3863,31 @@@
                        (yyvsp[0])->sub_count = count_expressions(&t, false);
                (yyval) = list_append(t, (yyvsp[0]));
          }
- #line 3849 "awkgram.c" /* yacc.c:1646  */
 -#line 3866 "awkgram.c" /* yacc.c:1646  */
++#line 3867 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 171:
- #line 1773 "awkgram.y" /* yacc.c:1646  */
 -#line 1790 "awkgram.y" /* yacc.c:1646  */
++#line 1791 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); }
- #line 3855 "awkgram.c" /* yacc.c:1646  */
 -#line 3872 "awkgram.c" /* yacc.c:1646  */
++#line 3873 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 172:
- #line 1775 "awkgram.y" /* yacc.c:1646  */
 -#line 1792 "awkgram.y" /* yacc.c:1646  */
++#line 1793 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
          }
- #line 3863 "awkgram.c" /* yacc.c:1646  */
 -#line 3880 "awkgram.c" /* yacc.c:1646  */
++#line 3881 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 173:
- #line 1782 "awkgram.y" /* yacc.c:1646  */
 -#line 1799 "awkgram.y" /* yacc.c:1646  */
++#line 1800 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[-1]); }
- #line 3869 "awkgram.c" /* yacc.c:1646  */
 -#line 3886 "awkgram.c" /* yacc.c:1646  */
++#line 3887 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 174:
- #line 1787 "awkgram.y" /* yacc.c:1646  */
 -#line 1804 "awkgram.y" /* yacc.c:1646  */
++#line 1805 "awkgram.y" /* yacc.c:1646  */
      {
                char *var_name = (yyvsp[0])->lextok;
  
@@@ -3877,22 -3894,22 +3895,22 @@@
                (yyvsp[0])->memory = variable((yyvsp[0])->source_line, 
var_name, Node_var_new);
                (yyval) = list_create((yyvsp[0]));
          }
- #line 3881 "awkgram.c" /* yacc.c:1646  */
 -#line 3898 "awkgram.c" /* yacc.c:1646  */
++#line 3899 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 175:
- #line 1795 "awkgram.y" /* yacc.c:1646  */
 -#line 1812 "awkgram.y" /* yacc.c:1646  */
++#line 1813 "awkgram.y" /* yacc.c:1646  */
      {
                char *arr = (yyvsp[-1])->lextok;
                (yyvsp[-1])->memory = variable((yyvsp[-1])->source_line, arr, 
Node_var_new);
                (yyvsp[-1])->opcode = Op_push_array;
                (yyval) = list_prepend((yyvsp[0]), (yyvsp[-1]));
          }
- #line 3892 "awkgram.c" /* yacc.c:1646  */
 -#line 3909 "awkgram.c" /* yacc.c:1646  */
++#line 3910 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 176:
- #line 1805 "awkgram.y" /* yacc.c:1646  */
 -#line 1822 "awkgram.y" /* yacc.c:1646  */
++#line 1823 "awkgram.y" /* yacc.c:1646  */
      {
                INSTRUCTION *ip = (yyvsp[0])->nexti;
                if (ip->opcode == Op_push
@@@ -3904,73 -3921,73 +3922,73 @@@
                } else
                        (yyval) = (yyvsp[0]);
          }
- #line 3908 "awkgram.c" /* yacc.c:1646  */
 -#line 3925 "awkgram.c" /* yacc.c:1646  */
++#line 3926 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 177:
- #line 1817 "awkgram.y" /* yacc.c:1646  */
 -#line 1834 "awkgram.y" /* yacc.c:1646  */
++#line 1835 "awkgram.y" /* yacc.c:1646  */
      {
                (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
                if ((yyvsp[0]) != NULL)
                        mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
          }
- #line 3918 "awkgram.c" /* yacc.c:1646  */
 -#line 3935 "awkgram.c" /* yacc.c:1646  */
++#line 3936 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 178:
- #line 1826 "awkgram.y" /* yacc.c:1646  */
 -#line 1843 "awkgram.y" /* yacc.c:1646  */
++#line 1844 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postincrement;
          }
- #line 3926 "awkgram.c" /* yacc.c:1646  */
 -#line 3943 "awkgram.c" /* yacc.c:1646  */
++#line 3944 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 179:
- #line 1830 "awkgram.y" /* yacc.c:1646  */
 -#line 1847 "awkgram.y" /* yacc.c:1646  */
++#line 1848 "awkgram.y" /* yacc.c:1646  */
      {
                (yyvsp[0])->opcode = Op_postdecrement;
          }
- #line 3934 "awkgram.c" /* yacc.c:1646  */
 -#line 3951 "awkgram.c" /* yacc.c:1646  */
++#line 3952 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 180:
- #line 1833 "awkgram.y" /* yacc.c:1646  */
 -#line 1850 "awkgram.y" /* yacc.c:1646  */
++#line 1851 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = NULL; }
- #line 3940 "awkgram.c" /* yacc.c:1646  */
 -#line 3957 "awkgram.c" /* yacc.c:1646  */
++#line 3958 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 182:
- #line 1841 "awkgram.y" /* yacc.c:1646  */
 -#line 1858 "awkgram.y" /* yacc.c:1646  */
++#line 1859 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 3946 "awkgram.c" /* yacc.c:1646  */
 -#line 3963 "awkgram.c" /* yacc.c:1646  */
++#line 3964 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 183:
- #line 1845 "awkgram.y" /* yacc.c:1646  */
 -#line 1862 "awkgram.y" /* yacc.c:1646  */
++#line 1863 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 3952 "awkgram.c" /* yacc.c:1646  */
 -#line 3969 "awkgram.c" /* yacc.c:1646  */
++#line 3970 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 186:
- #line 1854 "awkgram.y" /* yacc.c:1646  */
 -#line 1871 "awkgram.y" /* yacc.c:1646  */
++#line 1872 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 3958 "awkgram.c" /* yacc.c:1646  */
 -#line 3975 "awkgram.c" /* yacc.c:1646  */
++#line 3976 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 187:
- #line 1858 "awkgram.y" /* yacc.c:1646  */
 -#line 1875 "awkgram.y" /* yacc.c:1646  */
++#line 1876 "awkgram.y" /* yacc.c:1646  */
      { (yyval) = (yyvsp[0]); yyerrok; }
- #line 3964 "awkgram.c" /* yacc.c:1646  */
 -#line 3981 "awkgram.c" /* yacc.c:1646  */
++#line 3982 "awkgram.c" /* yacc.c:1646  */
      break;
  
    case 188:
- #line 1862 "awkgram.y" /* yacc.c:1646  */
 -#line 1879 "awkgram.y" /* yacc.c:1646  */
++#line 1880 "awkgram.y" /* yacc.c:1646  */
      { yyerrok; }
- #line 3970 "awkgram.c" /* yacc.c:1646  */
 -#line 3987 "awkgram.c" /* yacc.c:1646  */
++#line 3988 "awkgram.c" /* yacc.c:1646  */
      break;
  
  
- #line 3974 "awkgram.c" /* yacc.c:1646  */
 -#line 3991 "awkgram.c" /* yacc.c:1646  */
++#line 3992 "awkgram.c" /* yacc.c:1646  */
        default: break;
      }
    /* User semantic actions sometimes alter yychar, and that requires
@@@ -4198,7 -4215,7 +4216,7 @@@ yyreturn
  #endif
    return yyresult;
  }
- #line 1864 "awkgram.y" /* yacc.c:1906  */
 -#line 1881 "awkgram.y" /* yacc.c:1906  */
++#line 1882 "awkgram.y" /* yacc.c:1906  */
  
  
  struct token {
diff --cc doc/gawk.info
index 10085b3,1c74fc9..e399353
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@@ -32599,9 -32651,9 +32768,9 @@@ Inde
  * differences in awk and gawk, strings:  Scalar Constants.    (line  20)
  * differences in awk and gawk, strings, storing: gawk split records.
                                                                (line  77)
 -* differences in awk and gawk, SYMTAB variable: Auto-set.     (line 283)
 +* differences in awk and gawk, SYMTAB variable: Auto-set.     (line 296)
  * differences in awk and gawk, TEXTDOMAIN variable: User-modified.
-                                                               (line 151)
+                                                               (line 152)
  * differences in awk and gawk, trunc-mod operation: Arithmetic Ops.
                                                                (line  66)
  * directories, command-line:             Command-line directories.
@@@ -33089,8 -33141,8 +33258,8 @@@
  * gawk, source code, obtaining:          Getting.             (line   6)
  * gawk, splitting fields and:            Constant Size.       (line  87)
  * gawk, string-translation functions:    I18N Functions.      (line   6)
 -* gawk, SYMTAB array in:                 Auto-set.            (line 283)
 +* gawk, SYMTAB array in:                 Auto-set.            (line 296)
- * gawk, TEXTDOMAIN variable in:          User-modified.       (line 151)
+ * gawk, TEXTDOMAIN variable in:          User-modified.       (line 152)
  * gawk, timestamps:                      Time Functions.      (line   6)
  * gawk, uses for:                        Preface.             (line  34)
  * gawk, versions of, information about, printing: Options.    (line 300)
@@@ -33476,8 -33528,8 +33645,8 @@@
  * mawk utility <3>:                      Concatenation.       (line  36)
  * mawk utility <4>:                      Getline/Pipe.        (line  62)
  * mawk utility:                          Escape Sequences.    (line 120)
 -* maximum precision supported by MPFR library: Auto-set.      (line 235)
 +* maximum precision supported by MPFR library: Auto-set.      (line 244)
- * McIlroy, Doug:                         Glossary.            (line 177)
+ * McIlroy, Doug:                         Glossary.            (line 258)
  * McPhee, Patrick:                       Contributors.        (line 100)
  * message object files:                  Explaining gettext.  (line  42)
  * message object files, converting from portable object files: I18N Example.
@@@ -33980,8 -34032,7 +34149,8 @@@
  * regular expressions, searching for:    Egrep Program.       (line   6)
  * relational operators, See comparison operators: Typing and Comparison.
                                                                (line   9)
- * replace in string:                     String Functions.    (line 408)
+ * replace in string:                     String Functions.    (line 409)
 +* retrying input:                        Retrying Input.      (line   6)
  * return debugger command:               Debugger Execution Control.
                                                                (line  54)
  * return statement, user-defined functions: Return Statement. (line   6)
@@@ -34136,9 -34187,9 +34305,9 @@@
                                                                (line 106)
  * sidebar, Changing FS Does Not Affect the Fields: Full Line Fields.
                                                                (line  14)
 -* sidebar, Changing NR and FNR:          Auto-set.            (line 326)
 +* sidebar, Changing NR and FNR:          Auto-set.            (line 339)
  * sidebar, Controlling Output Buffering with system(): I/O Functions.
-                                                               (line 138)
+                                                               (line 139)
  * sidebar, Escape Sequences for Metacharacters: Escape Sequences.
                                                                (line 137)
  * sidebar, FS and IGNORECASE:            Field Splitting Summary.
@@@ -34295,15 -34346,15 +34464,15 @@@
  * SUBSEP variable, and multidimensional arrays: Multidimensional.
                                                                (line  16)
  * substitute in string:                  String Functions.    (line  90)
- * substr:                                String Functions.    (line 481)
- * substring:                             String Functions.    (line 481)
+ * substr:                                String Functions.    (line 482)
+ * substring:                             String Functions.    (line 482)
  * Sumner, Andrew:                        Other Versions.      (line  68)
 -* supplementary groups of gawk process:  Auto-set.            (line 251)
 +* supplementary groups of gawk process:  Auto-set.            (line 260)
  * switch statement:                      Switch Statement.    (line   6)
 -* SYMTAB array:                          Auto-set.            (line 283)
 +* SYMTAB array:                          Auto-set.            (line 296)
  * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops.
                                                                (line 148)
- * system:                                I/O Functions.       (line 106)
+ * system:                                I/O Functions.       (line 107)
  * systime:                               Time Functions.      (line  66)
  * t debugger command (alias for tbreak): Breakpoint Control.  (line  90)
  * tbreak debugger command:               Breakpoint Control.  (line  90)
@@@ -34570,562 -34621,560 +34739,562 @@@
  
  Tag Table:
  Node: Top1204
 -Node: Foreword342225
 -Node: Foreword446669
 -Node: Preface48200
 -Ref: Preface-Footnote-151071
 -Ref: Preface-Footnote-251178
 -Ref: Preface-Footnote-351411
 -Node: History51553
 -Node: Names53904
 -Ref: Names-Footnote-154997
 -Node: This Manual55143
 -Ref: This Manual-Footnote-161643
 -Node: Conventions61743
 -Node: Manual History64080
 -Ref: Manual History-Footnote-167073
 -Ref: Manual History-Footnote-267114
 -Node: How To Contribute67188
 -Node: Acknowledgments68317
 -Node: Getting Started73134
 -Node: Running gawk75573
 -Node: One-shot76763
 -Node: Read Terminal78027
 -Node: Long80058
 -Node: Executable Scripts81571
 -Ref: Executable Scripts-Footnote-184360
 -Node: Comments84463
 -Node: Quoting86945
 -Node: DOS Quoting92463
 -Node: Sample Data Files93138
 -Node: Very Simple95733
 -Node: Two Rules100632
 -Node: More Complex102518
 -Node: Statements/Lines105380
 -Ref: Statements/Lines-Footnote-1109835
 -Node: Other Features110100
 -Node: When111036
 -Ref: When-Footnote-1112790
 -Node: Intro Summary112855
 -Node: Invoking Gawk113739
 -Node: Command Line115253
 -Node: Options116051
 -Ref: Options-Footnote-1131846
 -Ref: Options-Footnote-2132075
 -Node: Other Arguments132100
 -Node: Naming Standard Input135048
 -Node: Environment Variables136141
 -Node: AWKPATH Variable136699
 -Ref: AWKPATH Variable-Footnote-1140106
 -Ref: AWKPATH Variable-Footnote-2140151
 -Node: AWKLIBPATH Variable140411
 -Node: Other Environment Variables141667
 -Node: Exit Status145185
 -Node: Include Files145861
 -Node: Loading Shared Libraries149450
 -Node: Obsolete150877
 -Node: Undocumented151569
 -Node: Invoking Summary151836
 -Node: Regexp153499
 -Node: Regexp Usage154953
 -Node: Escape Sequences156990
 -Node: Regexp Operators163230
 -Ref: Regexp Operators-Footnote-1170640
 -Ref: Regexp Operators-Footnote-2170787
 -Node: Bracket Expressions170885
 -Ref: table-char-classes172900
 -Node: Leftmost Longest175842
 -Node: Computed Regexps177144
 -Node: GNU Regexp Operators180573
 -Node: Case-sensitivity184245
 -Ref: Case-sensitivity-Footnote-1187130
 -Ref: Case-sensitivity-Footnote-2187365
 -Node: Regexp Summary187473
 -Node: Reading Files188940
 -Node: Records191033
 -Node: awk split records191766
 -Node: gawk split records196695
 -Ref: gawk split records-Footnote-1201234
 -Node: Fields201271
 -Ref: Fields-Footnote-1204049
 -Node: Nonconstant Fields204135
 -Ref: Nonconstant Fields-Footnote-1206373
 -Node: Changing Fields206576
 -Node: Field Separators212507
 -Node: Default Field Splitting215211
 -Node: Regexp Field Splitting216328
 -Node: Single Character Fields219678
 -Node: Command Line Field Separator220737
 -Node: Full Line Fields223954
 -Ref: Full Line Fields-Footnote-1225475
 -Ref: Full Line Fields-Footnote-2225521
 -Node: Field Splitting Summary225622
 -Node: Constant Size227696
 -Node: Splitting By Content232279
 -Ref: Splitting By Content-Footnote-1236244
 -Node: Multiple Line236407
 -Ref: Multiple Line-Footnote-1242288
 -Node: Getline242467
 -Node: Plain Getline244674
 -Node: Getline/Variable247314
 -Node: Getline/File248463
 -Node: Getline/Variable/File249848
 -Ref: Getline/Variable/File-Footnote-1251451
 -Node: Getline/Pipe251538
 -Node: Getline/Variable/Pipe254216
 -Node: Getline/Coprocess255347
 -Node: Getline/Variable/Coprocess256611
 -Node: Getline Notes257350
 -Node: Getline Summary260144
 -Ref: table-getline-variants260556
 -Node: Read Timeout261385
 -Ref: Read Timeout-Footnote-1265222
 -Node: Command-line directories265280
 -Node: Input Summary266185
 -Node: Input Exercises269570
 -Node: Printing270298
 -Node: Print272075
 -Node: Print Examples273532
 -Node: Output Separators276311
 -Node: OFMT278329
 -Node: Printf279684
 -Node: Basic Printf280469
 -Node: Control Letters282041
 -Node: Format Modifiers286026
 -Node: Printf Examples292036
 -Node: Redirection294522
 -Node: Special FD301360
 -Ref: Special FD-Footnote-1304526
 -Node: Special Files304600
 -Node: Other Inherited Files305217
 -Node: Special Network306217
 -Node: Special Caveats307079
 -Node: Close Files And Pipes308028
 -Ref: Close Files And Pipes-Footnote-1315219
 -Ref: Close Files And Pipes-Footnote-2315367
 -Node: Output Summary315517
 -Node: Output Exercises316515
 -Node: Expressions317195
 -Node: Values318384
 -Node: Constants319061
 -Node: Scalar Constants319752
 -Ref: Scalar Constants-Footnote-1320614
 -Node: Nondecimal-numbers320864
 -Node: Regexp Constants323874
 -Node: Using Constant Regexps324400
 -Node: Variables327563
 -Node: Using Variables328220
 -Node: Assignment Options330131
 -Node: Conversion332006
 -Node: Strings And Numbers332530
 -Ref: Strings And Numbers-Footnote-1335595
 -Node: Locale influences conversions335704
 -Ref: table-locale-affects338450
 -Node: All Operators339042
 -Node: Arithmetic Ops339671
 -Node: Concatenation342176
 -Ref: Concatenation-Footnote-1344995
 -Node: Assignment Ops345102
 -Ref: table-assign-ops350081
 -Node: Increment Ops351391
 -Node: Truth Values and Conditions354822
 -Node: Truth Values355905
 -Node: Typing and Comparison356954
 -Node: Variable Typing357770
 -Node: Comparison Operators361437
 -Ref: table-relational-ops361847
 -Node: POSIX String Comparison365342
 -Ref: POSIX String Comparison-Footnote-1366414
 -Node: Boolean Ops366553
 -Ref: Boolean Ops-Footnote-1371031
 -Node: Conditional Exp371122
 -Node: Function Calls372860
 -Node: Precedence376740
 -Node: Locales380400
 -Node: Expressions Summary382032
 -Node: Patterns and Actions384603
 -Node: Pattern Overview385723
 -Node: Regexp Patterns387402
 -Node: Expression Patterns387945
 -Node: Ranges391654
 -Node: BEGIN/END394761
 -Node: Using BEGIN/END395522
 -Ref: Using BEGIN/END-Footnote-1398258
 -Node: I/O And BEGIN/END398364
 -Node: BEGINFILE/ENDFILE400679
 -Node: Empty403576
 -Node: Using Shell Variables403893
 -Node: Action Overview406166
 -Node: Statements408492
 -Node: If Statement410340
 -Node: While Statement411835
 -Node: Do Statement413863
 -Node: For Statement415011
 -Node: Switch Statement418169
 -Node: Break Statement420551
 -Node: Continue Statement422592
 -Node: Next Statement424419
 -Node: Nextfile Statement426800
 -Node: Exit Statement429428
 -Node: Built-in Variables431839
 -Node: User-modified432972
 -Ref: User-modified-Footnote-1440675
 -Node: Auto-set440737
 -Ref: Auto-set-Footnote-1454446
 -Ref: Auto-set-Footnote-2454651
 -Node: ARGC and ARGV454707
 -Node: Pattern Action Summary458925
 -Node: Arrays461358
 -Node: Array Basics462687
 -Node: Array Intro463531
 -Ref: figure-array-elements465465
 -Ref: Array Intro-Footnote-1468085
 -Node: Reference to Elements468213
 -Node: Assigning Elements470675
 -Node: Array Example471166
 -Node: Scanning an Array472925
 -Node: Controlling Scanning475945
 -Ref: Controlling Scanning-Footnote-1481339
 -Node: Numeric Array Subscripts481655
 -Node: Uninitialized Subscripts483840
 -Node: Delete485457
 -Ref: Delete-Footnote-1488206
 -Node: Multidimensional488263
 -Node: Multiscanning491360
 -Node: Arrays of Arrays492949
 -Node: Arrays Summary497703
 -Node: Functions499794
 -Node: Built-in500833
 -Node: Calling Built-in501911
 -Node: Numeric Functions503906
 -Ref: Numeric Functions-Footnote-1508724
 -Ref: Numeric Functions-Footnote-2509081
 -Ref: Numeric Functions-Footnote-3509129
 -Node: String Functions509401
 -Ref: String Functions-Footnote-1532902
 -Ref: String Functions-Footnote-2533031
 -Ref: String Functions-Footnote-3533279
 -Node: Gory Details533366
 -Ref: table-sub-escapes535147
 -Ref: table-sub-proposed536662
 -Ref: table-posix-sub538024
 -Ref: table-gensub-escapes539561
 -Ref: Gory Details-Footnote-1540394
 -Node: I/O Functions540545
 -Ref: I/O Functions-Footnote-1547781
 -Node: Time Functions547928
 -Ref: Time Functions-Footnote-1558437
 -Ref: Time Functions-Footnote-2558505
 -Ref: Time Functions-Footnote-3558663
 -Ref: Time Functions-Footnote-4558774
 -Ref: Time Functions-Footnote-5558886
 -Ref: Time Functions-Footnote-6559113
 -Node: Bitwise Functions559379
 -Ref: table-bitwise-ops559941
 -Ref: Bitwise Functions-Footnote-1564253
 -Node: Type Functions564425
 -Node: I18N Functions565576
 -Node: User-defined567221
 -Node: Definition Syntax568026
 -Ref: Definition Syntax-Footnote-1573525
 -Node: Function Example573596
 -Ref: Function Example-Footnote-1576515
 -Node: Function Caveats576537
 -Node: Calling A Function577055
 -Node: Variable Scope578013
 -Node: Pass By Value/Reference581001
 -Node: Return Statement584496
 -Node: Dynamic Typing587477
 -Node: Indirect Calls588406
 -Ref: Indirect Calls-Footnote-1599724
 -Node: Functions Summary599852
 -Node: Library Functions602554
 -Ref: Library Functions-Footnote-1606163
 -Ref: Library Functions-Footnote-2606306
 -Node: Library Names606477
 -Ref: Library Names-Footnote-1609931
 -Ref: Library Names-Footnote-2610154
 -Node: General Functions610240
 -Node: Strtonum Function611343
 -Node: Assert Function614365
 -Node: Round Function617689
 -Node: Cliff Random Function619230
 -Node: Ordinal Functions620246
 -Ref: Ordinal Functions-Footnote-1623309
 -Ref: Ordinal Functions-Footnote-2623561
 -Node: Join Function623772
 -Ref: Join Function-Footnote-1625541
 -Node: Getlocaltime Function625741
 -Node: Readfile Function629485
 -Node: Shell Quoting631455
 -Node: Data File Management632856
 -Node: Filetrans Function633488
 -Node: Rewind Function637544
 -Node: File Checking638931
 -Ref: File Checking-Footnote-1640263
 -Node: Empty Files640464
 -Node: Ignoring Assigns642443
 -Node: Getopt Function643994
 -Ref: Getopt Function-Footnote-1655456
 -Node: Passwd Functions655656
 -Ref: Passwd Functions-Footnote-1664493
 -Node: Group Functions664581
 -Ref: Group Functions-Footnote-1672475
 -Node: Walking Arrays672688
 -Node: Library Functions Summary674291
 -Node: Library Exercises675692
 -Node: Sample Programs676972
 -Node: Running Examples677742
 -Node: Clones678470
 -Node: Cut Program679694
 -Node: Egrep Program689413
 -Ref: Egrep Program-Footnote-1696911
 -Node: Id Program697021
 -Node: Split Program700666
 -Ref: Split Program-Footnote-1704114
 -Node: Tee Program704242
 -Node: Uniq Program707031
 -Node: Wc Program714450
 -Ref: Wc Program-Footnote-1718700
 -Node: Miscellaneous Programs718794
 -Node: Dupword Program720007
 -Node: Alarm Program722038
 -Node: Translate Program726842
 -Ref: Translate Program-Footnote-1731407
 -Node: Labels Program731677
 -Ref: Labels Program-Footnote-1735028
 -Node: Word Sorting735112
 -Node: History Sorting739183
 -Node: Extract Program741019
 -Node: Simple Sed748544
 -Node: Igawk Program751612
 -Ref: Igawk Program-Footnote-1765936
 -Ref: Igawk Program-Footnote-2766137
 -Ref: Igawk Program-Footnote-3766259
 -Node: Anagram Program766374
 -Node: Signature Program769431
 -Node: Programs Summary770678
 -Node: Programs Exercises771871
 -Ref: Programs Exercises-Footnote-1776002
 -Node: Advanced Features776093
 -Node: Nondecimal Data778041
 -Node: Array Sorting779631
 -Node: Controlling Array Traversal780328
 -Ref: Controlling Array Traversal-Footnote-1788661
 -Node: Array Sorting Functions788779
 -Ref: Array Sorting Functions-Footnote-1792668
 -Node: Two-way I/O792864
 -Ref: Two-way I/O-Footnote-1797809
 -Ref: Two-way I/O-Footnote-2797995
 -Node: TCP/IP Networking798077
 -Node: Profiling800950
 -Node: Advanced Features Summary809227
 -Node: Internationalization811160
 -Node: I18N and L10N812640
 -Node: Explaining gettext813326
 -Ref: Explaining gettext-Footnote-1818351
 -Ref: Explaining gettext-Footnote-2818535
 -Node: Programmer i18n818700
 -Ref: Programmer i18n-Footnote-1823566
 -Node: Translator i18n823615
 -Node: String Extraction824409
 -Ref: String Extraction-Footnote-1825540
 -Node: Printf Ordering825626
 -Ref: Printf Ordering-Footnote-1828412
 -Node: I18N Portability828476
 -Ref: I18N Portability-Footnote-1830931
 -Node: I18N Example830994
 -Ref: I18N Example-Footnote-1833797
 -Node: Gawk I18N833869
 -Node: I18N Summary834507
 -Node: Debugger835846
 -Node: Debugging836868
 -Node: Debugging Concepts837309
 -Node: Debugging Terms839162
 -Node: Awk Debugging841734
 -Node: Sample Debugging Session842628
 -Node: Debugger Invocation843148
 -Node: Finding The Bug844532
 -Node: List of Debugger Commands851007
 -Node: Breakpoint Control852340
 -Node: Debugger Execution Control856036
 -Node: Viewing And Changing Data859400
 -Node: Execution Stack862778
 -Node: Debugger Info864415
 -Node: Miscellaneous Debugger Commands868432
 -Node: Readline Support873461
 -Node: Limitations874353
 -Node: Debugging Summary876467
 -Node: Arbitrary Precision Arithmetic877635
 -Node: Computer Arithmetic879051
 -Ref: table-numeric-ranges882649
 -Ref: Computer Arithmetic-Footnote-1883508
 -Node: Math Definitions883565
 -Ref: table-ieee-formats886853
 -Ref: Math Definitions-Footnote-1887457
 -Node: MPFR features887562
 -Node: FP Math Caution889233
 -Ref: FP Math Caution-Footnote-1890283
 -Node: Inexactness of computations890652
 -Node: Inexact representation891611
 -Node: Comparing FP Values892968
 -Node: Errors accumulate894050
 -Node: Getting Accuracy895483
 -Node: Try To Round898145
 -Node: Setting precision899044
 -Ref: table-predefined-precision-strings899728
 -Node: Setting the rounding mode901517
 -Ref: table-gawk-rounding-modes901881
 -Ref: Setting the rounding mode-Footnote-1905336
 -Node: Arbitrary Precision Integers905515
 -Ref: Arbitrary Precision Integers-Footnote-1910415
 -Node: POSIX Floating Point Problems910564
 -Ref: POSIX Floating Point Problems-Footnote-1914437
 -Node: Floating point summary914475
 -Node: Dynamic Extensions916669
 -Node: Extension Intro918221
 -Node: Plugin License919487
 -Node: Extension Mechanism Outline920284
 -Ref: figure-load-extension920712
 -Ref: figure-register-new-function922192
 -Ref: figure-call-new-function923196
 -Node: Extension API Description925182
 -Node: Extension API Functions Introduction926632
 -Node: General Data Types931456
 -Ref: General Data Types-Footnote-1937195
 -Node: Memory Allocation Functions937494
 -Ref: Memory Allocation Functions-Footnote-1940333
 -Node: Constructor Functions940429
 -Node: Registration Functions942163
 -Node: Extension Functions942848
 -Node: Exit Callback Functions945145
 -Node: Extension Version String946393
 -Node: Input Parsers947058
 -Node: Output Wrappers956937
 -Node: Two-way processors961452
 -Node: Printing Messages963656
 -Ref: Printing Messages-Footnote-1964732
 -Node: Updating `ERRNO'964884
 -Node: Requesting Values965624
 -Ref: table-value-types-returned966352
 -Node: Accessing Parameters967309
 -Node: Symbol Table Access968540
 -Node: Symbol table by name969054
 -Node: Symbol table by cookie971035
 -Ref: Symbol table by cookie-Footnote-1975179
 -Node: Cached values975242
 -Ref: Cached values-Footnote-1978741
 -Node: Array Manipulation978832
 -Ref: Array Manipulation-Footnote-1979930
 -Node: Array Data Types979967
 -Ref: Array Data Types-Footnote-1982622
 -Node: Array Functions982714
 -Node: Flattening Arrays986568
 -Node: Creating Arrays993460
 -Node: Extension API Variables998231
 -Node: Extension Versioning998867
 -Node: Extension API Informational Variables1000768
 -Node: Extension API Boilerplate1001833
 -Node: Finding Extensions1005642
 -Node: Extension Example1006202
 -Node: Internal File Description1006974
 -Node: Internal File Ops1011041
 -Ref: Internal File Ops-Footnote-11022711
 -Node: Using Internal File Ops1022851
 -Ref: Using Internal File Ops-Footnote-11025234
 -Node: Extension Samples1025507
 -Node: Extension Sample File Functions1027033
 -Node: Extension Sample Fnmatch1034671
 -Node: Extension Sample Fork1036162
 -Node: Extension Sample Inplace1037377
 -Node: Extension Sample Ord1039052
 -Node: Extension Sample Readdir1039888
 -Ref: table-readdir-file-types1040764
 -Node: Extension Sample Revout1041575
 -Node: Extension Sample Rev2way1042165
 -Node: Extension Sample Read write array1042905
 -Node: Extension Sample Readfile1044845
 -Node: Extension Sample Time1045940
 -Node: Extension Sample API Tests1047289
 -Node: gawkextlib1047780
 -Node: Extension summary1050438
 -Node: Extension Exercises1054127
 -Node: Language History1054849
 -Node: V7/SVR3.11056505
 -Node: SVR41058686
 -Node: POSIX1060131
 -Node: BTL1061520
 -Node: POSIX/GNU1062254
 -Node: Feature History1067878
 -Node: Common Extensions1080976
 -Node: Ranges and Locales1082300
 -Ref: Ranges and Locales-Footnote-11086918
 -Ref: Ranges and Locales-Footnote-21086945
 -Ref: Ranges and Locales-Footnote-31087179
 -Node: Contributors1087400
 -Node: History summary1092941
 -Node: Installation1094311
 -Node: Gawk Distribution1095257
 -Node: Getting1095741
 -Node: Extracting1096564
 -Node: Distribution contents1098199
 -Node: Unix Installation1104264
 -Node: Quick Installation1104947
 -Node: Shell Startup Files1107358
 -Node: Additional Configuration Options1108437
 -Node: Configuration Philosophy1110176
 -Node: Non-Unix Installation1112545
 -Node: PC Installation1113003
 -Node: PC Binary Installation1114322
 -Node: PC Compiling1116170
 -Ref: PC Compiling-Footnote-11119191
 -Node: PC Testing1119300
 -Node: PC Using1120476
 -Node: Cygwin1124591
 -Node: MSYS1125414
 -Node: VMS Installation1125914
 -Node: VMS Compilation1126706
 -Ref: VMS Compilation-Footnote-11127928
 -Node: VMS Dynamic Extensions1127986
 -Node: VMS Installation Details1129670
 -Node: VMS Running1131922
 -Node: VMS GNV1134758
 -Node: VMS Old Gawk1135492
 -Node: Bugs1135962
 -Node: Other Versions1139845
 -Node: Installation summary1146269
 -Node: Notes1147325
 -Node: Compatibility Mode1148190
 -Node: Additions1148972
 -Node: Accessing The Source1149897
 -Node: Adding Code1151332
 -Node: New Ports1157489
 -Node: Derived Files1161971
 -Ref: Derived Files-Footnote-11167446
 -Ref: Derived Files-Footnote-21167480
 -Ref: Derived Files-Footnote-31168076
 -Node: Future Extensions1168190
 -Node: Implementation Limitations1168796
 -Node: Extension Design1170044
 -Node: Old Extension Problems1171198
 -Ref: Old Extension Problems-Footnote-11172715
 -Node: Extension New Mechanism Goals1172772
 -Ref: Extension New Mechanism Goals-Footnote-11176132
 -Node: Extension Other Design Decisions1176321
 -Node: Extension Future Growth1178429
 -Node: Old Extension Mechanism1179265
 -Node: Notes summary1181027
 -Node: Basic Concepts1182213
 -Node: Basic High Level1182894
 -Ref: figure-general-flow1183166
 -Ref: figure-process-flow1183765
 -Ref: Basic High Level-Footnote-11186994
 -Node: Basic Data Typing1187179
 -Node: Glossary1190507
 -Node: Copying1222436
 -Node: GNU Free Documentation License1259992
 -Node: Index1285128
 +Node: Foreword342385
 +Node: Foreword446829
 +Node: Preface48360
 +Ref: Preface-Footnote-151231
 +Ref: Preface-Footnote-251338
 +Ref: Preface-Footnote-351571
 +Node: History51713
 +Node: Names54064
 +Ref: Names-Footnote-155157
 +Node: This Manual55303
 +Ref: This Manual-Footnote-161803
 +Node: Conventions61903
 +Node: Manual History64240
 +Ref: Manual History-Footnote-167233
 +Ref: Manual History-Footnote-267274
 +Node: How To Contribute67348
 +Node: Acknowledgments68477
 +Node: Getting Started73294
 +Node: Running gawk75733
 +Node: One-shot76923
 +Node: Read Terminal78187
 +Node: Long80218
 +Node: Executable Scripts81731
 +Ref: Executable Scripts-Footnote-184520
 +Node: Comments84623
 +Node: Quoting87105
 +Node: DOS Quoting92623
 +Node: Sample Data Files93298
 +Node: Very Simple95893
 +Node: Two Rules100792
 +Node: More Complex102678
 +Node: Statements/Lines105540
 +Ref: Statements/Lines-Footnote-1109995
 +Node: Other Features110260
- Node: When111191
- Ref: When-Footnote-1112945
- Node: Intro Summary113010
- Node: Invoking Gawk113893
- Node: Command Line115407
- Node: Options116205
- Ref: Options-Footnote-1132009
- Ref: Options-Footnote-2132238
- Node: Other Arguments132263
- Node: Naming Standard Input135211
- Node: Environment Variables136304
- Node: AWKPATH Variable136862
- Ref: AWKPATH Variable-Footnote-1140275
- Ref: AWKPATH Variable-Footnote-2140320
- Node: AWKLIBPATH Variable140580
- Node: Other Environment Variables141836
- Node: Exit Status145324
- Node: Include Files146000
- Node: Loading Shared Libraries149597
- Node: Obsolete151024
- Node: Undocumented151721
- Node: Invoking Summary151988
- Node: Regexp153652
- Node: Regexp Usage155106
- Node: Escape Sequences157143
- Node: Regexp Operators163384
- Ref: Regexp Operators-Footnote-1170810
- Ref: Regexp Operators-Footnote-2170957
- Node: Bracket Expressions171055
- Ref: table-char-classes173070
- Node: Leftmost Longest175994
- Node: Computed Regexps177296
- Node: GNU Regexp Operators180693
- Node: Case-sensitivity184366
- Ref: Case-sensitivity-Footnote-1187251
- Ref: Case-sensitivity-Footnote-2187486
- Node: Regexp Summary187594
- Node: Reading Files189061
- Node: Records191224
- Node: awk split records191957
- Node: gawk split records196872
- Ref: gawk split records-Footnote-1201416
- Node: Fields201453
- Ref: Fields-Footnote-1204229
- Node: Nonconstant Fields204315
- Ref: Nonconstant Fields-Footnote-1206558
- Node: Changing Fields206762
- Node: Field Separators212691
- Node: Default Field Splitting215396
- Node: Regexp Field Splitting216513
- Node: Single Character Fields219863
- Node: Command Line Field Separator220922
- Node: Full Line Fields224134
- Ref: Full Line Fields-Footnote-1225651
- Ref: Full Line Fields-Footnote-2225697
- Node: Field Splitting Summary225798
- Node: Constant Size227872
- Node: Splitting By Content232461
- Ref: Splitting By Content-Footnote-1236455
- Node: Multiple Line236618
- Ref: Multiple Line-Footnote-1242504
- Node: Getline242683
- Node: Plain Getline245167
- Node: Getline/Variable247807
- Node: Getline/File248955
- Node: Getline/Variable/File250339
- Ref: Getline/Variable/File-Footnote-1251942
- Node: Getline/Pipe252029
- Node: Getline/Variable/Pipe254712
- Node: Getline/Coprocess255843
- Node: Getline/Variable/Coprocess257095
- Node: Getline Notes257834
- Node: Getline Summary260626
- Ref: table-getline-variants261038
- Node: Read Timeout261867
- Ref: Read Timeout-Footnote-1265757
- Node: Retrying Input265815
- Node: Command-line directories267010
- Node: Input Summary267917
- Node: Input Exercises271218
- Node: Printing271946
- Node: Print273723
- Node: Print Examples275180
- Node: Output Separators277959
- Node: OFMT279977
- Node: Printf281331
- Node: Basic Printf282116
- Node: Control Letters283686
- Node: Format Modifiers287669
- Node: Printf Examples293678
- Node: Redirection296164
- Node: Special FD303005
- Ref: Special FD-Footnote-1306165
- Node: Special Files306239
- Node: Other Inherited Files306856
- Node: Special Network307856
- Node: Special Caveats308718
- Node: Close Files And Pipes309669
- Ref: Close Files And Pipes-Footnote-1316851
- Ref: Close Files And Pipes-Footnote-2316999
- Node: Output Summary317149
- Node: Output Exercises318147
- Node: Expressions318827
- Node: Values320012
- Node: Constants320690
- Node: Scalar Constants321381
- Ref: Scalar Constants-Footnote-1322240
- Node: Nondecimal-numbers322490
- Node: Regexp Constants325508
- Node: Using Constant Regexps326033
- Node: Variables329176
- Node: Using Variables329831
- Node: Assignment Options331742
- Node: Conversion333617
- Node: Strings And Numbers334141
- Ref: Strings And Numbers-Footnote-1337206
- Node: Locale influences conversions337315
- Ref: table-locale-affects340062
- Node: All Operators340650
- Node: Arithmetic Ops341280
- Node: Concatenation343785
- Ref: Concatenation-Footnote-1346604
- Node: Assignment Ops346710
- Ref: table-assign-ops351689
- Node: Increment Ops352961
- Node: Truth Values and Conditions356399
- Node: Truth Values357484
- Node: Typing and Comparison358533
- Node: Variable Typing359343
- Node: Comparison Operators362996
- Ref: table-relational-ops363406
- Node: POSIX String Comparison366901
- Ref: POSIX String Comparison-Footnote-1367973
- Node: Boolean Ops368111
- Ref: Boolean Ops-Footnote-1372590
- Node: Conditional Exp372681
- Node: Function Calls374408
- Node: Precedence378288
- Node: Locales381949
- Node: Expressions Summary383581
- Node: Patterns and Actions386141
- Node: Pattern Overview387261
- Node: Regexp Patterns388940
- Node: Expression Patterns389483
- Node: Ranges393193
- Node: BEGIN/END396299
- Node: Using BEGIN/END397060
- Ref: Using BEGIN/END-Footnote-1399794
- Node: I/O And BEGIN/END399900
- Node: BEGINFILE/ENDFILE402214
- Node: Empty405115
- Node: Using Shell Variables405432
- Node: Action Overview407705
- Node: Statements410031
- Node: If Statement411879
- Node: While Statement413374
- Node: Do Statement415403
- Node: For Statement416547
- Node: Switch Statement419704
- Node: Break Statement422086
- Node: Continue Statement424127
- Node: Next Statement425954
- Node: Nextfile Statement428335
- Node: Exit Statement430965
- Node: Built-in Variables433368
- Node: User-modified434501
- Ref: User-modified-Footnote-1442182
- Node: Auto-set442244
- Ref: Auto-set-Footnote-1456460
- Ref: Auto-set-Footnote-2456665
- Node: ARGC and ARGV456721
- Node: Pattern Action Summary460939
- Node: Arrays463366
- Node: Array Basics464695
- Node: Array Intro465539
- Ref: figure-array-elements467503
- Ref: Array Intro-Footnote-1470029
- Node: Reference to Elements470157
- Node: Assigning Elements472609
- Node: Array Example473100
- Node: Scanning an Array474858
- Node: Controlling Scanning477874
- Ref: Controlling Scanning-Footnote-1483070
- Node: Numeric Array Subscripts483386
- Node: Uninitialized Subscripts485571
- Node: Delete487188
- Ref: Delete-Footnote-1489931
- Node: Multidimensional489988
- Node: Multiscanning493085
- Node: Arrays of Arrays494674
- Node: Arrays Summary499433
- Node: Functions501525
- Node: Built-in502424
- Node: Calling Built-in503502
- Node: Numeric Functions505493
- Ref: Numeric Functions-Footnote-1510312
- Ref: Numeric Functions-Footnote-2510669
- Ref: Numeric Functions-Footnote-3510717
- Node: String Functions510989
- Ref: String Functions-Footnote-1534464
- Ref: String Functions-Footnote-2534593
- Ref: String Functions-Footnote-3534841
- Node: Gory Details534928
- Ref: table-sub-escapes536709
- Ref: table-sub-proposed538229
- Ref: table-posix-sub539593
- Ref: table-gensub-escapes541129
- Ref: Gory Details-Footnote-1541961
- Node: I/O Functions542112
- Ref: I/O Functions-Footnote-1549330
- Node: Time Functions549477
- Ref: Time Functions-Footnote-1559965
- Ref: Time Functions-Footnote-2560033
- Ref: Time Functions-Footnote-3560191
- Ref: Time Functions-Footnote-4560302
- Ref: Time Functions-Footnote-5560414
- Ref: Time Functions-Footnote-6560641
- Node: Bitwise Functions560907
- Ref: table-bitwise-ops561469
- Ref: Bitwise Functions-Footnote-1565778
- Node: Type Functions565947
- Node: I18N Functions567098
- Node: User-defined568743
- Node: Definition Syntax569548
- Ref: Definition Syntax-Footnote-1574955
- Node: Function Example575026
- Ref: Function Example-Footnote-1577945
- Node: Function Caveats577967
- Node: Calling A Function578485
- Node: Variable Scope579443
- Node: Pass By Value/Reference582431
- Node: Return Statement585926
- Node: Dynamic Typing588907
- Node: Indirect Calls589836
- Ref: Indirect Calls-Footnote-1601138
- Node: Functions Summary601266
- Node: Library Functions603968
- Ref: Library Functions-Footnote-1607577
- Ref: Library Functions-Footnote-2607720
- Node: Library Names607891
- Ref: Library Names-Footnote-1611345
- Ref: Library Names-Footnote-2611568
- Node: General Functions611654
- Node: Strtonum Function612757
- Node: Assert Function615779
- Node: Round Function619103
- Node: Cliff Random Function620644
- Node: Ordinal Functions621660
- Ref: Ordinal Functions-Footnote-1624723
- Ref: Ordinal Functions-Footnote-2624975
- Node: Join Function625186
- Ref: Join Function-Footnote-1626955
- Node: Getlocaltime Function627155
- Node: Readfile Function630899
- Node: Shell Quoting632869
- Node: Data File Management634270
- Node: Filetrans Function634902
- Node: Rewind Function638958
- Node: File Checking640345
- Ref: File Checking-Footnote-1641677
- Node: Empty Files641878
- Node: Ignoring Assigns643857
- Node: Getopt Function645408
- Ref: Getopt Function-Footnote-1656870
- Node: Passwd Functions657070
- Ref: Passwd Functions-Footnote-1665907
- Node: Group Functions665995
- Ref: Group Functions-Footnote-1673889
- Node: Walking Arrays674102
- Node: Library Functions Summary675705
- Node: Library Exercises677106
- Node: Sample Programs678386
- Node: Running Examples679156
- Node: Clones679884
- Node: Cut Program681108
- Node: Egrep Program690827
- Ref: Egrep Program-Footnote-1698325
- Node: Id Program698435
- Node: Split Program702080
- Ref: Split Program-Footnote-1705528
- Node: Tee Program705656
- Node: Uniq Program708445
- Node: Wc Program715864
- Ref: Wc Program-Footnote-1720114
- Node: Miscellaneous Programs720208
- Node: Dupword Program721421
- Node: Alarm Program723452
- Node: Translate Program728256
- Ref: Translate Program-Footnote-1732821
- Node: Labels Program733091
- Ref: Labels Program-Footnote-1736442
- Node: Word Sorting736526
- Node: History Sorting740597
- Node: Extract Program742433
- Node: Simple Sed749958
- Node: Igawk Program753026
- Ref: Igawk Program-Footnote-1767350
- Ref: Igawk Program-Footnote-2767551
- Ref: Igawk Program-Footnote-3767673
- Node: Anagram Program767788
- Node: Signature Program770845
- Node: Programs Summary772092
- Node: Programs Exercises773285
- Ref: Programs Exercises-Footnote-1777416
- Node: Advanced Features777507
- Node: Nondecimal Data779455
- Node: Array Sorting781045
- Node: Controlling Array Traversal781742
- Ref: Controlling Array Traversal-Footnote-1790075
- Node: Array Sorting Functions790193
- Ref: Array Sorting Functions-Footnote-1794082
- Node: Two-way I/O794278
- Ref: Two-way I/O-Footnote-1799223
- Ref: Two-way I/O-Footnote-2799409
- Node: TCP/IP Networking799491
- Node: Profiling802364
- Node: Advanced Features Summary810641
- Node: Internationalization812574
- Node: I18N and L10N814054
- Node: Explaining gettext814740
- Ref: Explaining gettext-Footnote-1819765
- Ref: Explaining gettext-Footnote-2819949
- Node: Programmer i18n820114
- Ref: Programmer i18n-Footnote-1824980
- Node: Translator i18n825029
- Node: String Extraction825823
- Ref: String Extraction-Footnote-1826954
- Node: Printf Ordering827040
- Ref: Printf Ordering-Footnote-1829826
- Node: I18N Portability829890
- Ref: I18N Portability-Footnote-1832345
- Node: I18N Example832408
- Ref: I18N Example-Footnote-1835211
- Node: Gawk I18N835283
- Node: I18N Summary835921
- Node: Debugger837260
- Node: Debugging838282
- Node: Debugging Concepts838723
- Node: Debugging Terms840576
- Node: Awk Debugging843148
- Node: Sample Debugging Session844042
- Node: Debugger Invocation844562
- Node: Finding The Bug845946
- Node: List of Debugger Commands852421
- Node: Breakpoint Control853754
- Node: Debugger Execution Control857450
- Node: Viewing And Changing Data860814
- Node: Execution Stack864192
- Node: Debugger Info865829
- Node: Miscellaneous Debugger Commands869846
- Node: Readline Support874875
- Node: Limitations875767
- Node: Debugging Summary877881
- Node: Arbitrary Precision Arithmetic879049
- Node: Computer Arithmetic880465
- Ref: table-numeric-ranges884063
- Ref: Computer Arithmetic-Footnote-1884922
- Node: Math Definitions884979
- Ref: table-ieee-formats888267
- Ref: Math Definitions-Footnote-1888871
- Node: MPFR features888976
- Node: FP Math Caution890647
- Ref: FP Math Caution-Footnote-1891697
- Node: Inexactness of computations892066
- Node: Inexact representation893025
- Node: Comparing FP Values894382
- Node: Errors accumulate895464
- Node: Getting Accuracy896897
- Node: Try To Round899559
- Node: Setting precision900458
- Ref: table-predefined-precision-strings901142
- Node: Setting the rounding mode902931
- Ref: table-gawk-rounding-modes903295
- Ref: Setting the rounding mode-Footnote-1906750
- Node: Arbitrary Precision Integers906929
- Ref: Arbitrary Precision Integers-Footnote-1911828
- Node: POSIX Floating Point Problems911977
- Ref: POSIX Floating Point Problems-Footnote-1915850
- Node: Floating point summary915888
- Node: Dynamic Extensions918082
- Node: Extension Intro919634
- Node: Plugin License920900
- Node: Extension Mechanism Outline921697
- Ref: figure-load-extension922125
- Ref: figure-register-new-function923605
- Ref: figure-call-new-function924609
- Node: Extension API Description926595
- Node: Extension API Functions Introduction928129
- Node: General Data Types933001
- Ref: General Data Types-Footnote-1938740
- Node: Memory Allocation Functions939039
- Ref: Memory Allocation Functions-Footnote-1941878
- Node: Constructor Functions941974
- Node: Registration Functions943708
- Node: Extension Functions944393
- Node: Exit Callback Functions946690
- Node: Extension Version String947938
- Node: Input Parsers948603
- Node: Output Wrappers958482
- Node: Two-way processors962997
- Node: Printing Messages965201
- Ref: Printing Messages-Footnote-1966277
- Node: Updating `ERRNO'966429
- Node: Requesting Values967169
- Ref: table-value-types-returned967897
- Node: Accessing Parameters968854
- Node: Symbol Table Access970085
- Node: Symbol table by name970599
- Node: Symbol table by cookie972580
- Ref: Symbol table by cookie-Footnote-1976724
- Node: Cached values976787
- Ref: Cached values-Footnote-1980286
- Node: Array Manipulation980377
- Ref: Array Manipulation-Footnote-1981467
- Node: Array Data Types981504
- Ref: Array Data Types-Footnote-1984159
- Node: Array Functions984251
- Node: Flattening Arrays988105
- Node: Creating Arrays994997
- Node: Redirection API999768
- Node: Extension API Variables1002539
- Node: Extension Versioning1003172
- Node: Extension API Informational Variables1005073
- Node: Extension API Boilerplate1006138
- Node: Finding Extensions1009947
- Node: Extension Example1010507
- Node: Internal File Description1011279
- Node: Internal File Ops1015346
- Ref: Internal File Ops-Footnote-11027016
- Node: Using Internal File Ops1027156
- Ref: Using Internal File Ops-Footnote-11029539
- Node: Extension Samples1029812
- Node: Extension Sample File Functions1031338
- Node: Extension Sample Fnmatch1038976
- Node: Extension Sample Fork1040467
- Node: Extension Sample Inplace1041682
- Node: Extension Sample Ord1043357
- Node: Extension Sample Readdir1044193
- Ref: table-readdir-file-types1045069
- Node: Extension Sample Revout1045880
- Node: Extension Sample Rev2way1046470
- Node: Extension Sample Read write array1047210
- Node: Extension Sample Readfile1049150
- Node: Extension Sample Time1050245
- Node: Extension Sample API Tests1051594
- Node: gawkextlib1052085
- Node: Extension summary1054743
- Node: Extension Exercises1058432
- Node: Language History1059154
- Node: V7/SVR3.11060810
- Node: SVR41062991
- Node: POSIX1064436
- Node: BTL1065825
- Node: POSIX/GNU1066559
- Node: Feature History1072183
- Node: Common Extensions1085281
- Node: Ranges and Locales1086605
- Ref: Ranges and Locales-Footnote-11091223
- Ref: Ranges and Locales-Footnote-21091250
- Ref: Ranges and Locales-Footnote-31091484
- Node: Contributors1091705
- Node: History summary1097246
- Node: Installation1098616
- Node: Gawk Distribution1099562
- Node: Getting1100046
- Node: Extracting1100869
- Node: Distribution contents1102504
- Node: Unix Installation1108569
- Node: Quick Installation1109252
- Node: Shell Startup Files1111663
- Node: Additional Configuration Options1112742
- Node: Configuration Philosophy1114481
- Node: Non-Unix Installation1116850
- Node: PC Installation1117308
- Node: PC Binary Installation1118627
- Node: PC Compiling1120475
- Ref: PC Compiling-Footnote-11123496
- Node: PC Testing1123605
- Node: PC Using1124781
- Node: Cygwin1128896
- Node: MSYS1129719
- Node: VMS Installation1130219
- Node: VMS Compilation1131011
- Ref: VMS Compilation-Footnote-11132233
- Node: VMS Dynamic Extensions1132291
- Node: VMS Installation Details1133975
- Node: VMS Running1136227
- Node: VMS GNV1139063
- Node: VMS Old Gawk1139797
- Node: Bugs1140267
- Node: Other Versions1144150
- Node: Installation summary1150578
- Node: Notes1151634
- Node: Compatibility Mode1152499
- Node: Additions1153281
- Node: Accessing The Source1154206
- Node: Adding Code1155642
- Node: New Ports1161807
- Node: Derived Files1166289
- Ref: Derived Files-Footnote-11171764
- Ref: Derived Files-Footnote-21171798
- Ref: Derived Files-Footnote-31172394
- Node: Future Extensions1172508
- Node: Implementation Limitations1173114
- Node: Extension Design1174362
- Node: Old Extension Problems1175516
- Ref: Old Extension Problems-Footnote-11177033
- Node: Extension New Mechanism Goals1177090
- Ref: Extension New Mechanism Goals-Footnote-11180450
- Node: Extension Other Design Decisions1180639
- Node: Extension Future Growth1182747
- Node: Old Extension Mechanism1183583
- Node: Notes summary1185345
- Node: Basic Concepts1186531
- Node: Basic High Level1187212
- Ref: figure-general-flow1187484
- Ref: figure-process-flow1188083
- Ref: Basic High Level-Footnote-11191312
- Node: Basic Data Typing1191497
- Node: Glossary1194825
- Node: Copying1219983
- Node: GNU Free Documentation License1257539
- Node: Index1282675
++Node: When111196
++Ref: When-Footnote-1112950
++Node: Intro Summary113015
++Node: Invoking Gawk113899
++Node: Command Line115413
++Node: Options116211
++Ref: Options-Footnote-1132006
++Ref: Options-Footnote-2132235
++Node: Other Arguments132260
++Node: Naming Standard Input135208
++Node: Environment Variables136301
++Node: AWKPATH Variable136859
++Ref: AWKPATH Variable-Footnote-1140266
++Ref: AWKPATH Variable-Footnote-2140311
++Node: AWKLIBPATH Variable140571
++Node: Other Environment Variables141827
++Node: Exit Status145345
++Node: Include Files146021
++Node: Loading Shared Libraries149610
++Node: Obsolete151037
++Node: Undocumented151729
++Node: Invoking Summary151996
++Node: Regexp153659
++Node: Regexp Usage155113
++Node: Escape Sequences157150
++Node: Regexp Operators163390
++Ref: Regexp Operators-Footnote-1170800
++Ref: Regexp Operators-Footnote-2170947
++Node: Bracket Expressions171045
++Ref: table-char-classes173060
++Node: Leftmost Longest176002
++Node: Computed Regexps177304
++Node: GNU Regexp Operators180733
++Node: Case-sensitivity184405
++Ref: Case-sensitivity-Footnote-1187290
++Ref: Case-sensitivity-Footnote-2187525
++Node: Regexp Summary187633
++Node: Reading Files189100
++Node: Records191262
++Node: awk split records191995
++Node: gawk split records196924
++Ref: gawk split records-Footnote-1201463
++Node: Fields201500
++Ref: Fields-Footnote-1204278
++Node: Nonconstant Fields204364
++Ref: Nonconstant Fields-Footnote-1206602
++Node: Changing Fields206805
++Node: Field Separators212736
++Node: Default Field Splitting215440
++Node: Regexp Field Splitting216557
++Node: Single Character Fields219907
++Node: Command Line Field Separator220966
++Node: Full Line Fields224183
++Ref: Full Line Fields-Footnote-1225704
++Ref: Full Line Fields-Footnote-2225750
++Node: Field Splitting Summary225851
++Node: Constant Size227925
++Node: Splitting By Content232508
++Ref: Splitting By Content-Footnote-1236473
++Node: Multiple Line236636
++Ref: Multiple Line-Footnote-1242517
++Node: Getline242696
++Node: Plain Getline245175
++Node: Getline/Variable247815
++Node: Getline/File248964
++Node: Getline/Variable/File250349
++Ref: Getline/Variable/File-Footnote-1251952
++Node: Getline/Pipe252039
++Node: Getline/Variable/Pipe254717
++Node: Getline/Coprocess255848
++Node: Getline/Variable/Coprocess257112
++Node: Getline Notes257851
++Node: Getline Summary260645
++Ref: table-getline-variants261057
++Node: Read Timeout261886
++Ref: Read Timeout-Footnote-1265789
++Node: Retrying Input265847
++Node: Command-line directories267042
++Node: Input Summary267949
++Node: Input Exercises271334
++Node: Printing272062
++Node: Print273839
++Node: Print Examples275296
++Node: Output Separators278075
++Node: OFMT280093
++Node: Printf281448
++Node: Basic Printf282233
++Node: Control Letters283805
++Node: Format Modifiers287790
++Node: Printf Examples293800
++Node: Redirection296286
++Node: Special FD303124
++Ref: Special FD-Footnote-1306290
++Node: Special Files306364
++Node: Other Inherited Files306981
++Node: Special Network307981
++Node: Special Caveats308843
++Node: Close Files And Pipes309792
++Ref: Close Files And Pipes-Footnote-1316983
++Ref: Close Files And Pipes-Footnote-2317131
++Node: Output Summary317281
++Node: Output Exercises318279
++Node: Expressions318959
++Node: Values320148
++Node: Constants320825
++Node: Scalar Constants321516
++Ref: Scalar Constants-Footnote-1322378
++Node: Nondecimal-numbers322628
++Node: Regexp Constants325638
++Node: Using Constant Regexps326164
++Node: Variables329327
++Node: Using Variables329984
++Node: Assignment Options331895
++Node: Conversion333770
++Node: Strings And Numbers334294
++Ref: Strings And Numbers-Footnote-1337359
++Node: Locale influences conversions337468
++Ref: table-locale-affects340214
++Node: All Operators340806
++Node: Arithmetic Ops341435
++Node: Concatenation343940
++Ref: Concatenation-Footnote-1346759
++Node: Assignment Ops346866
++Ref: table-assign-ops351845
++Node: Increment Ops353155
++Node: Truth Values and Conditions356586
++Node: Truth Values357669
++Node: Typing and Comparison358718
++Node: Variable Typing359534
++Node: Comparison Operators363201
++Ref: table-relational-ops363611
++Node: POSIX String Comparison367106
++Ref: POSIX String Comparison-Footnote-1368178
++Node: Boolean Ops368317
++Ref: Boolean Ops-Footnote-1372795
++Node: Conditional Exp372886
++Node: Function Calls374624
++Node: Precedence378504
++Node: Locales382164
++Node: Expressions Summary383796
++Node: Patterns and Actions386367
++Node: Pattern Overview387487
++Node: Regexp Patterns389166
++Node: Expression Patterns389709
++Node: Ranges393418
++Node: BEGIN/END396525
++Node: Using BEGIN/END397286
++Ref: Using BEGIN/END-Footnote-1400022
++Node: I/O And BEGIN/END400128
++Node: BEGINFILE/ENDFILE402443
++Node: Empty405340
++Node: Using Shell Variables405657
++Node: Action Overview407930
++Node: Statements410256
++Node: If Statement412104
++Node: While Statement413599
++Node: Do Statement415627
++Node: For Statement416775
++Node: Switch Statement419933
++Node: Break Statement422315
++Node: Continue Statement424356
++Node: Next Statement426183
++Node: Nextfile Statement428564
++Node: Exit Statement431192
++Node: Built-in Variables433603
++Node: User-modified434736
++Ref: User-modified-Footnote-1442439
++Node: Auto-set442501
++Ref: Auto-set-Footnote-1456734
++Ref: Auto-set-Footnote-2456939
++Node: ARGC and ARGV456995
++Node: Pattern Action Summary461213
++Node: Arrays463646
++Node: Array Basics464975
++Node: Array Intro465819
++Ref: figure-array-elements467753
++Ref: Array Intro-Footnote-1470373
++Node: Reference to Elements470501
++Node: Assigning Elements472963
++Node: Array Example473454
++Node: Scanning an Array475213
++Node: Controlling Scanning478233
++Ref: Controlling Scanning-Footnote-1483627
++Node: Numeric Array Subscripts483943
++Node: Uninitialized Subscripts486128
++Node: Delete487745
++Ref: Delete-Footnote-1490494
++Node: Multidimensional490551
++Node: Multiscanning493648
++Node: Arrays of Arrays495237
++Node: Arrays Summary499991
++Node: Functions502082
++Node: Built-in503121
++Node: Calling Built-in504199
++Node: Numeric Functions506194
++Ref: Numeric Functions-Footnote-1511012
++Ref: Numeric Functions-Footnote-2511369
++Ref: Numeric Functions-Footnote-3511417
++Node: String Functions511689
++Ref: String Functions-Footnote-1535190
++Ref: String Functions-Footnote-2535319
++Ref: String Functions-Footnote-3535567
++Node: Gory Details535654
++Ref: table-sub-escapes537435
++Ref: table-sub-proposed538950
++Ref: table-posix-sub540312
++Ref: table-gensub-escapes541849
++Ref: Gory Details-Footnote-1542682
++Node: I/O Functions542833
++Ref: I/O Functions-Footnote-1550069
++Node: Time Functions550216
++Ref: Time Functions-Footnote-1560725
++Ref: Time Functions-Footnote-2560793
++Ref: Time Functions-Footnote-3560951
++Ref: Time Functions-Footnote-4561062
++Ref: Time Functions-Footnote-5561174
++Ref: Time Functions-Footnote-6561401
++Node: Bitwise Functions561667
++Ref: table-bitwise-ops562229
++Ref: Bitwise Functions-Footnote-1566541
++Node: Type Functions566713
++Node: I18N Functions567864
++Node: User-defined569509
++Node: Definition Syntax570314
++Ref: Definition Syntax-Footnote-1575813
++Node: Function Example575884
++Ref: Function Example-Footnote-1578803
++Node: Function Caveats578825
++Node: Calling A Function579343
++Node: Variable Scope580301
++Node: Pass By Value/Reference583289
++Node: Return Statement586784
++Node: Dynamic Typing589765
++Node: Indirect Calls590694
++Ref: Indirect Calls-Footnote-1602012
++Node: Functions Summary602140
++Node: Library Functions604842
++Ref: Library Functions-Footnote-1608451
++Ref: Library Functions-Footnote-2608594
++Node: Library Names608765
++Ref: Library Names-Footnote-1612219
++Ref: Library Names-Footnote-2612442
++Node: General Functions612528
++Node: Strtonum Function613631
++Node: Assert Function616653
++Node: Round Function619977
++Node: Cliff Random Function621518
++Node: Ordinal Functions622534
++Ref: Ordinal Functions-Footnote-1625597
++Ref: Ordinal Functions-Footnote-2625849
++Node: Join Function626060
++Ref: Join Function-Footnote-1627829
++Node: Getlocaltime Function628029
++Node: Readfile Function631773
++Node: Shell Quoting633743
++Node: Data File Management635144
++Node: Filetrans Function635776
++Node: Rewind Function639832
++Node: File Checking641219
++Ref: File Checking-Footnote-1642551
++Node: Empty Files642752
++Node: Ignoring Assigns644731
++Node: Getopt Function646282
++Ref: Getopt Function-Footnote-1657744
++Node: Passwd Functions657944
++Ref: Passwd Functions-Footnote-1666781
++Node: Group Functions666869
++Ref: Group Functions-Footnote-1674763
++Node: Walking Arrays674976
++Node: Library Functions Summary676579
++Node: Library Exercises677980
++Node: Sample Programs679260
++Node: Running Examples680030
++Node: Clones680758
++Node: Cut Program681982
++Node: Egrep Program691701
++Ref: Egrep Program-Footnote-1699199
++Node: Id Program699309
++Node: Split Program702954
++Ref: Split Program-Footnote-1706402
++Node: Tee Program706530
++Node: Uniq Program709319
++Node: Wc Program716738
++Ref: Wc Program-Footnote-1720988
++Node: Miscellaneous Programs721082
++Node: Dupword Program722295
++Node: Alarm Program724326
++Node: Translate Program729130
++Ref: Translate Program-Footnote-1733695
++Node: Labels Program733965
++Ref: Labels Program-Footnote-1737316
++Node: Word Sorting737400
++Node: History Sorting741471
++Node: Extract Program743307
++Node: Simple Sed750832
++Node: Igawk Program753900
++Ref: Igawk Program-Footnote-1768224
++Ref: Igawk Program-Footnote-2768425
++Ref: Igawk Program-Footnote-3768547
++Node: Anagram Program768662
++Node: Signature Program771719
++Node: Programs Summary772966
++Node: Programs Exercises774159
++Ref: Programs Exercises-Footnote-1778290
++Node: Advanced Features778381
++Node: Nondecimal Data780329
++Node: Array Sorting781919
++Node: Controlling Array Traversal782616
++Ref: Controlling Array Traversal-Footnote-1790949
++Node: Array Sorting Functions791067
++Ref: Array Sorting Functions-Footnote-1794956
++Node: Two-way I/O795152
++Ref: Two-way I/O-Footnote-1800097
++Ref: Two-way I/O-Footnote-2800283
++Node: TCP/IP Networking800365
++Node: Profiling803238
++Node: Advanced Features Summary811515
++Node: Internationalization813448
++Node: I18N and L10N814928
++Node: Explaining gettext815614
++Ref: Explaining gettext-Footnote-1820639
++Ref: Explaining gettext-Footnote-2820823
++Node: Programmer i18n820988
++Ref: Programmer i18n-Footnote-1825854
++Node: Translator i18n825903
++Node: String Extraction826697
++Ref: String Extraction-Footnote-1827828
++Node: Printf Ordering827914
++Ref: Printf Ordering-Footnote-1830700
++Node: I18N Portability830764
++Ref: I18N Portability-Footnote-1833219
++Node: I18N Example833282
++Ref: I18N Example-Footnote-1836085
++Node: Gawk I18N836157
++Node: I18N Summary836795
++Node: Debugger838134
++Node: Debugging839156
++Node: Debugging Concepts839597
++Node: Debugging Terms841450
++Node: Awk Debugging844022
++Node: Sample Debugging Session844916
++Node: Debugger Invocation845436
++Node: Finding The Bug846820
++Node: List of Debugger Commands853295
++Node: Breakpoint Control854628
++Node: Debugger Execution Control858324
++Node: Viewing And Changing Data861688
++Node: Execution Stack865066
++Node: Debugger Info866703
++Node: Miscellaneous Debugger Commands870720
++Node: Readline Support875749
++Node: Limitations876641
++Node: Debugging Summary878755
++Node: Arbitrary Precision Arithmetic879923
++Node: Computer Arithmetic881339
++Ref: table-numeric-ranges884937
++Ref: Computer Arithmetic-Footnote-1885796
++Node: Math Definitions885853
++Ref: table-ieee-formats889141
++Ref: Math Definitions-Footnote-1889745
++Node: MPFR features889850
++Node: FP Math Caution891521
++Ref: FP Math Caution-Footnote-1892571
++Node: Inexactness of computations892940
++Node: Inexact representation893899
++Node: Comparing FP Values895256
++Node: Errors accumulate896338
++Node: Getting Accuracy897771
++Node: Try To Round900433
++Node: Setting precision901332
++Ref: table-predefined-precision-strings902016
++Node: Setting the rounding mode903805
++Ref: table-gawk-rounding-modes904169
++Ref: Setting the rounding mode-Footnote-1907624
++Node: Arbitrary Precision Integers907803
++Ref: Arbitrary Precision Integers-Footnote-1912703
++Node: POSIX Floating Point Problems912852
++Ref: POSIX Floating Point Problems-Footnote-1916725
++Node: Floating point summary916763
++Node: Dynamic Extensions918957
++Node: Extension Intro920509
++Node: Plugin License921775
++Node: Extension Mechanism Outline922572
++Ref: figure-load-extension923000
++Ref: figure-register-new-function924480
++Ref: figure-call-new-function925484
++Node: Extension API Description927470
++Node: Extension API Functions Introduction929004
++Node: General Data Types933876
++Ref: General Data Types-Footnote-1939615
++Node: Memory Allocation Functions939914
++Ref: Memory Allocation Functions-Footnote-1942753
++Node: Constructor Functions942849
++Node: Registration Functions944583
++Node: Extension Functions945268
++Node: Exit Callback Functions947565
++Node: Extension Version String948813
++Node: Input Parsers949478
++Node: Output Wrappers959357
++Node: Two-way processors963872
++Node: Printing Messages966076
++Ref: Printing Messages-Footnote-1967152
++Node: Updating `ERRNO'967304
++Node: Requesting Values968044
++Ref: table-value-types-returned968772
++Node: Accessing Parameters969729
++Node: Symbol Table Access970960
++Node: Symbol table by name971474
++Node: Symbol table by cookie973455
++Ref: Symbol table by cookie-Footnote-1977599
++Node: Cached values977662
++Ref: Cached values-Footnote-1981161
++Node: Array Manipulation981252
++Ref: Array Manipulation-Footnote-1982342
++Node: Array Data Types982379
++Ref: Array Data Types-Footnote-1985034
++Node: Array Functions985126
++Node: Flattening Arrays988980
++Node: Creating Arrays995872
++Node: Redirection API1000643
++Node: Extension API Variables1003414
++Node: Extension Versioning1004047
++Node: Extension API Informational Variables1005948
++Node: Extension API Boilerplate1007013
++Node: Finding Extensions1010822
++Node: Extension Example1011382
++Node: Internal File Description1012154
++Node: Internal File Ops1016221
++Ref: Internal File Ops-Footnote-11027891
++Node: Using Internal File Ops1028031
++Ref: Using Internal File Ops-Footnote-11030414
++Node: Extension Samples1030687
++Node: Extension Sample File Functions1032213
++Node: Extension Sample Fnmatch1039851
++Node: Extension Sample Fork1041342
++Node: Extension Sample Inplace1042557
++Node: Extension Sample Ord1044232
++Node: Extension Sample Readdir1045068
++Ref: table-readdir-file-types1045944
++Node: Extension Sample Revout1046755
++Node: Extension Sample Rev2way1047345
++Node: Extension Sample Read write array1048085
++Node: Extension Sample Readfile1050025
++Node: Extension Sample Time1051120
++Node: Extension Sample API Tests1052469
++Node: gawkextlib1052960
++Node: Extension summary1055618
++Node: Extension Exercises1059307
++Node: Language History1060029
++Node: V7/SVR3.11061685
++Node: SVR41063866
++Node: POSIX1065311
++Node: BTL1066700
++Node: POSIX/GNU1067434
++Node: Feature History1073058
++Node: Common Extensions1086156
++Node: Ranges and Locales1087480
++Ref: Ranges and Locales-Footnote-11092098
++Ref: Ranges and Locales-Footnote-21092125
++Ref: Ranges and Locales-Footnote-31092359
++Node: Contributors1092580
++Node: History summary1098121
++Node: Installation1099491
++Node: Gawk Distribution1100437
++Node: Getting1100921
++Node: Extracting1101744
++Node: Distribution contents1103379
++Node: Unix Installation1109444
++Node: Quick Installation1110127
++Node: Shell Startup Files1112538
++Node: Additional Configuration Options1113617
++Node: Configuration Philosophy1115356
++Node: Non-Unix Installation1117725
++Node: PC Installation1118183
++Node: PC Binary Installation1119502
++Node: PC Compiling1121350
++Ref: PC Compiling-Footnote-11124371
++Node: PC Testing1124480
++Node: PC Using1125656
++Node: Cygwin1129771
++Node: MSYS1130594
++Node: VMS Installation1131094
++Node: VMS Compilation1131886
++Ref: VMS Compilation-Footnote-11133108
++Node: VMS Dynamic Extensions1133166
++Node: VMS Installation Details1134850
++Node: VMS Running1137102
++Node: VMS GNV1139938
++Node: VMS Old Gawk1140672
++Node: Bugs1141142
++Node: Other Versions1145025
++Node: Installation summary1151449
++Node: Notes1152505
++Node: Compatibility Mode1153370
++Node: Additions1154152
++Node: Accessing The Source1155077
++Node: Adding Code1156512
++Node: New Ports1162669
++Node: Derived Files1167151
++Ref: Derived Files-Footnote-11172626
++Ref: Derived Files-Footnote-21172660
++Ref: Derived Files-Footnote-31173256
++Node: Future Extensions1173370
++Node: Implementation Limitations1173976
++Node: Extension Design1175224
++Node: Old Extension Problems1176378
++Ref: Old Extension Problems-Footnote-11177895
++Node: Extension New Mechanism Goals1177952
++Ref: Extension New Mechanism Goals-Footnote-11181312
++Node: Extension Other Design Decisions1181501
++Node: Extension Future Growth1183609
++Node: Old Extension Mechanism1184445
++Node: Notes summary1186207
++Node: Basic Concepts1187393
++Node: Basic High Level1188074
++Ref: figure-general-flow1188346
++Ref: figure-process-flow1188945
++Ref: Basic High Level-Footnote-11192174
++Node: Basic Data Typing1192359
++Node: Glossary1195687
++Node: Copying1227616
++Node: GNU Free Documentation License1265172
++Node: Index1290308
  
  End Tag Table

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                        |   24 +
 INSTALL                          |    6 +-
 Makefile.in                      |   48 +-
 NEWS                             |   17 +-
 aclocal.m4                       |   65 +-
 awk.h                            |    1 +
 awkgram.c                        |  746 +++++-----
 awkgram.y                        |   24 +-
 awklib/Makefile.in               |   24 +-
 awklib/eg/lib/bits2str.awk       |    2 +-
 command.c                        |    4 +-
 compile                          |    2 +-
 config.guess                     |  169 +--
 config.sub                       |   32 +-
 configure                        |   68 +-
 configure.ac                     |    4 +-
 depcomp                          |   37 +-
 doc/ChangeLog                    |   29 +
 doc/Makefile.in                  |   24 +-
 doc/gawk.info                    | 2427 +++++++++++++++++--------------
 doc/gawk.texi                    | 1355 ++++++++----------
 doc/gawktexi.in                  | 1328 ++++++++----------
 extension/ChangeLog              |    8 +
 extension/INSTALL                |    6 +-
 extension/Makefile.in            |  115 +-
 extension/aclocal.m4             |   76 +-
 extension/build-aux/ar-lib       |    2 +-
 extension/build-aux/compile      |    2 +-
 extension/build-aux/config.guess |  169 +--
 extension/build-aux/config.sub   |   32 +-
 extension/build-aux/depcomp      |   37 +-
 extension/build-aux/install-sh   |   31 +-
 extension/build-aux/ltmain.sh    |  130 ++-
 extension/build-aux/missing      |    6 +-
 extension/configh.in             |   22 -
 extension/configure              | 2995 ++++++++------------------------------
 extension/configure.ac           |    5 +-
 extension/m4/ChangeLog           |    4 +
 extension/m4/gettext.m4          |  383 -----
 extension/m4/iconv.m4            |  214 ---
 extension/m4/intlmacosx.m4       |   51 -
 extension/m4/libtool.m4          |  527 ++++++--
 extension/m4/ltoptions.m4        |   57 +-
 extension/m4/ltsugar.m4          |    2 +-
 extension/m4/ltversion.m4        |   12 +-
 extension/m4/lt~obsolete.m4      |    2 +-
 extension/m4/po.m4               |  449 ------
 extras/Makefile.in               |   24 +-
 install-sh                       |   31 +-
 m4/ChangeLog                     |    5 +
 m4/iconv.m4                      |   61 +-
 m4/po.m4                         |    2 +-
 missing                          |    6 +-
 po/ChangeLog                     |    4 +
 po/POTFILES.in                   |    6 +
 symbol.c                         |   55 +
 test/ChangeLog                   |    8 +
 test/Makefile.am                 |    9 +-
 test/Makefile.in                 |   50 +-
 test/Maketests                   |   15 +
 test/callparam.awk               |    6 +
 test/callparam.ok                |    2 +
 test/exit.sh                     |    2 +-
 test/indirectcall.awk            |    8 +-
 test/paramasfunc1.awk            |    9 +
 test/paramasfunc1.ok             |    3 +
 test/paramasfunc2.awk            |   10 +
 test/paramasfunc2.ok             |    3 +
 ylwrap                           |   59 +-
 69 files changed, 4877 insertions(+), 7274 deletions(-)
 delete mode 100644 extension/m4/gettext.m4
 delete mode 100644 extension/m4/iconv.m4
 delete mode 100644 extension/m4/intlmacosx.m4
 delete mode 100644 extension/m4/po.m4
 create mode 100644 test/callparam.awk
 create mode 100644 test/callparam.ok
 create mode 100644 test/paramasfunc1.awk
 create mode 100644 test/paramasfunc1.ok
 create mode 100644 test/paramasfunc2.awk
 create mode 100644 test/paramasfunc2.ok


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]