aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-03-26 10:48:32 +0300
committerArnold D. Robbins <arnold@skeeve.com>2018-03-26 10:48:32 +0300
commitadcc3b031e9cf213dc895825e29cadc05e124bde (patch)
tree7ea97058c5b577f2ce433dbc882d11735884d58a
parent264ef6a7dad099f3fdb10c7cab88f1d4e6257c96 (diff)
parent053aa664ea5a3fc3bc98a7a2dc6145b434e79669 (diff)
downloadegawk-adcc3b031e9cf213dc895825e29cadc05e124bde.tar.gz
egawk-adcc3b031e9cf213dc895825e29cadc05e124bde.tar.bz2
egawk-adcc3b031e9cf213dc895825e29cadc05e124bde.zip
Merge branch 'master' into feature/fix-comments
-rw-r--r--ChangeLog15
-rw-r--r--awk.h4
-rw-r--r--awkgram.c587
-rw-r--r--awkgram.y27
-rw-r--r--eval.c49
-rw-r--r--po/ChangeLog4
-rw-r--r--po/es.po2013
-rw-r--r--test/ChangeLog5
-rw-r--r--test/Makefile.am4
-rw-r--r--test/Makefile.in9
-rw-r--r--test/Maketests5
-rw-r--r--test/tailrecurse.awk15
-rw-r--r--test/tailrecurse.ok5
13 files changed, 1199 insertions, 1543 deletions
diff --git a/ChangeLog b/ChangeLog
index 42d5d1e4..1edd1ca2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2018-03-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ Remove the tail recursion optimization. It's fundamentally
+ broken, in the case where a local var becomes a parameter.
+ Thanks to Denis Shirokov <cosmogen@gmail.com> for the report.
+ See test/tailrecurse.awk.
+
+ * awk.h [num_tail_calls, tail_call]: Remove definitions.
+ * awkgram.y (grammar, mk_function): Remove code related to
+ the tail recursion optimization.
+ * eval.c (dump_fcall_stack): Adjust dumping code since no longer
+ looping through tail call recursion.
+ (setup_frame): Remove code related to the tail recursion optimization.
+ (init_interpret): Ditto.
+
2018-03-22 Arnold D. Robbins <arnold@skeeve.com>
* configure.ac: Check for %a support in system printf.
diff --git a/awk.h b/awk.h
index 88811f20..cf7e961e 100644
--- a/awk.h
+++ b/awk.h
@@ -517,7 +517,6 @@ typedef struct exp_node {
#define func_node sub.nodep.x.extra
#define prev_frame_size sub.nodep.reflags
#define reti sub.nodep.l.li
-#define num_tail_calls sub.nodep.cnt
/* Node_var: */
#define var_value lnode
@@ -852,9 +851,6 @@ typedef struct exp_instruction {
/* Op_func_call, Op_func */
#define func_body x.xn
-/* Op_func_call */
-#define tail_call d.dl
-
/* Op_subscript */
#define sub_count d.dl
diff --git a/awkgram.c b/awkgram.c
index b6fd17f4..f56e455f 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -676,21 +676,21 @@ static const yytype_uint16 yyrline[] =
433, 434, 438, 438, 484, 483, 517, 532, 534, 539,
549, 596, 601, 602, 606, 622, 624, 626, 633, 724,
766, 808, 921, 928, 935, 946, 956, 966, 976, 988,
- 1005, 1004, 1029, 1041, 1041, 1140, 1140, 1174, 1205, 1214,
- 1215, 1221, 1222, 1229, 1234, 1246, 1260, 1262, 1270, 1277,
- 1279, 1287, 1296, 1298, 1307, 1308, 1316, 1321, 1321, 1332,
- 1336, 1344, 1345, 1348, 1350, 1355, 1356, 1365, 1366, 1371,
- 1376, 1385, 1387, 1389, 1396, 1397, 1403, 1404, 1409, 1411,
- 1416, 1418, 1426, 1431, 1440, 1441, 1446, 1448, 1453, 1455,
- 1463, 1468, 1476, 1477, 1482, 1489, 1493, 1495, 1497, 1510,
- 1527, 1537, 1544, 1546, 1551, 1553, 1555, 1563, 1565, 1570,
- 1572, 1577, 1579, 1581, 1638, 1640, 1642, 1644, 1646, 1648,
- 1650, 1652, 1666, 1671, 1676, 1701, 1707, 1709, 1711, 1713,
- 1715, 1717, 1722, 1726, 1758, 1765, 1771, 1777, 1790, 1791,
- 1792, 1797, 1802, 1806, 1810, 1825, 1846, 1851, 1888, 1917,
- 1918, 1924, 1925, 1930, 1932, 1939, 1956, 1973, 1975, 1982,
- 1987, 1995, 2005, 2017, 2026, 2030, 2034, 2038, 2042, 2046,
- 2049, 2051, 2055, 2059, 2063
+ 1005, 1004, 1018, 1030, 1030, 1129, 1129, 1163, 1194, 1203,
+ 1204, 1210, 1211, 1218, 1223, 1235, 1249, 1251, 1259, 1266,
+ 1268, 1276, 1285, 1287, 1296, 1297, 1305, 1310, 1310, 1321,
+ 1325, 1333, 1334, 1337, 1339, 1344, 1345, 1354, 1355, 1360,
+ 1365, 1374, 1376, 1378, 1385, 1386, 1392, 1393, 1398, 1400,
+ 1405, 1407, 1415, 1420, 1429, 1430, 1435, 1437, 1442, 1444,
+ 1452, 1457, 1465, 1466, 1471, 1478, 1482, 1484, 1486, 1499,
+ 1516, 1526, 1533, 1535, 1540, 1542, 1544, 1552, 1554, 1559,
+ 1561, 1566, 1568, 1570, 1627, 1629, 1631, 1633, 1635, 1637,
+ 1639, 1641, 1655, 1660, 1665, 1690, 1696, 1698, 1700, 1702,
+ 1704, 1706, 1711, 1715, 1747, 1754, 1760, 1766, 1779, 1780,
+ 1781, 1786, 1791, 1795, 1799, 1814, 1835, 1840, 1877, 1906,
+ 1907, 1913, 1914, 1919, 1921, 1928, 1945, 1962, 1964, 1971,
+ 1976, 1984, 1994, 2006, 2015, 2019, 2023, 2027, 2031, 2035,
+ 2038, 2040, 2044, 2048, 2052
};
#endif
@@ -2845,33 +2845,22 @@ regular_loop:
(yyval) = list_create((yyvsp[-3]));
(void) list_prepend((yyval), instruction(Op_push_i));
(yyval)->nexti->memory = dupnode(Nnull_string);
- } else {
- if (do_optimize
- && (yyvsp[-1])->lasti->opcode == Op_func_call
- && strcmp((yyvsp[-1])->lasti->func_name, in_function) == 0
- ) {
- /* Do tail recursion optimization. Tail
- * call without a return value is recognized
- * in mk_function().
- */
- ((yyvsp[-1])->lasti + 1)->tail_call = true;
- }
-
+ } else
(yyval) = list_append((yyvsp[-1]), (yyvsp[-3]));
- }
+
(yyval) = add_pending_comment((yyval));
}
-#line 2865 "awkgram.c" /* yacc.c:1646 */
+#line 2854 "awkgram.c" /* yacc.c:1646 */
break;
case 63:
-#line 1041 "awkgram.y" /* yacc.c:1646 */
+#line 1030 "awkgram.y" /* yacc.c:1646 */
{ in_print = true; in_parens = 0; }
-#line 2871 "awkgram.c" /* yacc.c:1646 */
+#line 2860 "awkgram.c" /* yacc.c:1646 */
break;
case 64:
-#line 1042 "awkgram.y" /* yacc.c:1646 */
+#line 1031 "awkgram.y" /* yacc.c:1646 */
{
/*
* Optimization: plain `print' has no expression list, so $3 is null.
@@ -2969,17 +2958,17 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 2973 "awkgram.c" /* yacc.c:1646 */
+#line 2962 "awkgram.c" /* yacc.c:1646 */
break;
case 65:
-#line 1140 "awkgram.y" /* yacc.c:1646 */
+#line 1129 "awkgram.y" /* yacc.c:1646 */
{ sub_counter = 0; }
-#line 2979 "awkgram.c" /* yacc.c:1646 */
+#line 2968 "awkgram.c" /* yacc.c:1646 */
break;
case 66:
-#line 1141 "awkgram.y" /* yacc.c:1646 */
+#line 1130 "awkgram.y" /* yacc.c:1646 */
{
char *arr = (yyvsp[-2])->lextok;
@@ -3013,11 +3002,11 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 3017 "awkgram.c" /* yacc.c:1646 */
+#line 3006 "awkgram.c" /* yacc.c:1646 */
break;
case 67:
-#line 1179 "awkgram.y" /* yacc.c:1646 */
+#line 1168 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
char *arr = (yyvsp[-1])->lextok;
@@ -3044,55 +3033,55 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 3048 "awkgram.c" /* yacc.c:1646 */
+#line 3037 "awkgram.c" /* yacc.c:1646 */
break;
case 68:
-#line 1206 "awkgram.y" /* yacc.c:1646 */
+#line 1195 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = optimize_assignment((yyvsp[0]));
(yyval) = add_pending_comment((yyval));
}
-#line 3057 "awkgram.c" /* yacc.c:1646 */
+#line 3046 "awkgram.c" /* yacc.c:1646 */
break;
case 69:
-#line 1214 "awkgram.y" /* yacc.c:1646 */
+#line 1203 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3063 "awkgram.c" /* yacc.c:1646 */
+#line 3052 "awkgram.c" /* yacc.c:1646 */
break;
case 70:
-#line 1216 "awkgram.y" /* yacc.c:1646 */
+#line 1205 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3069 "awkgram.c" /* yacc.c:1646 */
+#line 3058 "awkgram.c" /* yacc.c:1646 */
break;
case 71:
-#line 1221 "awkgram.y" /* yacc.c:1646 */
+#line 1210 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3075 "awkgram.c" /* yacc.c:1646 */
+#line 3064 "awkgram.c" /* yacc.c:1646 */
break;
case 72:
-#line 1223 "awkgram.y" /* yacc.c:1646 */
+#line 1212 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-1]) == NULL)
(yyval) = list_create((yyvsp[0]));
else
(yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
}
-#line 3086 "awkgram.c" /* yacc.c:1646 */
+#line 3075 "awkgram.c" /* yacc.c:1646 */
break;
case 73:
-#line 1230 "awkgram.y" /* yacc.c:1646 */
+#line 1219 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3092 "awkgram.c" /* yacc.c:1646 */
+#line 3081 "awkgram.c" /* yacc.c:1646 */
break;
case 74:
-#line 1235 "awkgram.y" /* yacc.c:1646 */
+#line 1224 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -3104,11 +3093,11 @@ regular_print:
bcfree((yyvsp[-2]));
(yyval) = (yyvsp[-4]);
}
-#line 3108 "awkgram.c" /* yacc.c:1646 */
+#line 3097 "awkgram.c" /* yacc.c:1646 */
break;
case 75:
-#line 1247 "awkgram.y" /* yacc.c:1646 */
+#line 1236 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -3119,17 +3108,17 @@ regular_print:
(yyvsp[-3])->case_stmt = casestmt;
(yyval) = (yyvsp[-3]);
}
-#line 3123 "awkgram.c" /* yacc.c:1646 */
+#line 3112 "awkgram.c" /* yacc.c:1646 */
break;
case 76:
-#line 1261 "awkgram.y" /* yacc.c:1646 */
+#line 1250 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3129 "awkgram.c" /* yacc.c:1646 */
+#line 3118 "awkgram.c" /* yacc.c:1646 */
break;
case 77:
-#line 1263 "awkgram.y" /* yacc.c:1646 */
+#line 1252 "awkgram.y" /* yacc.c:1646 */
{
NODE *n = (yyvsp[0])->memory;
(void) force_number(n);
@@ -3137,28 +3126,28 @@ regular_print:
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3141 "awkgram.c" /* yacc.c:1646 */
+#line 3130 "awkgram.c" /* yacc.c:1646 */
break;
case 78:
-#line 1271 "awkgram.y" /* yacc.c:1646 */
+#line 1260 "awkgram.y" /* yacc.c:1646 */
{
NODE *n = (yyvsp[0])->lasti->memory;
bcfree((yyvsp[-1]));
add_sign_to_num(n, '+');
(yyval) = (yyvsp[0]);
}
-#line 3152 "awkgram.c" /* yacc.c:1646 */
+#line 3141 "awkgram.c" /* yacc.c:1646 */
break;
case 79:
-#line 1278 "awkgram.y" /* yacc.c:1646 */
+#line 1267 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3158 "awkgram.c" /* yacc.c:1646 */
+#line 3147 "awkgram.c" /* yacc.c:1646 */
break;
case 80:
-#line 1280 "awkgram.y" /* yacc.c:1646 */
+#line 1269 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->memory->type == Node_regex)
(yyvsp[0])->opcode = Op_push_re;
@@ -3166,57 +3155,57 @@ regular_print:
(yyvsp[0])->opcode = Op_push;
(yyval) = (yyvsp[0]);
}
-#line 3170 "awkgram.c" /* yacc.c:1646 */
+#line 3159 "awkgram.c" /* yacc.c:1646 */
break;
case 81:
-#line 1288 "awkgram.y" /* yacc.c:1646 */
+#line 1277 "awkgram.y" /* yacc.c:1646 */
{
assert(((yyvsp[0])->memory->flags & REGEX) == REGEX);
(yyvsp[0])->opcode = Op_push_re;
(yyval) = (yyvsp[0]);
}
-#line 3180 "awkgram.c" /* yacc.c:1646 */
+#line 3169 "awkgram.c" /* yacc.c:1646 */
break;
case 82:
-#line 1297 "awkgram.y" /* yacc.c:1646 */
+#line 1286 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3186 "awkgram.c" /* yacc.c:1646 */
+#line 3175 "awkgram.c" /* yacc.c:1646 */
break;
case 83:
-#line 1299 "awkgram.y" /* yacc.c:1646 */
+#line 1288 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3192 "awkgram.c" /* yacc.c:1646 */
+#line 3181 "awkgram.c" /* yacc.c:1646 */
break;
case 85:
-#line 1309 "awkgram.y" /* yacc.c:1646 */
+#line 1298 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = (yyvsp[-1]);
}
-#line 3200 "awkgram.c" /* yacc.c:1646 */
+#line 3189 "awkgram.c" /* yacc.c:1646 */
break;
case 86:
-#line 1316 "awkgram.y" /* yacc.c:1646 */
+#line 1305 "awkgram.y" /* yacc.c:1646 */
{
in_print = false;
in_parens = 0;
(yyval) = NULL;
}
-#line 3210 "awkgram.c" /* yacc.c:1646 */
+#line 3199 "awkgram.c" /* yacc.c:1646 */
break;
case 87:
-#line 1321 "awkgram.y" /* yacc.c:1646 */
+#line 1310 "awkgram.y" /* yacc.c:1646 */
{ in_print = false; in_parens = 0; }
-#line 3216 "awkgram.c" /* yacc.c:1646 */
+#line 3205 "awkgram.c" /* yacc.c:1646 */
break;
case 88:
-#line 1322 "awkgram.y" /* yacc.c:1646 */
+#line 1311 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->redir_type == redirect_twoway
&& (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@ -3224,63 +3213,63 @@ regular_print:
yyerror(_("multistage two-way pipelines don't work"));
(yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
}
-#line 3228 "awkgram.c" /* yacc.c:1646 */
+#line 3217 "awkgram.c" /* yacc.c:1646 */
break;
case 89:
-#line 1333 "awkgram.y" /* yacc.c:1646 */
+#line 1322 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), NULL, NULL);
}
-#line 3236 "awkgram.c" /* yacc.c:1646 */
+#line 3225 "awkgram.c" /* yacc.c:1646 */
break;
case 90:
-#line 1338 "awkgram.y" /* yacc.c:1646 */
+#line 1327 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
}
-#line 3244 "awkgram.c" /* yacc.c:1646 */
+#line 3233 "awkgram.c" /* yacc.c:1646 */
break;
case 95:
-#line 1355 "awkgram.y" /* yacc.c:1646 */
+#line 1344 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3250 "awkgram.c" /* yacc.c:1646 */
+#line 3239 "awkgram.c" /* yacc.c:1646 */
break;
case 96:
-#line 1357 "awkgram.y" /* yacc.c:1646 */
+#line 1346 "awkgram.y" /* yacc.c:1646 */
{
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3259 "awkgram.c" /* yacc.c:1646 */
+#line 3248 "awkgram.c" /* yacc.c:1646 */
break;
case 97:
-#line 1365 "awkgram.y" /* yacc.c:1646 */
+#line 1354 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3265 "awkgram.c" /* yacc.c:1646 */
+#line 3254 "awkgram.c" /* yacc.c:1646 */
break;
case 98:
-#line 1367 "awkgram.y" /* yacc.c:1646 */
+#line 1356 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3271 "awkgram.c" /* yacc.c:1646 */
+#line 3260 "awkgram.c" /* yacc.c:1646 */
break;
case 99:
-#line 1372 "awkgram.y" /* yacc.c:1646 */
+#line 1361 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->param_count = 0;
(yyval) = list_create((yyvsp[0]));
}
-#line 3280 "awkgram.c" /* yacc.c:1646 */
+#line 3269 "awkgram.c" /* yacc.c:1646 */
break;
case 100:
-#line 1377 "awkgram.y" /* yacc.c:1646 */
+#line 1366 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2]) != NULL && (yyvsp[0]) != NULL) {
(yyvsp[0])->param_count = (yyvsp[-2])->lasti->param_count + 1;
@@ -3289,74 +3278,74 @@ regular_print:
} else
(yyval) = NULL;
}
-#line 3293 "awkgram.c" /* yacc.c:1646 */
+#line 3282 "awkgram.c" /* yacc.c:1646 */
break;
case 101:
-#line 1386 "awkgram.y" /* yacc.c:1646 */
+#line 1375 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3299 "awkgram.c" /* yacc.c:1646 */
+#line 3288 "awkgram.c" /* yacc.c:1646 */
break;
case 102:
-#line 1388 "awkgram.y" /* yacc.c:1646 */
+#line 1377 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3305 "awkgram.c" /* yacc.c:1646 */
+#line 3294 "awkgram.c" /* yacc.c:1646 */
break;
case 103:
-#line 1390 "awkgram.y" /* yacc.c:1646 */
+#line 1379 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-2]); }
-#line 3311 "awkgram.c" /* yacc.c:1646 */
+#line 3300 "awkgram.c" /* yacc.c:1646 */
break;
case 104:
-#line 1396 "awkgram.y" /* yacc.c:1646 */
+#line 1385 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3317 "awkgram.c" /* yacc.c:1646 */
+#line 3306 "awkgram.c" /* yacc.c:1646 */
break;
case 105:
-#line 1398 "awkgram.y" /* yacc.c:1646 */
+#line 1387 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3323 "awkgram.c" /* yacc.c:1646 */
+#line 3312 "awkgram.c" /* yacc.c:1646 */
break;
case 106:
-#line 1403 "awkgram.y" /* yacc.c:1646 */
+#line 1392 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3329 "awkgram.c" /* yacc.c:1646 */
+#line 3318 "awkgram.c" /* yacc.c:1646 */
break;
case 107:
-#line 1405 "awkgram.y" /* yacc.c:1646 */
+#line 1394 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3335 "awkgram.c" /* yacc.c:1646 */
+#line 3324 "awkgram.c" /* yacc.c:1646 */
break;
case 108:
-#line 1410 "awkgram.y" /* yacc.c:1646 */
+#line 1399 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3341 "awkgram.c" /* yacc.c:1646 */
+#line 3330 "awkgram.c" /* yacc.c:1646 */
break;
case 109:
-#line 1412 "awkgram.y" /* yacc.c:1646 */
+#line 1401 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3350 "awkgram.c" /* yacc.c:1646 */
+#line 3339 "awkgram.c" /* yacc.c:1646 */
break;
case 110:
-#line 1417 "awkgram.y" /* yacc.c:1646 */
+#line 1406 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3356 "awkgram.c" /* yacc.c:1646 */
+#line 3345 "awkgram.c" /* yacc.c:1646 */
break;
case 111:
-#line 1419 "awkgram.y" /* yacc.c:1646 */
+#line 1408 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3364,62 +3353,62 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3368 "awkgram.c" /* yacc.c:1646 */
+#line 3357 "awkgram.c" /* yacc.c:1646 */
break;
case 112:
-#line 1427 "awkgram.y" /* yacc.c:1646 */
+#line 1416 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3377 "awkgram.c" /* yacc.c:1646 */
+#line 3366 "awkgram.c" /* yacc.c:1646 */
break;
case 113:
-#line 1432 "awkgram.y" /* yacc.c:1646 */
+#line 1421 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3386 "awkgram.c" /* yacc.c:1646 */
+#line 3375 "awkgram.c" /* yacc.c:1646 */
break;
case 114:
-#line 1440 "awkgram.y" /* yacc.c:1646 */
+#line 1429 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3392 "awkgram.c" /* yacc.c:1646 */
+#line 3381 "awkgram.c" /* yacc.c:1646 */
break;
case 115:
-#line 1442 "awkgram.y" /* yacc.c:1646 */
+#line 1431 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3398 "awkgram.c" /* yacc.c:1646 */
+#line 3387 "awkgram.c" /* yacc.c:1646 */
break;
case 116:
-#line 1447 "awkgram.y" /* yacc.c:1646 */
+#line 1436 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3404 "awkgram.c" /* yacc.c:1646 */
+#line 3393 "awkgram.c" /* yacc.c:1646 */
break;
case 117:
-#line 1449 "awkgram.y" /* yacc.c:1646 */
+#line 1438 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3413 "awkgram.c" /* yacc.c:1646 */
+#line 3402 "awkgram.c" /* yacc.c:1646 */
break;
case 118:
-#line 1454 "awkgram.y" /* yacc.c:1646 */
+#line 1443 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3419 "awkgram.c" /* yacc.c:1646 */
+#line 3408 "awkgram.c" /* yacc.c:1646 */
break;
case 119:
-#line 1456 "awkgram.y" /* yacc.c:1646 */
+#line 1445 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3427,72 +3416,72 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3431 "awkgram.c" /* yacc.c:1646 */
+#line 3420 "awkgram.c" /* yacc.c:1646 */
break;
case 120:
-#line 1464 "awkgram.y" /* yacc.c:1646 */
+#line 1453 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3440 "awkgram.c" /* yacc.c:1646 */
+#line 3429 "awkgram.c" /* yacc.c:1646 */
break;
case 121:
-#line 1469 "awkgram.y" /* yacc.c:1646 */
+#line 1458 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3449 "awkgram.c" /* yacc.c:1646 */
+#line 3438 "awkgram.c" /* yacc.c:1646 */
break;
case 122:
-#line 1476 "awkgram.y" /* yacc.c:1646 */
+#line 1465 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3455 "awkgram.c" /* yacc.c:1646 */
+#line 3444 "awkgram.c" /* yacc.c:1646 */
break;
case 123:
-#line 1477 "awkgram.y" /* yacc.c:1646 */
+#line 1466 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = list_create((yyvsp[0])); }
-#line 3461 "awkgram.c" /* yacc.c:1646 */
+#line 3450 "awkgram.c" /* yacc.c:1646 */
break;
case 124:
-#line 1483 "awkgram.y" /* yacc.c:1646 */
+#line 1472 "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 3472 "awkgram.c" /* yacc.c:1646 */
+#line 3461 "awkgram.c" /* yacc.c:1646 */
break;
case 125:
-#line 1490 "awkgram.y" /* yacc.c:1646 */
+#line 1479 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), (yyvsp[-1]));
}
-#line 3480 "awkgram.c" /* yacc.c:1646 */
+#line 3469 "awkgram.c" /* yacc.c:1646 */
break;
case 126:
-#line 1494 "awkgram.y" /* yacc.c:1646 */
+#line 1483 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3486 "awkgram.c" /* yacc.c:1646 */
+#line 3475 "awkgram.c" /* yacc.c:1646 */
break;
case 127:
-#line 1496 "awkgram.y" /* yacc.c:1646 */
+#line 1485 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3492 "awkgram.c" /* yacc.c:1646 */
+#line 3481 "awkgram.c" /* yacc.c:1646 */
break;
case 128:
-#line 1498 "awkgram.y" /* yacc.c:1646 */
+#line 1487 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3505,11 +3494,11 @@ regular_print:
bcfree((yyvsp[0]));
(yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
}
-#line 3509 "awkgram.c" /* yacc.c:1646 */
+#line 3498 "awkgram.c" /* yacc.c:1646 */
break;
case 129:
-#line 1511 "awkgram.y" /* yacc.c:1646 */
+#line 1500 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3526,11 +3515,11 @@ regular_print:
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3530 "awkgram.c" /* yacc.c:1646 */
+#line 3519 "awkgram.c" /* yacc.c:1646 */
break;
case 130:
-#line 1528 "awkgram.y" /* yacc.c:1646 */
+#line 1517 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old)
warning_ln((yyvsp[-1])->source_line,
@@ -3540,91 +3529,91 @@ regular_print:
(yyvsp[-1])->expr_count = 1;
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
-#line 3544 "awkgram.c" /* yacc.c:1646 */
+#line 3533 "awkgram.c" /* yacc.c:1646 */
break;
case 131:
-#line 1538 "awkgram.y" /* yacc.c:1646 */
+#line 1527 "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 3555 "awkgram.c" /* yacc.c:1646 */
+#line 3544 "awkgram.c" /* yacc.c:1646 */
break;
case 132:
-#line 1545 "awkgram.y" /* yacc.c:1646 */
+#line 1534 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
-#line 3561 "awkgram.c" /* yacc.c:1646 */
+#line 3550 "awkgram.c" /* yacc.c:1646 */
break;
case 133:
-#line 1547 "awkgram.y" /* yacc.c:1646 */
+#line 1536 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3567 "awkgram.c" /* yacc.c:1646 */
+#line 3556 "awkgram.c" /* yacc.c:1646 */
break;
case 134:
-#line 1552 "awkgram.y" /* yacc.c:1646 */
+#line 1541 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3573 "awkgram.c" /* yacc.c:1646 */
+#line 3562 "awkgram.c" /* yacc.c:1646 */
break;
case 135:
-#line 1554 "awkgram.y" /* yacc.c:1646 */
+#line 1543 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3579 "awkgram.c" /* yacc.c:1646 */
+#line 3568 "awkgram.c" /* yacc.c:1646 */
break;
case 136:
-#line 1556 "awkgram.y" /* yacc.c:1646 */
+#line 1545 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_assign_quotient;
(yyval) = (yyvsp[0]);
}
-#line 3588 "awkgram.c" /* yacc.c:1646 */
+#line 3577 "awkgram.c" /* yacc.c:1646 */
break;
case 137:
-#line 1564 "awkgram.y" /* yacc.c:1646 */
+#line 1553 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3594 "awkgram.c" /* yacc.c:1646 */
+#line 3583 "awkgram.c" /* yacc.c:1646 */
break;
case 138:
-#line 1566 "awkgram.y" /* yacc.c:1646 */
+#line 1555 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3600 "awkgram.c" /* yacc.c:1646 */
+#line 3589 "awkgram.c" /* yacc.c:1646 */
break;
case 139:
-#line 1571 "awkgram.y" /* yacc.c:1646 */
+#line 1560 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3606 "awkgram.c" /* yacc.c:1646 */
+#line 3595 "awkgram.c" /* yacc.c:1646 */
break;
case 140:
-#line 1573 "awkgram.y" /* yacc.c:1646 */
+#line 1562 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3612 "awkgram.c" /* yacc.c:1646 */
+#line 3601 "awkgram.c" /* yacc.c:1646 */
break;
case 141:
-#line 1578 "awkgram.y" /* yacc.c:1646 */
+#line 1567 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3618 "awkgram.c" /* yacc.c:1646 */
+#line 3607 "awkgram.c" /* yacc.c:1646 */
break;
case 142:
-#line 1580 "awkgram.y" /* yacc.c:1646 */
+#line 1569 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3624 "awkgram.c" /* yacc.c:1646 */
+#line 3613 "awkgram.c" /* yacc.c:1646 */
break;
case 143:
-#line 1582 "awkgram.y" /* yacc.c:1646 */
+#line 1571 "awkgram.y" /* yacc.c:1646 */
{
int count = 2;
bool is_simple_var = false;
@@ -3678,47 +3667,47 @@ regular_print:
max_args = count;
}
}
-#line 3682 "awkgram.c" /* yacc.c:1646 */
+#line 3671 "awkgram.c" /* yacc.c:1646 */
break;
case 145:
-#line 1641 "awkgram.y" /* yacc.c:1646 */
+#line 1630 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3688 "awkgram.c" /* yacc.c:1646 */
+#line 3677 "awkgram.c" /* yacc.c:1646 */
break;
case 146:
-#line 1643 "awkgram.y" /* yacc.c:1646 */
+#line 1632 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3694 "awkgram.c" /* yacc.c:1646 */
+#line 3683 "awkgram.c" /* yacc.c:1646 */
break;
case 147:
-#line 1645 "awkgram.y" /* yacc.c:1646 */
+#line 1634 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3700 "awkgram.c" /* yacc.c:1646 */
+#line 3689 "awkgram.c" /* yacc.c:1646 */
break;
case 148:
-#line 1647 "awkgram.y" /* yacc.c:1646 */
+#line 1636 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3706 "awkgram.c" /* yacc.c:1646 */
+#line 3695 "awkgram.c" /* yacc.c:1646 */
break;
case 149:
-#line 1649 "awkgram.y" /* yacc.c:1646 */
+#line 1638 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3712 "awkgram.c" /* yacc.c:1646 */
+#line 3701 "awkgram.c" /* yacc.c:1646 */
break;
case 150:
-#line 1651 "awkgram.y" /* yacc.c:1646 */
+#line 1640 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3718 "awkgram.c" /* yacc.c:1646 */
+#line 3707 "awkgram.c" /* yacc.c:1646 */
break;
case 151:
-#line 1653 "awkgram.y" /* yacc.c:1646 */
+#line 1642 "awkgram.y" /* yacc.c:1646 */
{
/*
* In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@ -3732,29 +3721,29 @@ regular_print:
_("non-redirected `getline' undefined inside END action"));
(yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), redirect_input);
}
-#line 3736 "awkgram.c" /* yacc.c:1646 */
+#line 3725 "awkgram.c" /* yacc.c:1646 */
break;
case 152:
-#line 1667 "awkgram.y" /* yacc.c:1646 */
+#line 1656 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3745 "awkgram.c" /* yacc.c:1646 */
+#line 3734 "awkgram.c" /* yacc.c:1646 */
break;
case 153:
-#line 1672 "awkgram.y" /* yacc.c:1646 */
+#line 1661 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3754 "awkgram.c" /* yacc.c:1646 */
+#line 3743 "awkgram.c" /* yacc.c:1646 */
break;
case 154:
-#line 1677 "awkgram.y" /* yacc.c:1646 */
+#line 1666 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old) {
warning_ln((yyvsp[-1])->source_line,
@@ -3774,64 +3763,64 @@ regular_print:
(yyval) = list_append(list_merge(t, (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3778 "awkgram.c" /* yacc.c:1646 */
+#line 3767 "awkgram.c" /* yacc.c:1646 */
break;
case 155:
-#line 1702 "awkgram.y" /* yacc.c:1646 */
+#line 1691 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), (yyvsp[-2])->redir_type);
bcfree((yyvsp[-2]));
}
-#line 3787 "awkgram.c" /* yacc.c:1646 */
+#line 3776 "awkgram.c" /* yacc.c:1646 */
break;
case 156:
-#line 1708 "awkgram.y" /* yacc.c:1646 */
+#line 1697 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3793 "awkgram.c" /* yacc.c:1646 */
+#line 3782 "awkgram.c" /* yacc.c:1646 */
break;
case 157:
-#line 1710 "awkgram.y" /* yacc.c:1646 */
+#line 1699 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3799 "awkgram.c" /* yacc.c:1646 */
+#line 3788 "awkgram.c" /* yacc.c:1646 */
break;
case 158:
-#line 1712 "awkgram.y" /* yacc.c:1646 */
+#line 1701 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3805 "awkgram.c" /* yacc.c:1646 */
+#line 3794 "awkgram.c" /* yacc.c:1646 */
break;
case 159:
-#line 1714 "awkgram.y" /* yacc.c:1646 */
+#line 1703 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3811 "awkgram.c" /* yacc.c:1646 */
+#line 3800 "awkgram.c" /* yacc.c:1646 */
break;
case 160:
-#line 1716 "awkgram.y" /* yacc.c:1646 */
+#line 1705 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3817 "awkgram.c" /* yacc.c:1646 */
+#line 3806 "awkgram.c" /* yacc.c:1646 */
break;
case 161:
-#line 1718 "awkgram.y" /* yacc.c:1646 */
+#line 1707 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3823 "awkgram.c" /* yacc.c:1646 */
+#line 3812 "awkgram.c" /* yacc.c:1646 */
break;
case 162:
-#line 1723 "awkgram.y" /* yacc.c:1646 */
+#line 1712 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3831 "awkgram.c" /* yacc.c:1646 */
+#line 3820 "awkgram.c" /* yacc.c:1646 */
break;
case 163:
-#line 1727 "awkgram.y" /* yacc.c:1646 */
+#line 1716 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->opcode == Op_match_rec) {
(yyvsp[0])->opcode = Op_nomatch;
@@ -3863,42 +3852,42 @@ regular_print:
}
}
}
-#line 3867 "awkgram.c" /* yacc.c:1646 */
+#line 3856 "awkgram.c" /* yacc.c:1646 */
break;
case 164:
-#line 1759 "awkgram.y" /* yacc.c:1646 */
+#line 1748 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
(yyval) = list_append((yyvsp[-1]), bcalloc(Op_parens, 1, sourceline));
else
(yyval) = (yyvsp[-1]);
}
-#line 3878 "awkgram.c" /* yacc.c:1646 */
+#line 3867 "awkgram.c" /* yacc.c:1646 */
break;
case 165:
-#line 1766 "awkgram.y" /* yacc.c:1646 */
+#line 1755 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3888 "awkgram.c" /* yacc.c:1646 */
+#line 3877 "awkgram.c" /* yacc.c:1646 */
break;
case 166:
-#line 1772 "awkgram.y" /* yacc.c:1646 */
+#line 1761 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3898 "awkgram.c" /* yacc.c:1646 */
+#line 3887 "awkgram.c" /* yacc.c:1646 */
break;
case 167:
-#line 1778 "awkgram.y" /* yacc.c:1646 */
+#line 1767 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
@@ -3911,45 +3900,45 @@ regular_print:
if ((yyval) == NULL)
YYABORT;
}
-#line 3915 "awkgram.c" /* yacc.c:1646 */
+#line 3904 "awkgram.c" /* yacc.c:1646 */
break;
case 170:
-#line 1793 "awkgram.y" /* yacc.c:1646 */
+#line 1782 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_preincrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3924 "awkgram.c" /* yacc.c:1646 */
+#line 3913 "awkgram.c" /* yacc.c:1646 */
break;
case 171:
-#line 1798 "awkgram.y" /* yacc.c:1646 */
+#line 1787 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_predecrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3933 "awkgram.c" /* yacc.c:1646 */
+#line 3922 "awkgram.c" /* yacc.c:1646 */
break;
case 172:
-#line 1803 "awkgram.y" /* yacc.c:1646 */
+#line 1792 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3941 "awkgram.c" /* yacc.c:1646 */
+#line 3930 "awkgram.c" /* yacc.c:1646 */
break;
case 173:
-#line 1807 "awkgram.y" /* yacc.c:1646 */
+#line 1796 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3949 "awkgram.c" /* yacc.c:1646 */
+#line 3938 "awkgram.c" /* yacc.c:1646 */
break;
case 174:
-#line 1811 "awkgram.y" /* yacc.c:1646 */
+#line 1800 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->lasti->opcode == Op_push_i
&& ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -3964,11 +3953,11 @@ regular_print:
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
-#line 3968 "awkgram.c" /* yacc.c:1646 */
+#line 3957 "awkgram.c" /* yacc.c:1646 */
break;
case 175:
-#line 1826 "awkgram.y" /* yacc.c:1646 */
+#line 1815 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->lasti->opcode == Op_push_i
&& ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -3986,20 +3975,20 @@ regular_print:
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
-#line 3990 "awkgram.c" /* yacc.c:1646 */
+#line 3979 "awkgram.c" /* yacc.c:1646 */
break;
case 176:
-#line 1847 "awkgram.y" /* yacc.c:1646 */
+#line 1836 "awkgram.y" /* yacc.c:1646 */
{
func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
(yyval) = (yyvsp[0]);
}
-#line 3999 "awkgram.c" /* yacc.c:1646 */
+#line 3988 "awkgram.c" /* yacc.c:1646 */
break;
case 177:
-#line 1852 "awkgram.y" /* yacc.c:1646 */
+#line 1841 "awkgram.y" /* yacc.c:1646 */
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -4033,11 +4022,11 @@ regular_print:
(yyval) = list_prepend((yyvsp[0]), t);
at_seen = false;
}
-#line 4037 "awkgram.c" /* yacc.c:1646 */
+#line 4026 "awkgram.c" /* yacc.c:1646 */
break;
case 178:
-#line 1889 "awkgram.y" /* yacc.c:1646 */
+#line 1878 "awkgram.y" /* yacc.c:1646 */
{
NODE *n;
@@ -4062,49 +4051,49 @@ regular_print:
(yyval) = list_append(t, (yyvsp[-3]));
}
}
-#line 4066 "awkgram.c" /* yacc.c:1646 */
+#line 4055 "awkgram.c" /* yacc.c:1646 */
break;
case 179:
-#line 1917 "awkgram.y" /* yacc.c:1646 */
+#line 1906 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4072 "awkgram.c" /* yacc.c:1646 */
+#line 4061 "awkgram.c" /* yacc.c:1646 */
break;
case 180:
-#line 1919 "awkgram.y" /* yacc.c:1646 */
+#line 1908 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4078 "awkgram.c" /* yacc.c:1646 */
+#line 4067 "awkgram.c" /* yacc.c:1646 */
break;
case 181:
-#line 1924 "awkgram.y" /* yacc.c:1646 */
+#line 1913 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4084 "awkgram.c" /* yacc.c:1646 */
+#line 4073 "awkgram.c" /* yacc.c:1646 */
break;
case 182:
-#line 1926 "awkgram.y" /* yacc.c:1646 */
+#line 1915 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 4090 "awkgram.c" /* yacc.c:1646 */
+#line 4079 "awkgram.c" /* yacc.c:1646 */
break;
case 183:
-#line 1931 "awkgram.y" /* yacc.c:1646 */
+#line 1920 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4096 "awkgram.c" /* yacc.c:1646 */
+#line 4085 "awkgram.c" /* yacc.c:1646 */
break;
case 184:
-#line 1933 "awkgram.y" /* yacc.c:1646 */
+#line 1922 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 4104 "awkgram.c" /* yacc.c:1646 */
+#line 4093 "awkgram.c" /* yacc.c:1646 */
break;
case 185:
-#line 1940 "awkgram.y" /* yacc.c:1646 */
+#line 1929 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
@@ -4118,11 +4107,11 @@ regular_print:
sub_counter++; /* count # of dimensions */
(yyval) = (yyvsp[0]);
}
-#line 4122 "awkgram.c" /* yacc.c:1646 */
+#line 4111 "awkgram.c" /* yacc.c:1646 */
break;
case 186:
-#line 1957 "awkgram.y" /* yacc.c:1646 */
+#line 1946 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *t = (yyvsp[-1]);
if ((yyvsp[-1]) == NULL) {
@@ -4136,31 +4125,31 @@ regular_print:
(yyvsp[0])->sub_count = count_expressions(&t, false);
(yyval) = list_append(t, (yyvsp[0]));
}
-#line 4140 "awkgram.c" /* yacc.c:1646 */
+#line 4129 "awkgram.c" /* yacc.c:1646 */
break;
case 187:
-#line 1974 "awkgram.y" /* yacc.c:1646 */
+#line 1963 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4146 "awkgram.c" /* yacc.c:1646 */
+#line 4135 "awkgram.c" /* yacc.c:1646 */
break;
case 188:
-#line 1976 "awkgram.y" /* yacc.c:1646 */
+#line 1965 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 4154 "awkgram.c" /* yacc.c:1646 */
+#line 4143 "awkgram.c" /* yacc.c:1646 */
break;
case 189:
-#line 1983 "awkgram.y" /* yacc.c:1646 */
+#line 1972 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 4160 "awkgram.c" /* yacc.c:1646 */
+#line 4149 "awkgram.c" /* yacc.c:1646 */
break;
case 190:
-#line 1988 "awkgram.y" /* yacc.c:1646 */
+#line 1977 "awkgram.y" /* yacc.c:1646 */
{
char *var_name = (yyvsp[0])->lextok;
@@ -4168,22 +4157,22 @@ regular_print:
(yyvsp[0])->memory = variable((yyvsp[0])->source_line, var_name, Node_var_new);
(yyval) = list_create((yyvsp[0]));
}
-#line 4172 "awkgram.c" /* yacc.c:1646 */
+#line 4161 "awkgram.c" /* yacc.c:1646 */
break;
case 191:
-#line 1996 "awkgram.y" /* yacc.c:1646 */
+#line 1985 "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 4183 "awkgram.c" /* yacc.c:1646 */
+#line 4172 "awkgram.c" /* yacc.c:1646 */
break;
case 192:
-#line 2006 "awkgram.y" /* yacc.c:1646 */
+#line 1995 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->nexti;
if (ip->opcode == Op_push
@@ -4195,73 +4184,73 @@ regular_print:
} else
(yyval) = (yyvsp[0]);
}
-#line 4199 "awkgram.c" /* yacc.c:1646 */
+#line 4188 "awkgram.c" /* yacc.c:1646 */
break;
case 193:
-#line 2018 "awkgram.y" /* yacc.c:1646 */
+#line 2007 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
if ((yyvsp[0]) != NULL)
mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 4209 "awkgram.c" /* yacc.c:1646 */
+#line 4198 "awkgram.c" /* yacc.c:1646 */
break;
case 194:
-#line 2027 "awkgram.y" /* yacc.c:1646 */
+#line 2016 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
}
-#line 4217 "awkgram.c" /* yacc.c:1646 */
+#line 4206 "awkgram.c" /* yacc.c:1646 */
break;
case 195:
-#line 2031 "awkgram.y" /* yacc.c:1646 */
+#line 2020 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
}
-#line 4225 "awkgram.c" /* yacc.c:1646 */
+#line 4214 "awkgram.c" /* yacc.c:1646 */
break;
case 196:
-#line 2034 "awkgram.y" /* yacc.c:1646 */
+#line 2023 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4231 "awkgram.c" /* yacc.c:1646 */
+#line 4220 "awkgram.c" /* yacc.c:1646 */
break;
case 198:
-#line 2042 "awkgram.y" /* yacc.c:1646 */
+#line 2031 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4237 "awkgram.c" /* yacc.c:1646 */
+#line 4226 "awkgram.c" /* yacc.c:1646 */
break;
case 199:
-#line 2046 "awkgram.y" /* yacc.c:1646 */
+#line 2035 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4243 "awkgram.c" /* yacc.c:1646 */
+#line 4232 "awkgram.c" /* yacc.c:1646 */
break;
case 202:
-#line 2055 "awkgram.y" /* yacc.c:1646 */
+#line 2044 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4249 "awkgram.c" /* yacc.c:1646 */
+#line 4238 "awkgram.c" /* yacc.c:1646 */
break;
case 203:
-#line 2059 "awkgram.y" /* yacc.c:1646 */
+#line 2048 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); yyerrok; }
-#line 4255 "awkgram.c" /* yacc.c:1646 */
+#line 4244 "awkgram.c" /* yacc.c:1646 */
break;
case 204:
-#line 2063 "awkgram.y" /* yacc.c:1646 */
+#line 2052 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4261 "awkgram.c" /* yacc.c:1646 */
+#line 4250 "awkgram.c" /* yacc.c:1646 */
break;
-#line 4265 "awkgram.c" /* yacc.c:1646 */
+#line 4254 "awkgram.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4489,7 +4478,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 2065 "awkgram.y" /* yacc.c:1906 */
+#line 2054 "awkgram.y" /* yacc.c:1906 */
struct token {
@@ -7181,18 +7170,6 @@ mk_function(INSTRUCTION *fi, INSTRUCTION *def)
thisfunc = fi->func_body;
assert(thisfunc != NULL);
- if (do_optimize && def->lasti->opcode == Op_pop) {
- /* tail call which does not return any value. */
-
- INSTRUCTION *t;
-
- for (t = def->nexti; t->nexti != def->lasti; t = t->nexti)
- ;
- if (t->opcode == Op_func_call
- && strcmp(t->func_name, thisfunc->vname) == 0)
- (t + 1)->tail_call = true;
- }
-
/* add any pre-function comment to start of action for profile.c */
if (function_comment != NULL) {
diff --git a/awkgram.y b/awkgram.y
index aca38bc3..672fa9e0 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -1010,20 +1010,9 @@ non_compound_stmt
$$ = list_create($1);
(void) list_prepend($$, instruction(Op_push_i));
$$->nexti->memory = dupnode(Nnull_string);
- } else {
- if (do_optimize
- && $3->lasti->opcode == Op_func_call
- && strcmp($3->lasti->func_name, in_function) == 0
- ) {
- /* Do tail recursion optimization. Tail
- * call without a return value is recognized
- * in mk_function().
- */
- ($3->lasti + 1)->tail_call = true;
- }
-
+ } else
$$ = list_append($3, $1);
- }
+
$$ = add_pending_comment($$);
}
| simple_stmt statement_term
@@ -4753,18 +4742,6 @@ mk_function(INSTRUCTION *fi, INSTRUCTION *def)
thisfunc = fi->func_body;
assert(thisfunc != NULL);
- if (do_optimize && def->lasti->opcode == Op_pop) {
- /* tail call which does not return any value. */
-
- INSTRUCTION *t;
-
- for (t = def->nexti; t->nexti != def->lasti; t = t->nexti)
- ;
- if (t->opcode == Op_func_call
- && strcmp(t->func_name, thisfunc->vname) == 0)
- (t + 1)->tail_call = true;
- }
-
/* add any pre-function comment to start of action for profile.c */
if (function_comment != NULL) {
diff --git a/eval.c b/eval.c
index 6ece2368..34ba174c 100644
--- a/eval.c
+++ b/eval.c
@@ -674,7 +674,7 @@ void
dump_fcall_stack(FILE *fp)
{
NODE *f, *func;
- long i = 0, j, k = 0;
+ long i = 0, k = 0;
if (fcall_count == 0)
return;
@@ -682,15 +682,13 @@ dump_fcall_stack(FILE *fp)
/* current frame */
func = frame_ptr->func_node;
- for (j = 0; j <= frame_ptr->num_tail_calls; j++)
- fprintf(fp, "\t# %3ld. %s\n", k++, func->vname);
+ fprintf(fp, "\t# %3ld. %s\n", k++, func->vname);
/* outer frames except main */
for (i = 1; i < fcall_count; i++) {
f = fcall_list[i];
func = f->func_node;
- for (j = 0; j <= f->num_tail_calls; j++)
- fprintf(fp, "\t# %3ld. %s\n", k++, func->vname);
+ fprintf(fp, "\t# %3ld. %s\n", k++, func->vname);
}
fprintf(fp, "\t# %3ld. -- main --\n", k);
@@ -1242,38 +1240,16 @@ setup_frame(INSTRUCTION *pc)
NODE *m, *f, *fp;
NODE **sp = NULL;
int pcount, arg_count, i, j;
- bool tail_optimize = false;
f = pc->func_body;
pcount = f->param_cnt;
fp = f->fparms;
arg_count = (pc + 1)->expr_count;
- /* tail recursion optimization */
- tail_optimize = ((pc + 1)->tail_call && do_optimize
- && ! do_debug && ! do_profile);
-
- if (tail_optimize) {
- /* free local vars of calling frame */
-
- NODE *func;
- int n;
-
- func = frame_ptr->func_node;
- for (n = func->param_cnt, sp = frame_ptr->stack; n > 0; n--) {
- r = *sp++;
- if (r->type == Node_var) /* local variable */
- DEREF(r->var_value);
- else if (r->type == Node_var_array) /* local array */
- assoc_clear(r);
- }
- sp = frame_ptr->stack;
-
- } else if (pcount > 0) {
+ if (pcount > 0) {
ezalloc(sp, NODE **, pcount * sizeof(NODE *), "setup_frame");
}
-
/* check for extra args */
if (arg_count > pcount) {
warning(
@@ -1287,13 +1263,9 @@ setup_frame(INSTRUCTION *pc)
}
for (i = 0, j = arg_count - 1; i < pcount; i++, j--) {
- if (tail_optimize)
- r = sp[i];
- else {
- getnode(r);
- memset(r, 0, sizeof(NODE));
- sp[i] = r;
- }
+ getnode(r);
+ memset(r, 0, sizeof(NODE));
+ sp[i] = r;
if (i >= arg_count) {
/* local variable */
@@ -1348,11 +1320,6 @@ setup_frame(INSTRUCTION *pc)
stack_adj(-arg_count); /* adjust stack pointer */
- if (tail_optimize) {
- frame_ptr->num_tail_calls++;
- return f->code_ptr;
- }
-
if (pc->opcode == Op_indirect_func_call) {
r = POP(); /* indirect var */
DEREF(r);
@@ -1372,7 +1339,6 @@ setup_frame(INSTRUCTION *pc)
frame_ptr->stack = sp;
frame_ptr->prev_frame_size = (stack_ptr - stack_bottom); /* size of the previous stack frame */
frame_ptr->func_node = f;
- frame_ptr->num_tail_calls = 0;
frame_ptr->vname = NULL;
frame_ptr->reti = pc; /* on return execute pc->nexti */
@@ -1774,7 +1740,6 @@ init_interpret()
frame_ptr->type = Node_frame;
frame_ptr->stack = NULL;
frame_ptr->func_node = NULL; /* in main */
- frame_ptr->num_tail_calls = 0;
frame_ptr->vname = NULL;
/* initialize true and false nodes */
diff --git a/po/ChangeLog b/po/ChangeLog
index 2563ed41..c623abf2 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,7 @@
+2018-03-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ * es.po: Updated.
+
2018-02-25 Arnold D. Robbins <arnold@skeeve.com>
* 4.2.1: Release tar ball made.
diff --git a/po/es.po b/po/es.po
index e79e60c5..cbeba890 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,20 +1,24 @@
-# Mensajes en español para gawk-4.0.0h.
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Mensajes en español para gawk-4.2.0e.
+# Copyright (C) 2001 - 2018 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
-#
+# Javier <fserrador@gmail.com>, 2018.
+# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0h\n"
+"Project-Id-Version: gawk 4.2.0e\n"
"Report-Msgid-Bugs-To: bug-gawk@gnu.org\n"
-"POT-Creation-Date: 2018-02-25 19:17+0200\n"
-"PO-Revision-Date: 2012-01-30 07:42-0600\n"
-"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
-"Language-Team: Spanish <es@li.org>\n"
+"POT-Creation-Date: 2018-01-28 20:07+0200\n"
+"PO-Revision-Date: 2018-03-24 17:48+0200\n"
+"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
+"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: array.c:259
#, c-format
@@ -23,39 +27,38 @@ msgstr "desde %s"
#: array.c:360
msgid "attempt to use a scalar value as array"
-msgstr "se intentó usar un valor escalar como una matriz"
+msgstr "trata emplear un valor escalar como una matriz"
#: array.c:362
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
-msgstr "se intentó usar el parámetro escalar `%s como una matriz'"
+msgstr "trata utilizar parámetro escalar «%s» como una matriz"
#: array.c:365
#, c-format
msgid "attempt to use scalar `%s' as an array"
-msgstr "se intentó usar el escalar `%s' como una matriz"
+msgstr "trata utilizar el escalar «%s» como una matriz"
#: array.c:412 array.c:579 builtin.c:88 builtin.c:1636 builtin.c:1682
#: builtin.c:1695 builtin.c:2218 builtin.c:2245 eval.c:1131 eval.c:1135
#: eval.c:1542
#, c-format
msgid "attempt to use array `%s' in a scalar context"
-msgstr "se intentó usar la matriz `%s' en un contexto escalar"
+msgstr "trata utilizar la matriz «%s» en un contexto escalar"
#: array.c:586
-#, fuzzy, c-format
+#, c-format
msgid "delete: index `%.*s' not in array `%s'"
-msgstr "delete: el índice `%s' no está en la matriz `%s'"
+msgstr "delete: índice «%.*s» no dentro de la matriz «%s»"
#: array.c:600
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
-msgstr "se intentó usar el dato escalar `%s[\"%.*s\"]' como una matriz"
+msgstr "trata utilizar `%s[«%.*s»]' escalar como una matriz"
#: array.c:791
-#, fuzzy
msgid "adump: first argument not an array"
-msgstr "adump: el argumento no es una matriz"
+msgstr "adump: el primer argumento no es una matriz"
#: array.c:833
msgid "asort: second argument not an array"
@@ -75,42 +78,34 @@ msgstr "asorti: el primer argumento no es una matriz"
#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asort: no se puede usar una submatriz del primer argumento para el segundo "
-"argumento"
+msgstr "asort: no se puede usar una submatriz del primer argumento para el segundo argumento"
#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asorti: no se puede usar una submatriz del primer argumento para el segundo "
-"argumento"
+msgstr "asorti: no se puede usar una submatriz del primer argumento para el segundo argumento"
#: array.c:855
msgid "asort: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asort: no se puede usar una submatriz del segundo argumento para el primer "
-"argumento"
+msgstr "asort: no se puede usar una submatriz del segundo argumento para el primer argumento"
#: array.c:856
msgid "asorti: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asorti: no se puede usar una submatriz del segundo argumento para el primer "
-"argumento"
+msgstr "asorti: no se puede usar una submatriz del segundo argumento para el primer argumento"
#: array.c:1324
#, c-format
msgid "`%s' is invalid as a function name"
-msgstr "`%s' es inválido como un nombre de función"
+msgstr "«%s» es inválido como un nombre de función"
#: array.c:1328
#, c-format
msgid "sort comparison function `%s' is not defined"
-msgstr "la función de comparación de ordenamiento `%s' no está definida"
+msgstr "la función de comparación de ordenamiento «%s» no está definida"
#: awkgram.y:247
#, c-format
msgid "%s blocks must have an action part"
-msgstr "los bloques %s deben tener una parte de acción"
+msgstr "bloques %s deben tener una parte de acción"
#: awkgram.y:250
msgid "each rule must have a pattern or an action part"
@@ -118,25 +113,21 @@ msgstr "cada regla debe tener un patrón o una parte de acción"
#: awkgram.y:363 awkgram.y:377
msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr "el awk antiguo no admite múltiples reglas `BEGIN' o `END'"
+msgstr "el awk antiguo no admite reglas `BEGIN' o `END' múltiples"
#: awkgram.y:421
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
-msgstr "`%s' es una función interna, no se puede redefinir"
+msgstr "«%s» es una función interna, no puede ser redefinida"
#: awkgram.y:497
msgid "regexp constant `//' looks like a C++ comment, but is not"
-msgstr ""
-"la constante de expresión regular `//' parece un comentario de C++, pero no "
-"lo es"
+msgstr "la constante de expresión regular `//' parece un comentario de C++, pero no lo es"
#: awkgram.y:501
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
-msgstr ""
-"la constante de expresión regular `/%s/' parece un comentario de C, pero no "
-"lo es"
+msgstr "expreg constante `/%s/' parece como un comentario de C, pero no lo es"
#: awkgram.y:651
#, c-format
@@ -153,7 +144,7 @@ msgstr "no se permite `break' fuera de un bucle o switch"
#: awkgram.y:943 awkgram.y:4232
msgid "`continue' is not allowed outside a loop"
-msgstr "no se permite `continue' fuera de un bucle"
+msgstr "`continue' no se permite fuera de un bucle"
#: awkgram.y:954
#, c-format
@@ -171,16 +162,15 @@ msgstr "se usó `return' fuera del contexto de la función"
#: awkgram.y:1065
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"el `print' simple en la regla BEGIN o END probablemente debe ser `print \"\"'"
+msgstr "el `print' simple en la regla BEGIN o END probablemente debe ser `print \"\"'"
#: awkgram.y:1132 awkgram.y:1182
msgid "`delete' is not allowed with SYMTAB"
-msgstr ""
+msgstr "`delete' no está permitida con SYMTAB"
#: awkgram.y:1134 awkgram.y:1184
msgid "`delete' is not allowed with FUNCTAB"
-msgstr ""
+msgstr "`delete' no está permitida con FUNCTAB"
#: awkgram.y:1169 awkgram.y:1173
msgid "`delete(array)' is a non-portable tawk extension"
@@ -188,29 +178,28 @@ msgstr "`delete(array)' es una extensión de tawk que no es transportable"
#: awkgram.y:1309
msgid "multistage two-way pipelines don't work"
-msgstr "las líneas de trabajo de dos vías multiestado no funcionan"
+msgstr "las líneas de tuberías de dos vías multiestado no funcionan"
#: awkgram.y:1469
msgid "regular expression on right of assignment"
-msgstr "expresión regular del lado derecho de una asignación"
+msgstr "expreg del lado derecho de asignación"
#: awkgram.y:1484 awkgram.y:1497
msgid "regular expression on left of `~' or `!~' operator"
-msgstr "expresión regular a la izquierda del operador `~' o `!~'"
+msgstr "expreg `~' o `!~' a la izquierda del operador"
#: awkgram.y:1514 awkgram.y:1663
msgid "old awk does not support the keyword `in' except after `for'"
-msgstr ""
-"el awk antiguo no admite la palabra clave `in' excepto después de `for'"
+msgstr "el awk antiguo no admite la palabra clave `in' excepto después de `for'"
#: awkgram.y:1524
msgid "regular expression on right of comparison"
-msgstr "expresión regular a la derecha de una comparación"
+msgstr "expreg del lado derecho de comparación"
#: awkgram.y:1643
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "`getline' no redirigido es inválido dentro de la regla `%s'"
+msgstr "`getline' no redirigido es inválido dentro de regla «%s»"
#: awkgram.y:1646
msgid "non-redirected `getline' undefined inside END action"
@@ -231,23 +220,22 @@ msgstr "las llamadas indirectas a función son una extensión de gawk"
#: awkgram.y:1854
#, c-format
msgid "can not use special variable `%s' for indirect function call"
-msgstr ""
-"no se puede usar la variable especial `%s' como llamada indirecta a función"
+msgstr "la variable especial «%s» no se puede usar como llamada indirecta a función"
#: awkgram.y:1880
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use non-function `%s' in function call"
-msgstr "se intentó usar la función `%s' como una matriz"
+msgstr "trata utilizar una no-función «%s» dentro de llamada de función"
#: awkgram.y:1944
msgid "invalid subscript expression"
msgstr "expresión de subíndice inválida"
-#: awkgram.y:2308 awkgram.y:2328 gawkapi.c:272 gawkapi.c:289 msg.c:130
+#: awkgram.y:2308 awkgram.y:2328 gawkapi.c:272 gawkapi.c:289 msg.c:128
msgid "warning: "
msgstr "aviso: "
-#: awkgram.y:2326 gawkapi.c:244 gawkapi.c:287 msg.c:162
+#: awkgram.y:2326 gawkapi.c:244 gawkapi.c:287 msg.c:160
msgid "fatal: "
msgstr "fatal: "
@@ -259,12 +247,12 @@ msgstr "nueva línea o fin de la cadena inesperados"
#: debug.c:2814 debug.c:5108
#, c-format
msgid "can't open source file `%s' for reading (%s)"
-msgstr "no se puede abrir el fichero fuente `%s' para lectura (%s)"
+msgstr "no puede abrir el fichero fuente «%s» para lectura (%s)"
#: awkgram.y:2663 awkgram.y:2788
-#, fuzzy, c-format
+#, c-format
msgid "can't open shared library `%s' for reading (%s)"
-msgstr "no se puede abrir el fichero fuente `%s' para lectura (%s)"
+msgstr "no puede abrir biblioteca «%s» compartida para lectura (%s)"
#: awkgram.y:2665 awkgram.y:2739 awkgram.y:2789 builtin.c:149 debug.c:5259
msgid "reason unknown"
@@ -273,17 +261,17 @@ msgstr "razón desconocida"
#: awkgram.y:2674 awkgram.y:2698
#, c-format
msgid "can't include `%s' and use it as a program file"
-msgstr ""
+msgstr "no puede incluir «%s» y emplearla como un fichero de programa"
#: awkgram.y:2687
#, c-format
msgid "already included source file `%s'"
-msgstr "ya se incluyó el fichero fuente `%s'"
+msgstr "ya se incluyó el fichero fuente «%s»"
#: awkgram.y:2688
-#, fuzzy, c-format
+#, c-format
msgid "already loaded shared library `%s'"
-msgstr "ya se incluyó el fichero fuente `%s'"
+msgstr "ya caargada la biblioteca compartida «%s»"
#: awkgram.y:2723
msgid "@include is a gawk extension"
@@ -294,33 +282,31 @@ msgid "empty filename after @include"
msgstr "nombre de fichero vacío después de @include"
#: awkgram.y:2773
-#, fuzzy
msgid "@load is a gawk extension"
-msgstr "@include es una extensión de gawk"
+msgstr "@load es una extensión de gawk"
#: awkgram.y:2779
-#, fuzzy
msgid "empty filename after @load"
-msgstr "nombre de fichero vacío después de @include"
+msgstr "nombre de fichero vacío después de @load"
#: awkgram.y:2913
msgid "empty program text on command line"
-msgstr "texto de programa vacío en la linea de órdenes"
+msgstr "texto de programa vacío en la línea de órdenes"
#: awkgram.y:3028
#, c-format
msgid "can't read sourcefile `%s' (%s)"
-msgstr "no se puede leer el fichero fuente `%s' (%s)"
+msgstr "no puede leer el fichero fuente «%s» (%s)"
#: awkgram.y:3039
#, c-format
msgid "source file `%s' is empty"
-msgstr "el fichero fuente `%s' está vacío"
+msgstr "el fichero fuente «%s» está vacío"
#: awkgram.y:3098
#, c-format
msgid "PEBKAC error: invalid character '\\%03o' in source code"
-msgstr ""
+msgstr "Error PEBKAC: carácter inválido '\\%03o' en código fuente"
#: awkgram.y:3369
msgid "source file does not end in newline"
@@ -328,41 +314,37 @@ msgstr "el fichero fuente no termina con línea nueva"
#: awkgram.y:3489
msgid "unterminated regexp ends with `\\' at end of file"
-msgstr "expresión regular sin terminar termina con `\\` al final del fichero"
+msgstr "expreg sin terminar finaliza con `\\` al final del fichero"
#: awkgram.y:3516
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"%s: %d: el modificador de expresión regular `/.../%c` de tawk no funciona en "
-"gawk"
+msgstr "%s: %d: el modificador de expresión regular `/…/%c` de tawk no funciona en gawk"
#: awkgram.y:3520
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"el modificador de expresión regular `/.../%c` de tawk no funciona en gawk"
+msgstr "el modificador de expresión regular `/…/%c` de tawk no funciona en gawk"
#: awkgram.y:3533
msgid "unterminated regexp"
-msgstr "expresión regular sin terminar"
+msgstr "expreg sin terminar"
#: awkgram.y:3537
msgid "unterminated regexp at end of file"
-msgstr "expresión regular sin terminar al final del fichero"
+msgstr "expreg sin terminar al final del fichero"
#: awkgram.y:3616
msgid "use of `\\ #...' line continuation is not portable"
-msgstr "el uso de la continuación de línea `\\ #...' no es transportable"
+msgstr "la utilización de la continuación de línea `\\ #…' no es transportable"
#: awkgram.y:3636
msgid "backslash not last character on line"
-msgstr "la barra invertida no es el último caracter en la línea"
+msgstr "barra invertida no es el último caracter en la línea"
#: awkgram.y:3674 awkgram.y:3676
-#, fuzzy
msgid "multidimensional arrays are a gawk extension"
-msgstr "las llamadas indirectas a función son una extensión de gawk"
+msgstr "matrices multidimensionales son una extensión de gawk"
#: awkgram.y:3701
msgid "POSIX does not allow operator `**='"
@@ -378,7 +360,7 @@ msgstr "POSIX no permite el operador `**'"
#: awkgram.y:3714
msgid "old awk does not support operator `**'"
-msgstr "el awk antiguo no admite el operador `**='"
+msgstr "el awk antiguo no admite el operador `**'"
#: awkgram.y:3749
msgid "operator `^=' is not supported in old awk"
@@ -395,22 +377,22 @@ msgstr "cadena sin terminar"
#: awkgram.y:4093
#, c-format
msgid "invalid char '%c' in expression"
-msgstr "caracter '%c' inválido en la expresión"
+msgstr "carácter «%c» inválido en la expresión"
#: awkgram.y:4167
#, c-format
msgid "`%s' is a gawk extension"
-msgstr "`%s' es una extensión de gawk"
+msgstr "«%s» es una extensión de gawk"
#: awkgram.y:4172
#, c-format
msgid "POSIX does not allow `%s'"
-msgstr "POSIX no permite `%s'"
+msgstr "POSIX no permite «%s»"
#: awkgram.y:4180
#, c-format
msgid "`%s' is not supported in old awk"
-msgstr "`%s' no se admite en el awk antiguo"
+msgstr "«%s» no se admite en el awk antiguo"
#: awkgram.y:4270
msgid "`goto' considered harmful!\n"
@@ -424,8 +406,7 @@ msgstr "%d es inválido como número de argumentos para %s"
#: awkgram.y:4374
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
-msgstr ""
-"%s: la literal de cadena como último argumento de substitute no tiene efecto"
+msgstr "%s: la literal de cadena como último argumento de substitute no tiene efecto"
#: awkgram.y:4379
#, c-format
@@ -442,37 +423,34 @@ msgstr "close: el segundo argumento es una extensión de gawk"
#: awkgram.y:4545
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"el uso de dcgettext(_\"...\") es incorrecto: quite el subrayado inicial"
+msgstr "la utilización de dcgettext(_\"…\") es incorrecta: quite el subrayado inicial"
#: awkgram.y:4560
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"el uso de dcngettext(_\"...\") es incorrecto: quite el subrayado inicial"
+msgstr "la utilización de dcngettext(_\"…\") es incorrecta: quite el subrayado inicial"
#: awkgram.y:4579
-#, fuzzy
msgid "index: regexp constant as second argument is not allowed"
-msgstr "index: el segundo argumento recibido no es una cadena"
+msgstr "indizado: expreg constante como segundo argumento no está permitido"
#: awkgram.y:4632
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
-msgstr "función `%s': parámetro `%s' oscurece la variable global"
+msgstr "función «%s»: parámetro «%s» oscurece la variable global"
#: awkgram.y:4681 debug.c:4093 debug.c:4136 debug.c:5257
#, c-format
msgid "could not open `%s' for writing (%s)"
-msgstr "no se puede abrir `%s' para escritura (%s)"
+msgstr "no se puede abrir «%s» para escritura (%s)"
#: awkgram.y:4682
msgid "sending variable list to standard error"
-msgstr "se envía la lista de variables a la salida estándar de error"
+msgstr "se envía la lista de variables a la salida común de error"
#: awkgram.y:4690
#, c-format
msgid "%s: close failed (%s)"
-msgstr "%s: falló close (%s)"
+msgstr "%s: fallado close (%s)"
#: awkgram.y:4715
msgid "shadow_funcs() called twice!"
@@ -485,41 +463,37 @@ msgstr "hay variables opacadas."
#: awkgram.y:4802
#, c-format
msgid "function name `%s' previously defined"
-msgstr "el nombre de función `%s' se definió previamente"
+msgstr "el nombre de función «%s» se definió previamente"
#: awkgram.y:4848
#, c-format
msgid "function `%s': can't use function name as parameter name"
-msgstr ""
-"función `%s': no se puede usar un nombre de función como nombre de parámetro"
+msgstr "función «%s»: no se puede usar un nombre de función como nombre de parámetro"
#: awkgram.y:4851
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr ""
-"función `%s': no se puede usar la variable especial `%s' como un parámetro "
-"de función"
+msgstr "función «%s»: no se puede usar la variable especial «%s» como un parámetro de función"
#: awkgram.y:4859
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "función `%s': parámetro #%d, `%s', duplica el parámetro #%d"
+msgstr "función «%s»: parámetro #%d, «%s», duplica el parámetro #%d"
#: awkgram.y:4945 awkgram.y:4951
#, c-format
msgid "function `%s' called but never defined"
-msgstr "se llamó a la función `%s' pero nunca se definió"
+msgstr "se llamó a la función «%s» pero nunca se definió"
#: awkgram.y:4955
#, c-format
msgid "function `%s' defined but never called directly"
-msgstr "se definió la función `%s' pero nunca se llamó directamente"
+msgstr "se definió la función «%s» pero nunca se llamó directamente"
#: awkgram.y:4987
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
-msgstr ""
-"la constante de expresión regular para el parámetro #%d da un valor booleano"
+msgstr "expreg constante para el parámetro #%d da un valor booleano"
#: awkgram.y:5002
#, c-format
@@ -527,41 +501,39 @@ msgid ""
"function `%s' called with space between name and `(',\n"
"or used as a variable or an array"
msgstr ""
-"se llamó la función `%s' con espacio entre el nombre y el `(',\n"
+"se llamó a la función «%s» con espacio entre el nombre y el `(',\n"
"o se usó como una variable o una matriz"
#: awkgram.y:5217
msgid "division by zero attempted"
-msgstr "se intentó una división por cero"
+msgstr "se intentó una división entre cero"
#: awkgram.y:5226
#, c-format
msgid "division by zero attempted in `%%'"
-msgstr "se intentó una división por cero en `%%'"
+msgstr "se intentó una división entre cero en `%%'"
#: awkgram.y:5552
-msgid ""
-"cannot assign a value to the result of a field post-increment expression"
-msgstr ""
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "no puede asignar un valor al resultado de un campo expresión post-intremental"
#: awkgram.y:5555
-#, fuzzy, c-format
+#, c-format
msgid "invalid target of assignment (opcode %s)"
-msgstr "%d es inválido como número de argumentos para %s"
+msgstr "objetivo inválido de asignación (codigo op %s)"
#: builtin.c:143
#, c-format
msgid "%s to \"%s\" failed (%s)"
-msgstr "falló %s a \"%s\" (%s)"
+msgstr "fallado %s a «%s» (%s)"
#: builtin.c:147
msgid "standard output"
-msgstr "salida estándar"
+msgstr "salida común"
#: builtin.c:148
-#, fuzzy
msgid "standard error"
-msgstr "salida estándar"
+msgstr "error común"
#: builtin.c:162
msgid "exp: received non-numeric argument"
@@ -573,37 +545,29 @@ msgid "exp: argument %g is out of range"
msgstr "exp: el argumento %g está fuera de rango"
#: builtin.c:245
-#, fuzzy, c-format
+#, c-format
msgid "fflush: cannot flush: pipe `%.*s' opened for reading, not writing"
-msgstr ""
-"fflush: no se puede limpiar: se abrió la tubería `%s' para lectura, no para "
-"escritura"
+msgstr "fflush: no se puede tirar: se abrió la tubería «%.*s» para lectura, no para escritura"
#: builtin.c:248
-#, fuzzy, c-format
+#, c-format
msgid "fflush: cannot flush: file `%.*s' opened for reading, not writing"
-msgstr ""
-"fflush: no se puede limpiar: se abrió el fichero `%s' para lectura, no para "
-"escritura"
+msgstr "fflush: no se puede tirar: fichero «%.*s» abierto para lectura, no para escritura"
#: builtin.c:259
-#, fuzzy, c-format
+#, c-format
msgid "fflush: cannot flush file `%.*s': %s"
-msgstr ""
-"fflush: no se puede limpiar: se abrió el fichero `%s' para lectura, no para "
-"escritura"
+msgstr "fflush: no se puede tirar el fichero «%.*s»: %s"
#: builtin.c:264
-#, fuzzy, c-format
+#, c-format
msgid "fflush: cannot flush: two-way pipe `%.*s' has closed write end"
-msgstr ""
-"fflush: no se puede limpiar: se abrió la tubería `%s' para lectura, no para "
-"escritura"
+msgstr "fflush: no se puede vaciar: tubería dos vías «%.*s» ha cerado final de escritura"
#: builtin.c:270
-#, fuzzy, c-format
+#, c-format
msgid "fflush: `%.*s' is not an open file, pipe or co-process"
-msgstr "fflush: `%s' no es un fichero abierto, tubería o co-proceso"
+msgstr "fflush: «%.*s» no es un fichero abierto, tubería o co-proceso"
#: builtin.c:377
msgid "index: received non-string first argument"
@@ -645,18 +609,17 @@ msgstr "fatal: se debe utilizar `count$' en todos los formatos o en ninguno"
#: builtin.c:858
#, c-format
msgid "field width is ignored for `%%' specifier"
-msgstr "se descarta la anchura del campo para el especificador `%%'"
+msgstr "anchura del campo ignorada para `%%' como especificador"
#: builtin.c:860
#, c-format
msgid "precision is ignored for `%%' specifier"
-msgstr "se descarta la precisión para el especificador `%%'"
+msgstr "precisión está ignorada para `%%' especificador"
#: builtin.c:862
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
-msgstr ""
-"se descartan la anchura del campo y la precisión para el especificador `%%'"
+msgstr "anchura y orecisión del campo son ignorados para `%%' como especificador"
#: builtin.c:913
msgid "fatal: `$' is not permitted in awk formats"
@@ -669,9 +632,7 @@ msgstr "fatal: la cuenta de argumentos con `$' debe ser > 0"
#: builtin.c:926
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
-msgstr ""
-"fatal: la cuenta de argumentos %ld es mayor que el número total de "
-"argumentos proporcionados"
+msgstr "fatal: cuenta arg %ld es mayor que el número total de argumentos proporcionados"
#: builtin.c:930
msgid "fatal: `$' not permitted after period in format"
@@ -679,9 +640,7 @@ msgstr "fatal: no se permite `$' después de un punto en el formato"
#: builtin.c:949
msgid "fatal: no `$' supplied for positional field width or precision"
-msgstr ""
-"fatal: no se proporciona `$' para la anchura o la precisión del campo "
-"posicional"
+msgstr "fatal: no se proporciona `$' para la anchura o la precisión del campo posicional"
#: builtin.c:1019
msgid "`l' is meaningless in awk formats; ignored"
@@ -708,31 +667,28 @@ msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal: no se permite `h' en los formatos POSIX de awk"
#: builtin.c:1082
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is too big for %%c format"
-msgstr "[s]printf: el valor %g está fuera del rango para el formato `%%%c'"
+msgstr "[s]printf: el valor %g es demasiado grande para el formato %%c"
#: builtin.c:1095
-#, fuzzy, c-format
+#, c-format
msgid "[s]printf: value %g is not a valid wide character"
-msgstr "[s]printf: el valor %g está fuera del rango para el formato `%%%c'"
+msgstr "[s]printf: el valor %g no es un ancho de carácter válido"
#: builtin.c:1481
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
-msgstr "[s]printf: el valor %g está fuera del rango para el formato `%%%c'"
+msgstr "[s]printf: el valor %g está fuera del rango para `%%%c' como formato"
#: builtin.c:1579
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"se descarta el carácter especificador de formato `%c' desconocido: no se "
-"convirtió ningún argumento"
+msgstr "se descarta el carácter especificador de formato `%c' desconocido: no se convirtió ningún argumento"
#: builtin.c:1584
msgid "fatal: not enough arguments to satisfy format string"
-msgstr ""
-"fatal: no hay suficientes argumentos para satisfacer a la cadena de formato"
+msgstr "fatal: no hay suficientes argumentos para satisfacer a la cadena de formato"
#: builtin.c:1586
msgid "^ ran out for this one"
@@ -747,9 +703,8 @@ msgid "too many arguments supplied for format string"
msgstr "se proporcionaron demasiados argumentos para la cadena de formato"
#: builtin.c:1655
-#, fuzzy
msgid "sprintf: no arguments"
-msgstr "printf: sin argumentos"
+msgstr "sprintf: sin argumentos"
#: builtin.c:1678 builtin.c:1689
msgid "printf: no arguments"
@@ -757,7 +712,7 @@ msgstr "printf: sin argumentos"
#: builtin.c:1704
msgid "printf: attempt to write to closed write end of two-way pipe"
-msgstr ""
+msgstr "printf: intenta escribir a final de escritura cerrada de dos tuberías de vía doble"
#: builtin.c:1745
msgid "sqrt: received non-numeric argument"
@@ -786,9 +741,7 @@ msgstr "substr: se truncará la longitud no entera %g"
#: builtin.c:1801
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
-msgstr ""
-"substr: la longitud %g es demasiado grande para ser índice de cadena, se "
-"trunca a %g"
+msgstr "substr: la longitud %g es demasiado grande para ser índice de cadena, se trunca a %g"
#: builtin.c:1813
#, c-format
@@ -811,16 +764,12 @@ msgstr "substr: el índice de inicio %g está después del fin de la cadena"
#: builtin.c:1863
#, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr: la cadena %g en el índice de inicio %g excede la longitud del primer "
-"argumento (%lu)"
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr: la cadena %g en el índice de inicio %g excede la longitud del primer argumento (%lu)"
#: builtin.c:1936
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
-msgstr ""
-"strftime: el valor de formato en PROCINFO[\"strftime\"] tiene tipo numérico"
+msgstr "strftime: el valor de formato en PROCINFO[\"strftime\"] tiene tipo numérico"
#: builtin.c:1956
msgid "strftime: received non-numeric second argument"
@@ -828,14 +777,11 @@ msgstr "strftime: el segundo argumento recibido no es númerico"
#: builtin.c:1966
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr ""
-"strftime: el segundo argumento es menor que 0 o demasiado grande para time_t"
+msgstr "strftime: el segundo argumento es menor que 0 o demasiado grande para time_t"
#: builtin.c:1973
-#, fuzzy
msgid "strftime: second argument out of range for time_t"
-msgstr ""
-"strftime: el segundo argumento es menor que 0 o demasiado grande para time_t"
+msgstr "strftime: segundo argumento fuera de rango para tiempo time_t"
#: builtin.c:1982
msgid "strftime: received non-string first argument"
@@ -846,19 +792,19 @@ msgid "strftime: received empty format string"
msgstr "strftime: se recibió una cadena de formato vacía"
#: builtin.c:2060
-#, fuzzy, c-format
+#, c-format
msgid "setenv(TZ, %s) failed (%s)"
-msgstr "falló %s a \"%s\" (%s)"
+msgstr "setenv(TZ, %s) fallado (%s)"
#: builtin.c:2067
#, c-format
msgid "setenv(TZ, %s) restoration failed (%s)"
-msgstr ""
+msgstr "setenv(TZ, %s) restauración falladoa (%s)"
#: builtin.c:2071
-#, fuzzy, c-format
+#, c-format
msgid "unsetenv(TZ) failed (%s)"
-msgstr "%s: falló close (%s)"
+msgstr "unsetenv(TZ) fallado (%s)"
#: builtin.c:2100
msgid "mktime: received non-string argument"
@@ -866,12 +812,11 @@ msgstr "mktime: se recibió un argumento que no es una cadena"
#: builtin.c:2117
msgid "mktime: at least one of the values is out of the default range"
-msgstr ""
-"mktime: por lo menos uno de los valores está fuera del rango por defecto"
+msgstr "mktime: por lo menos uno de los valores está fuera del rango por defecto"
#: builtin.c:2153
msgid "'system' function not allowed in sandbox mode"
-msgstr "no se permite la función 'system' en modo sandbox"
+msgstr "función 'system' no se permite en modo sandbox"
#: builtin.c:2158
msgid "system: received non-string argument"
@@ -879,7 +824,7 @@ msgstr "system: se recibió un argumento que no es una cadena"
#: builtin.c:2227 builtin.c:2300
msgid "print: attempt to write to closed write end of two-way pipe"
-msgstr ""
+msgstr "print: intenta escribir a final de escritura cerrada de tubería de vía doble"
#: builtin.c:2323
#, c-format
@@ -919,19 +864,19 @@ msgid "match: third argument is not an array"
msgstr "match: el tercer argumento no es una matriz"
#: builtin.c:2921
-#, fuzzy, c-format
+#, c-format
msgid "gensub: third argument `%.*s' treated as 1"
-msgstr "gensub: el tercer argumento de 0 se trata como 1"
+msgstr "gensub: el tercer argumento `%.*s' tratado como 1"
#: builtin.c:3243
-#, fuzzy, c-format
+#, c-format
msgid "%s: can be called indirectly only with two arguments"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "%s: puede ser llamado indirectamente solo con dos argumentos"
#: builtin.c:3343
-#, fuzzy, c-format
+#, c-format
msgid "indirect call to %s requires at least two arguments"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "llamada indirecta a %s requiere al menos dos argumentos"
#: builtin.c:3398
msgid "lshift: received non-numeric first argument"
@@ -942,21 +887,19 @@ msgid "lshift: received non-numeric second argument"
msgstr "lshift: el segundo argumento recibido no es númerico"
#: builtin.c:3406
-#, fuzzy, c-format
+#, c-format
msgid "lshift(%f, %f): negative values are not allowed"
-msgstr "lshift(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "lshift(%f, %f): los valores negativos no están permitidos"
#: builtin.c:3410
-#, fuzzy, c-format
+#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
-msgstr "lshift(%lf, %lf): los valores fraccionarios se truncarán"
+msgstr "lshift(%f, %f): valores fraccionarios serán truncados"
#: builtin.c:3412
-#, fuzzy, c-format
+#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"lshift(%lf, %lf): un valor de desplazamiento muy grande dará resultados "
-"extraños"
+msgstr "lshift(%f, %f): valor de desplazamiento demasiado grande dará resultados extraños"
#: builtin.c:3437
msgid "rshift: received non-numeric first argument"
@@ -967,969 +910,954 @@ msgid "rshift: received non-numeric second argument"
msgstr "rshift: el segundo argumento recibido no es númerico"
#: builtin.c:3445
-#, fuzzy, c-format
+#, c-format
msgid "rshift(%f, %f): negative values are not allowed"
-msgstr "rshift(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "rshift(%f, %f): valores negativos no están permitidos"
#: builtin.c:3449
-#, fuzzy, c-format
+#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
-msgstr "rshift(%lf, %lf): los valores fraccionarios serán truncados"
+msgstr "rshift(%f, %f): valores fraccionarios serán truncados"
#: builtin.c:3451
-#, fuzzy, c-format
+#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"rshift(%lf, %lf): un valor de desplazamiento muy grande dará resultados "
-"extraños"
+msgstr "rshift(%f, %f): un valor de desplazamiento muy grande dará resultados extraños"
#: builtin.c:3476 mpfr.c:977
-#, fuzzy
msgid "and: called with less than two arguments"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "and: llamado con menos de dos argumentos"
#: builtin.c:3481
-#, fuzzy, c-format
+#, c-format
msgid "and: argument %d is non-numeric"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "y: argumento %d es no-numérico"
#: builtin.c:3485
-#, fuzzy, c-format
+#, c-format
msgid "and: argument %d negative value %g is not allowed"
-msgstr "and(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "y: argumento negativo %d valorador %g no está permitido"
#: builtin.c:3508 mpfr.c:1009
-#, fuzzy
msgid "or: called with less than two arguments"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "o: llamado con menos de dos argumentos"
#: builtin.c:3513
-#, fuzzy, c-format
+#, c-format
msgid "or: argument %d is non-numeric"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "o: argumento %d es no numérico"
#: builtin.c:3517
-#, fuzzy, c-format
+#, c-format
msgid "or: argument %d negative value %g is not allowed"
-msgstr "compl(%lf): el valor negativo dará resultados extraños"
+msgstr "o: argumento negativo %d valorador %g no está permitido"
#: builtin.c:3539 mpfr.c:1040
-#, fuzzy
msgid "xor: called with less than two arguments"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "oex: llamado con menos de dos argumentos"
#: builtin.c:3545
-#, fuzzy, c-format
+#, c-format
msgid "xor: argument %d is non-numeric"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "oex: argumento %d es no-numérico"
#: builtin.c:3549
-#, fuzzy, c-format
+#, c-format
msgid "xor: argument %d negative value %g is not allowed"
-msgstr "xor(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "oex: argumento negativo %d valorado %g no está permitido"
#: builtin.c:3574 mpfr.c:799
msgid "compl: received non-numeric argument"
msgstr "compl: se recibió un argumento que no es númerico"
#: builtin.c:3579
-#, fuzzy, c-format
+#, c-format
msgid "compl(%f): negative value is not allowed"
-msgstr "compl(%lf): el valor negativo dará resultados extraños"
+msgstr "compl(%f): valor negativo no está permitido"
#: builtin.c:3582
-#, fuzzy, c-format
+#, c-format
msgid "compl(%f): fractional value will be truncated"
-msgstr "compl(%lf): el valor fraccionario se truncará"
+msgstr "compl(%f): valor fraccional será truncado"
#: builtin.c:3766
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
-msgstr "dcgettext: `%s' no es una categoría local válida"
+msgstr "dcgettext: «%s» no es una categoría local válida"
#: builtin.c:3991 mpfr.c:1198
-#, fuzzy
msgid "intdiv: third argument is not an array"
-msgstr "match: el tercer argumento no es una matriz"
+msgstr "intdiv: tercer argumento no es una matriz"
#: builtin.c:3999 mpfr.c:1206
-#, fuzzy
msgid "intdiv: received non-numeric first argument"
-msgstr "and: el primer argumento recibido no es númerico"
+msgstr "intdiv: primer argumento recibido es no-númerico"
#: builtin.c:4001 mpfr.c:1208
-#, fuzzy
msgid "intdiv: received non-numeric second argument"
-msgstr "and: el segundo argumento recibido no es númerico"
+msgstr "intdiv: segundo argumento recibido no es númerico"
#: builtin.c:4010 mpfr.c:1247
-#, fuzzy
msgid "intdiv: division by zero attempted"
-msgstr "se intentó una división por cero"
+msgstr "intdiv: intentado división entre cero"
#: builtin.c:4080
#, c-format
-msgid ""
-"typeof detected invalid flags combination `%s'; please file a bug report."
-msgstr ""
+msgid "typeof detected invalid flags combination `%s'; please file a bug report."
+msgstr "typeof detectado inválidas marcas combinadas «%s»; envíe un reporte de defecto."
#: builtin.c:4095
-#, fuzzy, c-format
+#, c-format
msgid "typeof: invalid argument type `%s'"
-msgstr "referencia al argumento sin inicializar `%s'"
+msgstr "tipode: tipo de argumento inválido «%s»"
#: builtin.c:4099
#, c-format
msgid "typeof: unknown argument type `%s'"
-msgstr ""
+msgstr "tipode: tipo de argumento inválido «%s»"
#: command.y:227
#, c-format
msgid "Type (g)awk statement(s). End with the command \"end\"\n"
-msgstr ""
+msgstr "Tecla de estado(s) (g)awk. Termina con la orden «end»\n"
#: command.y:291
-#, fuzzy, c-format
+#, c-format
msgid "invalid frame number: %d"
-msgstr "Final de rango inválido"
+msgstr "número de marco inválido: %d"
#: command.y:297
-#, fuzzy, c-format
+#, c-format
msgid "info: invalid option - \"%s\""
-msgstr "%s: opción inválida -- '%c'\n"
+msgstr "info: opción inválida -- «%s»"
#: command.y:323
#, c-format
msgid "source \"%s\": already sourced."
-msgstr ""
+msgstr "fuente «%s»: ya originados."
#: command.y:328
#, c-format
msgid "save \"%s\": command not permitted."
-msgstr ""
+msgstr "guarda «%s»: orden no permitida."
#: command.y:341
msgid "Can't use command `commands' for breakpoint/watchpoint commands"
-msgstr ""
+msgstr "No puede emplear «órdenes» para órdens de puntos de ruptura/vigías"
#: command.y:343
msgid "no breakpoint/watchpoint has been set yet"
-msgstr ""
+msgstr "ningún punto de ruptura/vigía ha sido establecida aún"
#: command.y:345
msgid "invalid breakpoint/watchpoint number"
-msgstr ""
+msgstr "número de punto de ruptura/vigía inválido"
#: command.y:350
#, c-format
msgid "Type commands for when %s %d is hit, one per line.\n"
-msgstr ""
+msgstr "Teclee órdenes para cuando %s %d es alcanzado, uno por línea.\n"
#: command.y:352
#, c-format
msgid "End with the command \"end\"\n"
-msgstr ""
+msgstr "Finaliza con la orden «end»\n"
#: command.y:359
msgid "`end' valid only in command `commands' or `eval'"
-msgstr ""
+msgstr "`end' válido solo en orden `commands' o `eval'"
#: command.y:369
msgid "`silent' valid only in command `commands'"
-msgstr ""
+msgstr "`silent' válido solo en orden `commands'"
#: command.y:375
-#, fuzzy, c-format
+#, c-format
msgid "trace: invalid option - \"%s\""
-msgstr "%s: opción inválida -- '%c'\n"
+msgstr "traza: opción inválida - «%s»"
#: command.y:389
msgid "condition: invalid breakpoint/watchpoint number"
-msgstr ""
+msgstr "condición: número de punto de ruptura/vigía inválido"
#: command.y:451
-#, fuzzy
msgid "argument not a string"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "argumento no una cadena"
#: command.y:461 command.y:466
#, c-format
msgid "option: invalid parameter - \"%s\""
-msgstr ""
+msgstr "opción: parámetro inválido - «%s»"
#: command.y:476
#, c-format
msgid "no such function - \"%s\""
-msgstr ""
+msgstr "sin tal función - «%s»"
#: command.y:533
-#, fuzzy, c-format
+#, c-format
msgid "enable: invalid option - \"%s\""
-msgstr "%s: opción inválida -- '%c'\n"
+msgstr "activar: opción inválida - «%s»"
#: command.y:599
-#, fuzzy, c-format
+#, c-format
msgid "invalid range specification: %d - %d"
-msgstr "Final de rango inválido"
+msgstr "especificación de rango inválido: %d - %d"
#: command.y:661
-#, fuzzy
msgid "non-numeric value for field number"
-msgstr "valor desconocido para la especificación de campo: %d\n"
+msgstr "valor no numérico para número de campo"
#: command.y:682 command.y:689
msgid "non-numeric value found, numeric expected"
-msgstr ""
+msgstr "valor no numérico encontrado, numérico esperado"
#: command.y:714 command.y:720
msgid "non-zero integer value"
-msgstr ""
+msgstr "valor entero distinto de cero"
#: command.y:819
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
-msgstr ""
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "backtrace [N] - escribe traza de todo o N más internos (externos si N < 0) marcos."
#: command.y:821
-msgid ""
-"break [[filename:]N|function] - set breakpoint at the specified location."
-msgstr ""
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
+msgstr "break [[nombre-fichero:]N]|función] - establece punto de ruptura en la localización especificada."
#: command.y:823
msgid "clear [[filename:]N|function] - delete breakpoints previously set."
-msgstr ""
+msgstr "clear [[nombrefichero:]N|función] - borra puntos de ruptura anteriormente puestos."
#: command.y:825
-msgid ""
-"commands [num] - starts a list of commands to be executed at a "
-"breakpoint(watchpoint) hit."
-msgstr ""
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
+msgstr "commands [núm] - inicia una lista de órdenes para ser ejecutadas en un punto de ruptura(vigia) alcanzado."
#: command.y:827
msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
-msgstr ""
+msgstr "condition núm [expr] - establece o vacía punto condicional de ruptura o vigía."
#: command.y:829
msgid "continue [COUNT] - continue program being debugged."
-msgstr ""
+msgstr "continue [CONTADOR] - continúa programa siendo depurado."
#: command.y:831
msgid "delete [breakpoints] [range] - delete specified breakpoints."
-msgstr ""
+msgstr "delete [puntos_ruptura] [rango] - borra puntos de rupturas especificados."
#: command.y:833
msgid "disable [breakpoints] [range] - disable specified breakpoints."
-msgstr ""
+msgstr "disable [puntos_ruptura] [rango] - desactiva puntos de ruptura especificado."
#: command.y:835
msgid "display [var] - print value of variable each time the program stops."
-msgstr ""
+msgstr "display [var] - escribe valor de variable cada tiempo que el programa se detiene."
#: command.y:837
msgid "down [N] - move N frames down the stack."
-msgstr ""
+msgstr "down [N] - baja N marcos de pila."
#: command.y:839
msgid "dump [filename] - dump instructions to file or stdout."
-msgstr ""
+msgstr "dump [nombre-fichero] - vuelca intrucciones al fichero o salida común."
#: command.y:841
msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
-msgstr ""
+msgstr "enable [unitario|borra] [puntos_ruptura] [rango] - activa puntos de ruptura especificado."
#: command.y:843
msgid "end - end a list of commands or awk statements."
-msgstr ""
+msgstr "end - finaliza una lista de órdenes o declaraciones awk."
#: command.y:845
msgid "eval stmt|[p1, p2, ...] - evaluate awk statement(s)."
-msgstr ""
+msgstr "eval stmt|[p1, p2, …] - evalua sentencia(s) awk."
#: command.y:847
msgid "exit - (same as quit) exit debugger."
-msgstr ""
+msgstr "exit - (lo mismo que quit) sale del depurador."
#: command.y:849
msgid "finish - execute until selected stack frame returns."
-msgstr ""
+msgstr "finish - ejecuta hasta marco de pila seleccionada devuelve."
#: command.y:851
msgid "frame [N] - select and print stack frame number N."
-msgstr ""
+msgstr "frame [N] - selecciona y esscribe número N de marco de pila."
#: command.y:853
msgid "help [command] - print list of commands or explanation of command."
-msgstr ""
+msgstr "help [mandato] - escribe lista de mandato o explicación de mandato."
#: command.y:855
msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
-msgstr ""
+msgstr "ignora N CONTADOR - establece cuenta-ignora de núemro N de puntos de ruptura a CONTADOR."
#: command.y:857
-msgid ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
-msgstr ""
+msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
+msgstr "tópico info - fuente|fuentes|variables|funciones|ruptura|marco|args|locales|pantalla|visor."
#: command.y:859
msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
-msgstr ""
+msgstr "list [-|+|[filename:]lineno|function|range] - lista línea(s) específica(s)."
#: command.y:861
msgid "next [COUNT] - step program, proceeding through subroutine calls."
-msgstr ""
+msgstr "next [CONTADOR] - paso programado, procediendo a través de llamadas a subrutina."
#: command.y:863
-msgid ""
-"nexti [COUNT] - step one instruction, but proceed through subroutine calls."
-msgstr ""
+msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls."
+msgstr "nexti [CONTADOR] - un paso de instrucción, pero procedido por llamadas a subrutina."
#: command.y:865
msgid "option [name[=value]] - set or display debugger option(s)."
-msgstr ""
+msgstr "option [nombre[=valor]] - establecer o enseñar opcione(s) depuradora(s)."
#: command.y:867
msgid "print var [var] - print value of a variable or array."
-msgstr ""
+msgstr "print var [var] - escribe valor de una variable o matriz."
#: command.y:869
msgid "printf format, [arg], ... - formatted output."
-msgstr ""
+msgstr "formato printf, [arg], … - salida formateada."
#: command.y:871
msgid "quit - exit debugger."
-msgstr ""
+msgstr "quit - sale del depurador."
#: command.y:873
msgid "return [value] - make selected stack frame return to its caller."
-msgstr ""
+msgstr "return [valor] - crea marco de pila seleccionada a su llamador."
#: command.y:875
msgid "run - start or restart executing program."
-msgstr ""
+msgstr "run - iniciar o reiniciar ejecución del programa."
#: command.y:878
msgid "save filename - save commands from the session to file."
-msgstr ""
+msgstr "save nombrefichero - guarda órdenes desde la sesión al fichero."
#: command.y:881
msgid "set var = value - assign value to a scalar variable."
-msgstr ""
+msgstr "set var = valor - asigna valor a una variable escalar."
#: command.y:883
-msgid ""
-"silent - suspends usual message when stopped at a breakpoint/watchpoint."
-msgstr ""
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgstr "silent - suspende mensaje usual cuando detenga en un punto de ruptura/vigía."
#: command.y:885
msgid "source file - execute commands from file."
-msgstr ""
+msgstr "fichero fuente - ejecuta órdenes desde fichero."
#: command.y:887
msgid "step [COUNT] - step program until it reaches a different source line."
-msgstr ""
+msgstr "step [CONTADOR] - paso de programa hasta que alcance una línea de la fuente distinta."
#: command.y:889
msgid "stepi [COUNT] - step one instruction exactly."
-msgstr ""
+msgstr "stepi [CONTADOR] - paso de una instrucción exactamente."
#: command.y:891
msgid "tbreak [[filename:]N|function] - set a temporary breakpoint."
-msgstr ""
+msgstr "tbreak [[nombrefchero:]N|función] - establece un punto de ruptura temporal."
#: command.y:893
msgid "trace on|off - print instruction before executing."
-msgstr ""
+msgstr "trace on|off - escribe instrucciones antes de ejecutar."
#: command.y:895
msgid "undisplay [N] - remove variable(s) from automatic display list."
-msgstr ""
+msgstr "undisplay [N] - quita variable(s) de la lista vista automática."
#: command.y:897
-msgid ""
-"until [[filename:]N|function] - execute until program reaches a different "
-"line or line N within current frame."
-msgstr ""
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
+msgstr "hasta [[nombre-fichero:]N|función] - ejecuta hasta que el programa alcanza una línea diferente o línea N dentro del marco actual."
#: command.y:899
msgid "unwatch [N] - remove variable(s) from watch list."
-msgstr ""
+msgstr "unwatch [N] - quita variable(s) de la lista de vigía."
#: command.y:901
msgid "up [N] - move N frames up the stack."
-msgstr ""
+msgstr "up [N] - sube N marcos de pila."
#: command.y:903
msgid "watch var - set a watchpoint for a variable."
-msgstr ""
+msgstr "watch var - establece un punto de vigía para una variable."
#: command.y:905
-msgid ""
-"where [N] - (same as backtrace) print trace of all or N innermost (outermost "
-"if N < 0) frames."
+msgid "where [N] - (same as backtrace) print trace of all or N innermost (outermost if N < 0) frames."
msgstr ""
+"where [N] - (lo mismo que traza anterior) escribe traza de todo o N más marcos internos\n"
+" (externos si N < 0)."
-#: command.y:1016 debug.c:401 gawkapi.c:258 msg.c:139
+#: command.y:1016 debug.c:401 gawkapi.c:258 msg.c:137
#, c-format
msgid "error: "
msgstr "error: "
#: command.y:1060
-#, fuzzy, c-format
+#, c-format
msgid "can't read command (%s)\n"
-msgstr "no se puede redirigir desde `%s' (%s)"
+msgstr "no puede leer orden (%s)\n"
#: command.y:1074
-#, fuzzy, c-format
+#, c-format
msgid "can't read command (%s)"
-msgstr "no se puede redirigir desde `%s' (%s)"
+msgstr "no puede leer orden (%s)"
#: command.y:1125
-#, fuzzy
msgid "invalid character in command"
-msgstr "Nombre de clase de caracter inválido"
+msgstr "carácter inválido en orden"
#: command.y:1161
#, c-format
msgid "unknown command - \"%.*s\", try help"
-msgstr ""
+msgstr "orden desconocidoa - «%.*s», intente ayuda"
#: command.y:1231
#, c-format
msgid "%s"
-msgstr ""
+msgstr "%s"
#: command.y:1293
-#, fuzzy
msgid "invalid character"
-msgstr "Caracter de ordenación inválido"
+msgstr "carácter inválido"
#: command.y:1497
#, c-format
msgid "undefined command: %s\n"
-msgstr ""
+msgstr "orden no definida: %s\n"
#: debug.c:252
msgid "set or show the number of lines to keep in history file."
-msgstr ""
+msgstr "establece o muestra el número de líneas para conservar en el fichero histórico."
#: debug.c:254
msgid "set or show the list command window size."
-msgstr ""
+msgstr "establece o muestra la lista de ventana de tamaño de orden."
#: debug.c:256
msgid "set or show gawk output file."
-msgstr ""
+msgstr "establece o muestra fichero de salida gawk."
#: debug.c:258
msgid "set or show debugger prompt."
-msgstr ""
+msgstr "establece o muestra petición del depurador."
#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
-msgstr ""
+msgstr "(des)establece o muestra guardando de histórico de órdenes (valor=on|off)."
#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
-msgstr ""
+msgstr "(des)establece o muestra guardando de opciones (valor=on|off)."
#: debug.c:264
msgid "(un)set or show instruction tracing (value=on|off)."
-msgstr ""
+msgstr "(des)establecer o mostrar instrucción trazada (valor=encendido|apagado)."
#: debug.c:345
msgid "program not running."
-msgstr ""
+msgstr "programa no ejecutando."
#: debug.c:448 debug.c:606
-#, fuzzy, c-format
+#, c-format
msgid "can't read source file `%s' (%s)"
-msgstr "no se puede leer el fichero fuente `%s' (%s)"
+msgstr "no puede leer el fichero fuente «%s» (%s)"
#: debug.c:453
-#, fuzzy, c-format
+#, c-format
msgid "source file `%s' is empty.\n"
-msgstr "el fichero fuente `%s' está vacío"
+msgstr "el fichero fuente «%s» está vacío.\n"
#: debug.c:480
msgid "no current source file."
-msgstr ""
+msgstr "sin actual fichero fuente."
#: debug.c:505
-#, fuzzy, c-format
+#, c-format
msgid "cannot find source file named `%s' (%s)"
-msgstr "no se puede leer el fichero fuente `%s' (%s)"
+msgstr "no puede encontrar fichero fuente nombrado «%s» (%s)"
#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
msgstr ""
+"CUIDADO: fichero fuente «%s» modificado desde la compilación del programa.\n"
+" \n"
#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
-msgstr ""
+msgstr "número lineal %d fuera de límite; «%s» tiene %d líneas"
#: debug.c:611
-#, fuzzy, c-format
+#, c-format
msgid "unexpected eof while reading file `%s', line %d"
-msgstr "error interno: fichero `%s', línea %d\n"
+msgstr "fdl inesperado mientras leía el fichero «%s», línea %d"
#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
-msgstr ""
+msgstr "fichero origen «%s» modificó desde inicio de ejecución programada"
#: debug.c:732
-#, fuzzy, c-format
+#, c-format
msgid "Current source file: %s\n"
-msgstr "ya se incluyó el fichero fuente `%s'"
+msgstr "Fichero fuente actual: %s\n"
#: debug.c:733
#, c-format
msgid "Number of lines: %d\n"
-msgstr ""
+msgstr "Número de líneas: %d\n"
#: debug.c:740
#, c-format
msgid "Source file (lines): %s (%d)\n"
-msgstr ""
+msgstr "Fichero fuente (líneas): %s (%d)\n"
#: debug.c:754
msgid ""
"Number Disp Enabled Location\n"
"\n"
msgstr ""
+"Número Disp Activado Localización\n"
+"\n"
#: debug.c:765
#, c-format
msgid "\tno of hits = %ld\n"
-msgstr ""
+msgstr "\tnº de alcances = %ld\n"
#: debug.c:767
#, c-format
msgid "\tignore next %ld hit(s)\n"
-msgstr ""
+msgstr "\tignora siguiente punto %ld\n"
#: debug.c:769 debug.c:909
#, c-format
msgid "\tstop condition: %s\n"
-msgstr ""
+msgstr "\tdetiene confición: %s\n"
#: debug.c:771 debug.c:911
msgid "\tcommands:\n"
-msgstr ""
+msgstr "\tórdenes:\n"
#: debug.c:793
#, c-format
msgid "Current frame: "
-msgstr ""
+msgstr "Marco actual: "
#: debug.c:796
#, c-format
msgid "Called by frame: "
-msgstr ""
+msgstr "Llamado por marco: "
#: debug.c:800
#, c-format
msgid "Caller of frame: "
-msgstr ""
+msgstr "Llamador del marco: "
#: debug.c:818
#, c-format
msgid "None in main().\n"
-msgstr ""
+msgstr "Ninguno en main().\n"
#: debug.c:848
-#, fuzzy
msgid "No arguments.\n"
-msgstr "printf: sin argumentos"
+msgstr "Sin argumentos.\n"
#: debug.c:849
msgid "No locals.\n"
-msgstr ""
+msgstr "Sin locales.\n"
#: debug.c:857
msgid ""
"All defined variables:\n"
"\n"
msgstr ""
+"Todas las variables definidas:\n"
+"\n"
#: debug.c:867
msgid ""
"All defined functions:\n"
"\n"
msgstr ""
+"Todas las funciones definidas:\n"
+"\n"
#: debug.c:886
msgid ""
"Auto-display variables:\n"
"\n"
msgstr ""
+"Autoenseñar varibles:\n"
+"\n"
#: debug.c:889
msgid ""
"Watch variables:\n"
"\n"
msgstr ""
+"Vigilar variables:\n"
+"\n"
#: debug.c:1029
-#, fuzzy, c-format
+#, c-format
msgid "no symbol `%s' in current context\n"
-msgstr "`exit' no se puede llamar en el contexto actual"
+msgstr "sin símbolo «%s» en contexto actual\n"
#: debug.c:1041 debug.c:1427
-#, fuzzy, c-format
+#, c-format
msgid "`%s' is not an array\n"
-msgstr "`%s' no es un nombre de variable legal"
+msgstr "«%s» no es una matriz\n"
#: debug.c:1055
-#, fuzzy, c-format
+#, c-format
msgid "$%ld = uninitialized field\n"
-msgstr "referencia al campo sin inicializar `$%d'"
+msgstr "$%ld = campo no inicializado\n"
#: debug.c:1076
-#, fuzzy, c-format
+#, c-format
msgid "array `%s' is empty\n"
-msgstr "el fichero de datos `%s' está vacío"
+msgstr ""
+"matriz «%s» está vacía\n"
+"\n"
#: debug.c:1119 debug.c:1171
-#, fuzzy, c-format
+#, c-format
msgid "[\"%.*s\"] not in array `%s'\n"
-msgstr "delete: el índice `%s' no está en la matriz `%s'"
+msgstr "[«%.*s»] no dentro de matriz «%s»\n"
#: debug.c:1175
-#, fuzzy, c-format
+#, c-format
msgid "`%s[\"%.*s\"]' is not an array\n"
-msgstr "`%s' no es un nombre de variable legal"
+msgstr "`%s[\"%.*s\"]' no es una matriz\n"
#: debug.c:1236 debug.c:5017
-#, fuzzy, c-format
+#, c-format
msgid "`%s' is not a scalar variable"
-msgstr "`%s' no es un nombre de variable legal"
+msgstr "«%s» no es una variable escalar"
#: debug.c:1258 debug.c:5047
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "se intentó usar la matriz `%s[\"%.*s\"]' en un contexto escalar"
+msgstr "trata utilizar la matriz `%s[\"%.*s\"]' en un contexto escalar"
#: debug.c:1280 debug.c:5058
-#, fuzzy, c-format
+#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as array"
-msgstr "se intentó usar el dato escalar `%s[\"%.*s\"]' como una matriz"
+msgstr "trata usar el escalar `%s[\"%.*s\"]' como una matriz"
#: debug.c:1423
-#, fuzzy, c-format
+#, c-format
msgid "`%s' is a function"
-msgstr "`%s' es inválido como un nombre de función"
+msgstr "`%s' es una función"
#: debug.c:1465
#, c-format
msgid "watchpoint %d is unconditional\n"
-msgstr ""
+msgstr "punto de vigía %d es incondicional\n"
#: debug.c:1499
#, c-format
msgid "No display item numbered %ld"
-msgstr ""
+msgstr "No enseña ítem numerado %ld"
#: debug.c:1502
#, c-format
msgid "No watch item numbered %ld"
-msgstr ""
+msgstr "Sin vista ítem numerado %ld"
#: debug.c:1528
-#, fuzzy, c-format
+#, c-format
msgid "%d: [\"%.*s\"] not in array `%s'\n"
-msgstr "delete: el índice `%s' no está en la matriz `%s'"
+msgstr "%d:[\"%.*s\"] no está en la matriz «%s»\n"
#: debug.c:1767
-#, fuzzy
msgid "attempt to use scalar value as array"
-msgstr "se intentó usar un valor escalar como una matriz"
+msgstr "trata emplear un valor escalar como una matriz"
#: debug.c:1858
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
-msgstr ""
+msgstr "Punto vigía %d borrado porque parámetro está fuera del visor.\n"
#: debug.c:1869
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
-msgstr ""
+msgstr "Pantalla %d eliminada porque parámetro está fuera del visor.\n"
#: debug.c:1902
-#, fuzzy, c-format
+#, c-format
msgid " in file `%s', line %d\n"
-msgstr "error interno: fichero `%s', línea %d\n"
+msgstr " en fichero «%s», línea %d\n"
#: debug.c:1923
#, c-format
msgid " at `%s':%d"
-msgstr ""
+msgstr " en «%s»:%d"
#: debug.c:1939 debug.c:2002
#, c-format
msgid "#%ld\tin "
-msgstr ""
+msgstr "#%ld en "
#: debug.c:1976
#, c-format
msgid "More stack frames follow ...\n"
-msgstr ""
+msgstr "Más pilas de marcos continuan …\n"
#: debug.c:2019
-#, fuzzy
msgid "invalid frame number"
-msgstr "Final de rango inválido"
+msgstr "número de marco inválido"
#: debug.c:2202
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
+msgstr "Nota: punto ruptura %d (activado, ignore siguiente %ld puntos), también establece en %s:%d"
#: debug.c:2209
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
-msgstr ""
+msgstr "Nota: punto de ruptura %d (activado), también establce en %s:%d"
#: debug.c:2216
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
+msgstr "Nota: punto ruptura %d (desactivado, ignore siguiente %ld punto), también establece en %s:%d"
#: debug.c:2223
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
-msgstr ""
+msgstr "Nota: punto de ruptura %d (desactivado), también establce en %s:%d"
#: debug.c:2240
-#, fuzzy, c-format
+#, c-format
msgid "Breakpoint %d set at file `%s', line %d\n"
-msgstr "error interno: fichero `%s', línea %d\n"
+msgstr "Punto de ruptura %d establece un fichero «%s», línea %d\n"
#: debug.c:2342
#, c-format
msgid "Can't set breakpoint in file `%s'\n"
-msgstr ""
+msgstr "No puede establecer punto de ruptura en el fichero «%s»\n"
#: debug.c:2371 debug.c:2494 debug.c:3356
-#, fuzzy, c-format
+#, c-format
msgid "line number %d in file `%s' out of range"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "número lineal %d en el fichero «%s» fuera de rango"
#: debug.c:2375
#, c-format
msgid "Can't find rule!!!\n"
-msgstr ""
+msgstr "¡¡¡No puede encontrar regla!!!\n"
#: debug.c:2377
#, c-format
msgid "Can't set breakpoint at `%s':%d\n"
-msgstr ""
+msgstr "No puede establecer punto de ruptura en «%s»: %d\n"
#: debug.c:2389
#, c-format
msgid "Can't set breakpoint in function `%s'\n"
-msgstr ""
+msgstr "No puede establecer punto de ruptura en la función «%s»\n"
#: debug.c:2405
#, c-format
msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
-msgstr ""
+msgstr "punto de ruptura %d establece un fichero «%s», línea %d es incondicional\n"
#: debug.c:2510 debug.c:2532
#, c-format
msgid "Deleted breakpoint %d"
-msgstr ""
+msgstr "Punto de ruptura borrado %d"
#: debug.c:2516
#, c-format
msgid "No breakpoint(s) at entry to function `%s'\n"
-msgstr ""
+msgstr "Sin punto de ruptura(s) en asiento a función «%s»\n"
#: debug.c:2543
-#, fuzzy, c-format
+#, c-format
msgid "No breakpoint at file `%s', line #%d\n"
-msgstr "error interno: fichero `%s', línea %d\n"
+msgstr "Sin punto de ruptura en fichero «%s», línea #%d\n"
#: debug.c:2598 debug.c:2639 debug.c:2659 debug.c:2702
msgid "invalid breakpoint number"
-msgstr ""
+msgstr "número de punto de ruptura inválido"
#: debug.c:2614
msgid "Delete all breakpoints? (y or n) "
-msgstr ""
+msgstr "¿Borro todos los puntos de ruptura? (s o n) "
#: debug.c:2615 debug.c:2929 debug.c:2982
msgid "y"
-msgstr ""
+msgstr "s"
#: debug.c:2664
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
-msgstr ""
+msgstr "Ignorará siguiente %ld cruzado de punto de ruptura %d.\n"
#: debug.c:2668
#, c-format
msgid "Will stop next time breakpoint %d is reached.\n"
-msgstr ""
+msgstr "Detendrá siguiente tiempo de ruptura %d es alcanzado.\n"
#: debug.c:2785
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
-msgstr ""
+msgstr "Puede solo depurar programas proporcionados con la opción `-f'.\n"
#: debug.c:2914
#, c-format
msgid "Failed to restart debugger"
-msgstr ""
+msgstr "Fallado al reiniciar depurador"
#: debug.c:2928
msgid "Program already running. Restart from beginning (y/n)? "
-msgstr ""
+msgstr "Programa ya ejecutando. ¿Reiniciar desde el principio (s/n)? "
#: debug.c:2932
#, c-format
msgid "Program not restarted\n"
-msgstr ""
+msgstr "Programa no reiniciado\n"
#: debug.c:2942
#, c-format
msgid "error: cannot restart, operation not allowed\n"
-msgstr ""
+msgstr "error: no puede reiniciar, operación no permitida\n"
#: debug.c:2948
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
-msgstr ""
+msgstr "error (%s): no puede reiniciar, ignorando resto de las órdenes\n"
#: debug.c:2956
#, c-format
msgid "Starting program: \n"
-msgstr ""
+msgstr "Programa iniciado: \n"
#: debug.c:2966
#, c-format
msgid "Program exited abnormally with exit value: %d\n"
-msgstr ""
+msgstr "Programa terminado abnormalmente con valor de salida: %d\n"
#: debug.c:2967
#, c-format
msgid "Program exited normally with exit value: %d\n"
-msgstr ""
+msgstr "Programa terminado normalmente con valor de salida: %d\n"
#: debug.c:2981
msgid "The program is running. Exit anyway (y/n)? "
-msgstr ""
+msgstr "El programa está ejecutando. ¿Sale de todas formas (s/n)? "
#: debug.c:3016
#, c-format
msgid "Not stopped at any breakpoint; argument ignored.\n"
-msgstr ""
+msgstr "No detenido en cualquier punto de ruptura; argumento ignorado.\n"
#: debug.c:3021
#, c-format
msgid "invalid breakpoint number %d."
-msgstr ""
+msgstr "número de punto de ruptura inválido %d."
#: debug.c:3026
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
-msgstr ""
+msgstr "Ignorará siguientes %ld cruzados de puntos de ruptura %d.\n"
#: debug.c:3213
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
-msgstr ""
+msgstr "'finish' no significado dentro del marco externo main()\n"
#: debug.c:3218
#, c-format
msgid "Run till return from "
-msgstr ""
+msgstr "Ejecutar hasta devolver desde "
#: debug.c:3261
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
-msgstr ""
+msgstr "'retorno' no significativo en el marco externo main()\n"
#: debug.c:3375
#, c-format
msgid "Can't find specified location in function `%s'\n"
-msgstr ""
+msgstr "No puede encontrar localicación dentro de función `%s'\n"
#: debug.c:3383
-#, fuzzy, c-format
+#, c-format
msgid "invalid source line %d in file `%s'"
-msgstr "ya se incluyó el fichero fuente `%s'"
+msgstr "línea %d de fuente inválida en el fichero «%s»"
#: debug.c:3398
#, c-format
msgid "Can't find specified location %d in file `%s'\n"
-msgstr ""
+msgstr "No puede encontrar localicación %d especificada en el ficheor «%s»\n"
#: debug.c:3430
-#, fuzzy, c-format
+#, c-format
msgid "element not in array\n"
-msgstr "delete: el índice `%s' no está en la matriz `%s'"
+msgstr "elemento no dentro de matriz\n"
#: debug.c:3430
#, c-format
msgid "untyped variable\n"
-msgstr ""
+msgstr "variable no tipada\n"
#: debug.c:3472
#, c-format
msgid "Stopping in %s ...\n"
-msgstr ""
+msgstr "Deteniendo en %s …\n"
#: debug.c:3549
#, c-format
msgid "'finish' not meaningful with non-local jump '%s'\n"
-msgstr ""
+msgstr "'terminación' no significante con omisión no local «%s»\n"
#: debug.c:3556
#, c-format
msgid "'until' not meaningful with non-local jump '%s'\n"
-msgstr ""
+msgstr "'hasta' no significante con omisión no local «%s»\n"
#: debug.c:4237
msgid "\t------[Enter] to continue or q [Enter] to quit------"
-msgstr ""
+msgstr "\t---[Intro] para continuar o q [Intro] para quitar---"
#: debug.c:4238
msgid "q"
-msgstr ""
+msgstr "q"
#: debug.c:5054
-#, fuzzy, c-format
+#, c-format
msgid "[\"%.*s\"] not in array `%s'"
-msgstr "delete: el índice `%s' no está en la matriz `%s'"
+msgstr "[«%.*s»] no dentro de matriz «%s»"
#: debug.c:5260
#, c-format
msgid "sending output to stdout\n"
-msgstr ""
+msgstr "enviando salida a stdout\n"
#: debug.c:5300
msgid "invalid number"
-msgstr ""
+msgstr "número inválido"
#: debug.c:5434
-#, fuzzy, c-format
+#, c-format
msgid "`%s' not allowed in current context; statement ignored"
-msgstr "`exit' no se puede llamar en el contexto actual"
+msgstr "`%s' no permitido en contexto actual; declaración ignorada"
#: debug.c:5442
-#, fuzzy
msgid "`return' not allowed in current context; statement ignored"
-msgstr "`exit' no se puede llamar en el contexto actual"
+msgstr "`return' no permitido en contexto actual; declaración ignorado"
#: debug.c:5657
-#, fuzzy, c-format
+#, c-format
msgid "No symbol `%s' in current context"
-msgstr "se intentó usar la matriz `%s' en un contexto escalar"
+msgstr "Ningún símbolo «%s» en contexto actual"
#: eval.c:399
#, c-format
@@ -1944,7 +1872,7 @@ msgstr "código de operación %d desconocido"
#: eval.c:421
#, c-format
msgid "opcode %s not an operator or keyword"
-msgstr "el código de operación %s no es un operador o una palabra clave"
+msgstr "código operacional %s no es un operador o una palabra clave"
#: eval.c:479
msgid "buffer overflow in genflags2str"
@@ -1972,12 +1900,12 @@ msgstr "`BINMODE' es una extensión de gawk"
#: eval.c:787
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
-msgstr "el valor BINMODE `%s' es inválido; se trata como 3"
+msgstr "BINMODE evaluado «%s» es inválido, tratado como 3"
#: eval.c:910
#, c-format
msgid "bad `%sFMT' specification `%s'"
-msgstr "especificación `%sFMT' `%s' errónea"
+msgstr "especificación «%sFMT» equivocada «%s»"
#: eval.c:978
msgid "turning off `--lint' due to assignment to `LINT'"
@@ -1986,25 +1914,25 @@ msgstr "se desactiva `--lint' debido a una asignación a `LINT'"
#: eval.c:1156
#, c-format
msgid "reference to uninitialized argument `%s'"
-msgstr "referencia al argumento sin inicializar `%s'"
+msgstr "referencia al argumento sin inicializar «%s»"
#: eval.c:1157
#, c-format
msgid "reference to uninitialized variable `%s'"
-msgstr "referencia a la variable sin inicializar `%s'"
+msgstr "referencia a la variable sin inicializar «%s»"
#: eval.c:1175
msgid "attempt to field reference from non-numeric value"
-msgstr "se intentó una referencia de campo desde un valor que no es númerico"
+msgstr "trata una referencia de campo desde un valor que no es númerico"
#: eval.c:1177
msgid "attempt to field reference from null string"
-msgstr "se intentó una referencia de campo desde una cadena nula"
+msgstr "trata una referencia de campo desde una cadena nula"
#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
-msgstr "se intentó acceder al campo %ld"
+msgstr "trata acceder al campo %ld"
#: eval.c:1194
#, c-format
@@ -2014,413 +1942,386 @@ msgstr "referencia al campo sin inicializar `$%ld'"
#: eval.c:1280
#, c-format
msgid "function `%s' called with more arguments than declared"
-msgstr "se llamó a la función `%s' con más argumentos de los declarados"
+msgstr "se llamó a la función «%s» con más argumentos de los declarados"
#: eval.c:1487
#, c-format
msgid "unwind_stack: unexpected type `%s'"
-msgstr "unwind_stack: tipo `%s' inesperado"
+msgstr "unwind_stack: tipo inesperado «%s»"
#: eval.c:1580
msgid "division by zero attempted in `/='"
-msgstr "se intentó una división por cero en `/='"
+msgstr "se intentó una división entre cero en `/='"
#: eval.c:1587
#, c-format
msgid "division by zero attempted in `%%='"
-msgstr "se intentó una división por cero en `%%='"
+msgstr "se intentó una división entre cero en `%%='"
#: ext.c:51
msgid "extensions are not allowed in sandbox mode"
msgstr "no se permiten las extensiones en modo sandbox"
#: ext.c:54
-#, fuzzy
msgid "-l / @load are gawk extensions"
-msgstr "@include es una extensión de gawk"
+msgstr "-l / @carga son extensiones gawk"
#: ext.c:57
msgid "load_ext: received NULL lib_name"
-msgstr ""
+msgstr "load_ext: recibido lib_name NULO"
#: ext.c:60
-#, fuzzy, c-format
+#, c-format
msgid "load_ext: cannot open library `%s' (%s)\n"
-msgstr "fatal: extension: no se puede abrir `%s' (%s)\n"
+msgstr "load_ext: no se puede abrir biblioteca «%s» (%s)\n"
#: ext.c:66
-#, fuzzy, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"fatal: extension: la biblioteca `%s': no define "
-"`plugin_is_GPL_compatible' (%s)\n"
+#, c-format
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "load_ext: la biblioteca «%s»: no define `plugin_is_GPL_compatible' (%s)\n"
#: ext.c:72
-#, fuzzy, c-format
+#, c-format
msgid "load_ext: library `%s': cannot call function `%s' (%s)\n"
-msgstr ""
-"fatal: extension: la biblioteca `%s': no puede llamar a la función `"
-"%s' (%s)\n"
+msgstr "load_ext: biblioteca «%s»: no puede llamar a la función «%s» (%s)\n"
#: ext.c:76
#, c-format
msgid "load_ext: library `%s' initialization routine `%s' failed\n"
-msgstr ""
+msgstr "load_ext: inicialización de biblioteca «%s» de rutina «%s» fallada\n"
#: ext.c:110
-#, fuzzy
msgid "make_builtin: missing function name"
-msgstr "extension: falta el nombre de la función"
+msgstr "make_builtin: falta nombre de función"
#: ext.c:120
-#, fuzzy, c-format
+#, c-format
msgid "make_builtin: can't redefine function `%s'"
-msgstr "extension: no se puede redefinir la función `%s'"
+msgstr "make_builtin: no puede redefinir función «%s»"
#: ext.c:124
-#, fuzzy, c-format
+#, c-format
msgid "make_builtin: function `%s' already defined"
-msgstr "extension: la función `%s' ya está definida"
+msgstr "make_builtin: función «%s» ya definida"
#: ext.c:128
-#, fuzzy, c-format
+#, c-format
msgid "make_builtin: function name `%s' previously defined"
-msgstr "extension: el nombre de función `%s' se definió previamente"
+msgstr "make_builtin: nombre de función «%s» anteriormente definida"
#: ext.c:130
-#, fuzzy, c-format
+#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
-msgstr ""
-"extension: no se puede utilizar la orden interna de gawk `%s' como nombre de "
-"función"
+msgstr "make_builtin: no se puede utilizar la orden interna de gawk «%s» como nombre de función"
#: ext.c:133
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
-msgstr "make_builtin: cuenta de argumento negativa para la función `%s'"
+msgstr "make_builtin: cuenta de argumento negativa para la función «%s»"
#: ext.c:209
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr ""
-"función `%s': argumento #%d: se intentó usar un escalar como una matriz"
+msgstr "función «%s»: argumento #%d: se intentó usar un escalar como una matriz"
#: ext.c:213
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
-msgstr ""
-"función `%s': argumento #%d: se intentó usar una matriz como un escalar"
+msgstr "función «%s»: argumento #%d: se intentó usar una matriz como un escalar"
#: ext.c:227
msgid "dynamic loading of library not supported"
-msgstr ""
+msgstr "la carga dinámica de biblioteca no compatible"
#: extension/filefuncs.c:442
#, c-format
msgid "stat: unable to read symbolic link `%s'"
-msgstr ""
+msgstr "estado: no se puede leer el enlace simbólico «%s»"
#: extension/filefuncs.c:476 extension/filefuncs.c:520
-#, fuzzy
msgid "stat: bad parameters"
-msgstr "%s: es un parámetro\n"
+msgstr "estado: parámetros equivocados"
#: extension/filefuncs.c:584
-#, fuzzy, c-format
+#, c-format
msgid "fts init: could not create variable %s"
-msgstr "index: el segundo argumento recibido no es una cadena"
+msgstr "fts init: no pudo crear la variable %s"
#: extension/filefuncs.c:605
-#, fuzzy
msgid "fts is not supported on this system"
-msgstr "`%s' no se admite en el awk antiguo"
+msgstr "fts no es admitida en este sistema"
#: extension/filefuncs.c:624
msgid "fill_stat_element: could not create array"
-msgstr ""
+msgstr "fill_stat_element: no pudo crear matríz"
#: extension/filefuncs.c:633
msgid "fill_stat_element: could not set element"
-msgstr ""
+msgstr "fill_stat_element: no pudo establecer elemento"
#: extension/filefuncs.c:648
-#, fuzzy
msgid "fill_path_element: could not set element"
-msgstr "index: el segundo argumento recibido no es una cadena"
+msgstr "fill_path_element: no pudo establecer elemento"
#: extension/filefuncs.c:664
msgid "fill_error_element: could not set element"
-msgstr ""
+msgstr "fill_error_element: no pudo establecer elemento"
#: extension/filefuncs.c:711 extension/filefuncs.c:758
msgid "fts-process: could not create array"
-msgstr ""
+msgstr "fts-process: no pudo crear matríz"
#: extension/filefuncs.c:721 extension/filefuncs.c:768
#: extension/filefuncs.c:786
-#, fuzzy
msgid "fts-process: could not set element"
-msgstr "index: el segundo argumento recibido no es una cadena"
+msgstr "fts-process: no pudo establecer elemento"
#: extension/filefuncs.c:835
-#, fuzzy
msgid "fts: called with incorrect number of arguments, expecting 3"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "fts: llamado con el número incorrecto de argumento, esperando 3"
#: extension/filefuncs.c:838
-#, fuzzy
msgid "fts: bad first parameter"
-msgstr "%s: es un parámetro\n"
+msgstr "fts: primer parámetro equivocado"
#: extension/filefuncs.c:844
-#, fuzzy
msgid "fts: bad second parameter"
-msgstr "%s: es un parámetro\n"
+msgstr "fts: segundo parámetro equivocado"
#: extension/filefuncs.c:850
-#, fuzzy
msgid "fts: bad third parameter"
-msgstr "%s: es un parámetro\n"
+msgstr "fts: tercer parámetro equivocado"
#: extension/filefuncs.c:857
-#, fuzzy
msgid "fts: could not flatten array\n"
-msgstr "`%s' no es un nombre de variable legal"
+msgstr "fts: no pudo determinar matríz\n"
#: extension/filefuncs.c:875
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
-msgstr ""
+msgstr "fts: ignorando seguimiento de marca FTS_NOSTAT."
#: extension/filefuncs.c:891
msgid "fts: clear_array() failed\n"
-msgstr ""
+msgstr "fts: fts_array() fallado\n"
#: extension/fnmatch.c:120
-#, fuzzy
msgid "fnmatch: could not get first argument"
-msgstr "strftime: el primer argumento recibido no es una cadena"
+msgstr "fnmatch: no pudo obtener el primer argumento"
#: extension/fnmatch.c:125
-#, fuzzy
msgid "fnmatch: could not get second argument"
-msgstr "index: el segundo argumento recibido no es una cadena"
+msgstr "fnmatch: no pudo obtener el segundo argumento"
#: extension/fnmatch.c:130
msgid "fnmatch: could not get third argument"
-msgstr ""
+msgstr "fnmatch: no pudo obtener el tercer argumento"
#: extension/fnmatch.c:143
msgid "fnmatch is not implemented on this system\n"
-msgstr ""
+msgstr "fnmatch no está implementado en este sistema\n"
#: extension/fnmatch.c:175
msgid "fnmatch init: could not add FNM_NOMATCH variable"
-msgstr ""
+msgstr "fnmatch init: variable FNM_NOMATCHno no pudo añadirse"
#: extension/fnmatch.c:185
#, c-format
msgid "fnmatch init: could not set array element %s"
-msgstr ""
+msgstr "fnmatch init: no pudo establecer elemento matricial %s"
#: extension/fnmatch.c:195
msgid "fnmatch init: could not install FNM array"
-msgstr ""
+msgstr "fnmatch init: no pudo instalar matríz FNM"
#: extension/fork.c:91
msgid "fork: PROCINFO is not an array!"
-msgstr ""
+msgstr "fork: ¡PROCINFO no es una matriz!"
#: extension/inplace.c:131
msgid "inplace_begin: in-place editing already active"
-msgstr ""
+msgstr "inplace_end: edición interna ya activa"
#: extension/inplace.c:134
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
-msgstr ""
+msgstr "inplace_begin: espera 2 argumentos pero llamó con %d"
#: extension/inplace.c:137
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
-msgstr ""
+msgstr "inplace_begin: no puede obtener 1º argumento como un nombre de fichero encadenado"
#: extension/inplace.c:145
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
-msgstr ""
+msgstr "inplace_begin: desactivando edición en lugar para NOMBREFICHERO inválido «%s»"
#: extension/inplace.c:152
-#, fuzzy, c-format
+#, c-format
msgid "inplace_begin: Cannot stat `%s' (%s)"
-msgstr "fatal: extension: no se puede abrir `%s' (%s)\n"
+msgstr "inplace_begin: no se puede declarar «%s» (%s)"
#: extension/inplace.c:159
-#, fuzzy, c-format
+#, c-format
msgid "inplace_begin: `%s' is not a regular file"
-msgstr "`%s' no es un nombre de variable legal"
+msgstr "inplace_begin: `%s' no es un fichero regular"
#: extension/inplace.c:170
#, c-format
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
-msgstr ""
+msgstr "inplace_begin: mkstemp(`%s') fallado (%s)"
#: extension/inplace.c:182
-#, fuzzy, c-format
+#, c-format
msgid "inplace_begin: chmod failed (%s)"
-msgstr "%s: falló close (%s)"
+msgstr "inplace_begin: chmod fallado (%s)"
#: extension/inplace.c:189
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
-msgstr ""
+msgstr "inplace_begin: dup(stdout) fallado (%s)"
#: extension/inplace.c:192
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
-msgstr ""
+msgstr "inplace_begin: dup2(%d, stdout) fallado (%s)"
#: extension/inplace.c:195
-#, fuzzy, c-format
+#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
-msgstr "%s: falló close (%s)"
+msgstr "inplace_begin: cierre(%d) fallado (%s)"
#: extension/inplace.c:211
#, c-format
msgid "inplace_end: expects 2 arguments but called with %d"
-msgstr ""
+msgstr "inplace_end: espera 2 argumentos pero llamó con %d"
#: extension/inplace.c:214
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
-msgstr ""
+msgstr "inplace_end: no puede obtener 1º argumento como un nombre de fichero de cadena"
#: extension/inplace.c:221
msgid "inplace_end: in-place editing not active"
-msgstr ""
+msgstr "inplace_end: edición interna no activa"
#: extension/inplace.c:227
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
-msgstr ""
+msgstr "inplace_end: dup2(%d, stdout) fallado (%s)"
#: extension/inplace.c:230
-#, fuzzy, c-format
+#, c-format
msgid "inplace_end: close(%d) failed (%s)"
-msgstr "%s: falló close (%s)"
+msgstr "inplace_end: cierre(%d) fallado (%s)"
#: extension/inplace.c:234
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
-msgstr ""
+msgstr "inplace_end: fsetpos(stdout) fallado (%s)"
#: extension/inplace.c:247
-#, fuzzy, c-format
+#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
-msgstr "falló la limpieza de la tubería de `%s' (%s)."
+msgstr "inplace_end: enlace(`%s', `%s') fallado (%s)"
#: extension/inplace.c:257
-#, fuzzy, c-format
+#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
-msgstr "falló al cerrar el df %d (`%s') (%s)"
+msgstr "inplace_end: renombrar(`%s', `%s') fallado (%s)"
#: extension/ordchr.c:71
-#, fuzzy
msgid "ord: called with inappropriate argument(s)"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "ord: llamado con argumento(s) inapropiado(s)"
#: extension/ordchr.c:98
-#, fuzzy
msgid "chr: called with inappropriate argument(s)"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "chr: llamado con argumento(s) inapropiados"
#: extension/readdir.c:273
#, c-format
msgid "dir_take_control_of: opendir/fdopendir failed: %s"
-msgstr ""
+msgstr "dir_take_control_of: abrirdir/fdopendir fallado: %s"
#: extension/readfile.c:131
-#, fuzzy
msgid "readfile: called with wrong kind of argument"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "readfile: se llamó con familia equivocada de argumento"
#: extension/revoutput.c:127
msgid "revoutput: could not initialize REVOUT variable"
-msgstr ""
+msgstr "revoutput: no pudo inicializar variable REVOUT"
#: extension/rwarray.c:119 extension/rwarray0.c:113
-#, fuzzy, c-format
+#, c-format
msgid "do_writea: argument 0 is not a string\n"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "do_writea: argumento 0 no es una cadena\n"
#: extension/rwarray.c:125 extension/rwarray0.c:119
-#, fuzzy, c-format
+#, c-format
msgid "do_writea: argument 1 is not an array\n"
-msgstr "split: el cuarto argumento no es una matriz"
+msgstr "do_writea: argumento 1 no es una matriz\n"
#: extension/rwarray.c:172 extension/rwarray0.c:166
#, c-format
msgid "write_array: could not flatten array\n"
-msgstr ""
+msgstr "write_array: no pudo determinar matríz\n"
#: extension/rwarray.c:188 extension/rwarray0.c:180
#, c-format
msgid "write_array: could not release flattened array\n"
-msgstr ""
+msgstr "write_array: no pudo publicar matríz aplanada\n"
#: extension/rwarray.c:255
-#, fuzzy, c-format
+#, c-format
msgid "array value has unknown type %d"
-msgstr "tipo de nodo %d desconocido"
+msgstr "valor matiz tiene tipo %d desconocido"
#: extension/rwarray.c:292 extension/rwarray0.c:266
-#, fuzzy, c-format
+#, c-format
msgid "do_reada: argument 0 is not a string\n"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "do_reada: argumento 0 no es una cadena\n"
#: extension/rwarray.c:298 extension/rwarray0.c:272
-#, fuzzy, c-format
+#, c-format
msgid "do_reada: argument 1 is not an array\n"
-msgstr "match: el tercer argumento no es una matriz"
+msgstr "do_reada: argumento 1 no es una matriz\n"
#: extension/rwarray.c:342 extension/rwarray0.c:316
#, c-format
msgid "do_reada: clear_array failed\n"
-msgstr ""
+msgstr "do_reada: clear_arrayel fallado\n"
#: extension/rwarray.c:379 extension/rwarray0.c:352
#, c-format
msgid "read_array: set_array_element failed\n"
-msgstr ""
+msgstr "read_array: elemento set_array_element fallado\n"
#: extension/rwarray.c:489
#, c-format
msgid "treating recovered value with unknown type code %d as a string"
-msgstr ""
+msgstr "tratando recuperar valor con código tipo %d desconocido como una cadena textual"
#: extension/time.c:141
msgid "gettimeofday: not supported on this platform"
-msgstr ""
+msgstr "no es compatible en esta plataforma"
#: extension/time.c:162
-#, fuzzy
msgid "sleep: missing required numeric argument"
-msgstr "exp: se recibió un argumento que no es númerico"
+msgstr "sleep: argumento numérico requerido faltante"
#: extension/time.c:168
-#, fuzzy
msgid "sleep: argument is negative"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "sleep: argumento es negativo"
#: extension/time.c:202
msgid "sleep: not supported on this platform"
-msgstr ""
+msgstr "sleep: no compatible en esta plataforma"
#: field.c:284
msgid "input record too large"
-msgstr ""
+msgstr "registro entrante demadiado grande"
#: field.c:393
msgid "NF set to negative value"
-msgstr "se definió NF con un valor negativo"
+msgstr "NF definido a valor negativo"
#: field.c:961 field.c:968
msgid "split: fourth argument is a gawk extension"
@@ -2436,25 +2337,19 @@ msgstr "split: el segundo argumento no es una matriz"
#: field.c:979
msgid "split: cannot use the same array for second and fourth args"
-msgstr ""
-"split: no se puede usar la misma matriz para el segundo y cuarto argumentos"
+msgstr "split: no se puede usar la misma matriz para el segundo y cuarto argumentos"
#: field.c:984
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split: no se puede usar una submatriz del segundo argumento para el cuarto "
-"argumento"
+msgstr "split: no se puede usar una submatriz del segundo argumento para el cuarto argumento"
#: field.c:987
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split: no se puede usar una submatriz del cuarto argumento para el segundo "
-"argumento"
+msgstr "split: no se puede usar una submatriz del cuarto argumento para el segundo argumento"
#: field.c:1021
msgid "split: null string for third arg is a gawk extension"
-msgstr ""
-"split: la cadena nula para el tercer argumento es una extensión de gawk"
+msgstr "split: la cadena nula para el tercer argumento es una extensión de gawk"
#: field.c:1058
msgid "patsplit: fourth argument is not an array"
@@ -2470,21 +2365,15 @@ msgstr "patsplit: el tercer argumento no debe ser nulo"
#: field.c:1076
msgid "patsplit: cannot use the same array for second and fourth args"
-msgstr ""
-"patsplit: no se puede usar la misma matriz para el segundo y cuarto "
-"argumentos"
+msgstr "patsplit: no se puede usar la misma matriz para segundo y cuarto argumentos"
#: field.c:1081
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit: no se puede usar una submatriz del segundo argumento para el "
-"cuarto argumento"
+msgstr "patsplit: no se puede usar una submatriz del segundo argumento para el cuarto argumento"
#: field.c:1084
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit: no se puede usar una submatriz del cuarto argumento para el "
-"segundo argumento"
+msgstr "patsplit: no se puede usar una submatriz del cuarto argumento para el segundo argumento"
#: field.c:1134
msgid "`FIELDWIDTHS' is a gawk extension"
@@ -2492,12 +2381,12 @@ msgstr "`FIELDWIDTHS' es una extensión gawk"
#: field.c:1203
msgid "`*' must be the last designator in FIELDWIDTHS"
-msgstr ""
+msgstr "`*' debe ser el último designador en FIELDWIDTHS"
#: field.c:1224
-#, fuzzy, c-format
+#, c-format
msgid "invalid FIELDWIDTHS value, for field %d, near `%s'"
-msgstr "valor de FIELDWIDTHS inválido, cerca de `%s'"
+msgstr "valor de FIELDWIDTHS inválido, para campo %d, cercano a «%s»"
#: field.c:1297
msgid "null string for `FS' is a gawk extension"
@@ -2513,112 +2402,103 @@ msgstr "`FPAT' es una extensión de gawk"
#: gawkapi.c:160
msgid "awk_value_to_node: received null retval"
-msgstr ""
+msgstr "awk_value_to_node: recibió retval nulo"
#: gawkapi.c:177 gawkapi.c:188
msgid "awk_value_to_node: not in MPFR mode"
-msgstr ""
+msgstr "awk_value_to_node: no dentro del modo MPFR"
#: gawkapi.c:182 gawkapi.c:193
msgid "awk_value_to_node: MPFR not supported"
-msgstr ""
+msgstr "awk_value_to_node: MPFR incompatible"
#: gawkapi.c:197
#, c-format
msgid "awk_value_to_node: invalid number type `%d'"
-msgstr ""
+msgstr "awk_value_to_node: tipo numérico inválido «%d»"
#: gawkapi.c:520
#, c-format
-msgid ""
-"node_to_awk_value: detected invalid numeric flags combination `%s'; please "
-"file a bug report."
-msgstr ""
+msgid "node_to_awk_value: detected invalid numeric flags combination `%s'; please file a bug report."
+msgstr "node_to_value: detectado marcas inválidas combinadas «%s»; envíe un reporte de defecto."
#: gawkapi.c:548
msgid "node_to_awk_value: received null node"
-msgstr ""
+msgstr "node_to_awk_value: recibido nodo nulo"
#: gawkapi.c:551
msgid "node_to_awk_value: received null val"
-msgstr ""
+msgstr "node_to_awk_value: recibido valor nulo"
#: gawkapi.c:607 gawkapi.c:641 gawkapi.c:668 gawkapi.c:701
#, c-format
-msgid ""
-"node_to_awk_value detected invalid flags combination `%s'; please file a bug "
-"report."
-msgstr ""
+msgid "node_to_awk_value detected invalid flags combination `%s'; please file a bug report."
+msgstr "node_to_awk_value detectadas marcas inválidas combinadas «%s»; envíe un reporte de defecto."
#: gawkapi.c:1072
-#, fuzzy
msgid "remove_element: received null array"
-msgstr "length: se recibió un argumento de matriz"
+msgstr "remove_element: matriz nula recibida"
#: gawkapi.c:1075
msgid "remove_element: received null subscript"
-msgstr ""
+msgstr "remove_element: subescritura nula recibida"
#: gawkapi.c:1207
#, c-format
msgid "api_flatten_array_typed: could not convert index %d to %s\n"
-msgstr ""
+msgstr "api_flatten_array_typed: no pudo convertir índice %d a %s\n"
#: gawkapi.c:1212
#, c-format
msgid "api_flatten_array_typed: could not convert value %d to %s\n"
-msgstr ""
+msgstr "api_flatten_array_typed: no pudo convertir valor %d a %s\n"
#: gawkapi.c:1308 gawkapi.c:1324
msgid "api_get_mpfr: MPFR not supported"
-msgstr ""
+msgstr "api_get_mpfr: MPFR no soportado"
#: gawkapi.c:1355
-#, fuzzy
msgid "cannot find end of BEGINFILE rule"
-msgstr "`next' no se puede llamar desde una regla BEGIN"
+msgstr "no puede encontrar final de regla BEGINFILE"
#: gawkapi.c:1409
-#, fuzzy, c-format
+#, c-format
msgid "cannot open unrecognized file type `%s' for `%s'"
-msgstr "no se puede abrir el fichero fuente `%s' para lectura (%s)"
+msgstr "no se puede abrir tipo de fichero no reconocido «%s» para «%s»"
#: io.c:426
#, c-format
msgid "command line argument `%s' is a directory: skipped"
-msgstr "el argumento de la línea de órdenes `%s' es un directorio: se salta"
+msgstr "el argumento de la línea de órdenes «%s» es un directorio: se salta"
#: io.c:429 io.c:546
#, c-format
msgid "cannot open file `%s' for reading (%s)"
-msgstr "no se puede abrir el fichero `%s' para lectura (%s)"
+msgstr "no se puede abrir el fichero «%s» para lectura (%s)"
#: io.c:675
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
-msgstr "falló al cerrar el df %d (`%s') (%s)"
+msgstr "cierre fallado en df %d («%s») (%s)"
#: io.c:753
msgid "redirection not allowed in sandbox mode"
msgstr "no se permite la redirección en modo sandbox"
#: io.c:787
-#, fuzzy, c-format
+#, c-format
msgid "expression in `%s' redirection is a number"
-msgstr "la expresión en la redirección `%s' sólo tiene valor numérico"
+msgstr "expresión dentro de redirección «%s» es un número"
#: io.c:791
#, c-format
msgid "expression for `%s' redirection has null string value"
-msgstr "la expresión para la redirección `%s' tiene un valor de cadena nula"
+msgstr "la expresión para la redirección «%s» tiene un valor de cadena nula"
#: io.c:796
-#, fuzzy, c-format
-msgid ""
-"filename `%.*s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"el fichero `%s' para la redirección `%s' puede ser resultado de una "
-"expresión lógica"
+#, c-format
+msgid "filename `%.*s' for `%s' redirection may be result of logical expression"
+msgstr "nombre del fichero «%.*s» para redirección «%s» quizá es un resultado de una expresión lógica"
#: io.c:844
#, c-format
@@ -2628,50 +2508,46 @@ msgstr "mezcla innecesaria de `>' y `>>' para el fichero `%.*s'"
#: io.c:896 io.c:921
#, c-format
msgid "get_file cannot create pipe `%s' with fd %d"
-msgstr ""
+msgstr "get_file no puede crear una tubería «%s» con fd %d"
#: io.c:911
#, c-format
msgid "can't open pipe `%s' for output (%s)"
-msgstr "no se puede abrir la tubería `%s' para la salida (%s)"
+msgstr "no puede abrir la tubería «%s» para la salida (%s)"
#: io.c:926
#, c-format
msgid "can't open pipe `%s' for input (%s)"
-msgstr "no se puede abrir la tubería `%s' para la entrada (%s)"
+msgstr "no puede abrir la tubería «%s» para la entrada (%s)"
#: io.c:950
#, c-format
-msgid ""
-"get_file socket creation not supported on this platform for `%s' with fd %d"
-msgstr ""
+msgid "get_file socket creation not supported on this platform for `%s' with fd %d"
+msgstr "creación de socket get_file incompatible en esta plataforma para «%s» con fd %d"
#: io.c:961
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
-msgstr "no se puede abrir la tubería de dos vías `%s' para entrada/salida (%s)"
+msgstr "no puede abrir la tubería de dos vías «%s» para entrada/salida (%s)"
#: io.c:1048
#, c-format
msgid "can't redirect from `%s' (%s)"
-msgstr "no se puede redirigir desde `%s' (%s)"
+msgstr "no se puede redirigir desde «%s» (%s)"
#: io.c:1051
#, c-format
msgid "can't redirect to `%s' (%s)"
-msgstr "no se puede redirigir a `%s' (%s)"
+msgstr "no se puede redirigir a «%s» (%s)"
#: io.c:1153
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"se alcanzó el límite del sistema para ficheros abiertos: comenzando a "
-"multiplexar los descriptores de fichero"
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "se alcanzó el límite del sistema para ficheros abiertos: comenzando a multiplexar los descriptores de fichero"
#: io.c:1169
#, c-format
msgid "close of `%s' failed (%s)."
-msgstr "falló al cerrar `%s' (%s)."
+msgstr "cierre fallado de «%s» (%s)."
#: io.c:1177
msgid "too many pipes or input files open"
@@ -2688,255 +2564,244 @@ msgstr "close: `%.*s' no es un fichero abierto, tubería o co-proceso"
#: io.c:1226
msgid "close of redirection that was never opened"
-msgstr "se cerró una redirección que nunca se abrió"
+msgstr "cierre de redirección que nunca se abrió"
#: io.c:1325
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: la redirección `%s' no se abrió con `|&', se descarta el segundo "
-"argumento"
+msgstr "close: la redirección «%s» no se abrió con `|&', se descarta el segundo argumento"
#: io.c:1342
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
-msgstr "estado de fallo (%d) al cerrar la tubería de `%s' (%s)"
+msgstr "estado de fallo (%d) al cerrar la tubería de «%s» (%s)"
#: io.c:1345
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
-msgstr "estado de fallo (%d) al cerrar el fichero de `%s' (%s)"
+msgstr "estado de fallo (%d) al cerrar el fichero de «%s» (%s)"
#: io.c:1365
#, c-format
msgid "no explicit close of socket `%s' provided"
-msgstr "no se provee el cerrado explícito del `socket' `%s'"
+msgstr "ningún cierre explícito de `socket' «%s» proporcionado"
#: io.c:1368
#, c-format
msgid "no explicit close of co-process `%s' provided"
-msgstr "no se provee el cerrado explícito del co-proceso `%s'"
+msgstr "ningún cierre explícito de «%s» como co-proceso"
#: io.c:1371
#, c-format
msgid "no explicit close of pipe `%s' provided"
-msgstr "no se provee el cerrado explícito del la tubería `%s'"
+msgstr "ningún cierre explícito de tubería «%s» proporcionada"
#: io.c:1374
#, c-format
msgid "no explicit close of file `%s' provided"
-msgstr "no se provee el cerrado explícito del fichero `%s'"
+msgstr "ningún cierre explícito del fichero «%s» proporcionado"
#: io.c:1411
#, c-format
msgid "fflush: cannot flush standard output: %s"
-msgstr ""
+msgstr "fflush: no se puede tirar salida común: %s"
#: io.c:1412
#, c-format
msgid "fflush: cannot flush standard error: %s"
-msgstr ""
+msgstr "fflush: no se puede tirar error común: %s"
#: io.c:1417 io.c:1507 main.c:653 main.c:700
#, c-format
msgid "error writing standard output (%s)"
-msgstr "error al escribir en la salida estándar (%s)"
+msgstr "error al escribir en la salida común (%s)"
#: io.c:1418 io.c:1517 main.c:655
#, c-format
msgid "error writing standard error (%s)"
-msgstr "error al escribir en la salida estándar de error (%s)"
+msgstr "error al escribir en la salida común de error (%s)"
#: io.c:1457
#, c-format
msgid "pipe flush of `%s' failed (%s)."
-msgstr "falló la limpieza de la tubería de `%s' (%s)."
+msgstr "fallado la limpieza de la tubería de «%s» (%s)."
#: io.c:1460
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
-msgstr "falló la limpieza del co-proceso de la tubería a `%s' (%s)."
+msgstr "vaciado fallado del co-proceso de la tubería a «%s» (%s)."
#: io.c:1463
#, c-format
msgid "file flush of `%s' failed (%s)."
-msgstr "falló la limpieza del fichero de `%s' (%s)."
+msgstr "fallado el vaciado del fichero de «%s» (%s)."
-#: io.c:1603
-#, fuzzy, c-format
+#: io.c:1590
+#, c-format
msgid "local port %s invalid in `/inet': %s"
-msgstr "puerto local %s inválido en `/inet'"
+msgstr "puerto local %s inválido en `/inet': %s"
-#: io.c:1606
+#: io.c:1593
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "puerto local %s inválido en `/inet'"
-#: io.c:1629
-#, fuzzy, c-format
+#: io.c:1616
+#, c-format
msgid "remote host and port information (%s, %s) invalid: %s"
-msgstr "anfitrión remoto e información de puerto (%s, %s) inválidos"
+msgstr "anfitrión remoto e información de puerto (%s, %s) inválidos: %s"
-#: io.c:1632
+#: io.c:1619
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "anfitrión remoto e información de puerto (%s, %s) inválidos"
-#: io.c:1874
+#: io.c:1861
msgid "TCP/IP communications are not supported"
-msgstr "no se admiten las comunicaciones TCP/IP"
+msgstr "TCP/IP para comunicaciones no son admitidas"
-#: io.c:2002 io.c:2045
+#: io.c:1989 io.c:2032
#, c-format
msgid "could not open `%s', mode `%s'"
-msgstr "no se puede abrir `%s', modo `%s'"
+msgstr "no se puede abrir «%s», modo «%s»"
-#: io.c:2010 io.c:2062
+#: io.c:1997 io.c:2049
#, c-format
msgid "close of master pty failed (%s)"
-msgstr "falló al cerrar el pty maestro (%s)"
+msgstr "cierre fallado del pty maestro (%s)"
-#: io.c:2012 io.c:2064 io.c:2411 io.c:2655
+#: io.c:1999 io.c:2051 io.c:2398 io.c:2642
#, c-format
msgid "close of stdout in child failed (%s)"
-msgstr "falló al cerrar la salida estándar en el hijo (%s)"
+msgstr "cierre de salida común fallada en el hijo (%s)"
-#: io.c:2015 io.c:2067
+#: io.c:2002 io.c:2054
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
-msgstr ""
-"falló el movimiento del pty esclavo a la salida estándar en el hijo (dup: %s)"
+msgstr "fallado el movimiento del pty esclavo a la salida común en el hijo (dup: %s)"
-#: io.c:2017 io.c:2069 io.c:2416
+#: io.c:2004 io.c:2056 io.c:2403
#, c-format
msgid "close of stdin in child failed (%s)"
-msgstr "falló al cerrar la entrada estándar en el hijo (%s)"
+msgstr "cierre fallado de entrada común en el hijo (%s)"
-#: io.c:2020 io.c:2072
+#: io.c:2007 io.c:2059
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
-msgstr ""
-"falló el movimiento del pty esclavo a la entrada estándar en el hijo (dup: "
-"%s)"
+msgstr "fallado el movimiento del pty esclavo a la entrada común en el hijo (dup: %s)"
-#: io.c:2022 io.c:2074 io.c:2096
+#: io.c:2009 io.c:2061 io.c:2083
#, c-format
msgid "close of slave pty failed (%s)"
-msgstr "falló al cerrar el pty esclavo (%s)"
+msgstr "cierre fallado del pty esclavo (%s)"
-#: io.c:2258
-#, fuzzy
+#: io.c:2245
msgid "could not create child process or open pty"
-msgstr "no se puede crear el proceso hijo para `%s' (fork: %s)"
+msgstr "no pudo crear el subproceso para o abrir pty"
-#: io.c:2346 io.c:2414 io.c:2626 io.c:2658
+#: io.c:2333 io.c:2401 io.c:2613 io.c:2645
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
-msgstr "falló el movimiento a la salida estándar en el hijo (dup: %s)"
+msgstr "fallado el movimiento a la salida común en el hijo (dup: %s)"
-#: io.c:2353 io.c:2419
+#: io.c:2340 io.c:2406
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
-msgstr ""
-"falló el movimiento de la tubería a la entrada estándar en el hijo (dup: %s)"
+msgstr "fallado el movimiento de la tubería a la entrada común en el hijo (dup: %s)"
-#: io.c:2379 io.c:2648
+#: io.c:2366 io.c:2635
msgid "restoring stdout in parent process failed\n"
-msgstr "falló la restauración de la salida estándar en el proceso padre\n"
+msgstr "restauración saliente común en el proceso padre fallado\n"
-#: io.c:2387
+#: io.c:2374
msgid "restoring stdin in parent process failed\n"
-msgstr "falló la restauración de la entrada estándar en el proceso padre\n"
+msgstr "restauración entrante común en el proceso padre fallado\n"
-#: io.c:2422 io.c:2660 io.c:2675
+#: io.c:2409 io.c:2647 io.c:2662
#, c-format
msgid "close of pipe failed (%s)"
-msgstr "falló al cerrar la tubería (%s)"
+msgstr "cierre fallado de tubería (%s)"
-#: io.c:2481
+#: io.c:2468
msgid "`|&' not supported"
-msgstr "no se admite `|&'"
+msgstr "`|&' no admitido"
-#: io.c:2611
+#: io.c:2598
#, c-format
msgid "cannot open pipe `%s' (%s)"
-msgstr "no se puede abrir la tubería `%s' (%s)"
+msgstr "no se puede abrir la tubería «%s» (%s)"
-#: io.c:2669
+#: io.c:2656
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
-msgstr "no se puede crear el proceso hijo para `%s' (fork: %s)"
+msgstr "no se puede crear el proceso hijo para «%s» (fork: %s)"
-#: io.c:2807
+#: io.c:2794
msgid "getline: attempt to read from closed read end of two-way pipe"
-msgstr ""
+msgstr "getline: intenta leer desde final de lectura cerrada de tubería de vía doble"
-#: io.c:3131
+#: io.c:3118
msgid "register_input_parser: received NULL pointer"
-msgstr ""
+msgstr "register_input_parser: revibido puntero NULO"
-#: io.c:3159
+#: io.c:3146
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
-msgstr ""
+msgstr "intérprete entrante «%s» en conflicto con intérprete entrante «%s» instalado anteriormente"
-#: io.c:3166
+#: io.c:3153
#, c-format
msgid "input parser `%s' failed to open `%s'"
-msgstr ""
+msgstr "interpretador entrante «%s» fallado para abrir «%s»"
-#: io.c:3186
+#: io.c:3173
msgid "register_output_wrapper: received NULL pointer"
-msgstr ""
+msgstr "register_output_wrapper: recibido puntero NULO"
-#: io.c:3214
+#: io.c:3201
#, c-format
-msgid ""
-"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
-msgstr ""
+msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
+msgstr "envoltorio saliente «%s» en conflicto con intérprete saliente «%s» instalado anteriormente"
-#: io.c:3221
+#: io.c:3208
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
-msgstr ""
+msgstr "envoltorio saliente «%s» fallado al abrir «%s»"
-#: io.c:3242
+#: io.c:3229
msgid "register_output_processor: received NULL pointer"
-msgstr ""
+msgstr "register_output_processor: recibido puntero NULO"
-#: io.c:3271
+#: io.c:3258
#, c-format
-msgid ""
-"two-way processor `%s' conflicts with previously installed two-way processor "
-"`%s'"
-msgstr ""
+msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
+msgstr "proceso de dos vías «%s» conflicto con previamente instalado proceso de dos vias «%s»"
-#: io.c:3280
+#: io.c:3267
#, c-format
msgid "two way processor `%s' failed to open `%s'"
-msgstr ""
+msgstr "procesador «%s» de dos vías fallado para abrir «%s»"
-#: io.c:3404
+#: io.c:3391
#, c-format
msgid "data file `%s' is empty"
-msgstr "el fichero de datos `%s' está vacío"
+msgstr "el fichero de datos «%s» está vacío"
-#: io.c:3446 io.c:3454
+#: io.c:3433 io.c:3441
msgid "could not allocate more input memory"
msgstr "no se puede reservar más memoria de entrada"
-#: io.c:4072
+#: io.c:4059
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "el valor multicaracter de `RS' es una extensión de gawk"
-#: io.c:4226
+#: io.c:4213
msgid "IPv6 communication is not supported"
-msgstr "no se admite la comunicación IPv6"
+msgstr "IPv6 de comunicación no admitida"
#: main.c:333
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr ""
-"la variable de ambiente `POSIXLY_CORRECT' está definida: se activa `--posix'"
+msgstr "la variable de ambiente `POSIXLY_CORRECT' definida: activando `--posix'"
#: main.c:339
msgid "`--posix' overrides `--traditional'"
@@ -2952,25 +2817,23 @@ msgid "running %s setuid root may be a security problem"
msgstr "ejecutar %s como setuid root puede ser un problema de seguridad"
#: main.c:358
-#, fuzzy
msgid "`--posix' overrides `--characters-as-bytes'"
-msgstr "`--posix' se impone a `--binary'"
+msgstr "`--posix' sobrepone a `--character-as-bytes'"
#: main.c:416
#, c-format
msgid "can't set binary mode on stdin (%s)"
-msgstr "no se puede establecer el modo binario en la entrada estándar (%s)"
+msgstr "no se puede establecer el modo binario entrante común (%s)"
#: main.c:419
#, c-format
msgid "can't set binary mode on stdout (%s)"
-msgstr "no se puede establecer el modo binario en la salida estándar (%s)"
+msgstr "no se puede establecer el modo binario saliente común (%s)"
#: main.c:421
#, c-format
msgid "can't set binary mode on stderr (%s)"
-msgstr ""
-"no se puede establecer el modo binario en la salida estándar de error (%s)"
+msgstr "no se puede establecer el modo binario de error común (%s)"
#: main.c:481
msgid "no program text at all!"
@@ -2979,20 +2842,16 @@ msgstr "¡No hay ningún programa de texto!"
#: main.c:574
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
-msgstr ""
-"Modo de empleo: %s [opciones estilo POSIX o GNU] -f fichprog [--] "
-"fichero ...\n"
+msgstr "Modo de empleo: %s [opciones estilo POSIX o GNU] -f fichprog [--] fichero …\n"
#: main.c:576
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
-msgstr ""
-"Modo de empleo: %s [opciones estilo POSIX o GNU] [--] %cprograma%c "
-"fichero ...\n"
+msgstr "Modo de empleo: %s [opciones estilo POSIX o GNU] [--] %cprograma%c fichero …\n"
#: main.c:581
msgid "POSIX options:\t\tGNU long options: (standard)\n"
-msgstr "Opciones POSIX:\t\tOpciones largas GNU: (estándar)\n"
+msgstr "Opciones POSIX:\t\tOpciones largas GNU: (común)\n"
#: main.c:582
msgid "\t-f progfile\t\t--file=progfile\n"
@@ -3027,15 +2886,14 @@ msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fichero]\t\t--dump-variables[=fichero]\n"
#: main.c:590
-#, fuzzy
msgid "\t-D[file]\t\t--debug[=file]\n"
-msgstr "\t-p[fichero]\t\t--profile[=fichero]\n"
+msgstr "\t-D[fichero]\t\t--debug[=fichero]\n"
# Esta es la línea más larga de la lista de argumentos.
# Probar con gawk para revisar tabuladores. cfuga
#: main.c:591
msgid "\t-e 'program-text'\t--source='program-text'\n"
-msgstr "\t-e 'texto-prog'\t--source='texto-prog'\n"
+msgstr "\t-e 'texto-prog'\t --source='texto-prog'\n"
#: main.c:592
msgid "\t-E file\t\t\t--exec=file\n"
@@ -3051,24 +2909,24 @@ msgstr "\t-h\t\t\t--help\n"
#: main.c:595
msgid "\t-i includefile\t\t--include=includefile\n"
-msgstr ""
+msgstr "\t-i ficheroinclusivo\t--incluide=ficheroincluido\n"
#: main.c:596
msgid "\t-l library\t\t--load=library\n"
msgstr ""
+"\t-l biblioteca\t\t--load=biblioteca\n"
+"\n"
#. TRANSLATORS: the "fatal" and "invalid" here are literal
#. values, they should not be translated. Thanks.
#.
#: main.c:601
-#, fuzzy
msgid "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
-msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
+msgstr "\t-L[fatal|invalid]\t--lint[=fatal|invalid]\n"
#: main.c:602
-#, fuzzy
msgid "\t-M\t\t\t--bignum\n"
-msgstr "\t-g\t\t\t--gen-pot\n"
+msgstr "\t-M\t\t\t--bignum\n"
#: main.c:603
msgid "\t-N\t\t\t--use-lc-numeric\n"
@@ -3079,9 +2937,8 @@ msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
#: main.c:605
-#, fuzzy
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
-msgstr "\t-p[fichero]\t\t--profile[=fichero]\n"
+msgstr "\t-o[fichero]\t\t--profile[=fichero]\n"
#: main.c:606
msgid "\t-O\t\t\t--optimize\n"
@@ -3100,9 +2957,8 @@ msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
#: main.c:610
-#, fuzzy
msgid "\t-s\t\t\t--no-optimize\n"
-msgstr "\t-O\t\t\t--optimize\n"
+msgstr "\t-s\t\t\t--no-optimize\n"
#: main.c:611
msgid "\t-S\t\t\t--sandbox\n"
@@ -3130,7 +2986,6 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. address for translation bugs.
#. no-wrap
#: main.c:627
-#, fuzzy
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info'\n"
@@ -3141,10 +2996,11 @@ msgid ""
"\n"
msgstr ""
"\n"
-"Para reportar bichos, consulte el nodo `Bugs' en `gawk.info', el cual\n"
-"corresponde a la sección `Reporting Problems and Bugs' en la versión "
-"impresa.\n"
-"Reporte los errores de los mensajes en español a <es@li.org>.\n"
+"Para indicar defectos, vea el nodo `Defectos' en `gawk.info'\n"
+"la cual es sección `Indicando Problemas y Defectos' en la\n"
+"versión escrita. Esta misma información quizá está escrita\n"
+"en https://www.gnu.org/software/gawk/manual/html_node/Bugs.html.\n"
+"POR FAVOR NO intente indicar defectos publicando en comp.lang.awk.\n"
"\n"
#: main.c:634
@@ -3154,7 +3010,7 @@ msgid ""
"\n"
msgstr ""
"gawk es un lenguaje de reconocimiento y procesamiento de patrones.\n"
-"Por defecto lee la entrada estándar y escribe en la salida estándar.\n"
+"Por defecto lee la entrada común y escribe en la salida común.\n"
"\n"
#: main.c:638
@@ -3178,11 +3034,10 @@ msgid ""
"(at your option) any later version.\n"
"\n"
msgstr ""
-"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
+"© 1989, 1991-%d Free Software Foundation.\n"
"\n"
"Este programa es software libre; se puede redistribuir y/o modificar\n"
-"bajo los términos de la Licencia Pública General de GNU tal como es "
-"publicada\n"
+"bajo los términos de la Licencia Pública General de GNU tal como es publicada\n"
"por la Free Software Foundation; ya sea por la versión 3 de la Licencia, o\n"
"(a su elección) cualquier versión posterior.\n"
"\n"
@@ -3206,9 +3061,8 @@ msgid ""
"You should have received a copy of the GNU General Public License\n"
"along with this program. If not, see http://www.gnu.org/licenses/.\n"
msgstr ""
-"Debió recibir una copia de la Licencia Pública General de GNU\n"
-"junto con este programa. Si no es así, consulte\n"
-"http://www.gnu.org/licenses/.\n"
+"Debería haber recibido una copia de la Licencia Pública General de GNU\n"
+"junto con este programa. Si no es así, vea http://www.gnu.org/licenses/.\n"
#: main.c:725
msgid "-Ft does not set FS to tab in POSIX awk"
@@ -3220,29 +3074,28 @@ msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
"\n"
msgstr ""
-"%s: el argumento `%s' para `-v' no es de la forma `var=valor'\n"
+"%s: el argumento «%s» para `-v' no es de la forma `var=valor'\n"
"\n"
#: main.c:1153
#, c-format
msgid "`%s' is not a legal variable name"
-msgstr "`%s' no es un nombre de variable legal"
+msgstr "«%s» no es un nombre de variable legal"
#: main.c:1156
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
-msgstr "`%s' no es un nombre de variable, se busca el fichero `%s=%s'"
+msgstr "«%s» no es un nombre de variable, se busca el fichero `%s=%s'"
#: main.c:1160
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr ""
-"no se puede utilizar la orden interna de gawk `%s' como nombre de variable"
+msgstr "no se puede utilizar la orden interna de gawk «%s» como nombre de variable"
#: main.c:1165
#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "no se puede usar la función `%s' como nombre de variable"
+msgstr "no se puede usar la función «%s» como nombre de variable"
#: main.c:1220
msgid "floating point exception"
@@ -3252,95 +3105,91 @@ msgstr "excepción de coma flotante"
msgid "fatal error: internal error"
msgstr "error fatal: error interno"
-#: main.c:1244
+#: main.c:1242
msgid "fatal error: internal error: segfault"
msgstr "error fatal: error interno: falla de segmentación"
-#: main.c:1257
+#: main.c:1254
msgid "fatal error: internal error: stack overflow"
msgstr "error fatal: error interno: desbordamiento de pila"
-#: main.c:1317
+#: main.c:1313
#, c-format
msgid "no pre-opened fd %d"
msgstr "no existe el df %d abierto previamente"
-#: main.c:1324
+#: main.c:1320
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "no se puede abrir previamente /dev/null para el df %d"
-#: main.c:1538
+#: main.c:1534
msgid "empty argument to `-e/--source' ignored"
-msgstr "se descarta el argumento vacío para `-e/--source'"
+msgstr "argumento vacío para `-e/--source' ignorado"
-#: main.c:1609
+#: main.c:1605
msgid "-M ignored: MPFR/GMP support not compiled in"
-msgstr ""
+msgstr "-M ignorado: aooyo MPFR/GMP no compilado dentro de"
-#: main.c:1634
+#: main.c:1630
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: no se reconoce la opción `-W %s', se descarta\n"
-#: main.c:1687
+#: main.c:1683
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: la opción requiere un argumento -- %c\n"
#: mpfr.c:546
-#, fuzzy, c-format
+#, c-format
msgid "PREC value `%.*s' is invalid"
-msgstr "el valor BINMODE `%s' es inválido; se trata como 3"
+msgstr "Valor PREC «%.*s» es inválido"
#: mpfr.c:605
-#, fuzzy, c-format
+#, c-format
msgid "RNDMODE value `%.*s' is invalid"
-msgstr "el valor BINMODE `%s' es inválido; se trata como 3"
+msgstr "RNDMODE valorado `%.*s' es inválido"
#: mpfr.c:702
-#, fuzzy, c-format
+#, c-format
msgid "%s: received non-numeric argument"
-msgstr "cos: se recibió un argumento que no es númerico"
+msgstr "%s: argumento no numérico recibido"
#: mpfr.c:811
-#, fuzzy
msgid "compl(%Rg): negative value is not allowed"
-msgstr "compl(%lf): el valor negativo dará resultados extraños"
+msgstr "compl(%Rg): valor negativo no está permitido"
#: mpfr.c:816
-#, fuzzy
msgid "comp(%Rg): fractional value will be truncated"
-msgstr "compl(%lf): el valor fraccionario se truncará"
+msgstr "comp(%Rg): valor fraccionario será truncado"
#: mpfr.c:827
-#, fuzzy, c-format
+#, c-format
msgid "compl(%Zd): negative values are not allowed"
-msgstr "compl(%lf): el valor negativo dará resultados extraños"
+msgstr "compl(%Zd): valores negativos no serán permitidos"
#: mpfr.c:845
-#, fuzzy, c-format
+#, c-format
msgid "%s: received non-numeric argument #%d"
-msgstr "cos: se recibió un argumento que no es númerico"
+msgstr "%s: argumento no-numérico recibido #%d"
#: mpfr.c:855
msgid "%s: argument #%d has invalid value %Rg, using 0"
-msgstr ""
+msgstr "%s: argumento #%d tiene valor inválido %Rg, utilizando 0"
#: mpfr.c:866
-#, fuzzy
msgid "%s: argument #%d negative value %Rg is not allowed"
-msgstr "compl(%lf): el valor negativo dará resultados extraños"
+msgstr "%s: argumento #%d valor negativo %Rg no está permitido"
#: mpfr.c:873
-#, fuzzy
msgid "%s: argument #%d fractional value %Rg will be truncated"
-msgstr "or(%lf, %lf): los valores fraccionarios serán truncados"
+msgstr "%s: argumento #%d valor fraccional %Rg serán truncados"
#: mpfr.c:887
-#, fuzzy, c-format
+#, c-format
msgid "%s: argument #%d negative value %Zd is not allowed"
-msgstr "compl(%lf): el valor negativo dará resultados extraños"
+msgstr "%s: argumento #%d valor negativo %Zd no está permitido"
#: msg.c:68
#, c-format
@@ -3352,72 +3201,62 @@ msgid "backslash at end of string"
msgstr "barra invertida al final de la cadena"
#: node.c:459
-#, fuzzy
msgid "could not make typed regex"
-msgstr "expresión regular sin terminar"
+msgstr "no pudo hacer expreg tipada"
#: node.c:533
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
-msgstr "el awk antiguo no admite la secuencia de escape `\\%c'"
+msgstr "el awk antiguo no admite la secuencia `\\%c' de escape"
#: node.c:584
msgid "POSIX does not allow `\\x' escapes"
-msgstr "POSIX no permite escapes `\\x'"
+msgstr "POSIX no permite `\\x' como escapes"
#: node.c:590
msgid "no hex digits in `\\x' escape sequence"
-msgstr "no hay dígitos hexadecimales en la secuencia de escape `\\x'"
+msgstr "no hay dígitos hexadecimales en `\\x' como secuencia de escape"
#: node.c:611
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"el escape hexadecimal \\x%.*s de %d caracteres tal vez no se interprete de "
-"la forma esperada"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "escape hexadecimal \\x%.*s de %d caracteres tal vez no se interprete de la forma esperada"
#: node.c:626
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
-msgstr "la secuencia de escape `\\%c' se trata como una simple `%c'"
+msgstr "la secuencia de escape `\\%c' tratada como una simple `%c'"
#: node.c:762
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
-msgstr ""
-"Se detectaron datos multibyte inválidos. Puede ser que no coincidan sus "
-"datos con su local."
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
+msgstr "Se detectaron datos multibyte inválidos. Puede ser que no coincidan sus datos con su local."
#: posix/gawkmisc.c:177
#, c-format
msgid "%s %s `%s': could not get fd flags: (fcntl F_GETFD: %s)"
-msgstr ""
-"%s %s `%s': no se pueden obtener las opciones del fd: (fcntl F_GETFD: %s)"
+msgstr "%s %s «%s»: no se pueden obtener las opciones del fd: (fcntl F_GETFD: %s)"
#: posix/gawkmisc.c:189
#, c-format
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
-msgstr "%s %s `%s': no se puede establecer close-on-exec: (fcntl F_SETFD: %s)"
+msgstr "%s %s «%s»: no se puede establecer close-on-exec: (fcntl F_SETFD: %s)"
#: profile.c:97
#, c-format
msgid "could not open `%s' for writing: %s"
-msgstr "no se puede abrir `%s' para escritura: %s"
+msgstr "no se puede abrir «%s» para escritura: %s"
#: profile.c:99
msgid "sending profile to standard error"
-msgstr "se envía el perfil a la salida estándar de error"
+msgstr "se envía el perfil a la salida común de error"
#: profile.c:250
-#, fuzzy, c-format
+#, c-format
msgid ""
"\t# %s rule(s)\n"
"\n"
msgstr ""
-"\t# Regla(s)\n"
+"\t# %s regla(s)\n"
"\n"
#: profile.c:258
@@ -3435,9 +3274,8 @@ msgid "internal error: %s with null vname"
msgstr "error interno: %s con vname nulo"
#: profile.c:619
-#, fuzzy
msgid "internal error: builtin with null fname"
-msgstr "error interno: %s con vname nulo"
+msgstr "error interno: compilado con fname nulo"
#: profile.c:1132
#, c-format
@@ -3445,6 +3283,8 @@ msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
"\n"
msgstr ""
+"\t# Extensiones cargadas (-l y/o @load)\n"
+"\n"
#: profile.c:1181
#, c-format
@@ -3468,57 +3308,48 @@ msgstr "redir2str: tipo de redirección %d desconocida"
#: re.c:610
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr ""
-"el componente de expresión regular `%.*s' probablemente debe ser `[%.*s]'"
+msgstr "el componente de expresión regular `%.*s' probablemente debe ser `[%.*s]'"
#: support/dfa.c:1005
-#, fuzzy
msgid "unbalanced ["
-msgstr "[ desbalanceado"
+msgstr "desbalanceado ["
#: support/dfa.c:1126
-#, fuzzy
msgid "invalid character class"
-msgstr "Nombre de clase de caracter inválido"
+msgstr "clase de carácter inválido"
#: support/dfa.c:1252
msgid "character class syntax is [[:space:]], not [:space:]"
-msgstr ""
+msgstr "sintaxis de clase de carácter es [[:espacio:]], no [:espacio:]"
#: support/dfa.c:1319
-#, fuzzy
msgid "unfinished \\ escape"
-msgstr "Escape \\ sin terminar"
+msgstr "escape \\ no terminado"
#: support/dfa.c:1480
-#, fuzzy
msgid "invalid content of \\{\\}"
-msgstr "Contenido inválido de \\{\\}"
+msgstr "contenido inválido de \\{\\}"
#: support/dfa.c:1483
-#, fuzzy
msgid "regular expression too big"
-msgstr "La expresión regular es demasiado grande"
+msgstr "expresión regular demasiado grande"
#: support/dfa.c:1897
-#, fuzzy
msgid "unbalanced ("
-msgstr "( desbalanceado"
+msgstr "desbalanceado ("
#: support/dfa.c:2015
-#, fuzzy
msgid "no syntax specified"
-msgstr "No se especifican los bits de sintaxis de la expresión regular"
+msgstr "sin sintaxis especificada"
#: support/dfa.c:2023
-#, fuzzy
msgid "unbalanced )"
msgstr ") desbalanceado"
#: support/getopt.c:605 support/getopt.c:634
-#, fuzzy, c-format
+#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
-msgstr "%s: la opción '%s' es ambigua\n"
+msgstr "%s: la opción '%s' es ambigua; posibilidades:"
#: support/getopt.c:680 support/getopt.c:684
#, c-format
@@ -3548,13 +3379,13 @@ msgstr "%s: no se reconoce la opción '%c%s'\n"
#: support/getopt.c:861 support/getopt.c:864
#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: opción inválida -- '%c'\n"
+msgstr "%s: opción inválida -- «%c»\n"
#: support/getopt.c:917 support/getopt.c:934 support/getopt.c:1144
#: support/getopt.c:1162
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: la opción requiere un argumento -- '%c'\n"
+msgstr "%s: la opción requiere un argumento -- «%c»\n"
#: support/getopt.c:990 support/getopt.c:1006
#, c-format
@@ -3573,7 +3404,7 @@ msgstr "%s: la opción '-W %s' requiere un argumento\n"
#: support/regcomp.c:143
msgid "Success"
-msgstr "Éxito"
+msgstr "Correcto"
#: support/regcomp.c:146
msgid "No match"
@@ -3593,24 +3424,23 @@ msgstr "Nombre de clase de caracter inválido"
#: support/regcomp.c:158
msgid "Trailing backslash"
-msgstr "Barra invertida extra al final"
+msgstr "Barra invertida al final"
#: support/regcomp.c:161
msgid "Invalid back reference"
msgstr "Referencia hacia atrás inválida"
#: support/regcomp.c:164
-#, fuzzy
msgid "Unmatched [, [^, [:, [., or [="
-msgstr "[ o [^ desemparejados"
+msgstr "[, [^, [:, [., o [= desemparejados"
#: support/regcomp.c:167
msgid "Unmatched ( or \\("
-msgstr "( o \\( desemparejados"
+msgstr "Desemparajados ( o \\("
#: support/regcomp.c:170
msgid "Unmatched \\{"
-msgstr "\\{ desemparejado"
+msgstr "Desemparejado \\{"
#: support/regcomp.c:173
msgid "Invalid content of \\{\\}"
@@ -3634,7 +3464,7 @@ msgstr "Fin prematuro de la expresión regular"
#: support/regcomp.c:188
msgid "Regular expression too big"
-msgstr "La expresión regular es demasiado grande"
+msgstr "Expresión regular demasiado grande"
#: support/regcomp.c:191
msgid "Unmatched ) or \\)"
@@ -3645,153 +3475,37 @@ msgid "No previous regular expression"
msgstr "No hay una expresión regular previa"
#: symbol.c:687
-#, fuzzy, c-format
+#, c-format
msgid "function `%s': can't use function `%s' as a parameter name"
-msgstr ""
-"función `%s': no se puede usar un nombre de función como nombre de parámetro"
+msgstr "función «%s»: no se puede usar una función «%s» como nombre paramétrico"
#: symbol.c:817
msgid "can not pop main context"
-msgstr ""
-
-#, fuzzy
-#~ msgid "attempt to use array `%s[\".*%s\"]' in a scalar context"
-#~ msgstr "se intentó usar la matriz `%s[\"%.*s\"]' en un contexto escalar"
-
-#, fuzzy
-#~ msgid "attempt to use scalar `%s[\".*%s\"]' as array"
-#~ msgstr "se intentó usar el dato escalar `%s[\"%.*s\"]' como una matriz"
-
-#, fuzzy
-#~ msgid "gensub: third argument %g treated as 1"
-#~ msgstr "gensub: el tercer argumento de 0 se trata como 1"
-
-#~ msgid "`extension' is a gawk extension"
-#~ msgstr "`extension' es una extensión de gawk"
-
-#, fuzzy
-#~ msgid "extension: cannot open library `%s' (%s)"
-#~ msgstr "fatal: extension: no se puede abrir `%s' (%s)\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-#~ msgstr ""
-#~ "fatal: extension: la biblioteca `%s': no define "
-#~ "`plugin_is_GPL_compatible' (%s)\n"
-
-#, fuzzy
-#~ msgid "extension: library `%s': cannot call function `%s' (%s)"
-#~ msgstr ""
-#~ "fatal: extension: la biblioteca `%s': no puede llamar a la función `"
-#~ "%s' (%s)\n"
-
-#, fuzzy
-#~ msgid "extension: missing function name"
-#~ msgstr "extension: falta el nombre de la función"
-
-#, fuzzy
-#~ msgid "extension: illegal character `%c' in function name `%s'"
-#~ msgstr "extension: carácter ilegal `%c' en el nombre de la función `%s'"
-
-#, fuzzy
-#~ msgid "extension: can't redefine function `%s'"
-#~ msgstr "extension: no se puede redefinir la función `%s'"
-
-#, fuzzy
-#~ msgid "extension: function `%s' already defined"
-#~ msgstr "extension: la función `%s' ya está definida"
-
-#, fuzzy
-#~ msgid "extension: function name `%s' previously defined"
-#~ msgstr "el nombre de función `%s' se definió previamente"
-
-#, fuzzy
-#~ msgid "extension: can't use gawk built-in `%s' as function name"
-#~ msgstr ""
-#~ "extension: no se puede utilizar la orden interna de gawk `%s' como nombre "
-#~ "de función"
-
-#, fuzzy
-#~ msgid "chdir: called with incorrect number of arguments, expecting 1"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "stat: called with wrong number of arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "no puede extraer por arriba el contexto principal"
-#, fuzzy
-#~ msgid "statvfs: called with wrong number of arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "fnmatch: called with less than three arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "fnmatch: called with more than three arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "fork: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "waitpid: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "wait: called with no arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "wait: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "ord: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "ord: called with no arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "chr: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "chr: called with no arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
-
-#, fuzzy
-#~ msgid "readfile: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "referencia al elemento sin inicializar `%s[\"%.*s\"]'"
-#, fuzzy
-#~ msgid "writea: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "el subíndice de la matriz `%s' es la cadena nula"
-#, fuzzy
-#~ msgid "reada: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: vacío (nulo)\n"
-#, fuzzy
-#~ msgid "gettimeofday: ignoring arguments"
-#~ msgstr "mktime: se recibió un argumento que no es una cadena"
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: vacío (cero)\n"
-#, fuzzy
-#~ msgid "sleep: called with too many arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: tamaño_tabla = %d, tamaño_matriz = %d\n"
-#~ msgid "unknown value for field spec: %d\n"
-#~ msgstr "valor desconocido para la especificación de campo: %d\n"
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: array_ref a %s\n"
-#~ msgid "function `%s' defined to take no more than %d argument(s)"
-#~ msgstr "la función `%s' se definió para tomar no más de %d argumento(s)"
+#~ msgid "`nextfile' is a gawk extension"
+#~ msgstr "`nextfile' es una extensión de gawk"
-#~ msgid "function `%s': missing argument #%d"
-#~ msgstr "función `%s': falta el argumento #%d"
+#~ msgid "`delete array' is a gawk extension"
+#~ msgstr "`delete array' es una extensión de gawk"
#~ msgid "`getline var' invalid inside `%s' rule"
#~ msgstr "`getline var' inválido dentro de la regla `%s'"
@@ -3799,116 +3513,41 @@ msgstr ""
#~ msgid "`getline' invalid inside `%s' rule"
#~ msgstr "`getline' inválido dentro de la regla `%s'"
-#~ msgid "no (known) protocol supplied in special filename `%s'"
-#~ msgstr ""
-#~ "no se proporciona algún protocolo (conocido) en el nombre de fichero "
-#~ "especial `%s'"
-
-#~ msgid "special file name `%s' is incomplete"
-#~ msgstr "el nombre de fichero especial `%s' está incompleto"
-
-#~ msgid "must supply a remote hostname to `/inet'"
-#~ msgstr "se debe proporcionar a `/inet' un nombre de anfitrión remoto"
-
-#~ msgid "must supply a remote port to `/inet'"
-#~ msgstr "se debe proporcionar a `/inet' un puerto remoto"
-
-#~ msgid ""
-#~ "\t# %s block(s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\t# bloque(s) %s\n"
-#~ "\n"
-
-#~ msgid "range of the form `[%c-%c]' is locale dependent"
-#~ msgstr "el rango de la forma `[%c-%c]' depende del local"
-
-#, fuzzy
-#~ msgid "[s]printf called with no arguments"
-#~ msgstr "sqrt: se llamó con el argumento negativo %g"
+#~ msgid "use of non-array as array"
+#~ msgstr "uso de una matriz que no es matriz"
-#~ msgid "`-m[fr]' option irrelevant in gawk"
-#~ msgstr "la opción -m[fr] es irrelevante en gawk"
+#~ msgid "`%s' is a Bell Labs extension"
+#~ msgstr "`%s' es una extensión de Bell Labs"
-#~ msgid "-m option usage: `-m[fr] nnn'"
-#~ msgstr "uso de la opción -m: `-m[fr]' nnn"
+#~ msgid "and(%lf, %lf): negative values will give strange results"
+#~ msgstr "and(%lf, %lf): los valores negativos darán resultados extraños"
-#, fuzzy
-#~ msgid "%s: received non-numeric first argument"
+#~ msgid "or: received non-numeric first argument"
#~ msgstr "or: el primer argumento recibido no es númerico"
-#, fuzzy
-#~ msgid "%s: received non-numeric second argument"
+#~ msgid "or: received non-numeric second argument"
#~ msgstr "or: el segundo argumento recibido no es númerico"
-#, fuzzy
-#~ msgid "%s(%Rg, ..): negative values will give strange results"
+#~ msgid "or(%lf, %lf): negative values will give strange results"
#~ msgstr "or(%lf, %lf): los valores negativos darán resultados extraños"
-#, fuzzy
-#~ msgid "%s(%Rg, ..): fractional values will be truncated"
+#~ msgid "or(%lf, %lf): fractional values will be truncated"
#~ msgstr "or(%lf, %lf): los valores fraccionarios serán truncados"
-#, fuzzy
-#~ msgid "%s(%Zd, ..): negative values will give strange results"
-#~ msgstr "or(%lf, %lf): los valores negativos darán resultados extraños"
-
-#, fuzzy
-#~ msgid "%s(.., %Rg): negative values will give strange results"
-#~ msgstr "or(%lf, %lf): los valores negativos darán resultados extraños"
-
-#, fuzzy
-#~ msgid "%s(.., %Zd): negative values will give strange results"
-#~ msgstr "or(%lf, %lf): los valores negativos darán resultados extraños"
-
-#~ msgid "`%s' is a Bell Labs extension"
-#~ msgstr "`%s' es una extensión de Bell Labs"
-
-#~ msgid "`nextfile' is a gawk extension"
-#~ msgstr "`nextfile' es una extensión de gawk"
-
-#~ msgid "`delete array' is a gawk extension"
-#~ msgstr "`delete array' es una extensión de gawk"
-
-#~ msgid "and(%lf, %lf): fractional values will be truncated"
-#~ msgstr "and(%lf, %lf): los valores fraccionarios serán truncados"
-
#~ msgid "xor: received non-numeric first argument"
#~ msgstr "xor: el primer argumento recibido no es númerico"
#~ msgid "xor: received non-numeric second argument"
#~ msgstr "xor: el segundo argumento recibido no es númerico"
+#~ msgid "xor(%lf, %lf): negative values will give strange results"
+#~ msgstr "xor(%lf, %lf): los valores negativos darán resultados extraños"
+
#~ msgid "xor(%lf, %lf): fractional values will be truncated"
#~ msgstr "xor(%lf, %lf): los valores fraccionarios se truncarán"
-#~ msgid "Operation Not Supported"
-#~ msgstr "No Se Admite La Operación"
-
-#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-#~ msgstr "referencia al elemento sin inicializar `%s[\"%.*s\"]'"
-
-#~ msgid "subscript of array `%s' is null string"
-#~ msgstr "el subíndice de la matriz `%s' es la cadena nula"
-
-#~ msgid "%s: empty (null)\n"
-#~ msgstr "%s: vacío (nulo)\n"
-
-#~ msgid "%s: empty (zero)\n"
-#~ msgstr "%s: vacío (cero)\n"
-
-#~ msgid "%s: table_size = %d, array_size = %d\n"
-#~ msgstr "%s: tamaño_tabla = %d, tamaño_matriz = %d\n"
-
-#~ msgid "%s: array_ref to %s\n"
-#~ msgstr "%s: array_ref a %s\n"
-
-#~ msgid "use of non-array as array"
-#~ msgstr "uso de una matriz que no es matriz"
-
#~ msgid "can't use function name `%s' as variable or array"
-#~ msgstr ""
-#~ "no se puede usar el nombre de la función `%s' como variable o matriz"
+#~ msgstr "no se puede usar el nombre de la función `%s' como variable o matriz"
#~ msgid "assignment used in conditional context"
#~ msgstr "se usó una asignación en un contexto condicional"
@@ -3916,11 +3555,8 @@ msgstr ""
#~ msgid "statement has no effect"
#~ msgstr "la declaración no tiene efecto"
-#~ msgid ""
-#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
-#~ msgstr ""
-#~ "bucle for: la matriz `%s' cambió de tamaño de %ld a %ld durante la "
-#~ "ejecución del bucle"
+#~ msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr "bucle for: la matriz `%s' cambió de tamaño de %ld a %ld durante la ejecución del bucle"
#~ msgid "function called indirectly through `%s' does not exist"
#~ msgstr "no existe la función llamada indirectamente a través de `%s'"
@@ -3940,12 +3576,67 @@ msgstr ""
#~ msgid "Sorry, don't know how to interpret `%s'"
#~ msgstr "Perdón, no se cómo interpretar `%s'"
+#~ msgid "`extension' is a gawk extension"
+#~ msgstr "`extension' es una extensión de gawk"
+
+#~ msgid "extension: illegal character `%c' in function name `%s'"
+#~ msgstr "extension: carácter ilegal `%c' en el nombre de la función `%s'"
+
+#~ msgid "function `%s' defined to take no more than %d argument(s)"
+#~ msgstr "la función `%s' se definió para tomar no más de %d argumento(s)"
+
+#~ msgid "function `%s': missing argument #%d"
+#~ msgstr "función `%s': falta el argumento #%d"
+
+#~ msgid "Operation Not Supported"
+#~ msgstr "No Se Admite La Operación"
+
+#~ msgid "no (known) protocol supplied in special filename `%s'"
+#~ msgstr "no se proporciona algún protocolo (conocido) en el nombre de fichero especial `%s'"
+
+#~ msgid "special file name `%s' is incomplete"
+#~ msgstr "el nombre de fichero especial `%s' está incompleto"
+
+#~ msgid "must supply a remote hostname to `/inet'"
+#~ msgstr "se debe proporcionar a `/inet' un nombre de anfitrión remoto"
+
+#~ msgid "must supply a remote port to `/inet'"
+#~ msgstr "se debe proporcionar a `/inet' un puerto remoto"
+
+#~ msgid "`-m[fr]' option irrelevant in gawk"
+#~ msgstr "la opción -m[fr] es irrelevante en gawk"
+
+#~ msgid "-m option usage: `-m[fr] nnn'"
+#~ msgstr "uso de la opción -m: `-m[fr]' nnn"
+
#~ msgid "\t-R file\t\t\t--command=file\n"
#~ msgstr "\t-R fichero\t\t\t--command=fichero\n"
+#~ msgid ""
+#~ "\n"
+#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
+#~ "section `Reporting Problems and Bugs' in the printed version.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Para reportar bichos, consulte el nodo `Bugs' en `gawk.info', el cual\n"
+#~ "corresponde a la sección `Reporting Problems and Bugs' en la versión impresa.\n"
+#~ "Reporte los errores de los mensajes en español a <es@li.org>.\n"
+#~ "\n"
+
#~ msgid "could not find groups: %s"
#~ msgstr "no se pueden encontrar los grupos: %s"
+#~ msgid ""
+#~ "\t# %s block(s)\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\t# bloque(s) %s\n"
+#~ "\n"
+
+#~ msgid "range of the form `[%c-%c]' is locale dependent"
+#~ msgstr "el rango de la forma `[%c-%c]' depende del local"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "no se permite la asignación como resultado de una función interna"
@@ -3982,12 +3673,8 @@ msgstr ""
#~ msgid "`nextfile' cannot be called from a BEGIN rule"
#~ msgstr "`nextfile' no se puede llamar desde una regla BEGIN"
-#~ msgid ""
-#~ "concatenation: side effects in one expression have changed the length of "
-#~ "another!"
-#~ msgstr ""
-#~ "concatenación: ¡Los efectos laterales en una expresión han cambiado la "
-#~ "longitud de otra!"
+#~ msgid "concatenation: side effects in one expression have changed the length of another!"
+#~ msgstr "concatenación: ¡Los efectos laterales en una expresión han cambiado la longitud de otra!"
#~ msgid "illegal type (%s) in tree_eval"
#~ msgstr "tipo ilegal (%s) en tree_eval"
@@ -4051,8 +3738,7 @@ msgstr ""
#~ msgstr "Tipo de nodo %s desconocido en pp_var"
#~ msgid "can't open two way socket `%s' for input/output (%s)"
-#~ msgstr ""
-#~ "no se puede abrir el `socket' de dos vías `%s' para entrada/salida (%s)"
+#~ msgstr "no se puede abrir el `socket' de dos vías `%s' para entrada/salida (%s)"
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: opción ilegal -- %c\n"
@@ -4070,9 +3756,7 @@ msgstr ""
#~ msgstr "substr: la longitud %g es < 0"
#~ msgid "regex match failed, not enough memory to match string \"%.*s%s\""
-#~ msgstr ""
-#~ "falló la coincidencia de la expresión regular, no hay suficiente memoria "
-#~ "para que coincida la cadena \"%.*s%s\""
+#~ msgstr "falló la coincidencia de la expresión regular, no hay suficiente memoria para que coincida la cadena \"%.*s%s\""
#~ msgid "delete: illegal use of variable `%s' as array"
#~ msgstr "delete: uso ilegal de la variable `%s' como una matriz"
@@ -4096,8 +3780,7 @@ msgstr ""
#~ msgstr "`nextfile' es usado en la acción de BEGIN o END"
#~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
-#~ msgstr ""
-#~ "`getline' no redirigido indefinido dentro de la acción de BEGIN o END"
+#~ msgstr "`getline' no redirigido indefinido dentro de la acción de BEGIN o END"
# tokentab? cfuga
#~ msgid "fptr %x not in tokentab\n"
diff --git a/test/ChangeLog b/test/ChangeLog
index 603df4e7..6a347b60 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2018-03-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (EXTRA_DIST): Add tailrecurse.awk, tailrecurse.ok.
+ * tailrecurse.awk, tailrecurse.ok: New files.
+
2018-03-13 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am: Update copyright year.
diff --git a/test/Makefile.am b/test/Makefile.am
index e502f86a..e96c314e 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1135,6 +1135,8 @@ EXTRA_DIST = \
synerr1.ok \
synerr2.awk \
synerr2.ok \
+ tailrecurse.awk \
+ tailrecurse.ok \
testext.ok \
time.awk \
time.ok \
@@ -1254,7 +1256,7 @@ BASIC_TESTS = \
sigpipe1 sortempty sortglos splitargv splitarr \
splitdef splitvar splitwht status-close strcat1 strnum1 strnum2 strtod \
subamp subback subi18n subsepnm subslash substr swaplns synerr1 synerr2 \
- tradanch tweakfld \
+ tailrecurse tradanch tweakfld \
uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs uplus \
wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
zero2 zeroe0 zeroflag
diff --git a/test/Makefile.in b/test/Makefile.in
index b3cde532..4b0f839f 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1393,6 +1393,8 @@ EXTRA_DIST = \
synerr1.ok \
synerr2.awk \
synerr2.ok \
+ tailrecurse.awk \
+ tailrecurse.ok \
testext.ok \
time.awk \
time.ok \
@@ -1511,7 +1513,7 @@ BASIC_TESTS = \
sigpipe1 sortempty sortglos splitargv splitarr \
splitdef splitvar splitwht status-close strcat1 strnum1 strnum2 strtod \
subamp subback subi18n subsepnm subslash substr swaplns synerr1 synerr2 \
- tradanch tweakfld \
+ tailrecurse tradanch tweakfld \
uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs uplus \
wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
zero2 zeroe0 zeroflag
@@ -3925,6 +3927,11 @@ synerr2:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+tailrecurse:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
uninit2:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index e449dd30..4a90e3e9 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1002,6 +1002,11 @@ synerr2:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+tailrecurse:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
uninit2:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/tailrecurse.awk b/test/tailrecurse.awk
new file mode 100644
index 00000000..b287d168
--- /dev/null
+++ b/test/tailrecurse.awk
@@ -0,0 +1,15 @@
+BEGIN {
+ abc(2)
+}
+
+
+function abc(c, A, B)
+{
+ print "abc(" c ", " length(A) ")"
+ if (! c--) {
+ return
+ }
+ B[""]
+ print length(B)
+ return abc(c, B)
+}
diff --git a/test/tailrecurse.ok b/test/tailrecurse.ok
new file mode 100644
index 00000000..73ce1ede
--- /dev/null
+++ b/test/tailrecurse.ok
@@ -0,0 +1,5 @@
+abc(2, 0)
+1
+abc(1, 1)
+1
+abc(0, 1)