aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-03-26 10:45:47 +0300
committerArnold D. Robbins <arnold@skeeve.com>2018-03-26 10:45:47 +0300
commit053aa664ea5a3fc3bc98a7a2dc6145b434e79669 (patch)
treef258a325a83396760fc2b85261c1cbb74149bff9
parent047fa8844122d13e2898972c9e0a2332ddddc2f5 (diff)
parente32b1e252bba65f8311e7cb038b085fe42cf42ed (diff)
downloadegawk-053aa664ea5a3fc3bc98a7a2dc6145b434e79669.tar.gz
egawk-053aa664ea5a3fc3bc98a7a2dc6145b434e79669.tar.bz2
egawk-053aa664ea5a3fc3bc98a7a2dc6145b434e79669.zip
Merge branch 'gawk-4.2-stable'
-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 92776edc..690bf741 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 9ae84261..be9a5e69 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, 608, 610, 617, 707, 749,
791, 904, 911, 918, 929, 939, 949, 959, 971, 988,
- 987, 1012, 1024, 1024, 1123, 1123, 1157, 1188, 1197, 1198,
- 1204, 1205, 1212, 1217, 1229, 1243, 1245, 1253, 1260, 1262,
- 1270, 1279, 1281, 1290, 1291, 1299, 1304, 1304, 1315, 1319,
- 1327, 1328, 1331, 1333, 1338, 1339, 1348, 1349, 1354, 1359,
- 1368, 1370, 1372, 1379, 1380, 1386, 1387, 1392, 1394, 1399,
- 1401, 1409, 1414, 1423, 1424, 1429, 1431, 1436, 1438, 1446,
- 1451, 1459, 1460, 1465, 1472, 1476, 1478, 1480, 1493, 1510,
- 1520, 1527, 1529, 1534, 1536, 1538, 1546, 1548, 1553, 1555,
- 1560, 1562, 1564, 1621, 1623, 1625, 1627, 1629, 1631, 1633,
- 1635, 1649, 1654, 1659, 1684, 1690, 1692, 1694, 1696, 1698,
- 1700, 1705, 1709, 1741, 1748, 1754, 1760, 1773, 1774, 1775,
- 1780, 1785, 1789, 1793, 1808, 1829, 1834, 1871, 1900, 1901,
- 1907, 1908, 1913, 1915, 1922, 1939, 1956, 1958, 1965, 1970,
- 1978, 1988, 2000, 2009, 2013, 2017, 2021, 2025, 2029, 2032,
- 2034, 2038, 2042, 2046
+ 987, 1001, 1013, 1013, 1112, 1112, 1146, 1177, 1186, 1187,
+ 1193, 1194, 1201, 1206, 1218, 1232, 1234, 1242, 1249, 1251,
+ 1259, 1268, 1270, 1279, 1280, 1288, 1293, 1293, 1304, 1308,
+ 1316, 1317, 1320, 1322, 1327, 1328, 1337, 1338, 1343, 1348,
+ 1357, 1359, 1361, 1368, 1369, 1375, 1376, 1381, 1383, 1388,
+ 1390, 1398, 1403, 1412, 1413, 1418, 1420, 1425, 1427, 1435,
+ 1440, 1448, 1449, 1454, 1461, 1465, 1467, 1469, 1482, 1499,
+ 1509, 1516, 1518, 1523, 1525, 1527, 1535, 1537, 1542, 1544,
+ 1549, 1551, 1553, 1610, 1612, 1614, 1616, 1618, 1620, 1622,
+ 1624, 1638, 1643, 1648, 1673, 1679, 1681, 1683, 1685, 1687,
+ 1689, 1694, 1698, 1730, 1737, 1743, 1749, 1762, 1763, 1764,
+ 1769, 1774, 1778, 1782, 1797, 1818, 1823, 1860, 1889, 1890,
+ 1896, 1897, 1902, 1904, 1911, 1928, 1945, 1947, 1954, 1959,
+ 1967, 1977, 1989, 1998, 2002, 2006, 2010, 2014, 2018, 2021,
+ 2023, 2027, 2031, 2035
};
#endif
@@ -2820,33 +2820,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 2840 "awkgram.c" /* yacc.c:1646 */
+#line 2829 "awkgram.c" /* yacc.c:1646 */
break;
case 62:
-#line 1024 "awkgram.y" /* yacc.c:1646 */
+#line 1013 "awkgram.y" /* yacc.c:1646 */
{ in_print = true; in_parens = 0; }
-#line 2846 "awkgram.c" /* yacc.c:1646 */
+#line 2835 "awkgram.c" /* yacc.c:1646 */
break;
case 63:
-#line 1025 "awkgram.y" /* yacc.c:1646 */
+#line 1014 "awkgram.y" /* yacc.c:1646 */
{
/*
* Optimization: plain `print' has no expression list, so $3 is null.
@@ -2944,17 +2933,17 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 2948 "awkgram.c" /* yacc.c:1646 */
+#line 2937 "awkgram.c" /* yacc.c:1646 */
break;
case 64:
-#line 1123 "awkgram.y" /* yacc.c:1646 */
+#line 1112 "awkgram.y" /* yacc.c:1646 */
{ sub_counter = 0; }
-#line 2954 "awkgram.c" /* yacc.c:1646 */
+#line 2943 "awkgram.c" /* yacc.c:1646 */
break;
case 65:
-#line 1124 "awkgram.y" /* yacc.c:1646 */
+#line 1113 "awkgram.y" /* yacc.c:1646 */
{
char *arr = (yyvsp[-2])->lextok;
@@ -2988,11 +2977,11 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 2992 "awkgram.c" /* yacc.c:1646 */
+#line 2981 "awkgram.c" /* yacc.c:1646 */
break;
case 66:
-#line 1162 "awkgram.y" /* yacc.c:1646 */
+#line 1151 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
char *arr = (yyvsp[-1])->lextok;
@@ -3019,55 +3008,55 @@ regular_print:
}
(yyval) = add_pending_comment((yyval));
}
-#line 3023 "awkgram.c" /* yacc.c:1646 */
+#line 3012 "awkgram.c" /* yacc.c:1646 */
break;
case 67:
-#line 1189 "awkgram.y" /* yacc.c:1646 */
+#line 1178 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = optimize_assignment((yyvsp[0]));
(yyval) = add_pending_comment((yyval));
}
-#line 3032 "awkgram.c" /* yacc.c:1646 */
+#line 3021 "awkgram.c" /* yacc.c:1646 */
break;
case 68:
-#line 1197 "awkgram.y" /* yacc.c:1646 */
+#line 1186 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3038 "awkgram.c" /* yacc.c:1646 */
+#line 3027 "awkgram.c" /* yacc.c:1646 */
break;
case 69:
-#line 1199 "awkgram.y" /* yacc.c:1646 */
+#line 1188 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3044 "awkgram.c" /* yacc.c:1646 */
+#line 3033 "awkgram.c" /* yacc.c:1646 */
break;
case 70:
-#line 1204 "awkgram.y" /* yacc.c:1646 */
+#line 1193 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3050 "awkgram.c" /* yacc.c:1646 */
+#line 3039 "awkgram.c" /* yacc.c:1646 */
break;
case 71:
-#line 1206 "awkgram.y" /* yacc.c:1646 */
+#line 1195 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-1]) == NULL)
(yyval) = list_create((yyvsp[0]));
else
(yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
}
-#line 3061 "awkgram.c" /* yacc.c:1646 */
+#line 3050 "awkgram.c" /* yacc.c:1646 */
break;
case 72:
-#line 1213 "awkgram.y" /* yacc.c:1646 */
+#line 1202 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3067 "awkgram.c" /* yacc.c:1646 */
+#line 3056 "awkgram.c" /* yacc.c:1646 */
break;
case 73:
-#line 1218 "awkgram.y" /* yacc.c:1646 */
+#line 1207 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -3079,11 +3068,11 @@ regular_print:
bcfree((yyvsp[-2]));
(yyval) = (yyvsp[-4]);
}
-#line 3083 "awkgram.c" /* yacc.c:1646 */
+#line 3072 "awkgram.c" /* yacc.c:1646 */
break;
case 74:
-#line 1230 "awkgram.y" /* yacc.c:1646 */
+#line 1219 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *casestmt = (yyvsp[0]);
if ((yyvsp[0]) == NULL)
@@ -3094,17 +3083,17 @@ regular_print:
(yyvsp[-3])->case_stmt = casestmt;
(yyval) = (yyvsp[-3]);
}
-#line 3098 "awkgram.c" /* yacc.c:1646 */
+#line 3087 "awkgram.c" /* yacc.c:1646 */
break;
case 75:
-#line 1244 "awkgram.y" /* yacc.c:1646 */
+#line 1233 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3104 "awkgram.c" /* yacc.c:1646 */
+#line 3093 "awkgram.c" /* yacc.c:1646 */
break;
case 76:
-#line 1246 "awkgram.y" /* yacc.c:1646 */
+#line 1235 "awkgram.y" /* yacc.c:1646 */
{
NODE *n = (yyvsp[0])->memory;
(void) force_number(n);
@@ -3112,28 +3101,28 @@ regular_print:
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3116 "awkgram.c" /* yacc.c:1646 */
+#line 3105 "awkgram.c" /* yacc.c:1646 */
break;
case 77:
-#line 1254 "awkgram.y" /* yacc.c:1646 */
+#line 1243 "awkgram.y" /* yacc.c:1646 */
{
NODE *n = (yyvsp[0])->lasti->memory;
bcfree((yyvsp[-1]));
add_sign_to_num(n, '+');
(yyval) = (yyvsp[0]);
}
-#line 3127 "awkgram.c" /* yacc.c:1646 */
+#line 3116 "awkgram.c" /* yacc.c:1646 */
break;
case 78:
-#line 1261 "awkgram.y" /* yacc.c:1646 */
+#line 1250 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3133 "awkgram.c" /* yacc.c:1646 */
+#line 3122 "awkgram.c" /* yacc.c:1646 */
break;
case 79:
-#line 1263 "awkgram.y" /* yacc.c:1646 */
+#line 1252 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->memory->type == Node_regex)
(yyvsp[0])->opcode = Op_push_re;
@@ -3141,57 +3130,57 @@ regular_print:
(yyvsp[0])->opcode = Op_push;
(yyval) = (yyvsp[0]);
}
-#line 3145 "awkgram.c" /* yacc.c:1646 */
+#line 3134 "awkgram.c" /* yacc.c:1646 */
break;
case 80:
-#line 1271 "awkgram.y" /* yacc.c:1646 */
+#line 1260 "awkgram.y" /* yacc.c:1646 */
{
assert(((yyvsp[0])->memory->flags & REGEX) == REGEX);
(yyvsp[0])->opcode = Op_push_re;
(yyval) = (yyvsp[0]);
}
-#line 3155 "awkgram.c" /* yacc.c:1646 */
+#line 3144 "awkgram.c" /* yacc.c:1646 */
break;
case 81:
-#line 1280 "awkgram.y" /* yacc.c:1646 */
+#line 1269 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3161 "awkgram.c" /* yacc.c:1646 */
+#line 3150 "awkgram.c" /* yacc.c:1646 */
break;
case 82:
-#line 1282 "awkgram.y" /* yacc.c:1646 */
+#line 1271 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3167 "awkgram.c" /* yacc.c:1646 */
+#line 3156 "awkgram.c" /* yacc.c:1646 */
break;
case 84:
-#line 1292 "awkgram.y" /* yacc.c:1646 */
+#line 1281 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = (yyvsp[-1]);
}
-#line 3175 "awkgram.c" /* yacc.c:1646 */
+#line 3164 "awkgram.c" /* yacc.c:1646 */
break;
case 85:
-#line 1299 "awkgram.y" /* yacc.c:1646 */
+#line 1288 "awkgram.y" /* yacc.c:1646 */
{
in_print = false;
in_parens = 0;
(yyval) = NULL;
}
-#line 3185 "awkgram.c" /* yacc.c:1646 */
+#line 3174 "awkgram.c" /* yacc.c:1646 */
break;
case 86:
-#line 1304 "awkgram.y" /* yacc.c:1646 */
+#line 1293 "awkgram.y" /* yacc.c:1646 */
{ in_print = false; in_parens = 0; }
-#line 3191 "awkgram.c" /* yacc.c:1646 */
+#line 3180 "awkgram.c" /* yacc.c:1646 */
break;
case 87:
-#line 1305 "awkgram.y" /* yacc.c:1646 */
+#line 1294 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->redir_type == redirect_twoway
&& (yyvsp[0])->lasti->opcode == Op_K_getline_redir
@@ -3199,63 +3188,63 @@ regular_print:
yyerror(_("multistage two-way pipelines don't work"));
(yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
}
-#line 3203 "awkgram.c" /* yacc.c:1646 */
+#line 3192 "awkgram.c" /* yacc.c:1646 */
break;
case 88:
-#line 1316 "awkgram.y" /* yacc.c:1646 */
+#line 1305 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), NULL, NULL);
}
-#line 3211 "awkgram.c" /* yacc.c:1646 */
+#line 3200 "awkgram.c" /* yacc.c:1646 */
break;
case 89:
-#line 1321 "awkgram.y" /* yacc.c:1646 */
+#line 1310 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
}
-#line 3219 "awkgram.c" /* yacc.c:1646 */
+#line 3208 "awkgram.c" /* yacc.c:1646 */
break;
case 94:
-#line 1338 "awkgram.y" /* yacc.c:1646 */
+#line 1327 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3225 "awkgram.c" /* yacc.c:1646 */
+#line 3214 "awkgram.c" /* yacc.c:1646 */
break;
case 95:
-#line 1340 "awkgram.y" /* yacc.c:1646 */
+#line 1329 "awkgram.y" /* yacc.c:1646 */
{
bcfree((yyvsp[-1]));
(yyval) = (yyvsp[0]);
}
-#line 3234 "awkgram.c" /* yacc.c:1646 */
+#line 3223 "awkgram.c" /* yacc.c:1646 */
break;
case 96:
-#line 1348 "awkgram.y" /* yacc.c:1646 */
+#line 1337 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3240 "awkgram.c" /* yacc.c:1646 */
+#line 3229 "awkgram.c" /* yacc.c:1646 */
break;
case 97:
-#line 1350 "awkgram.y" /* yacc.c:1646 */
+#line 1339 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3246 "awkgram.c" /* yacc.c:1646 */
+#line 3235 "awkgram.c" /* yacc.c:1646 */
break;
case 98:
-#line 1355 "awkgram.y" /* yacc.c:1646 */
+#line 1344 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->param_count = 0;
(yyval) = list_create((yyvsp[0]));
}
-#line 3255 "awkgram.c" /* yacc.c:1646 */
+#line 3244 "awkgram.c" /* yacc.c:1646 */
break;
case 99:
-#line 1360 "awkgram.y" /* yacc.c:1646 */
+#line 1349 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2]) != NULL && (yyvsp[0]) != NULL) {
(yyvsp[0])->param_count = (yyvsp[-2])->lasti->param_count + 1;
@@ -3264,74 +3253,74 @@ regular_print:
} else
(yyval) = NULL;
}
-#line 3268 "awkgram.c" /* yacc.c:1646 */
+#line 3257 "awkgram.c" /* yacc.c:1646 */
break;
case 100:
-#line 1369 "awkgram.y" /* yacc.c:1646 */
+#line 1358 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3274 "awkgram.c" /* yacc.c:1646 */
+#line 3263 "awkgram.c" /* yacc.c:1646 */
break;
case 101:
-#line 1371 "awkgram.y" /* yacc.c:1646 */
+#line 1360 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 3280 "awkgram.c" /* yacc.c:1646 */
+#line 3269 "awkgram.c" /* yacc.c:1646 */
break;
case 102:
-#line 1373 "awkgram.y" /* yacc.c:1646 */
+#line 1362 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-2]); }
-#line 3286 "awkgram.c" /* yacc.c:1646 */
+#line 3275 "awkgram.c" /* yacc.c:1646 */
break;
case 103:
-#line 1379 "awkgram.y" /* yacc.c:1646 */
+#line 1368 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3292 "awkgram.c" /* yacc.c:1646 */
+#line 3281 "awkgram.c" /* yacc.c:1646 */
break;
case 104:
-#line 1381 "awkgram.y" /* yacc.c:1646 */
+#line 1370 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3298 "awkgram.c" /* yacc.c:1646 */
+#line 3287 "awkgram.c" /* yacc.c:1646 */
break;
case 105:
-#line 1386 "awkgram.y" /* yacc.c:1646 */
+#line 1375 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3304 "awkgram.c" /* yacc.c:1646 */
+#line 3293 "awkgram.c" /* yacc.c:1646 */
break;
case 106:
-#line 1388 "awkgram.y" /* yacc.c:1646 */
+#line 1377 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3310 "awkgram.c" /* yacc.c:1646 */
+#line 3299 "awkgram.c" /* yacc.c:1646 */
break;
case 107:
-#line 1393 "awkgram.y" /* yacc.c:1646 */
+#line 1382 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3316 "awkgram.c" /* yacc.c:1646 */
+#line 3305 "awkgram.c" /* yacc.c:1646 */
break;
case 108:
-#line 1395 "awkgram.y" /* yacc.c:1646 */
+#line 1384 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3325 "awkgram.c" /* yacc.c:1646 */
+#line 3314 "awkgram.c" /* yacc.c:1646 */
break;
case 109:
-#line 1400 "awkgram.y" /* yacc.c:1646 */
+#line 1389 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3331 "awkgram.c" /* yacc.c:1646 */
+#line 3320 "awkgram.c" /* yacc.c:1646 */
break;
case 110:
-#line 1402 "awkgram.y" /* yacc.c:1646 */
+#line 1391 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3339,62 +3328,62 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3343 "awkgram.c" /* yacc.c:1646 */
+#line 3332 "awkgram.c" /* yacc.c:1646 */
break;
case 111:
-#line 1410 "awkgram.y" /* yacc.c:1646 */
+#line 1399 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3352 "awkgram.c" /* yacc.c:1646 */
+#line 3341 "awkgram.c" /* yacc.c:1646 */
break;
case 112:
-#line 1415 "awkgram.y" /* yacc.c:1646 */
+#line 1404 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3361 "awkgram.c" /* yacc.c:1646 */
+#line 3350 "awkgram.c" /* yacc.c:1646 */
break;
case 113:
-#line 1423 "awkgram.y" /* yacc.c:1646 */
+#line 1412 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3367 "awkgram.c" /* yacc.c:1646 */
+#line 3356 "awkgram.c" /* yacc.c:1646 */
break;
case 114:
-#line 1425 "awkgram.y" /* yacc.c:1646 */
+#line 1414 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3373 "awkgram.c" /* yacc.c:1646 */
+#line 3362 "awkgram.c" /* yacc.c:1646 */
break;
case 115:
-#line 1430 "awkgram.y" /* yacc.c:1646 */
+#line 1419 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
-#line 3379 "awkgram.c" /* yacc.c:1646 */
+#line 3368 "awkgram.c" /* yacc.c:1646 */
break;
case 116:
-#line 1432 "awkgram.y" /* yacc.c:1646 */
+#line 1421 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
-#line 3388 "awkgram.c" /* yacc.c:1646 */
+#line 3377 "awkgram.c" /* yacc.c:1646 */
break;
case 117:
-#line 1437 "awkgram.y" /* yacc.c:1646 */
+#line 1426 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 3394 "awkgram.c" /* yacc.c:1646 */
+#line 3383 "awkgram.c" /* yacc.c:1646 */
break;
case 118:
-#line 1439 "awkgram.y" /* yacc.c:1646 */
+#line 1428 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
@@ -3402,72 +3391,72 @@ regular_print:
*/
(yyval) = (yyvsp[-1]);
}
-#line 3406 "awkgram.c" /* yacc.c:1646 */
+#line 3395 "awkgram.c" /* yacc.c:1646 */
break;
case 119:
-#line 1447 "awkgram.y" /* yacc.c:1646 */
+#line 1436 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
-#line 3415 "awkgram.c" /* yacc.c:1646 */
+#line 3404 "awkgram.c" /* yacc.c:1646 */
break;
case 120:
-#line 1452 "awkgram.y" /* yacc.c:1646 */
+#line 1441 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
(yyval) = (yyvsp[-2]);
}
-#line 3424 "awkgram.c" /* yacc.c:1646 */
+#line 3413 "awkgram.c" /* yacc.c:1646 */
break;
case 121:
-#line 1459 "awkgram.y" /* yacc.c:1646 */
+#line 1448 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3430 "awkgram.c" /* yacc.c:1646 */
+#line 3419 "awkgram.c" /* yacc.c:1646 */
break;
case 122:
-#line 1460 "awkgram.y" /* yacc.c:1646 */
+#line 1449 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = list_create((yyvsp[0])); }
-#line 3436 "awkgram.c" /* yacc.c:1646 */
+#line 3425 "awkgram.c" /* yacc.c:1646 */
break;
case 123:
-#line 1466 "awkgram.y" /* yacc.c:1646 */
+#line 1455 "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 3447 "awkgram.c" /* yacc.c:1646 */
+#line 3436 "awkgram.c" /* yacc.c:1646 */
break;
case 124:
-#line 1473 "awkgram.y" /* yacc.c:1646 */
+#line 1462 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_assignment((yyvsp[-2]), list_create((yyvsp[0])), (yyvsp[-1]));
}
-#line 3455 "awkgram.c" /* yacc.c:1646 */
+#line 3444 "awkgram.c" /* yacc.c:1646 */
break;
case 125:
-#line 1477 "awkgram.y" /* yacc.c:1646 */
+#line 1466 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3461 "awkgram.c" /* yacc.c:1646 */
+#line 3450 "awkgram.c" /* yacc.c:1646 */
break;
case 126:
-#line 1479 "awkgram.y" /* yacc.c:1646 */
+#line 1468 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3467 "awkgram.c" /* yacc.c:1646 */
+#line 3456 "awkgram.c" /* yacc.c:1646 */
break;
case 127:
-#line 1481 "awkgram.y" /* yacc.c:1646 */
+#line 1470 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3480,11 +3469,11 @@ regular_print:
bcfree((yyvsp[0]));
(yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
}
-#line 3484 "awkgram.c" /* yacc.c:1646 */
+#line 3473 "awkgram.c" /* yacc.c:1646 */
break;
case 128:
-#line 1494 "awkgram.y" /* yacc.c:1646 */
+#line 1483 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[-1])->source_line,
@@ -3501,11 +3490,11 @@ regular_print:
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3505 "awkgram.c" /* yacc.c:1646 */
+#line 3494 "awkgram.c" /* yacc.c:1646 */
break;
case 129:
-#line 1511 "awkgram.y" /* yacc.c:1646 */
+#line 1500 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old)
warning_ln((yyvsp[-1])->source_line,
@@ -3515,91 +3504,91 @@ regular_print:
(yyvsp[-1])->expr_count = 1;
(yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
-#line 3519 "awkgram.c" /* yacc.c:1646 */
+#line 3508 "awkgram.c" /* yacc.c:1646 */
break;
case 130:
-#line 1521 "awkgram.y" /* yacc.c:1646 */
+#line 1510 "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 3530 "awkgram.c" /* yacc.c:1646 */
+#line 3519 "awkgram.c" /* yacc.c:1646 */
break;
case 131:
-#line 1528 "awkgram.y" /* yacc.c:1646 */
+#line 1517 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
-#line 3536 "awkgram.c" /* yacc.c:1646 */
+#line 3525 "awkgram.c" /* yacc.c:1646 */
break;
case 132:
-#line 1530 "awkgram.y" /* yacc.c:1646 */
+#line 1519 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3542 "awkgram.c" /* yacc.c:1646 */
+#line 3531 "awkgram.c" /* yacc.c:1646 */
break;
case 133:
-#line 1535 "awkgram.y" /* yacc.c:1646 */
+#line 1524 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3548 "awkgram.c" /* yacc.c:1646 */
+#line 3537 "awkgram.c" /* yacc.c:1646 */
break;
case 134:
-#line 1537 "awkgram.y" /* yacc.c:1646 */
+#line 1526 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3554 "awkgram.c" /* yacc.c:1646 */
+#line 3543 "awkgram.c" /* yacc.c:1646 */
break;
case 135:
-#line 1539 "awkgram.y" /* yacc.c:1646 */
+#line 1528 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_assign_quotient;
(yyval) = (yyvsp[0]);
}
-#line 3563 "awkgram.c" /* yacc.c:1646 */
+#line 3552 "awkgram.c" /* yacc.c:1646 */
break;
case 136:
-#line 1547 "awkgram.y" /* yacc.c:1646 */
+#line 1536 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3569 "awkgram.c" /* yacc.c:1646 */
+#line 3558 "awkgram.c" /* yacc.c:1646 */
break;
case 137:
-#line 1549 "awkgram.y" /* yacc.c:1646 */
+#line 1538 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3575 "awkgram.c" /* yacc.c:1646 */
+#line 3564 "awkgram.c" /* yacc.c:1646 */
break;
case 138:
-#line 1554 "awkgram.y" /* yacc.c:1646 */
+#line 1543 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3581 "awkgram.c" /* yacc.c:1646 */
+#line 3570 "awkgram.c" /* yacc.c:1646 */
break;
case 139:
-#line 1556 "awkgram.y" /* yacc.c:1646 */
+#line 1545 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3587 "awkgram.c" /* yacc.c:1646 */
+#line 3576 "awkgram.c" /* yacc.c:1646 */
break;
case 140:
-#line 1561 "awkgram.y" /* yacc.c:1646 */
+#line 1550 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3593 "awkgram.c" /* yacc.c:1646 */
+#line 3582 "awkgram.c" /* yacc.c:1646 */
break;
case 141:
-#line 1563 "awkgram.y" /* yacc.c:1646 */
+#line 1552 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 3599 "awkgram.c" /* yacc.c:1646 */
+#line 3588 "awkgram.c" /* yacc.c:1646 */
break;
case 142:
-#line 1565 "awkgram.y" /* yacc.c:1646 */
+#line 1554 "awkgram.y" /* yacc.c:1646 */
{
int count = 2;
bool is_simple_var = false;
@@ -3653,47 +3642,47 @@ regular_print:
max_args = count;
}
}
-#line 3657 "awkgram.c" /* yacc.c:1646 */
+#line 3646 "awkgram.c" /* yacc.c:1646 */
break;
case 144:
-#line 1624 "awkgram.y" /* yacc.c:1646 */
+#line 1613 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3663 "awkgram.c" /* yacc.c:1646 */
+#line 3652 "awkgram.c" /* yacc.c:1646 */
break;
case 145:
-#line 1626 "awkgram.y" /* yacc.c:1646 */
+#line 1615 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3669 "awkgram.c" /* yacc.c:1646 */
+#line 3658 "awkgram.c" /* yacc.c:1646 */
break;
case 146:
-#line 1628 "awkgram.y" /* yacc.c:1646 */
+#line 1617 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3675 "awkgram.c" /* yacc.c:1646 */
+#line 3664 "awkgram.c" /* yacc.c:1646 */
break;
case 147:
-#line 1630 "awkgram.y" /* yacc.c:1646 */
+#line 1619 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3681 "awkgram.c" /* yacc.c:1646 */
+#line 3670 "awkgram.c" /* yacc.c:1646 */
break;
case 148:
-#line 1632 "awkgram.y" /* yacc.c:1646 */
+#line 1621 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3687 "awkgram.c" /* yacc.c:1646 */
+#line 3676 "awkgram.c" /* yacc.c:1646 */
break;
case 149:
-#line 1634 "awkgram.y" /* yacc.c:1646 */
+#line 1623 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3693 "awkgram.c" /* yacc.c:1646 */
+#line 3682 "awkgram.c" /* yacc.c:1646 */
break;
case 150:
-#line 1636 "awkgram.y" /* yacc.c:1646 */
+#line 1625 "awkgram.y" /* yacc.c:1646 */
{
/*
* In BEGINFILE/ENDFILE, allow `getline [var] < file'
@@ -3707,29 +3696,29 @@ regular_print:
_("non-redirected `getline' undefined inside END action"));
(yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), redirect_input);
}
-#line 3711 "awkgram.c" /* yacc.c:1646 */
+#line 3700 "awkgram.c" /* yacc.c:1646 */
break;
case 151:
-#line 1650 "awkgram.y" /* yacc.c:1646 */
+#line 1639 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3720 "awkgram.c" /* yacc.c:1646 */
+#line 3709 "awkgram.c" /* yacc.c:1646 */
break;
case 152:
-#line 1655 "awkgram.y" /* yacc.c:1646 */
+#line 1644 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
(yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 3729 "awkgram.c" /* yacc.c:1646 */
+#line 3718 "awkgram.c" /* yacc.c:1646 */
break;
case 153:
-#line 1660 "awkgram.y" /* yacc.c:1646 */
+#line 1649 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old) {
warning_ln((yyvsp[-1])->source_line,
@@ -3749,64 +3738,64 @@ regular_print:
(yyval) = list_append(list_merge(t, (yyvsp[0])), (yyvsp[-1]));
}
}
-#line 3753 "awkgram.c" /* yacc.c:1646 */
+#line 3742 "awkgram.c" /* yacc.c:1646 */
break;
case 154:
-#line 1685 "awkgram.y" /* yacc.c:1646 */
+#line 1674 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), (yyvsp[-2])->redir_type);
bcfree((yyvsp[-2]));
}
-#line 3762 "awkgram.c" /* yacc.c:1646 */
+#line 3751 "awkgram.c" /* yacc.c:1646 */
break;
case 155:
-#line 1691 "awkgram.y" /* yacc.c:1646 */
+#line 1680 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3768 "awkgram.c" /* yacc.c:1646 */
+#line 3757 "awkgram.c" /* yacc.c:1646 */
break;
case 156:
-#line 1693 "awkgram.y" /* yacc.c:1646 */
+#line 1682 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3774 "awkgram.c" /* yacc.c:1646 */
+#line 3763 "awkgram.c" /* yacc.c:1646 */
break;
case 157:
-#line 1695 "awkgram.y" /* yacc.c:1646 */
+#line 1684 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3780 "awkgram.c" /* yacc.c:1646 */
+#line 3769 "awkgram.c" /* yacc.c:1646 */
break;
case 158:
-#line 1697 "awkgram.y" /* yacc.c:1646 */
+#line 1686 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3786 "awkgram.c" /* yacc.c:1646 */
+#line 3775 "awkgram.c" /* yacc.c:1646 */
break;
case 159:
-#line 1699 "awkgram.y" /* yacc.c:1646 */
+#line 1688 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3792 "awkgram.c" /* yacc.c:1646 */
+#line 3781 "awkgram.c" /* yacc.c:1646 */
break;
case 160:
-#line 1701 "awkgram.y" /* yacc.c:1646 */
+#line 1690 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
-#line 3798 "awkgram.c" /* yacc.c:1646 */
+#line 3787 "awkgram.c" /* yacc.c:1646 */
break;
case 161:
-#line 1706 "awkgram.y" /* yacc.c:1646 */
+#line 1695 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3806 "awkgram.c" /* yacc.c:1646 */
+#line 3795 "awkgram.c" /* yacc.c:1646 */
break;
case 162:
-#line 1710 "awkgram.y" /* yacc.c:1646 */
+#line 1699 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->opcode == Op_match_rec) {
(yyvsp[0])->opcode = Op_nomatch;
@@ -3838,42 +3827,42 @@ regular_print:
}
}
}
-#line 3842 "awkgram.c" /* yacc.c:1646 */
+#line 3831 "awkgram.c" /* yacc.c:1646 */
break;
case 163:
-#line 1742 "awkgram.y" /* yacc.c:1646 */
+#line 1731 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
(yyval) = list_append((yyvsp[-1]), bcalloc(Op_parens, 1, sourceline));
else
(yyval) = (yyvsp[-1]);
}
-#line 3853 "awkgram.c" /* yacc.c:1646 */
+#line 3842 "awkgram.c" /* yacc.c:1646 */
break;
case 164:
-#line 1749 "awkgram.y" /* yacc.c:1646 */
+#line 1738 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3863 "awkgram.c" /* yacc.c:1646 */
+#line 3852 "awkgram.c" /* yacc.c:1646 */
break;
case 165:
-#line 1755 "awkgram.y" /* yacc.c:1646 */
+#line 1744 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
-#line 3873 "awkgram.c" /* yacc.c:1646 */
+#line 3862 "awkgram.c" /* yacc.c:1646 */
break;
case 166:
-#line 1761 "awkgram.y" /* yacc.c:1646 */
+#line 1750 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
@@ -3886,45 +3875,45 @@ regular_print:
if ((yyval) == NULL)
YYABORT;
}
-#line 3890 "awkgram.c" /* yacc.c:1646 */
+#line 3879 "awkgram.c" /* yacc.c:1646 */
break;
case 169:
-#line 1776 "awkgram.y" /* yacc.c:1646 */
+#line 1765 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_preincrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3899 "awkgram.c" /* yacc.c:1646 */
+#line 3888 "awkgram.c" /* yacc.c:1646 */
break;
case 170:
-#line 1781 "awkgram.y" /* yacc.c:1646 */
+#line 1770 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[-1])->opcode = Op_predecrement;
(yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
-#line 3908 "awkgram.c" /* yacc.c:1646 */
+#line 3897 "awkgram.c" /* yacc.c:1646 */
break;
case 171:
-#line 1786 "awkgram.y" /* yacc.c:1646 */
+#line 1775 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3916 "awkgram.c" /* yacc.c:1646 */
+#line 3905 "awkgram.c" /* yacc.c:1646 */
break;
case 172:
-#line 1790 "awkgram.y" /* yacc.c:1646 */
+#line 1779 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_create((yyvsp[0]));
}
-#line 3924 "awkgram.c" /* yacc.c:1646 */
+#line 3913 "awkgram.c" /* yacc.c:1646 */
break;
case 173:
-#line 1794 "awkgram.y" /* yacc.c:1646 */
+#line 1783 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->lasti->opcode == Op_push_i
&& ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -3939,11 +3928,11 @@ regular_print:
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
-#line 3943 "awkgram.c" /* yacc.c:1646 */
+#line 3932 "awkgram.c" /* yacc.c:1646 */
break;
case 174:
-#line 1809 "awkgram.y" /* yacc.c:1646 */
+#line 1798 "awkgram.y" /* yacc.c:1646 */
{
if ((yyvsp[0])->lasti->opcode == Op_push_i
&& ((yyvsp[0])->lasti->memory->flags & STRING) == 0
@@ -3961,20 +3950,20 @@ regular_print:
(yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
-#line 3965 "awkgram.c" /* yacc.c:1646 */
+#line 3954 "awkgram.c" /* yacc.c:1646 */
break;
case 175:
-#line 1830 "awkgram.y" /* yacc.c:1646 */
+#line 1819 "awkgram.y" /* yacc.c:1646 */
{
func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
(yyval) = (yyvsp[0]);
}
-#line 3974 "awkgram.c" /* yacc.c:1646 */
+#line 3963 "awkgram.c" /* yacc.c:1646 */
break;
case 176:
-#line 1835 "awkgram.y" /* yacc.c:1646 */
+#line 1824 "awkgram.y" /* yacc.c:1646 */
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -4008,11 +3997,11 @@ regular_print:
(yyval) = list_prepend((yyvsp[0]), t);
at_seen = false;
}
-#line 4012 "awkgram.c" /* yacc.c:1646 */
+#line 4001 "awkgram.c" /* yacc.c:1646 */
break;
case 177:
-#line 1872 "awkgram.y" /* yacc.c:1646 */
+#line 1861 "awkgram.y" /* yacc.c:1646 */
{
NODE *n;
@@ -4037,49 +4026,49 @@ regular_print:
(yyval) = list_append(t, (yyvsp[-3]));
}
}
-#line 4041 "awkgram.c" /* yacc.c:1646 */
+#line 4030 "awkgram.c" /* yacc.c:1646 */
break;
case 178:
-#line 1900 "awkgram.y" /* yacc.c:1646 */
+#line 1889 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4047 "awkgram.c" /* yacc.c:1646 */
+#line 4036 "awkgram.c" /* yacc.c:1646 */
break;
case 179:
-#line 1902 "awkgram.y" /* yacc.c:1646 */
+#line 1891 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4053 "awkgram.c" /* yacc.c:1646 */
+#line 4042 "awkgram.c" /* yacc.c:1646 */
break;
case 180:
-#line 1907 "awkgram.y" /* yacc.c:1646 */
+#line 1896 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4059 "awkgram.c" /* yacc.c:1646 */
+#line 4048 "awkgram.c" /* yacc.c:1646 */
break;
case 181:
-#line 1909 "awkgram.y" /* yacc.c:1646 */
+#line 1898 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 4065 "awkgram.c" /* yacc.c:1646 */
+#line 4054 "awkgram.c" /* yacc.c:1646 */
break;
case 182:
-#line 1914 "awkgram.y" /* yacc.c:1646 */
+#line 1903 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4071 "awkgram.c" /* yacc.c:1646 */
+#line 4060 "awkgram.c" /* yacc.c:1646 */
break;
case 183:
-#line 1916 "awkgram.y" /* yacc.c:1646 */
+#line 1905 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 4079 "awkgram.c" /* yacc.c:1646 */
+#line 4068 "awkgram.c" /* yacc.c:1646 */
break;
case 184:
-#line 1923 "awkgram.y" /* yacc.c:1646 */
+#line 1912 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
@@ -4093,11 +4082,11 @@ regular_print:
sub_counter++; /* count # of dimensions */
(yyval) = (yyvsp[0]);
}
-#line 4097 "awkgram.c" /* yacc.c:1646 */
+#line 4086 "awkgram.c" /* yacc.c:1646 */
break;
case 185:
-#line 1940 "awkgram.y" /* yacc.c:1646 */
+#line 1929 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *t = (yyvsp[-1]);
if ((yyvsp[-1]) == NULL) {
@@ -4111,31 +4100,31 @@ regular_print:
(yyvsp[0])->sub_count = count_expressions(&t, false);
(yyval) = list_append(t, (yyvsp[0]));
}
-#line 4115 "awkgram.c" /* yacc.c:1646 */
+#line 4104 "awkgram.c" /* yacc.c:1646 */
break;
case 186:
-#line 1957 "awkgram.y" /* yacc.c:1646 */
+#line 1946 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); }
-#line 4121 "awkgram.c" /* yacc.c:1646 */
+#line 4110 "awkgram.c" /* yacc.c:1646 */
break;
case 187:
-#line 1959 "awkgram.y" /* yacc.c:1646 */
+#line 1948 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
-#line 4129 "awkgram.c" /* yacc.c:1646 */
+#line 4118 "awkgram.c" /* yacc.c:1646 */
break;
case 188:
-#line 1966 "awkgram.y" /* yacc.c:1646 */
+#line 1955 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[-1]); }
-#line 4135 "awkgram.c" /* yacc.c:1646 */
+#line 4124 "awkgram.c" /* yacc.c:1646 */
break;
case 189:
-#line 1971 "awkgram.y" /* yacc.c:1646 */
+#line 1960 "awkgram.y" /* yacc.c:1646 */
{
char *var_name = (yyvsp[0])->lextok;
@@ -4143,22 +4132,22 @@ regular_print:
(yyvsp[0])->memory = variable((yyvsp[0])->source_line, var_name, Node_var_new);
(yyval) = list_create((yyvsp[0]));
}
-#line 4147 "awkgram.c" /* yacc.c:1646 */
+#line 4136 "awkgram.c" /* yacc.c:1646 */
break;
case 190:
-#line 1979 "awkgram.y" /* yacc.c:1646 */
+#line 1968 "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 4158 "awkgram.c" /* yacc.c:1646 */
+#line 4147 "awkgram.c" /* yacc.c:1646 */
break;
case 191:
-#line 1989 "awkgram.y" /* yacc.c:1646 */
+#line 1978 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip = (yyvsp[0])->nexti;
if (ip->opcode == Op_push
@@ -4170,73 +4159,73 @@ regular_print:
} else
(yyval) = (yyvsp[0]);
}
-#line 4174 "awkgram.c" /* yacc.c:1646 */
+#line 4163 "awkgram.c" /* yacc.c:1646 */
break;
case 192:
-#line 2001 "awkgram.y" /* yacc.c:1646 */
+#line 1990 "awkgram.y" /* yacc.c:1646 */
{
(yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
if ((yyvsp[0]) != NULL)
mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
-#line 4184 "awkgram.c" /* yacc.c:1646 */
+#line 4173 "awkgram.c" /* yacc.c:1646 */
break;
case 193:
-#line 2010 "awkgram.y" /* yacc.c:1646 */
+#line 1999 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postincrement;
}
-#line 4192 "awkgram.c" /* yacc.c:1646 */
+#line 4181 "awkgram.c" /* yacc.c:1646 */
break;
case 194:
-#line 2014 "awkgram.y" /* yacc.c:1646 */
+#line 2003 "awkgram.y" /* yacc.c:1646 */
{
(yyvsp[0])->opcode = Op_postdecrement;
}
-#line 4200 "awkgram.c" /* yacc.c:1646 */
+#line 4189 "awkgram.c" /* yacc.c:1646 */
break;
case 195:
-#line 2017 "awkgram.y" /* yacc.c:1646 */
+#line 2006 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
-#line 4206 "awkgram.c" /* yacc.c:1646 */
+#line 4195 "awkgram.c" /* yacc.c:1646 */
break;
case 197:
-#line 2025 "awkgram.y" /* yacc.c:1646 */
+#line 2014 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4212 "awkgram.c" /* yacc.c:1646 */
+#line 4201 "awkgram.c" /* yacc.c:1646 */
break;
case 198:
-#line 2029 "awkgram.y" /* yacc.c:1646 */
+#line 2018 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4218 "awkgram.c" /* yacc.c:1646 */
+#line 4207 "awkgram.c" /* yacc.c:1646 */
break;
case 201:
-#line 2038 "awkgram.y" /* yacc.c:1646 */
+#line 2027 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4224 "awkgram.c" /* yacc.c:1646 */
+#line 4213 "awkgram.c" /* yacc.c:1646 */
break;
case 202:
-#line 2042 "awkgram.y" /* yacc.c:1646 */
+#line 2031 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = (yyvsp[0]); yyerrok; }
-#line 4230 "awkgram.c" /* yacc.c:1646 */
+#line 4219 "awkgram.c" /* yacc.c:1646 */
break;
case 203:
-#line 2046 "awkgram.y" /* yacc.c:1646 */
+#line 2035 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
-#line 4236 "awkgram.c" /* yacc.c:1646 */
+#line 4225 "awkgram.c" /* yacc.c:1646 */
break;
-#line 4240 "awkgram.c" /* yacc.c:1646 */
+#line 4229 "awkgram.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4464,7 +4453,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 2048 "awkgram.y" /* yacc.c:1906 */
+#line 2037 "awkgram.y" /* yacc.c:1906 */
struct token {
@@ -7156,18 +7145,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 4eb755f1..a99edad2 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -993,20 +993,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
@@ -4736,18 +4725,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)