aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--Makefile.in2
-rw-r--r--NEWS4
-rw-r--r--TODO.xgawk4
-rw-r--r--aclocal.m46
-rw-r--r--awk.h5
-rw-r--r--awkgram.c258
-rw-r--r--awklib/Makefile.in2
-rw-r--r--doc/ChangeLog9
-rw-r--r--doc/Makefile.am17
-rw-r--r--doc/Makefile.in54
-rw-r--r--doc/gawk.info50
-rw-r--r--doc/gawk.texi5
-rw-r--r--extension/Makefile.in2
-rw-r--r--extension/aclocal.m46
-rw-r--r--gawkapi.c4
-rw-r--r--mbsupport.h11
-rw-r--r--node.c8
-rw-r--r--test/ChangeLog7
-rw-r--r--test/Makefile.am4
-rw-r--r--test/Makefile.in4
21 files changed, 246 insertions, 233 deletions
diff --git a/ChangeLog b/ChangeLog
index 31869feb..1aa1097a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
+2012-10-05 Arnold D. Robbins <arnold@skeeve.com>
+
+ * mbsupport.h: Add a bunch of undefs for z/OS.
+
2012-10-04 Arnold D. Robbins <arnold@skeeve.com>
+ * TODO.xgawk: Update.
+ * awk.h (make_str_node): Removed macro.
+ (make_string): Modified to call make_str_node.
+ (r_make_str_node): Renamed to make_str_node.
+ * gawkapi.c: Changed r_make_str_node to make_str_node everywhere.
+ * node.c (make_str_node): Renamed from make_str_node.
+
+ Update to automake 1.12.4.
+
+ * Makefile.in, aclocal.m4, awklib/Makefile.in, doc/Makefile.in,
+ extension/Makefile.in, extension/aclocal.m4, test/Makefile.in:
+ Regenerated.
+
* interpret.h (Op_Subscript): Added lint warnings for FUNCTAB
and SYMTAB.
diff --git a/Makefile.in b/Makefile.in
index d3931c46..f58c58e1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/NEWS b/NEWS
index 6b542028..c4117dd4 100644
--- a/NEWS
+++ b/NEWS
@@ -26,11 +26,13 @@ Changes from 4.0.1 to 4.1
7. The and(), or() and xor() functions now take any number of arguments,
with a minimum of two.
+
+8. Infrastructure upgrades: Automake 1.12.4.
Changes from 4.0.1 to 4.0.2
---------------------------
-1. Infrastructure upgrades: Autoconf 2.69, Automake 1.12,3, bison 2.6.3.
+1. Infrastructure upgrades: Autoconf 2.69, Automake 1.12.3, bison 2.6.3.
xx. Various minor bug fixes and documentation updates.
diff --git a/TODO.xgawk b/TODO.xgawk
index 78f26428..250031fe 100644
--- a/TODO.xgawk
+++ b/TODO.xgawk
@@ -4,8 +4,6 @@ To-do list for xgawk enhancements:
- In extensions/configure.ac - add compiler warnings if GCC.
-- Consider adding a way to access gawk special vars read only.
-
Low priority:
- Enhance extension/fork.c waitpid to allow the caller to specify the options.
@@ -146,3 +144,5 @@ Done:
- Attempting to load the same file with -f and -i (or @include) should
be a fatal error.
+
+- Consider adding a way to access gawk special vars read only.
diff --git a/aclocal.m4 b/aclocal.m4
index 43bbdd44..fa8a2461 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.12.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.12.4 -*- Autoconf -*-
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.12'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12.3], [],
+m4_if([$1], [1.12.4], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.3])dnl
+[AM_AUTOMAKE_VERSION([1.12.4])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/awk.h b/awk.h
index c961865f..f7f41209 100644
--- a/awk.h
+++ b/awk.h
@@ -1281,8 +1281,7 @@ extern STACK_ITEM *stack_top;
#define getbucket(b) getblock(b, BLOCK_BUCKET, BUCKET *)
#define freebucket(b) freeblock(b, BLOCK_BUCKET)
-#define make_string(s, l) r_make_str_node((s), (l), 0)
-#define make_str_node(s, l, f) r_make_str_node((s), (l), (f))
+#define make_string(s, l) make_str_node((s), (l), 0)
#define SCAN 1
#define ALREADY_MALLOCED 2
@@ -1629,7 +1628,7 @@ extern void pp_string_fp(Func_print print_func, FILE *fp, const char *str,
extern NODE *r_force_number(NODE *n);
extern NODE *r_format_val(const char *format, int index, NODE *s);
extern NODE *r_dupnode(NODE *n);
-extern NODE *r_make_str_node(const char *s, size_t len, int flags);
+extern NODE *make_str_node(const char *s, size_t len, int flags);
extern void *more_blocks(int id);
extern void r_unref(NODE *tmp);
extern int parse_escape(const char **string_ptr);
diff --git a/awkgram.c b/awkgram.c
index 6e819802..a3759980 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -733,19 +733,19 @@ static const yytype_uint16 yyrline[] =
372, 373, 377, 396, 395, 429, 431, 436, 437, 450,
455, 456, 460, 462, 464, 471, 561, 603, 645, 758,
765, 772, 782, 791, 800, 809, 820, 836, 835, 859,
- 871, 871, 969, 969, 998, 1024, 1030, 1031, 1037, 1038,
- 1045, 1050, 1062, 1076, 1078, 1086, 1091, 1093, 1101, 1103,
- 1112, 1113, 1121, 1126, 1126, 1137, 1141, 1149, 1150, 1153,
- 1155, 1160, 1161, 1170, 1171, 1176, 1181, 1187, 1189, 1191,
- 1198, 1199, 1205, 1206, 1211, 1213, 1218, 1220, 1222, 1224,
- 1230, 1237, 1239, 1241, 1257, 1267, 1274, 1276, 1281, 1283,
- 1285, 1293, 1295, 1300, 1302, 1307, 1309, 1311, 1361, 1363,
- 1365, 1367, 1369, 1371, 1373, 1375, 1398, 1403, 1408, 1433,
- 1439, 1441, 1443, 1445, 1447, 1449, 1454, 1458, 1490, 1492,
- 1498, 1504, 1517, 1518, 1519, 1524, 1529, 1533, 1537, 1552,
- 1565, 1570, 1606, 1624, 1625, 1631, 1632, 1637, 1639, 1646,
- 1663, 1680, 1682, 1689, 1694, 1702, 1712, 1724, 1733, 1737,
- 1741, 1745, 1749, 1753, 1756, 1758, 1762, 1766, 1770
+ 871, 871, 969, 969, 1002, 1032, 1038, 1039, 1045, 1046,
+ 1053, 1058, 1070, 1084, 1086, 1094, 1099, 1101, 1109, 1111,
+ 1120, 1121, 1129, 1134, 1134, 1145, 1149, 1157, 1158, 1161,
+ 1163, 1168, 1169, 1178, 1179, 1184, 1189, 1195, 1197, 1199,
+ 1206, 1207, 1213, 1214, 1219, 1221, 1226, 1228, 1230, 1232,
+ 1238, 1245, 1247, 1249, 1265, 1275, 1282, 1284, 1289, 1291,
+ 1293, 1301, 1303, 1308, 1310, 1315, 1317, 1319, 1369, 1371,
+ 1373, 1375, 1377, 1379, 1381, 1383, 1406, 1411, 1416, 1441,
+ 1447, 1449, 1451, 1453, 1455, 1457, 1462, 1466, 1498, 1500,
+ 1506, 1512, 1525, 1526, 1527, 1532, 1537, 1541, 1545, 1560,
+ 1573, 1578, 1614, 1632, 1633, 1639, 1640, 1645, 1647, 1654,
+ 1671, 1688, 1690, 1697, 1702, 1710, 1720, 1732, 1741, 1745,
+ 1749, 1753, 1757, 1761, 1764, 1766, 1770, 1774, 1778
};
#endif
@@ -3020,7 +3020,7 @@ regular_print:
case 64:
/* Line 1787 of yacc.c */
-#line 1003 "awkgram.y"
+#line 1007 "awkgram.y"
{
static bool warned = false;
char *arr = (yyvsp[(3) - (4)])->lextok;
@@ -3050,31 +3050,31 @@ regular_print:
case 65:
/* Line 1787 of yacc.c */
-#line 1025 "awkgram.y"
+#line 1033 "awkgram.y"
{ (yyval) = optimize_assignment((yyvsp[(1) - (1)])); }
break;
case 66:
/* Line 1787 of yacc.c */
-#line 1030 "awkgram.y"
+#line 1038 "awkgram.y"
{ (yyval) = NULL; }
break;
case 67:
/* Line 1787 of yacc.c */
-#line 1032 "awkgram.y"
+#line 1040 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 68:
/* Line 1787 of yacc.c */
-#line 1037 "awkgram.y"
+#line 1045 "awkgram.y"
{ (yyval) = NULL; }
break;
case 69:
/* Line 1787 of yacc.c */
-#line 1039 "awkgram.y"
+#line 1047 "awkgram.y"
{
if ((yyvsp[(1) - (2)]) == NULL)
(yyval) = list_create((yyvsp[(2) - (2)]));
@@ -3085,13 +3085,13 @@ regular_print:
case 70:
/* Line 1787 of yacc.c */
-#line 1046 "awkgram.y"
+#line 1054 "awkgram.y"
{ (yyval) = NULL; }
break;
case 71:
/* Line 1787 of yacc.c */
-#line 1051 "awkgram.y"
+#line 1059 "awkgram.y"
{
INSTRUCTION *casestmt = (yyvsp[(5) - (5)]);
if ((yyvsp[(5) - (5)]) == NULL)
@@ -3107,7 +3107,7 @@ regular_print:
case 72:
/* Line 1787 of yacc.c */
-#line 1063 "awkgram.y"
+#line 1071 "awkgram.y"
{
INSTRUCTION *casestmt = (yyvsp[(4) - (4)]);
if ((yyvsp[(4) - (4)]) == NULL)
@@ -3122,13 +3122,13 @@ regular_print:
case 73:
/* Line 1787 of yacc.c */
-#line 1077 "awkgram.y"
+#line 1085 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 74:
/* Line 1787 of yacc.c */
-#line 1079 "awkgram.y"
+#line 1087 "awkgram.y"
{
NODE *n = (yyvsp[(2) - (2)])->memory;
(void) force_number(n);
@@ -3140,7 +3140,7 @@ regular_print:
case 75:
/* Line 1787 of yacc.c */
-#line 1087 "awkgram.y"
+#line 1095 "awkgram.y"
{
bcfree((yyvsp[(1) - (2)]));
(yyval) = (yyvsp[(2) - (2)]);
@@ -3149,13 +3149,13 @@ regular_print:
case 76:
/* Line 1787 of yacc.c */
-#line 1092 "awkgram.y"
+#line 1100 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 77:
/* Line 1787 of yacc.c */
-#line 1094 "awkgram.y"
+#line 1102 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_push_re;
(yyval) = (yyvsp[(1) - (1)]);
@@ -3164,19 +3164,19 @@ regular_print:
case 78:
/* Line 1787 of yacc.c */
-#line 1102 "awkgram.y"
+#line 1110 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 79:
/* Line 1787 of yacc.c */
-#line 1104 "awkgram.y"
+#line 1112 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 81:
/* Line 1787 of yacc.c */
-#line 1114 "awkgram.y"
+#line 1122 "awkgram.y"
{
(yyval) = (yyvsp[(2) - (3)]);
}
@@ -3184,7 +3184,7 @@ regular_print:
case 82:
/* Line 1787 of yacc.c */
-#line 1121 "awkgram.y"
+#line 1129 "awkgram.y"
{
in_print = false;
in_parens = 0;
@@ -3194,13 +3194,13 @@ regular_print:
case 83:
/* Line 1787 of yacc.c */
-#line 1126 "awkgram.y"
+#line 1134 "awkgram.y"
{ in_print = false; in_parens = 0; }
break;
case 84:
/* Line 1787 of yacc.c */
-#line 1127 "awkgram.y"
+#line 1135 "awkgram.y"
{
if ((yyvsp[(1) - (3)])->redir_type == redirect_twoway
&& (yyvsp[(3) - (3)])->lasti->opcode == Op_K_getline_redir
@@ -3212,7 +3212,7 @@ regular_print:
case 85:
/* Line 1787 of yacc.c */
-#line 1138 "awkgram.y"
+#line 1146 "awkgram.y"
{
(yyval) = mk_condition((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]), (yyvsp[(6) - (6)]), NULL, NULL);
}
@@ -3220,7 +3220,7 @@ regular_print:
case 86:
/* Line 1787 of yacc.c */
-#line 1143 "awkgram.y"
+#line 1151 "awkgram.y"
{
(yyval) = mk_condition((yyvsp[(3) - (9)]), (yyvsp[(1) - (9)]), (yyvsp[(6) - (9)]), (yyvsp[(7) - (9)]), (yyvsp[(9) - (9)]));
}
@@ -3228,13 +3228,13 @@ regular_print:
case 91:
/* Line 1787 of yacc.c */
-#line 1160 "awkgram.y"
+#line 1168 "awkgram.y"
{ (yyval) = NULL; }
break;
case 92:
/* Line 1787 of yacc.c */
-#line 1162 "awkgram.y"
+#line 1170 "awkgram.y"
{
bcfree((yyvsp[(1) - (2)]));
(yyval) = (yyvsp[(2) - (2)]);
@@ -3243,19 +3243,19 @@ regular_print:
case 93:
/* Line 1787 of yacc.c */
-#line 1170 "awkgram.y"
+#line 1178 "awkgram.y"
{ (yyval) = NULL; }
break;
case 94:
/* Line 1787 of yacc.c */
-#line 1172 "awkgram.y"
+#line 1180 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]) ; }
break;
case 95:
/* Line 1787 of yacc.c */
-#line 1177 "awkgram.y"
+#line 1185 "awkgram.y"
{
(yyvsp[(1) - (1)])->param_count = 0;
(yyval) = list_create((yyvsp[(1) - (1)]));
@@ -3264,7 +3264,7 @@ regular_print:
case 96:
/* Line 1787 of yacc.c */
-#line 1182 "awkgram.y"
+#line 1190 "awkgram.y"
{
(yyvsp[(3) - (3)])->param_count = (yyvsp[(1) - (3)])->lasti->param_count + 1;
(yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
@@ -3274,55 +3274,55 @@ regular_print:
case 97:
/* Line 1787 of yacc.c */
-#line 1188 "awkgram.y"
+#line 1196 "awkgram.y"
{ (yyval) = NULL; }
break;
case 98:
/* Line 1787 of yacc.c */
-#line 1190 "awkgram.y"
+#line 1198 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
case 99:
/* Line 1787 of yacc.c */
-#line 1192 "awkgram.y"
+#line 1200 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (3)]); }
break;
case 100:
/* Line 1787 of yacc.c */
-#line 1198 "awkgram.y"
+#line 1206 "awkgram.y"
{ (yyval) = NULL; }
break;
case 101:
/* Line 1787 of yacc.c */
-#line 1200 "awkgram.y"
+#line 1208 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 102:
/* Line 1787 of yacc.c */
-#line 1205 "awkgram.y"
+#line 1213 "awkgram.y"
{ (yyval) = NULL; }
break;
case 103:
/* Line 1787 of yacc.c */
-#line 1207 "awkgram.y"
+#line 1215 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 104:
/* Line 1787 of yacc.c */
-#line 1212 "awkgram.y"
+#line 1220 "awkgram.y"
{ (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
break;
case 105:
/* Line 1787 of yacc.c */
-#line 1214 "awkgram.y"
+#line 1222 "awkgram.y"
{
(yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
yyerrok;
@@ -3331,31 +3331,31 @@ regular_print:
case 106:
/* Line 1787 of yacc.c */
-#line 1219 "awkgram.y"
+#line 1227 "awkgram.y"
{ (yyval) = NULL; }
break;
case 107:
/* Line 1787 of yacc.c */
-#line 1221 "awkgram.y"
+#line 1229 "awkgram.y"
{ (yyval) = NULL; }
break;
case 108:
/* Line 1787 of yacc.c */
-#line 1223 "awkgram.y"
+#line 1231 "awkgram.y"
{ (yyval) = NULL; }
break;
case 109:
/* Line 1787 of yacc.c */
-#line 1225 "awkgram.y"
+#line 1233 "awkgram.y"
{ (yyval) = NULL; }
break;
case 110:
/* Line 1787 of yacc.c */
-#line 1231 "awkgram.y"
+#line 1239 "awkgram.y"
{
if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[(2) - (3)])->source_line,
@@ -3366,19 +3366,19 @@ regular_print:
case 111:
/* Line 1787 of yacc.c */
-#line 1238 "awkgram.y"
+#line 1246 "awkgram.y"
{ (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 112:
/* Line 1787 of yacc.c */
-#line 1240 "awkgram.y"
+#line 1248 "awkgram.y"
{ (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 113:
/* Line 1787 of yacc.c */
-#line 1242 "awkgram.y"
+#line 1250 "awkgram.y"
{
if ((yyvsp[(1) - (3)])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[(2) - (3)])->source_line,
@@ -3398,7 +3398,7 @@ regular_print:
case 114:
/* Line 1787 of yacc.c */
-#line 1258 "awkgram.y"
+#line 1266 "awkgram.y"
{
if (do_lint_old)
warning_ln((yyvsp[(2) - (3)])->source_line,
@@ -3412,7 +3412,7 @@ regular_print:
case 115:
/* Line 1787 of yacc.c */
-#line 1268 "awkgram.y"
+#line 1276 "awkgram.y"
{
if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[(2) - (3)])->source_line,
@@ -3423,31 +3423,31 @@ regular_print:
case 116:
/* Line 1787 of yacc.c */
-#line 1275 "awkgram.y"
+#line 1283 "awkgram.y"
{ (yyval) = mk_condition((yyvsp[(1) - (5)]), (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); }
break;
case 117:
/* Line 1787 of yacc.c */
-#line 1277 "awkgram.y"
+#line 1285 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 118:
/* Line 1787 of yacc.c */
-#line 1282 "awkgram.y"
+#line 1290 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 119:
/* Line 1787 of yacc.c */
-#line 1284 "awkgram.y"
+#line 1292 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 120:
/* Line 1787 of yacc.c */
-#line 1286 "awkgram.y"
+#line 1294 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_assign_quotient;
(yyval) = (yyvsp[(2) - (2)]);
@@ -3456,43 +3456,43 @@ regular_print:
case 121:
/* Line 1787 of yacc.c */
-#line 1294 "awkgram.y"
+#line 1302 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 122:
/* Line 1787 of yacc.c */
-#line 1296 "awkgram.y"
+#line 1304 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 123:
/* Line 1787 of yacc.c */
-#line 1301 "awkgram.y"
+#line 1309 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 124:
/* Line 1787 of yacc.c */
-#line 1303 "awkgram.y"
+#line 1311 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 125:
/* Line 1787 of yacc.c */
-#line 1308 "awkgram.y"
+#line 1316 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 126:
/* Line 1787 of yacc.c */
-#line 1310 "awkgram.y"
+#line 1318 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 127:
/* Line 1787 of yacc.c */
-#line 1312 "awkgram.y"
+#line 1320 "awkgram.y"
{
int count = 2;
bool is_simple_var = false;
@@ -3543,43 +3543,43 @@ regular_print:
case 129:
/* Line 1787 of yacc.c */
-#line 1364 "awkgram.y"
+#line 1372 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 130:
/* Line 1787 of yacc.c */
-#line 1366 "awkgram.y"
+#line 1374 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 131:
/* Line 1787 of yacc.c */
-#line 1368 "awkgram.y"
+#line 1376 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 132:
/* Line 1787 of yacc.c */
-#line 1370 "awkgram.y"
+#line 1378 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 133:
/* Line 1787 of yacc.c */
-#line 1372 "awkgram.y"
+#line 1380 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 134:
/* Line 1787 of yacc.c */
-#line 1374 "awkgram.y"
+#line 1382 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 135:
/* Line 1787 of yacc.c */
-#line 1376 "awkgram.y"
+#line 1384 "awkgram.y"
{
/*
* In BEGINFILE/ENDFILE, allow `getline var < file'
@@ -3606,7 +3606,7 @@ regular_print:
case 136:
/* Line 1787 of yacc.c */
-#line 1399 "awkgram.y"
+#line 1407 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_postincrement;
(yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - (2)]));
@@ -3615,7 +3615,7 @@ regular_print:
case 137:
/* Line 1787 of yacc.c */
-#line 1404 "awkgram.y"
+#line 1412 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_postdecrement;
(yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - (2)]));
@@ -3624,7 +3624,7 @@ regular_print:
case 138:
/* Line 1787 of yacc.c */
-#line 1409 "awkgram.y"
+#line 1417 "awkgram.y"
{
if (do_lint_old) {
warning_ln((yyvsp[(4) - (5)])->source_line,
@@ -3648,7 +3648,7 @@ regular_print:
case 139:
/* Line 1787 of yacc.c */
-#line 1434 "awkgram.y"
+#line 1442 "awkgram.y"
{
(yyval) = mk_getline((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]), (yyvsp[(1) - (4)]), (yyvsp[(2) - (4)])->redir_type);
bcfree((yyvsp[(2) - (4)]));
@@ -3657,43 +3657,43 @@ regular_print:
case 140:
/* Line 1787 of yacc.c */
-#line 1440 "awkgram.y"
+#line 1448 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 141:
/* Line 1787 of yacc.c */
-#line 1442 "awkgram.y"
+#line 1450 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 142:
/* Line 1787 of yacc.c */
-#line 1444 "awkgram.y"
+#line 1452 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 143:
/* Line 1787 of yacc.c */
-#line 1446 "awkgram.y"
+#line 1454 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 144:
/* Line 1787 of yacc.c */
-#line 1448 "awkgram.y"
+#line 1456 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 145:
/* Line 1787 of yacc.c */
-#line 1450 "awkgram.y"
+#line 1458 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 146:
/* Line 1787 of yacc.c */
-#line 1455 "awkgram.y"
+#line 1463 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3701,7 +3701,7 @@ regular_print:
case 147:
/* Line 1787 of yacc.c */
-#line 1459 "awkgram.y"
+#line 1467 "awkgram.y"
{
if ((yyvsp[(2) - (2)])->opcode == Op_match_rec) {
(yyvsp[(2) - (2)])->opcode = Op_nomatch;
@@ -3737,13 +3737,13 @@ regular_print:
case 148:
/* Line 1787 of yacc.c */
-#line 1491 "awkgram.y"
+#line 1499 "awkgram.y"
{ (yyval) = (yyvsp[(2) - (3)]); }
break;
case 149:
/* Line 1787 of yacc.c */
-#line 1493 "awkgram.y"
+#line 1501 "awkgram.y"
{
(yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
if ((yyval) == NULL)
@@ -3753,7 +3753,7 @@ regular_print:
case 150:
/* Line 1787 of yacc.c */
-#line 1499 "awkgram.y"
+#line 1507 "awkgram.y"
{
(yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
if ((yyval) == NULL)
@@ -3763,7 +3763,7 @@ regular_print:
case 151:
/* Line 1787 of yacc.c */
-#line 1505 "awkgram.y"
+#line 1513 "awkgram.y"
{
static bool warned = false;
@@ -3780,7 +3780,7 @@ regular_print:
case 154:
/* Line 1787 of yacc.c */
-#line 1520 "awkgram.y"
+#line 1528 "awkgram.y"
{
(yyvsp[(1) - (2)])->opcode = Op_preincrement;
(yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - (2)]));
@@ -3789,7 +3789,7 @@ regular_print:
case 155:
/* Line 1787 of yacc.c */
-#line 1525 "awkgram.y"
+#line 1533 "awkgram.y"
{
(yyvsp[(1) - (2)])->opcode = Op_predecrement;
(yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - (2)]));
@@ -3798,7 +3798,7 @@ regular_print:
case 156:
/* Line 1787 of yacc.c */
-#line 1530 "awkgram.y"
+#line 1538 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3806,7 +3806,7 @@ regular_print:
case 157:
/* Line 1787 of yacc.c */
-#line 1534 "awkgram.y"
+#line 1542 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3814,7 +3814,7 @@ regular_print:
case 158:
/* Line 1787 of yacc.c */
-#line 1538 "awkgram.y"
+#line 1546 "awkgram.y"
{
if ((yyvsp[(2) - (2)])->lasti->opcode == Op_push_i
&& ((yyvsp[(2) - (2)])->lasti->memory->flags & (STRCUR|STRING)) == 0
@@ -3833,7 +3833,7 @@ regular_print:
case 159:
/* Line 1787 of yacc.c */
-#line 1553 "awkgram.y"
+#line 1561 "awkgram.y"
{
/*
* was: $$ = $2
@@ -3847,7 +3847,7 @@ regular_print:
case 160:
/* Line 1787 of yacc.c */
-#line 1566 "awkgram.y"
+#line 1574 "awkgram.y"
{
func_use((yyvsp[(1) - (1)])->lasti->func_name, FUNC_USE);
(yyval) = (yyvsp[(1) - (1)]);
@@ -3856,7 +3856,7 @@ regular_print:
case 161:
/* Line 1787 of yacc.c */
-#line 1571 "awkgram.y"
+#line 1579 "awkgram.y"
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -3893,7 +3893,7 @@ regular_print:
case 162:
/* Line 1787 of yacc.c */
-#line 1607 "awkgram.y"
+#line 1615 "awkgram.y"
{
param_sanity((yyvsp[(3) - (4)]));
(yyvsp[(1) - (4)])->opcode = Op_func_call;
@@ -3911,37 +3911,37 @@ regular_print:
case 163:
/* Line 1787 of yacc.c */
-#line 1624 "awkgram.y"
+#line 1632 "awkgram.y"
{ (yyval) = NULL; }
break;
case 164:
/* Line 1787 of yacc.c */
-#line 1626 "awkgram.y"
+#line 1634 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 165:
/* Line 1787 of yacc.c */
-#line 1631 "awkgram.y"
+#line 1639 "awkgram.y"
{ (yyval) = NULL; }
break;
case 166:
/* Line 1787 of yacc.c */
-#line 1633 "awkgram.y"
+#line 1641 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
case 167:
/* Line 1787 of yacc.c */
-#line 1638 "awkgram.y"
+#line 1646 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 168:
/* Line 1787 of yacc.c */
-#line 1640 "awkgram.y"
+#line 1648 "awkgram.y"
{
(yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
}
@@ -3949,7 +3949,7 @@ regular_print:
case 169:
/* Line 1787 of yacc.c */
-#line 1647 "awkgram.y"
+#line 1655 "awkgram.y"
{
INSTRUCTION *ip = (yyvsp[(1) - (1)])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
@@ -3967,7 +3967,7 @@ regular_print:
case 170:
/* Line 1787 of yacc.c */
-#line 1664 "awkgram.y"
+#line 1672 "awkgram.y"
{
INSTRUCTION *t = (yyvsp[(2) - (3)]);
if ((yyvsp[(2) - (3)]) == NULL) {
@@ -3985,13 +3985,13 @@ regular_print:
case 171:
/* Line 1787 of yacc.c */
-#line 1681 "awkgram.y"
+#line 1689 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 172:
/* Line 1787 of yacc.c */
-#line 1683 "awkgram.y"
+#line 1691 "awkgram.y"
{
(yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
}
@@ -3999,13 +3999,13 @@ regular_print:
case 173:
/* Line 1787 of yacc.c */
-#line 1690 "awkgram.y"
+#line 1698 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
case 174:
/* Line 1787 of yacc.c */
-#line 1695 "awkgram.y"
+#line 1703 "awkgram.y"
{
char *var_name = (yyvsp[(1) - (1)])->lextok;
@@ -4017,7 +4017,7 @@ regular_print:
case 175:
/* Line 1787 of yacc.c */
-#line 1703 "awkgram.y"
+#line 1711 "awkgram.y"
{
char *arr = (yyvsp[(1) - (2)])->lextok;
(yyvsp[(1) - (2)])->memory = variable((yyvsp[(1) - (2)])->source_line, arr, Node_var_new);
@@ -4028,7 +4028,7 @@ regular_print:
case 176:
/* Line 1787 of yacc.c */
-#line 1713 "awkgram.y"
+#line 1721 "awkgram.y"
{
INSTRUCTION *ip = (yyvsp[(1) - (1)])->nexti;
if (ip->opcode == Op_push
@@ -4044,7 +4044,7 @@ regular_print:
case 177:
/* Line 1787 of yacc.c */
-#line 1725 "awkgram.y"
+#line 1733 "awkgram.y"
{
(yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
if ((yyvsp[(3) - (3)]) != NULL)
@@ -4054,7 +4054,7 @@ regular_print:
case 178:
/* Line 1787 of yacc.c */
-#line 1734 "awkgram.y"
+#line 1742 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_postincrement;
}
@@ -4062,7 +4062,7 @@ regular_print:
case 179:
/* Line 1787 of yacc.c */
-#line 1738 "awkgram.y"
+#line 1746 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_postdecrement;
}
@@ -4070,43 +4070,43 @@ regular_print:
case 180:
/* Line 1787 of yacc.c */
-#line 1741 "awkgram.y"
+#line 1749 "awkgram.y"
{ (yyval) = NULL; }
break;
case 182:
/* Line 1787 of yacc.c */
-#line 1749 "awkgram.y"
+#line 1757 "awkgram.y"
{ yyerrok; }
break;
case 183:
/* Line 1787 of yacc.c */
-#line 1753 "awkgram.y"
+#line 1761 "awkgram.y"
{ yyerrok; }
break;
case 186:
/* Line 1787 of yacc.c */
-#line 1762 "awkgram.y"
+#line 1770 "awkgram.y"
{ yyerrok; }
break;
case 187:
/* Line 1787 of yacc.c */
-#line 1766 "awkgram.y"
+#line 1774 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); yyerrok; }
break;
case 188:
/* Line 1787 of yacc.c */
-#line 1770 "awkgram.y"
+#line 1778 "awkgram.y"
{ yyerrok; }
break;
/* Line 1787 of yacc.c */
-#line 4114 "awkgram.c"
+#line 4122 "awkgram.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4336,7 +4336,7 @@ yyreturn:
/* Line 2048 of yacc.c */
-#line 1772 "awkgram.y"
+#line 1780 "awkgram.y"
struct token {
diff --git a/awklib/Makefile.in b/awklib/Makefile.in
index d6d2aa27..6a89d053 100644
--- a/awklib/Makefile.in
+++ b/awklib/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 054238ec..6f390aed 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,5 +1,14 @@
+2012-10-05 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (LN, install-data-hook, uninstall-hook): Removed. No
+ longer needed since dgawk and pgawk are gone.
+
2012-10-02 Arnold D. Robbins <arnold@skeeve.com>
+ * gawk.texi (Glossary). Correct the full name for `ISO' per
+ bug report from William Bresler <wbresler@acm.org>. Add a link
+ to the ISO website.
+
* gawk.texi, gawk.1, awkcard.in: Document FUNCTAB, SYMTAB, and
PROCINFO["identifiers"]. Including that delete does not work
on FUNCTAB and SYMTAB.
diff --git a/doc/Makefile.am b/doc/Makefile.am
index d1e15abe..0e4c85af 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -61,23 +61,6 @@ AWKCARD = awkcard.ps
# to ensure that awkcard.tr is processed by tbl.
#AWKCARD = awkcard.nc
-# The following is patterned after the main Makefile.am. The point is to
-# make pgawk.1 a link to gawk.1 in the installed man directory.
-
-# We want hard links for install-data-hook, below
-LN= ln -f
-
-# Link gawk.1 to pgawk.1
-install-data-hook:
- (cd $(DESTDIR)$(man1dir); \
- $(LN) gawk.1 pgawk.1 2>/dev/null ; \
- $(LN) gawk.1 dgawk.1 2>/dev/null ; \
- exit 0)
-
-# Undo the above when uninstalling
-uninstall-hook:
- cd $(DESTDIR)$(man1dir); rm -f pgawk.1 dgawk.1 ; exit 0
-
postscript: gawk.ps gawkinet.ps gawk.1.ps igawk.1.ps $(AWKCARD)
pdf: postscript gawk.pdf gawkinet.pdf awkcard.pdf gawk.1.pdf igawk.1.pdf
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 280e18bd..6ec65cc9 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
@@ -296,18 +296,6 @@ CARDFILES = $(CARDSRC) ad.block awkcard.in setter.outline
# Use this if your troff can correctly handle macros from 'colors' file
AWKCARD = awkcard.ps
-
-# Uncomment the following definition of AWKCARD if your troff can produce
-# Postscript but still has troubles with macros from 'colors'. As this
-# is not groff you will have to change TROFF macro as well. Do not forget
-# to ensure that awkcard.tr is processed by tbl.
-#AWKCARD = awkcard.nc
-
-# The following is patterned after the main Makefile.am. The point is to
-# make pgawk.1 a link to gawk.1 in the installed man directory.
-
-# We want hard links for install-data-hook, below
-LN = ln -f
all: all-am
.SUFFIXES:
@@ -653,8 +641,7 @@ info: info-am
info-am: $(INFO_DEPS)
install-data-am: install-info-am install-man
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
+
install-dvi: install-dvi-am
install-dvi-am: $(DVIS)
@@ -789,38 +776,31 @@ ps-am: $(PSS)
uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
uninstall-man uninstall-pdf-am uninstall-ps-am
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+
uninstall-man: uninstall-man1
-.MAKE: install-am install-data-am install-strip uninstall-am
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-aminfo clean-generic \
dist-info distclean distclean-generic distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
- install-data-am install-data-hook install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-man1 \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-aminfo \
- maintainer-clean-generic mostlyclean mostlyclean-aminfo \
- mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-dvi-am uninstall-hook uninstall-html-am \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-man1 install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
+ mostlyclean-aminfo mostlyclean-generic pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
uninstall-info-am uninstall-man uninstall-man1 \
uninstall-pdf-am uninstall-ps-am
-# Link gawk.1 to pgawk.1
-install-data-hook:
- (cd $(DESTDIR)$(man1dir); \
- $(LN) gawk.1 pgawk.1 2>/dev/null ; \
- $(LN) gawk.1 dgawk.1 2>/dev/null ; \
- exit 0)
-
-# Undo the above when uninstalling
-uninstall-hook:
- cd $(DESTDIR)$(man1dir); rm -f pgawk.1 dgawk.1 ; exit 0
+# Uncomment the following definition of AWKCARD if your troff can produce
+# Postscript but still has troubles with macros from 'colors'. As this
+# is not groff you will have to change TROFF macro as well. Do not forget
+# to ensure that awkcard.tr is processed by tbl.
+#AWKCARD = awkcard.nc
postscript: gawk.ps gawkinet.ps gawk.1.ps igawk.1.ps $(AWKCARD)
diff --git a/doc/gawk.info b/doc/gawk.info
index 44b48e56..08fbc297 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -24257,12 +24257,16 @@ Interval Expression
originally available in `awk' programs.
ISO
- The International Standards Organization. This organization
- produces international standards for many things, including
- programming languages, such as C and C++. In the computer arena,
- important standards like those for C, C++, and POSIX become both
- American national and ISO international standards simultaneously.
- This Info file refers to Standard C as "ISO C" throughout.
+ The International Organization for Standardization. This
+ organization produces international standards for many things,
+ including programming languages, such as C and C++. In the
+ computer arena, important standards like those for C, C++, and
+ POSIX become both American national and ISO international
+ standards simultaneously. This Info file refers to Standard C as
+ "ISO C" throughout. See the ISO website
+ (http://www.iso.org/iso/home/about.htm) for more information about
+ the name of the organization and its language-independent
+ three-letter acronym.
Java
A modern programming language originally developed by Sun
@@ -26318,7 +26322,7 @@ Index
* Brian Kernighan's awk, extensions: BTL. (line 6)
* Broder, Alan J.: Contributors. (line 88)
* Brown, Martin: Contributors. (line 82)
-* BSD-based operating systems: Glossary. (line 611)
+* BSD-based operating systems: Glossary. (line 615)
* bt debugger command (alias for backtrace): Execution Stack. (line 13)
* Buening, Andreas <1>: Bugs. (line 71)
* Buening, Andreas <2>: Contributors. (line 92)
@@ -27032,7 +27036,7 @@ Index
* Free Software Foundation (FSF) <1>: Glossary. (line 301)
* Free Software Foundation (FSF) <2>: Getting. (line 10)
* Free Software Foundation (FSF): Manual History. (line 6)
-* FreeBSD: Glossary. (line 611)
+* FreeBSD: Glossary. (line 615)
* FS variable <1>: User-modified. (line 56)
* FS variable: Field Separators. (line 14)
* FS variable, --field-separator option and: Options. (line 21)
@@ -27243,13 +27247,13 @@ Index
* GNU Free Documentation License: GNU Free Documentation License.
(line 6)
* GNU General Public License: Glossary. (line 310)
-* GNU Lesser General Public License: Glossary. (line 397)
+* GNU Lesser General Public License: Glossary. (line 401)
* GNU long options <1>: Options. (line 6)
* GNU long options: Command Line. (line 13)
* GNU long options, printing list of: Options. (line 168)
* GNU Project <1>: Glossary. (line 319)
* GNU Project: Manual History. (line 11)
-* GNU/Linux <1>: Glossary. (line 611)
+* GNU/Linux <1>: Glossary. (line 615)
* GNU/Linux <2>: I18N Example. (line 55)
* GNU/Linux: Manual History. (line 28)
* GPL (General Public License) <1>: Glossary. (line 310)
@@ -27387,7 +27391,7 @@ Index
* Jaegermann, Michal <1>: Contributors. (line 46)
* Jaegermann, Michal: Acknowledgments. (line 60)
* Java implementation of awk: Other Versions. (line 97)
-* Java programming language: Glossary. (line 380)
+* Java programming language: Glossary. (line 384)
* jawk: Other Versions. (line 97)
* Jedi knights: Undocumented. (line 6)
* join() user-defined function: Join Function. (line 18)
@@ -27433,8 +27437,8 @@ Index
* left shift, bitwise: Bitwise Functions. (line 32)
* leftmost longest match: Multiple Line. (line 26)
* length() function: String Functions. (line 166)
-* Lesser General Public License (LGPL): Glossary. (line 397)
-* LGPL (Lesser General Public License): Glossary. (line 397)
+* Lesser General Public License (LGPL): Glossary. (line 401)
+* LGPL (Lesser General Public License): Glossary. (line 401)
* libmawk: Other Versions. (line 105)
* libraries of awk functions: Library Functions. (line 6)
* libraries of awk functions, assertions: Assert Function. (line 6)
@@ -27479,7 +27483,7 @@ Index
* lint checking, undefined functions: Pass By Value/Reference.
(line 88)
* LINT variable: User-modified. (line 98)
-* Linux <1>: Glossary. (line 611)
+* Linux <1>: Glossary. (line 615)
* Linux <2>: I18N Example. (line 55)
* Linux: Manual History. (line 28)
* list debugger command: Miscellaneous Debugger Commands.
@@ -27549,7 +27553,7 @@ Index
* namespace issues, functions: Definition Syntax. (line 20)
* nawk utility: Names. (line 17)
* negative zero: Unexpected Results. (line 34)
-* NetBSD: Glossary. (line 611)
+* NetBSD: Glossary. (line 615)
* networks, programming: TCP/IP Networking. (line 6)
* networks, support for: Special Network. (line 6)
* newlines <1>: Boolean Ops. (line 67)
@@ -27635,7 +27639,7 @@ Index
* OFS variable <1>: User-modified. (line 124)
* OFS variable <2>: Output Separators. (line 6)
* OFS variable: Changing Fields. (line 64)
-* OpenBSD: Glossary. (line 611)
+* OpenBSD: Glossary. (line 615)
* OpenSolaris: Other Versions. (line 87)
* operating systems, BSD-based: Manual History. (line 28)
* operating systems, PC, gawk on: PC Using. (line 6)
@@ -27704,8 +27708,8 @@ Index
* output, standard: Special FD. (line 6)
* p debugger command (alias for print): Viewing And Changing Data.
(line 36)
-* P1003.1 POSIX standard: Glossary. (line 454)
-* P1003.2 POSIX standard: Glossary. (line 454)
+* P1003.1 POSIX standard: Glossary. (line 458)
+* P1003.2 POSIX standard: Glossary. (line 458)
* parentheses () <1>: Profiling. (line 138)
* parentheses (): Regexp Operators. (line 79)
* password file: Passwd Functions. (line 16)
@@ -27897,7 +27901,7 @@ Index
* Programming languages, Ada: Glossary. (line 20)
* programming languages, data-driven vs. procedural: Getting Started.
(line 12)
-* Programming languages, Java: Glossary. (line 380)
+* Programming languages, Java: Glossary. (line 384)
* programming, basic steps: Basic High Level. (line 19)
* programming, concepts: Basic Concepts. (line 6)
* pwcat program: Passwd Functions. (line 23)
@@ -28348,7 +28352,7 @@ Index
(line 6)
* uniq utility: Uniq Program. (line 6)
* uniq.awk program: Uniq Program. (line 65)
-* Unix: Glossary. (line 611)
+* Unix: Glossary. (line 615)
* Unix awk, backslashes in escape sequences: Escape Sequences.
(line 125)
* Unix awk, close() function and: Close Files And Pipes.
@@ -28927,8 +28931,8 @@ Node: Basic High Level952818
Ref: Basic High Level-Footnote-1956853
Node: Basic Data Typing957038
Node: Glossary960393
-Node: Copying985369
-Node: GNU Free Documentation License1022926
-Node: Index1048063
+Node: Copying985568
+Node: GNU Free Documentation License1023125
+Node: Index1048262

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 15e5b4ce..f0378b30 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -32097,12 +32097,15 @@ in @command{awk} programs.
@cindex ISO
@item ISO
-The International Standards Organization.
+The International Organization for Standardization.
This organization produces international standards for many things, including
programming languages, such as C and C++.
In the computer arena, important standards like those for C, C++, and POSIX
become both American national and ISO international standards simultaneously.
This @value{DOCUMENT} refers to Standard C as ``ISO C'' throughout.
+See @uref{http://www.iso.org/iso/home/about.htm, the ISO website} for more
+information about the name of the organization and its language-independent
+three-letter acronym.
@cindex Java programming language
@cindex Programming languages, Java
diff --git a/extension/Makefile.in b/extension/Makefile.in
index 687c496f..0ea1b86d 100644
--- a/extension/Makefile.in
+++ b/extension/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/extension/aclocal.m4 b/extension/aclocal.m4
index 18cab755..4358745f 100644
--- a/extension/aclocal.m4
+++ b/extension/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.12.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.12.4 -*- Autoconf -*-
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.12'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12.3], [],
+m4_if([$1], [1.12.4], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.3])dnl
+[AM_AUTOMAKE_VERSION([1.12.4])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/gawkapi.c b/gawkapi.c
index dbb8549b..3473a48c 100644
--- a/gawkapi.c
+++ b/gawkapi.c
@@ -634,7 +634,7 @@ api_sym_update_scalar(awk_ext_id_t id,
* a number, we can avoid calling unref and then making a new node
* by simply installing the new value. First, we follow the same
* recipe used by node.c:r_unref to wipe the current values, and then
- * we copy the logic from r_make_number or r_make_str_node to install
+ * we copy the logic from r_make_number or make_str_node to install
* the new value.
*/
switch (value->val_type) {
@@ -670,7 +670,7 @@ api_sym_update_scalar(awk_ext_id_t id,
#endif
free_wstr(r);
- /* r_make_str_node(ALREADY_MALLOCED): */
+ /* make_str_node(s, l, ALREADY_MALLOCED): */
r->numbr = 0;
r->flags = (MALLOC|STRING|STRCUR);
r->stfmt = -1;
diff --git a/mbsupport.h b/mbsupport.h
index 1eb1a444..9a62486f 100644
--- a/mbsupport.h
+++ b/mbsupport.h
@@ -87,6 +87,17 @@
#define iswalnum isalnum
#define iswalpha isalpha
#define iswupper isupper
+#if defined(ZOS_USS)
+#undef towupper
+#undef towlower
+#undef btowc
+#undef iswalnum
+#undef iswalpha
+#undef iswupper
+#undef wctype
+#undef iswctype
+#undef wcscoll
+#endif
extern wctype_t wctype(const char *name);
extern int iswctype(wint_t wc, wctype_t desc);
diff --git a/node.c b/node.c
index c7316dcb..f8152bab 100644
--- a/node.c
+++ b/node.c
@@ -371,10 +371,10 @@ cmp_awknums(const NODE *t1, const NODE *t2)
}
-/* r_make_str_node --- make a string node */
+/* make_str_node --- make a string node */
NODE *
-r_make_str_node(const char *s, size_t len, int flags)
+make_str_node(const char *s, size_t len, int flags)
{
NODE *r;
getnode(r);
@@ -392,7 +392,7 @@ r_make_str_node(const char *s, size_t len, int flags)
if (flags & ALREADY_MALLOCED)
r->stptr = (char *) s;
else {
- emalloc(r->stptr, char *, len + 2, "r_make_str_node");
+ emalloc(r->stptr, char *, len + 2, "make_str_node");
memcpy(r->stptr, s, len);
}
r->stptr[len] = '\0';
@@ -441,7 +441,7 @@ r_make_str_node(const char *s, size_t len, int flags)
*ptm++ = c;
}
len = ptm - r->stptr;
- erealloc(r->stptr, char *, len + 1, "r_make_str_node");
+ erealloc(r->stptr, char *, len + 1, "make_str_node");
r->stptr[len] = '\0';
}
r->stlen = len;
diff --git a/test/ChangeLog b/test/ChangeLog
index ff38cdcd..bd327f24 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,4 +1,9 @@
-2012-10-04 Arnold D. Robbins <arnold@skeeve.com>
+2012-10-04 Akim Demaille <akim@lrde.epita.fr>
+
+ Fix VPATH builds.
+
+ * Makefile.am (shlib-tests): config.h is in builddir.
+ (beginfile2): So is gawk itself.
* Makefile.am (functab1, functab2, functab3, functab4, id, symtab1,
symtab2, symtab3): New tests.
diff --git a/test/Makefile.am b/test/Makefile.am
index 1f20b923..c64e1e3b 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1005,7 +1005,7 @@ machine-tests: $(MACHINE_TESTS)
mpfr-tests: $(MPFR_TESTS)
shlib-tests:
- @if grep 'DYNAMIC 1' $(top_srcdir)/config.h > /dev/null ; then \
+ @if grep 'DYNAMIC 1' $(top_builddir)/config.h > /dev/null ; then \
$(MAKE) shlib-real-tests ; \
else echo shlib tests not supported on this system ; \
fi
@@ -1517,7 +1517,7 @@ beginfile1::
beginfile2:
@echo $@
- @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1
+ @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(abs_srcdir)/$@.sh $(abs_srcdir)/$@.in ) > _$@ 2>&1
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
dumpvars::
diff --git a/test/Makefile.in b/test/Makefile.in
index 5bb75637..db461f52 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1388,7 +1388,7 @@ machine-tests: $(MACHINE_TESTS)
mpfr-tests: $(MPFR_TESTS)
shlib-tests:
- @if grep 'DYNAMIC 1' $(top_srcdir)/config.h > /dev/null ; then \
+ @if grep 'DYNAMIC 1' $(top_builddir)/config.h > /dev/null ; then \
$(MAKE) shlib-real-tests ; \
else echo shlib tests not supported on this system ; \
fi
@@ -1898,7 +1898,7 @@ beginfile1::
beginfile2:
@echo $@
- @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1
+ @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(abs_srcdir)/$@.sh $(abs_srcdir)/$@.in ) > _$@ 2>&1
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
dumpvars::